@charset "UTF-8";

:root {
  --orange: #ff641e;
  --orange-dark: #e94f0d;
  --orange-soft: #fff1e9;
  --navy: #121b32;
  --navy-2: #1c2948;
  --ink: #1c2435;
  --muted: #647084;
  --line: #e6e9ef;
  --soft: #f6f7f9;
  --white: #fff;
  --container: 1240px;
  --radius-lg: 28px;
  --radius-md: 18px;
  --shadow: 0 24px 70px rgba(18, 27, 50, .12);
  --shadow-soft: 0 12px 32px rgba(18, 27, 50, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.menu-open, body.modal-open { overflow: hidden; }
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 112px 0; }
.section-soft { background: var(--soft); }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 999; padding: 12px 18px; border-radius: 10px; background: var(--navy); color: #fff; }
.skip-link:focus { top: 16px; }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  border-bottom: 1px solid rgba(230, 233, 239, .8);
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(18px);
  transition: box-shadow .25s ease, background .25s ease;
}
.site-header.is-scrolled { box-shadow: 0 8px 30px rgba(18, 27, 50, .08); background: rgba(255,255,255,.97); }
.nav-wrap { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; width: 230px; flex: 0 0 auto; }
.brand img { width: 100%; height: auto; }
.site-nav { display: flex; align-items: center; gap: clamp(14px, 1.5vw, 27px); }
.site-nav > a { position: relative; color: #384257; font-weight: 700; font-size: .88rem; white-space: nowrap; }
.site-nav > a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -9px; height: 2px; background: var(--orange); transition: right .25s ease; }
.site-nav > a:hover::after, .site-nav > a.is-current::after { right: 0; }
.site-nav > a:hover, .site-nav > a.is-current { color: var(--orange-dark); }
.nav-cta { padding: 11px 17px; border-radius: 999px; color: #fff !important; background: linear-gradient(135deg, var(--orange), var(--orange-dark)); box-shadow: 0 10px 24px rgba(255,100,30,.25); }
.menu-toggle { display: none; width: 46px; height: 46px; border: 1px solid var(--line); background: #fff; border-radius: 14px; padding: 11px; }
.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: var(--navy); transition: transform .25s, opacity .25s; }
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.hero { position: relative; height: min(810px, 82vh); min-height: 630px; margin-top: 86px; overflow: hidden; background: var(--navy); }
.hero-track, .hero-slide { position: absolute; inset: 0; }
.hero-slide { opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; }
.hero-slide.is-active { opacity: 1; visibility: visible; z-index: 2; }
.hero-media { position: absolute; inset: 0; display: block; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-slide--art { background: #11192c; }
.hero-slide--art > img { object-fit: contain; object-position: center; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,14,29,.91) 0%, rgba(9,14,29,.64) 44%, rgba(9,14,29,.18) 75%, rgba(9,14,29,.08) 100%); }
.hero-content { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-top: 18px; }
.eyebrow { margin: 0 0 14px; color: var(--orange-dark); font-size: .78rem; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow.light { color: #ffb48e; }
.hero h1, .hero-title { max-width: 800px; margin: 0; color: #fff; font-size: clamp(3rem, 6vw, 5.5rem); line-height: .98; letter-spacing: -.055em; }
.hero h1 span, .hero-title span, .about h2 span { color: var(--orange); }
.hero-lead { max-width: 660px; margin: 28px 0 34px; color: rgba(255,255,255,.88); font-size: clamp(1.05rem, 1.6vw, 1.25rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 999px; padding: 13px 23px; font-weight: 850; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #fff; background: linear-gradient(135deg, var(--orange), var(--orange-dark)); box-shadow: 0 14px 32px rgba(255,100,30,.25); }
.button-ghost { color: #fff; border: 1px solid rgba(255,255,255,.44); background: rgba(255,255,255,.1); backdrop-filter: blur(8px); }
.slider-arrow { position: absolute; z-index: 5; top: 50%; width: 50px; height: 50px; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; color: #fff; background: rgba(8,14,28,.35); font-size: 2rem; line-height: 1; backdrop-filter: blur(8px); transform: translateY(-50%); }
.slider-arrow:hover { background: var(--orange); border-color: var(--orange); }
.hero-prev { left: 24px; }
.hero-next { right: 24px; }
.hero-dots { position: absolute; z-index: 5; left: 50%; bottom: 28px; display: flex; gap: 9px; transform: translateX(-50%); }
.hero-dots button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.48); transition: width .25s, background .25s; }
.hero-dots button.is-active { width: 34px; background: var(--orange); }

.section-heading { max-width: 760px; margin: 0 auto 52px; text-align: center; }
.section-heading h2, .about h2, .analysis h2 { margin: 0 0 18px; color: var(--navy); font-size: clamp(2.35rem, 4vw, 4.2rem); line-height: 1.04; letter-spacing: -.045em; }
.section-heading p, .about p, .analysis-copy > p { color: var(--muted); }
.section-heading > p:last-child { max-width: 670px; margin: 0 auto; }
.section-heading-row { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 30px; text-align: left; }
.section-heading-row > div:first-child { max-width: 770px; }
.section-heading-row p { margin-left: 0; }
.align-left { margin: 0; text-align: left; }

.about { background: linear-gradient(180deg, #fff 0%, #fff 75%, #fafafa 100%); }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 64px; }
.about-intro .lead { color: var(--ink); font-size: 1.15rem; font-weight: 650; }
.text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--orange-dark); font-weight: 850; }
.text-link:hover { gap: 14px; }
.value-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.value-card { min-height: 230px; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: var(--shadow-soft); transition: transform .25s, border-color .25s; }
.value-card:hover { transform: translateY(-5px); border-color: #ffc4a6; }
.value-card > span, .process-card > span { display: inline-grid; width: 43px; height: 43px; place-items: center; border-radius: 13px; color: var(--orange-dark); background: var(--orange-soft); font-size: .78rem; font-weight: 900; }
.value-card h3 { margin: 23px 0 8px; color: var(--navy); font-size: 1.08rem; line-height: 1.3; }
.value-card p { margin: 0; font-size: .91rem; }

.service-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 26px; }
.service-card { display: grid; grid-template-columns: 46% 54%; min-height: 355px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 10px 30px rgba(18,27,50,.05); transition: transform .3s, box-shadow .3s; }
.service-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.service-card > img { width: 100%; height: 100%; object-fit: cover; }
.service-card[data-entry-id="service-1"] > img { object-position: 54% 50%; }
.service-card[data-entry-id="service-2"] > img { object-position: 58% 50%; }
.service-card[data-entry-id="service-3"] > img { object-position: 50% 50%; }
.service-card[data-entry-id="service-4"] > img { object-position: 56% 50%; }
.service-card > div { position: relative; padding: 30px; }
.card-index { display: block; margin-bottom: 28px; color: var(--orange); font-size: .75rem; font-weight: 900; letter-spacing: .14em; }
.service-card h3 { margin: 0 0 6px; color: var(--navy); font-size: 1.35rem; line-height: 1.2; }
.service-card h3 a, .blog-card h3 a { color: inherit; text-decoration: none; }
.service-card h3 a:hover, .blog-card h3 a:hover { color: var(--orange-dark); text-decoration: underline; text-underline-offset: 4px; }
.service-card h4 { margin: 0 0 15px; color: var(--orange-dark); font-size: .9rem; }
.service-card p { margin: 0; color: var(--muted); font-size: .92rem; }

.video-showcase { overflow: hidden; color: #fff; background: radial-gradient(circle at 85% 20%, #313d61 0, var(--navy) 42%, #0c1326 100%); }
.video-showcase .section-heading h2 { color: #fff; }
.video-showcase .section-heading p { color: rgba(255,255,255,.66); }
.rail-controls { display: flex; gap: 10px; flex: 0 0 auto; }
.rail-controls button { width: 48px; height: 48px; border: 1px solid rgba(100,112,132,.27); border-radius: 50%; color: var(--navy); background: #fff; font-size: 1.2rem; transition: transform .2s, color .2s, background .2s; }
.rail-controls button:hover { transform: translateY(-2px); color: #fff; background: var(--orange); }
.card-rail { display: grid; grid-auto-flow: column; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--orange) transparent; }
.video-rail { grid-auto-columns: minmax(230px, 1fr); gap: 18px; padding-bottom: 20px; }
.video-rail article { overflow: hidden; scroll-snap-align: start; aspect-ratio: 2/3; border-radius: 24px; background: #202b47; }
.video-rail img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.video-rail article:hover img { transform: scale(1.035); }

.process { background: #fff; }
.process-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.process-card { position: relative; min-height: 330px; padding: 30px 27px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.process-card::after { content: ""; position: absolute; left: 27px; right: 27px; bottom: 0; height: 4px; border-radius: 4px 4px 0 0; background: var(--orange); transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.process-card:hover::after { transform: scaleX(1); }
.process-card h3 { margin: 28px 0 14px; color: var(--navy); font-size: 1.2rem; line-height: 1.3; }
.process-card p { margin: 0; color: var(--muted); font-size: .92rem; }

.analysis { color: #fff; background: linear-gradient(135deg, #10182d 0%, #1e2d50 100%); }
.analysis-grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(38px, 6vw, 80px); }
.analysis h2 { color: #fff; }
.analysis-copy > p { color: rgba(255,255,255,.72); }
.analysis-copy ul { display: grid; gap: 10px; margin: 25px 0; padding: 0; list-style: none; }
.analysis-copy li { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.analysis-copy li::before { content: "✓"; display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: #fff; background: var(--orange); font-size: .75rem; }
.stage-note { margin-top: 28px; padding: 16px 18px; border: 1px solid rgba(255,184,145,.25); border-radius: 14px; color: #ffdbc8; background: rgba(255,100,30,.1); font-size: .85rem; }
.lead-form { padding: clamp(26px, 4vw, 43px); border-radius: var(--radius-lg); color: var(--ink); background: #fff; box-shadow: 0 28px 80px rgba(0,0,0,.25); }
.form-grid { display: grid; gap: 14px; margin-bottom: 14px; }
.form-grid.two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.form-grid.four { grid-template-columns: repeat(4, minmax(0,1fr)); }
.lead-form label:not(.consent) { display: grid; gap: 6px; color: #626d80; font-size: .72rem; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; }
.lead-form input:not([type="checkbox"]), .lead-form select, .lead-form textarea { width: 100%; min-height: 49px; border: 1px solid #dfe3ea; border-radius: 12px; padding: 0 13px; color: var(--ink); background: #f9fafb; outline: 0; }
.lead-form select { appearance: none; padding-right: 38px; background-image: linear-gradient(45deg, transparent 50%, #657188 50%), linear-gradient(135deg, #657188 50%, transparent 50%); background-position: calc(100% - 18px) 21px, calc(100% - 13px) 21px; background-size: 5px 5px; background-repeat: no-repeat; }
.lead-form textarea { min-height: 116px; padding-block: 12px; resize: vertical; }
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(255,100,30,.11); background-color: #fff; }
.lead-form [aria-invalid="true"] { border-color: #c73a3a !important; }
.message-field { margin-bottom: 8px; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.consent { display: flex; align-items: flex-start; gap: 10px; margin: 19px 0; color: var(--muted); font-size: .78rem; }
.consent input { margin-top: 4px; accent-color: var(--orange); }
.consent-optional { margin-top: -7px; padding-top: 12px; border-top: 1px solid var(--line); }
.inline-legal, .footer-legal { min-height: auto; margin: 0; padding: 0; border: 0; color: var(--orange-dark); background: transparent; font: inherit; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; }
.form-submit { width: 100%; border-radius: 13px; }
.form-submit[disabled] { opacity: .65; cursor: wait; transform: none; }
.form-status { min-height: 24px; margin: 12px 0 0; text-align: center; color: var(--orange-dark); font-size: .84rem; font-weight: 750; }
.form-status.is-error { color: #b42318; }
.form-success { display: grid; gap: 5px; margin-top: 14px; padding: 17px; border: 1px solid #b8dfc7; border-radius: 14px; color: #125f39; background: #edf9f2; }
.form-success[hidden] { display: none; }
.form-success strong { font-size: 1rem; }
.form-success a { margin-top: 4px; color: #087642; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; }

.portfolio { overflow: hidden; }
.portfolio-rail { grid-auto-columns: clamp(360px, 43vw, 520px); gap: 22px; padding: 4px 2px 20px; }
.portfolio-card { overflow: hidden; scroll-snap-align: start; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-soft); }
.portfolio-card > video, .portfolio-card > img { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: contain; background: #0c1222; }
.portfolio-card > img { object-fit: cover; }
.portfolio-card > div { padding: 24px 25px 27px; }
.portfolio-card span, .blog-card span { color: var(--orange-dark); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.portfolio-card h3 { margin: 6px 0 7px; color: var(--navy); font-size: 1.35rem; }
.portfolio-card p { margin: 0; color: var(--muted); font-size: .9rem; }
.permission-note { margin: 14px 0 0; color: var(--muted); font-size: .78rem; }

.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.blog-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: 0 10px 30px rgba(18,27,50,.05); transition: transform .3s, box-shadow .3s; }
.blog-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.blog-card img { width: 100%; height: auto; aspect-ratio: 8/5; object-fit: cover; }
.blog-card > div { padding: 25px; }
.blog-card h3 { margin: 9px 0 11px; color: var(--navy); font-size: 1.25rem; line-height: 1.28; }
.blog-card p { margin: 0; color: var(--muted); font-size: .91rem; }

.faq { background: linear-gradient(180deg, #fff 0%, #fafafa 100%); }
.faq-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(45px, 7vw, 90px); }
.draft-badge { display: inline-block; margin-top: 15px; padding: 7px 11px; border-radius: 999px; color: #8a420e; background: #fff0df; font-size: .7rem; font-weight: 900; letter-spacing: .1em; }
.accordion details { border-bottom: 1px solid var(--line); }
.accordion summary { display: flex; justify-content: space-between; gap: 18px; padding: 23px 2px; color: var(--navy); font-size: 1.04rem; font-weight: 850; list-style: none; cursor: pointer; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary span { color: var(--orange); font-size: 1.6rem; font-weight: 400; transition: transform .25s; }
.accordion details[open] summary span { transform: rotate(45deg); }
.accordion details p { margin: -7px 45px 22px 2px; color: var(--muted); }

.site-footer { padding: 78px 0 0; color: rgba(255,255,255,.72); background: #0c1326; }
.footer-grid { display: grid; grid-template-columns: 1.25fr 1.15fr .8fr 1fr; gap: 44px; }
.footer-brand img { width: 190px; max-width: 100%; height: auto; margin-bottom: 20px; padding: 10px; border-radius: 14px; background: #fff; }
.footer-brand p { max-width: 320px; }
.site-footer h2 { margin: 0 0 18px; color: #fff; font-size: .95rem; letter-spacing: .08em; text-transform: uppercase; }
.site-footer address { font-style: normal; }
.site-footer a:hover { color: #ff9f70; }
.contact-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.social-pending { display: flex; flex-wrap: wrap; gap: 7px; }
.social-pending a, .social-pending span { display: inline-flex; align-items: center; min-height: 30px; padding: 6px 9px; border-radius: 8px; font-size: .72rem; }
.social-pending span { border: 1px dashed rgba(255,255,255,.22); color: rgba(255,255,255,.55); cursor: not-allowed; }
.social-pending .social-active { border: 1px solid rgba(255,100,30,.72); color: #fff; background: rgba(255,100,30,.16); font-weight: 800; }
.social-pending .social-active::after { content: "↗"; margin-left: 5px; color: #ff9f70; }
.social-pending .social-active:hover { color: #fff; border-color: var(--orange); background: var(--orange); }
.social-pending .social-active:hover::after { color: #fff; }
.pending-copy { font-size: .74rem; }
.footer-bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 58px; padding-block: 22px; border-top: 1px solid rgba(255,255,255,.1); font-size: .74rem; }
.footer-bottom div { display: flex; gap: 20px; }
.footer-legal { color: #ff9f70; }

.whatsapp-float { position: fixed; z-index: 90; top: 104px; right: 22px; display: inline-flex; align-items: center; gap: 9px; min-height: 48px; padding: 10px 17px; border: 1px solid rgba(255,255,255,.36); border-radius: 999px; color: #fff; background: #128c52; box-shadow: 0 12px 34px rgba(10,83,48,.3); font-size: .86rem; font-weight: 850; transition: transform .2s, opacity .2s, visibility .2s; }
.whatsapp-float:hover { transform: translateY(-2px); background: #0e7846; }
.whatsapp-icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #087642; background: #fff; font-size: 1.05rem; }
body.menu-open .whatsapp-float { opacity: 0; visibility: hidden; pointer-events: none; }

.legal-modal { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 18px; }
.legal-modal[hidden] { display: none; }
.legal-backdrop { position: absolute; inset: 0; background: rgba(8,14,28,.72); backdrop-filter: blur(5px); }
.legal-dialog { position: relative; width: min(720px, 100%); max-height: min(86vh, 820px); overflow: auto; overscroll-behavior: contain; padding: clamp(24px,5vw,44px); border-radius: 24px; color: var(--ink); background: #fff; box-shadow: 0 30px 100px rgba(0,0,0,.4); -webkit-overflow-scrolling: touch; }
.legal-dialog h2 { margin: 0 45px 16px 0; color: var(--navy); font-size: clamp(1.7rem,4vw,2.5rem); line-height: 1.1; }
.legal-dialog h3 { margin: 24px 0 8px; color: var(--navy); }
.legal-dialog p, .legal-dialog li { color: #566177; }
.legal-dialog a { color: var(--orange-dark); font-weight: 800; text-decoration: underline; }
.legal-close { position: absolute; top: 16px; right: 16px; display: grid; width: 42px; height: 42px; place-items: center; border: 0; border-radius: 50%; color: var(--navy); background: var(--soft); font-size: 1.7rem; line-height: 1; }
.legal-warning { padding: 14px; border-left: 4px solid var(--orange); background: var(--orange-soft); }

:focus-visible { outline: 3px solid #ffb28b; outline-offset: 3px; }

@media (max-width: 1080px) {
  .brand { width: 205px; }
  .menu-toggle { display: block; }
  .site-nav { position: fixed; left: 18px; right: 18px; top: 96px; max-height: calc(100vh - 118px); display: grid; gap: 0; overflow: auto; padding: 16px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: opacity .2s, visibility .2s, transform .2s; }
  .site-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .site-nav > a { padding: 13px 10px; border-bottom: 1px solid var(--line); font-size: 1rem; }
  .site-nav > a::after { display: none; }
  .site-nav .nav-cta { margin-top: 11px; border-bottom: 0; text-align: center; }
  .service-card { grid-template-columns: 1fr; }
  .service-card > img { height: auto; aspect-ratio: 4/5; }
  .process-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .analysis-grid { grid-template-columns: 1fr; }
  .analysis-copy { max-width: 720px; }
  .form-grid.four { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 780px) {
  html { scroll-padding-top: 78px; }
  .container { width: min(calc(100% - 30px), var(--container)); }
  .section { padding: 78px 0; }
  .nav-wrap { min-height: 74px; }
  .brand { width: 190px; }
  .hero { height: 690px; min-height: 0; margin-top: 74px; }
  .hero-media img { object-position: center top; }
  .hero-shade { background: linear-gradient(180deg, rgba(9,14,29,.04) 18%, rgba(9,14,29,.30) 48%, rgba(9,14,29,.96) 100%); }
  .hero-content { justify-content: flex-end; padding-bottom: 88px; }
  .hero h1, .hero-title { font-size: clamp(2.6rem, 12vw, 4.3rem); }
  .hero-lead { margin: 20px 0 26px; font-size: 1rem; }
  .slider-arrow { top: auto; bottom: 20px; width: 42px; height: 42px; transform: none; }
  .hero-prev { left: 15px; }
  .hero-next { right: 15px; }
  .hero-dots { bottom: 35px; }
  .about-grid, .faq-grid { grid-template-columns: 1fr; }
  .value-grid { order: 2; }
  .service-grid { grid-template-columns: 1fr; }
  .section-heading-row { align-items: flex-end; }
  .process-grid { grid-template-columns: 1fr; }
  .process-card { min-height: 0; }
  .portfolio-rail { grid-auto-columns: 86%; }
  .blog-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
  .whatsapp-float { top: auto; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); width: 56px; height: 56px; min-height: 56px; padding: 0; justify-content: center; }
  .whatsapp-float .whatsapp-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .whatsapp-icon { width: 38px; height: 38px; }
}

@media (max-width: 540px) {
  .container { width: min(calc(100% - 24px), var(--container)); }
  .section { padding: 66px 0; }
  .brand { width: 170px; }
  .menu-toggle { width: 43px; height: 43px; }
  .hero { height: 640px; transition: height .35s ease; }
  .hero.has-art-active { height: 360px; }
  .hero.has-art-active .hero-dots { bottom: 20px; }
  .hero-content { padding-bottom: 98px; }
  .hero h1, .hero-title { font-size: 2.75rem; }
  .hero-actions { width: 100%; }
  .hero-actions .button { width: 100%; }
  .hero-slide--art { background: #0a1020; }
  .hero-slide--art > img { object-fit: contain; }
  .slider-arrow { display: none; }
  .section-heading h2, .about h2, .analysis h2 { font-size: 2.25rem; }
  .value-grid { grid-template-columns: 1fr; }
  .value-card { min-height: 0; }
  .service-card > div { padding: 25px; }
  .section-heading-row { align-items: start; }
  .rail-controls button { width: 42px; height: 42px; }
  .video-rail { grid-auto-columns: 72%; }
  .form-grid.two, .form-grid.four { grid-template-columns: 1fr; }
  .lead-form { padding: 22px 17px; }
  .portfolio-rail { grid-auto-columns: 92%; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom div { flex-direction: column; gap: 4px; }
  .legal-modal { padding: 10px; align-items: end; }
  .legal-dialog { max-height: calc(92vh - env(safe-area-inset-bottom)); padding: 24px 18px calc(24px + env(safe-area-inset-bottom)); border-radius: 22px 22px 14px 14px; }
}

/* Kısa mobil ekranlarda sabit WhatsApp düğmesiyle aktif hero CTA'sı için ayrı yatay alan bırak. */
@media (max-width: 780px) and (max-height: 700px) {
  .hero-actions { width: calc(100% - 78px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
