:root {
  --ink: #061712;
  --ink-2: #0a211a;
  --green: #35ef88;
  --green-deep: #11995f;
  --mint: #baf8d5;
  --ivory: #f4f5ef;
  --white: #fff;
  --muted: #9eb4aa;
  --line: rgba(255,255,255,.14);
  --dark-line: rgba(6,23,18,.14);
  --shell: 1240px;
  --header: 88px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; background: var(--ivory); color: var(--ink); font-family: "DM Sans", sans-serif; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, video { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, a { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
[id] { scroll-margin-top: calc(var(--header) + 18px); }
.skip-link { position:fixed; z-index:200; top:12px; left:12px; padding:12px 16px; color:var(--ink); background:var(--green); font-weight:800; transform:translateY(-150%); transition:transform .18s ease; }
.skip-link:focus { transform:none; }

.shell { width: min(var(--shell), calc(100% - 64px)); margin-inline: auto; }
.section { padding: 120px 0; }
.eyebrow { margin: 0 0 22px; color: var(--green); font: 700 12px/1.2 "Manrope", sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow-dark { color: #08764b; }
h1, h2, h3, p { text-wrap: pretty; }
h1, h2, h3 { font-family: "Manrope", sans-serif; letter-spacing: -.05em; }
h1 { margin: 0; font-size: clamp(48px, 5vw, 74px); line-height: 1; font-weight: 700; max-width: 720px; text-wrap: balance; }
h1 em, h2 em { color: var(--green); font-style: normal; }
h2 { margin: 0; font-size: clamp(38px, 4.7vw, 68px); line-height: 1.02; font-weight: 650; text-wrap: balance; }
h3 { margin: 0; }
p { line-height: 1.65; }

.page-progress { position: fixed; inset: 0 auto auto 0; height: 2px; width: var(--progress, 0%); z-index: 100; background: linear-gradient(90deg,#6dff9c,#35ef88,#8aefff); }
.site-header { position: fixed; top: 0; left: 0; right: 0; height: var(--header); z-index: 50; display: flex; align-items: center; padding: 0 max(28px, calc((100vw - var(--shell))/2)); border-bottom: 1px solid transparent; transition: background .25s,border-color .25s,backdrop-filter .25s; }
.site-header.scrolled { background: rgba(3,19,15,.88); border-color: var(--line); backdrop-filter: blur(18px); }
.brand { width: 170px; flex: 0 0 auto; }
.brand img { width: 100%; height: auto; }
.desktop-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; margin-right: 30px; }
.desktop-nav a { color: rgba(255,255,255,.78); font-size: 14px; font-weight: 600; transition: color .2s; }
.desktop-nav a:hover { color: var(--white); }
.header-tools { display: flex; align-items: center; gap: 14px; margin-left: auto; }
.language-switcher { display: flex; height: 42px; border: 1px solid var(--line); }
.language-switcher a { min-width: 39px; display: grid; place-items: center; color: rgba(255,255,255,.65); font-size: 12px; font-weight: 800; }
.language-switcher a.active { color: var(--ink); background: var(--green); }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 20px; padding: 0 24px; border: 1px solid transparent; font-weight: 750; font-size: 14px; transition: transform .2s,background .2s,color .2s,border-color .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--green); color: var(--ink); }
.button-primary:hover { background: #7affad; }
.button-secondary { border-color: rgba(255,255,255,.34); color: var(--white); background: rgba(255,255,255,.03); }
.button-secondary:hover { border-color: var(--white); }
.button-dark { background: var(--ink); color: var(--white); }
.header-cta { min-height: 44px; padding-inline: 18px; }
.menu-toggle { width: 46px; height: 46px; border: 1px solid var(--line); background: transparent; display: none; place-items: center; padding: 0; }
.menu-toggle span { width: 20px; height: 1px; background: var(--white); position: absolute; transition: transform .2s; }
.menu-toggle span:last-child { transform: translateY(6px); }
.menu-toggle[aria-expanded="true"] span { transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: rotate(-45deg); }
.mobile-menu { position: fixed; z-index: 45; inset: 0; padding: calc(var(--header) + 30px) 24px 40px; background: rgba(3,19,15,.98); display: grid; align-content: start; gap: 0; transform: translateY(-102%); transition: transform .3s ease; }
.mobile-menu.open { transform: none; }
.mobile-menu > a { padding: 18px 0; color: var(--white); border-bottom: 1px solid var(--line); font: 650 25px/1.2 "Manrope",sans-serif; }
.mobile-languages { display: flex; margin-top: 28px; gap: 10px; }
.mobile-languages a { padding: 12px 16px; border: 1px solid var(--line); color: var(--white); }
.mobile-languages a.active { background: var(--green); color: var(--ink); }

.hero { min-height: 100svh; position: relative; background: radial-gradient(circle at 78% 30%,rgba(37,157,108,.18),transparent 28%),linear-gradient(135deg,#020b09,#031a14 60%,#07291f); color: var(--white); overflow: hidden; padding: calc(var(--header) + 50px) 0 66px; display: flex; align-items: center; }
.hero::before { content:""; position:absolute; inset:0; opacity:.24; background-image:linear-gradient(rgba(93,255,166,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(93,255,166,.08) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(90deg,transparent,#000 42%,#000); }
.hero-aurora { position: absolute; width: 560px; height: 560px; border-radius: 50%; right: 10%; top: 16%; background: conic-gradient(from 210deg,rgba(53,239,136,.15),rgba(69,99,255,.09),rgba(237,86,255,.08),rgba(53,239,136,.14)); filter: blur(55px); opacity: .85; animation: drift 9s ease-in-out infinite alternate; }
@keyframes drift { to { transform: translate3d(5%,-4%,0) scale(1.08); } }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr); gap: clamp(44px,6vw,86px); align-items: center; }
.hero-copy { align-self:center; padding-top:0; }
.hero-copy .eyebrow { margin-bottom: 26px; }
.hero-lead { max-width: 650px; margin: 28px 0 30px; color: rgba(255,255,255,.74); font-size: clamp(17px,1.35vw,20px); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-reassurance { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--line); color: rgba(255,255,255,.72); font-size: 12px; }
.hero-reassurance span { display: flex; align-items: center; gap: 8px; }
.hero-reassurance i { color: var(--green); font-style: normal; font-weight: 800; }
.hero-visual { position: relative; height: min(700px,calc(100svh - 150px)); min-height: 520px; overflow: hidden; border: 1px solid rgba(133,255,186,.25); background: #0a1715; box-shadow: 0 36px 90px rgba(0,0,0,.35); }
.hero-visual::before { content:""; position:absolute; inset:12px; border:1px solid rgba(255,255,255,.1); z-index:3; pointer-events:none; }
.hero-video { width: 100%; height: 100%; object-fit: cover; object-position: 52% center; filter: saturate(.88) contrast(1.04) brightness(.78) hue-rotate(6deg); transform:translateZ(0); }
.video-wash { position:absolute; inset:0; background:linear-gradient(180deg,rgba(2,14,11,.06),transparent 34%,rgba(2,15,11,.72)),linear-gradient(90deg,rgba(0,52,34,.22),transparent 46%); pointer-events:none; }
.video-kicker { position:absolute; z-index:4; left:30px; top:28px; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.9); font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.live-dot { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 6px rgba(53,239,136,.12); }
.signal { position:absolute; z-index:4; border:1px solid rgba(255,255,255,.18); background:rgba(5,24,19,.76); backdrop-filter:blur(13px); padding:16px 18px; color:var(--white); box-shadow:0 18px 48px rgba(0,0,0,.25); }
.signal small { display:block; color:var(--green); font-size:9px; font-weight:800; letter-spacing:.13em; }
.signal strong { display:block; margin-top:5px; font:650 15px/1.2 "Manrope",sans-serif; }
.signal span { display:block; margin-top:4px; color:rgba(255,255,255,.6); font-size:10px; }
.signal-campaign { left:26px; top:90px; }
.signal-lead { right:25px; bottom:104px; min-width:190px; border-color:rgba(53,239,136,.42); }
.signal-lead .signal-icon { position:absolute; right:15px; top:12px; color:var(--green); font-size:18px; }
.signal-route { left:26px; bottom:28px; }
.video-control { position:absolute; z-index:5; right:23px; top:23px; width:40px; height:40px; border:1px solid rgba(255,255,255,.24); background:rgba(3,18,14,.65); color:var(--white); border-radius:50%; cursor:pointer; }
.scroll-cue { position:absolute; z-index:4; bottom:22px; left:50%; transform:translateX(-50%); display:flex; gap:14px; align-items:center; color:rgba(255,255,255,.64); font-size:11px; text-transform:uppercase; letter-spacing:.14em; }
.scroll-cue span { color:var(--green); }

.system-section { padding: 92px 0 100px; color:var(--white); background:linear-gradient(180deg,#061d17,#051510); }
.compact-heading { max-width:720px; }
.compact-heading h2 { font-size:clamp(36px,4vw,56px); }
.flow-grid { margin-top:54px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.flow-grid article { position:relative; padding:30px 28px 32px; min-height:290px; border-right:1px solid var(--line); }
.flow-grid article:last-child { border-right:0; }
.flow-grid article:not(:last-child)::after { content:"→"; position:absolute; top:76px; right:-12px; z-index:2; color:var(--green); background:#061d17; padding:3px; }
.flow-number { color:var(--green); font-size:11px; font-weight:800; }
.flow-visual { width:108px; height:78px; margin:26px 0 20px; object-fit:cover; object-position:center; border:1px solid rgba(104,255,170,.3); box-shadow:0 16px 34px rgba(0,0,0,.28); }
.flow-grid h3 { font-size:23px; color:var(--white); }
.flow-grid p { margin:7px 0 0; color:var(--muted); font-size:14px; }

.expertise { background:var(--ivory); }
.section-heading { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,.6fr); gap:80px; align-items:end; margin-bottom:64px; }
.section-heading > *, .journey-shell > *, .offer-shell > *, .about-shell > *, .faq-shell > *, .contact-shell > * { min-width:0; }
.section-heading > p { margin:0 0 8px; color:#52675e; font-size:17px; }
.expertise-layout { display:grid; grid-template-columns:1.08fr .92fr; grid-template-rows:repeat(2,minmax(500px,1fr)); gap:16px; }
.expertise-card { min-width:0; position:relative; overflow:hidden; border:1px solid var(--dark-line); padding:36px; background:#fff; }
.expertise-lead,.expertise-conversion,.expertise-routing { padding-bottom:285px; }
.expertise-card h3 { max-width:420px; margin-top:50px; font-size:clamp(28px,3vw,44px); line-height:1.03; }
.expertise-card > p { max-width:430px; color:#52675e; font-size:16px; }
.card-top { display:flex; align-items:center; gap:16px; color:#0d7450; font-size:11px; text-transform:uppercase; letter-spacing:.14em; }
.card-top span { display:grid; place-items:center; width:34px; height:34px; border:1px solid #22a36e; border-radius:50%; }
.expertise-creative { padding:0; min-height:430px; background:#071612; color:var(--white); }
.card-overlay { position:absolute; z-index:2; inset:34px 34px auto; }
.card-overlay .card-top { color:var(--green); }
.card-overlay h3 { margin-top:22px; }
.card-overlay p { color:rgba(255,255,255,.7); max-width:420px; }
.expertise-creative { padding-bottom:285px; }
.expertise-media { position:absolute; z-index:1; left:0; right:0; bottom:0; height:255px; overflow:hidden; background:#04120e; }
.expertise-media::before { content:""; position:absolute; z-index:2; inset:0; background:linear-gradient(180deg,rgba(3,17,13,.08),transparent 45%,rgba(3,17,13,.18)); pointer-events:none; }
.expertise-media img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .55s ease,filter .4s ease; }
.expertise-card:hover .expertise-media img { transform:scale(1.025); filter:saturate(1.08); }
.expertise-media-portrait img { object-position:center 58%; }
.expertise-routing { background:#0a241b; color:var(--white); }
.expertise-routing .card-top { color:var(--green); }
.expertise-routing > p { color:var(--muted); }

.journey { background:#061b15; color:var(--white); }
.journey-shell { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; align-items:center; }
.journey-copy h2 { font-size:clamp(40px,4.5vw,66px); }
.journey-copy > p:not(.eyebrow) { margin:28px 0; max-width:540px; color:var(--muted); font-size:17px; }
.text-link { display:inline-flex; gap:16px; align-items:center; color:var(--green); font-weight:750; }
.journey-visual { position:relative; display:grid; gap:12px; }
.journey-line { position:absolute; left:32px; top:40px; bottom:40px; width:1px; background:linear-gradient(var(--green),rgba(53,239,136,.12)); }
.journey-visual article { position:relative; z-index:1; display:grid; grid-template-columns:64px 1fr; gap:22px; align-items:center; padding:22px; border:1px solid var(--line); background:rgba(255,255,255,.025); }
.journey-visual article > span { width:64px; height:64px; display:grid; place-items:center; border-radius:50%; color:var(--green); border:1px solid rgba(53,239,136,.45); background:#061b15; font-weight:800; }
.journey-visual small { color:var(--green); letter-spacing:.13em; font-size:9px; font-weight:800; }
.journey-visual h3 { margin-top:5px; font-size:21px; letter-spacing:-.03em; }
.journey-result { border-color:rgba(53,239,136,.42)!important; background:linear-gradient(90deg,rgba(53,239,136,.09),rgba(255,255,255,.02))!important; }

.proof-section { color:var(--white); background:radial-gradient(circle at 50% 30%,rgba(53,239,136,.09),transparent 30%),#03110d; }
.proof-heading { align-items:end; }
.proof-heading > p { color:var(--muted); }
.acquisition-stage { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; align-items:stretch; position:relative; }
.acquisition-stage > article { min-width:0; position:relative; display:flex; flex-direction:column; min-height:420px; padding:22px; border:1px solid var(--line); background:rgba(255,255,255,.025); }
.acquisition-stage article > small { color:var(--green); font-size:9px; font-weight:800; letter-spacing:.14em; }
.stage-index { position:absolute; right:20px; top:18px; color:rgba(255,255,255,.3); font:700 12px "Manrope",sans-serif; }
.acquisition-stage article > strong { margin-top:auto; padding-top:24px; font:650 15px/1.45 "Manrope",sans-serif; }
.stage-arrow { position:absolute; z-index:3; top:48%; color:var(--green); font-size:22px; transform:translate(-50%,-50%); }
.stage-arrow:nth-of-type(1) { left:25%; }.stage-arrow:nth-of-type(2) { left:50%; }.stage-arrow:nth-of-type(3) { left:75%; }
.stage-media { margin-top:28px; aspect-ratio:4/3; overflow:hidden; background:#071713; box-shadow:0 24px 55px rgba(0,0,0,.24); }
.stage-media img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .45s ease,filter .35s ease; }
.acquisition-stage article:hover .stage-media img { transform:scale(1.035); filter:saturate(1.08); }
.stage-media-portrait img { object-position:center 58%; }

.work { color:var(--white); background:#03110d; }
.work-heading { margin-bottom:50px; }
.work-heading > p { color:var(--muted); }
.work-grid { display:grid; grid-template-columns:1.25fr .75fr; grid-auto-rows:340px; gap:12px; }
.project { position:relative; overflow:hidden; min-height:0; border:1px solid var(--line); }
.project-featured { grid-row:span 2; }
.project-wide { grid-column:2; }
.project img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease,filter .4s; filter:saturate(.86) brightness(.78); }
.project:hover img { transform:scale(1.035); filter:saturate(1) brightness(.88); }
.project::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(2,12,9,.88)); }
.project span { position:absolute; z-index:2; inset:auto 26px 24px; display:grid; grid-template-columns:1fr auto; gap:8px; align-items:end; }
.project small { grid-column:1/-1; color:var(--green); font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.project strong { font:650 clamp(22px,2.8vw,38px)/1 "Manrope",sans-serif; letter-spacing:-.04em; }
.project b { color:rgba(255,255,255,.72); font-size:12px; }

.method { color:var(--white); background:linear-gradient(135deg,#0b2a20,#071712); }
.light-heading { max-width:680px; }
.method-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:60px; border-block:1px solid var(--line); }
.method-grid article { display:grid; grid-template-columns:auto 1fr; gap:24px; padding:36px 30px; border-right:1px solid var(--line); }
.method-grid article:last-child { border-right:0; }
.method-grid article > span { color:var(--green); font-weight:800; }
.method-grid h3 { font-size:28px; }.method-grid p { color:var(--muted); margin:9px 0 0; }
.method-note { max-width:900px; margin:36px 0 0 auto; padding-left:22px; border-left:2px solid var(--green); color:var(--muted); font-size:13px; }

.site-offer { background:#e9eee7; overflow:hidden; }
.offer-shell { display:grid; grid-template-columns:.78fr 1.22fr; gap:80px; align-items:center; }
.offer-copy h2 { font-size:clamp(42px,5vw,70px); }.offer-copy > p:not(.eyebrow) { max-width:530px; margin:26px 0 30px; color:#4c6359; font-size:17px; }
.site-stack { position:relative; min-height:480px; }
.site-screen { position:absolute; width:70%; height:330px; overflow:hidden; border:10px solid #0b1f18; box-shadow:0 35px 70px rgba(7,31,23,.18); }
.site-screen img { width:100%; height:100%; object-fit:cover; }
.screen-back { right:0; top:0; transform:rotate(5deg); }.screen-front { left:0; bottom:0; transform:rotate(-3deg); }
.site-price { position:absolute; z-index:3; right:0; bottom:18px; padding:18px 22px; color:var(--ink); background:var(--green); box-shadow:0 18px 38px rgba(4,34,23,.18); }
.site-price small,.site-price strong { display:block; }.site-price small { font-size:9px; font-weight:800; letter-spacing:.12em; }.site-price strong { font:800 36px/1 "Manrope",sans-serif; }

.about { background:var(--ivory); }
.about-shell { display:grid; grid-template-columns:1.25fr .75fr; gap:100px; }
.about-shell h2 { font-size:clamp(40px,4.6vw,64px); }
.about-copy > p { margin:44px 0 32px; color:#4f655c; font-size:18px; }
.locations { display:flex; flex-wrap:wrap; gap:8px; }.locations span { padding:12px 14px; border:1px solid var(--dark-line); font-size:12px; font-weight:700; }

.faq { color:var(--white); background:#061712; }
.faq-shell { display:grid; grid-template-columns:.6fr 1.4fr; gap:100px; }
.faq-intro h2 { font-size:clamp(38px,4.5vw,60px); }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { display:flex; justify-content:space-between; gap:25px; align-items:center; padding:24px 0; cursor:pointer; list-style:none; font:650 19px/1.35 "Manrope",sans-serif; }
.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary span { color:var(--green); font-size:24px; transition:transform .2s; }.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { max-width:690px; margin:-6px 0 24px; color:var(--muted); }

.contact { color:var(--white); background:radial-gradient(circle at 12% 26%,rgba(53,239,136,.12),transparent 31%),#03100c; }
.contact-shell { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; align-items:start; }
.contact-copy h2 { font-size:clamp(42px,5vw,68px); }.contact-copy > p:not(.eyebrow) { max-width:550px; color:var(--muted); font-size:17px; }
.contact-note { display:flex; align-items:center; gap:16px; margin-top:38px; padding-top:25px; border-top:1px solid var(--line); }.contact-note img { width:48px; }.contact-note small,.contact-note strong { display:block; }.contact-note small { color:var(--green); font-size:9px; letter-spacing:.13em; }.contact-note strong { margin-top:4px; }
.contact-form { padding:34px; border:1px solid rgba(53,239,136,.24); background:rgba(255,255,255,.035); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-form label { display:block; margin-bottom:16px; color:rgba(255,255,255,.72); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; margin-top:8px; padding:15px 16px; color:var(--white); background:rgba(255,255,255,.045); border:1px solid var(--line); border-radius:0; outline:none; text-transform:none; letter-spacing:0; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(53,239,136,.09); }
.contact-form textarea { resize:vertical; }.contact-form .button { width:100%; border:0; cursor:pointer; }
.form-note,.form-success { margin:13px 0 0; color:var(--muted); font-size:11px; }.form-success { color:var(--mint); }

footer { padding:72px 0 26px; color:var(--white); background:#020806; border-top:1px solid var(--line); }
.footer-grid { display:grid; grid-template-columns:1.6fr .55fr .55fr; gap:70px; }.footer-logo img { width:170px; }.footer-grid p { max-width:390px; color:var(--muted); }.footer-grid > div { display:grid; align-content:start; gap:10px; }.footer-grid span { color:var(--green); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }.footer-grid a:not(.footer-logo) { color:rgba(255,255,255,.72); font-size:13px; }
.footer-bottom { display:flex; justify-content:space-between; gap:30px; align-items:center; margin-top:55px; padding-top:24px; border-top:1px solid var(--line); color:rgba(255,255,255,.45); font-size:11px; }.footer-bottom div { display:flex; gap:14px; }.footer-bottom a.active { color:var(--green); }

@media (max-width: 1080px) {
  :root { --header: 78px; }
  .desktop-nav,.header-cta { display:none; }.menu-toggle { display:grid; }.brand { width:150px; }.site-header { padding-inline:24px; }
  .hero-grid { grid-template-columns:1.05fr .95fr; gap:34px; }.hero-visual { min-height:500px; }
  .flow-grid article { padding-inline:20px; }
  .section-heading,.journey-shell,.about-shell,.contact-shell { gap:60px; }
  .acquisition-stage { grid-template-columns:repeat(2,1fr); }
  .stage-arrow { display:none; }
}

@media (max-width: 820px) {
  .shell { width:min(100% - 36px,var(--shell)); }
  .section { padding:88px 0; }
  .hero { min-height:auto; padding:calc(var(--header) + 34px) 0 74px; align-items:start; }
  .hero-grid { grid-template-columns:1fr; gap:38px; }
  .hero-copy { max-width:680px; padding-top:14px; }
  h1 { font-size:clamp(42px,9vw,66px); max-width:720px; }
  .hero-visual { width:min(100%,520px); height:690px; min-height:0; justify-self:center; }
  .scroll-cue { display:none; }
  .flow-grid { grid-template-columns:1fr 1fr; }.flow-grid article:nth-child(2){border-right:0}.flow-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.flow-grid article:nth-child(2)::after{display:none}
  .section-heading,.journey-shell,.offer-shell,.about-shell,.faq-shell,.contact-shell { grid-template-columns:1fr; gap:42px; }
  .expertise-layout { grid-template-columns:1fr; grid-template-rows:none; }.expertise-card { min-height:430px; }
  .journey-copy { max-width:700px; }.work-grid { grid-template-columns:1fr 1fr; }.project-featured { grid-row:span 1; grid-column:span 2; }.project-wide { grid-column:auto; }
  .method-grid { grid-template-columns:1fr; }.method-grid article { border-right:0; border-bottom:1px solid var(--line); }.method-grid article:last-child { border-bottom:0; }
  .site-stack { min-height:420px; }.about-copy > p { margin-top:0; }
}

@media (max-width: 560px) {
  .shell { width:calc(100% - 28px); }
  .site-header { padding-inline:14px; }.brand { width:138px; }.language-switcher { height:40px; }.language-switcher a { min-width:34px; }.menu-toggle { width:40px; height:40px; }
  .hero { padding-top:calc(var(--header) + 26px); }
  .hero-copy .eyebrow { margin-bottom:18px; }
  h1 { font-size:clamp(39px,12.1vw,58px); line-height:1.01; letter-spacing:-.055em; }
  .hero-lead { margin:21px 0 24px; font-size:16px; line-height:1.55; }
  .hero-actions { display:grid; grid-template-columns:1fr; }.hero-actions .button { width:100%; }.button { min-height:52px; }
  .hero-reassurance { display:grid; gap:10px; margin-top:26px; padding-top:18px; }
  .hero-visual { width:100%; height:min(650px,74svh); min-height:540px; }
  .video-kicker { left:20px; top:20px; max-width:65%; font-size:9px; }.signal { padding:13px 14px; }.signal-campaign { left:18px; top:69px; }.signal-lead { right:18px; bottom:86px; min-width:170px; }.signal-route { left:18px; bottom:22px; }.video-control { right:16px; top:16px; }
  .section { padding:74px 0; }
  h2 { font-size:clamp(35px,10.4vw,49px); }
  .compact-heading h2 { font-size:clamp(35px,10vw,47px); }
  .flow-grid { grid-template-columns:1fr; }.flow-grid article { min-height:0; padding:22px 18px; display:grid; grid-template-columns:76px 1fr; gap:5px 16px; align-items:center; border-right:0!important; border-bottom:1px solid var(--line)!important; }.flow-grid article:last-child { border-bottom:0!important; }.flow-grid article::after { display:none!important; }.flow-number { grid-column:1/-1; }.flow-visual { width:76px; height:58px; margin:12px 0 0; }.flow-grid h3 { align-self:end; margin-top:12px; }.flow-grid p { grid-column:2; }
  .section-heading { margin-bottom:38px; }.section-heading > p { font-size:15px; }
  .expertise-card { min-height:470px; padding:26px 22px; }.expertise-card h3 { margin-top:34px; font-size:32px; }
  .expertise-lead,.expertise-conversion,.expertise-routing { padding-bottom:250px; }
  .expertise-creative { min-height:500px; padding:0 0 250px; }
  .card-overlay { inset:26px 22px auto; }
  .expertise-media { height:225px; }
  .acquisition-stage { grid-template-columns:1fr; gap:12px; }
  .acquisition-stage > article { min-height:390px; }
  .journey-visual article { grid-template-columns:50px 1fr; padding:16px; gap:14px; }.journey-visual article > span { width:50px; height:50px; }.journey-line { left:41px; }.journey-visual h3 { font-size:17px; }
  .work-grid { grid-template-columns:1fr; grid-auto-rows:330px; }.project-featured { grid-column:auto; }.project-wide { grid-column:auto; }.project span { inset:auto 18px 18px; }.project strong { font-size:26px; }.project b { grid-column:1/-1; }
  .site-stack { min-height:360px; }.site-screen { height:250px; }.site-price { right:2px; bottom:0; }.site-price strong { font-size:31px; }
  .form-row { grid-template-columns:1fr; gap:0; }.contact-form { padding:24px 18px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:38px 24px; }.footer-grid > div:first-child { grid-column:1/-1; }.footer-bottom { display:grid; }
}

@media (max-width: 430px) {
  .hero-reassurance { display:none; }
}

@media (max-width: 330px) {
  .shell { width:calc(100% - 20px); }
  .brand { width:118px; }.language-switcher a { min-width:30px; font-size:10px; }.header-tools { gap:7px; }
  h1 { font-size:36px; }.hero-lead { font-size:15px; }.hero-visual { min-height:500px; height:66svh; }.signal { max-width:170px; }.signal-route { right:18px; }.video-kicker { max-width:58%; }
  .expertise-card { min-height:470px; }
  .project { min-height:300px; }.project small { font-size:8px; }
}

@media (max-width: 300px) {
  .site-header { padding-inline:12px; }
  .header-tools .language-switcher { display:none; }
  .mobile-menu { padding-inline:18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .hero-video { display:none; }
  .hero-visual { background:url("../images/homepage-v15/acquisition-hero-poster.png") center/cover no-repeat; }
}

/* V9 — acquisition-first, full-service agency */
.hero { min-height:100svh; padding:calc(var(--header) + 72px) 0 84px; isolation:isolate; background:#020b09; }
.hero::before { z-index:-1; opacity:.15; mask-image:linear-gradient(90deg,#000,transparent 58%); }
.hero-aurora { z-index:0; right:-8%; top:8%; opacity:.42; }
.hero-cinema { position:absolute; z-index:-2; inset:0; overflow:hidden; background:#040c0b url("../images/homepage-v15/acquisition-hero-poster.png") 62% center/cover no-repeat; }
.hero-cinema .hero-video { width:100%; height:100%; object-fit:cover; object-position:62% center; filter:saturate(.96) contrast(1.08) brightness(.78); }
.hero-cinema-wash { position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,10,8,.98) 0%,rgba(2,14,11,.92) 34%,rgba(2,13,11,.58) 58%,rgba(1,8,7,.12) 82%),linear-gradient(180deg,rgba(2,10,8,.35),transparent 50%,rgba(2,13,10,.72)); }
.hero-grid { grid-template-columns:minmax(0,1fr) minmax(330px,.72fr); gap:clamp(50px,8vw,130px); min-height:calc(100svh - var(--header) - 156px); }
.hero-copy { max-width:720px; }
.hero-copy h1 { font-size:clamp(58px,6.6vw,104px); max-width:850px; line-height:.92; }
.hero-copy h1 > span,
.hero-copy h1 > em { display:block; }
.hero-lead { max-width:610px; }
.hero-signals { position:relative; height:560px; align-self:center; }
.hero-signals::before { content:""; position:absolute; inset:7% 3% 5% 10%; border:1px solid rgba(255,255,255,.1); background:linear-gradient(150deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); backdrop-filter:blur(3px); box-shadow:0 34px 100px rgba(0,0,0,.34); }
.hero-signals::after { content:"MARKETING · CONNECTÉ"; position:absolute; left:calc(10% + 22px); top:calc(7% + 22px); color:rgba(255,255,255,.56); font:800 9px/1 "Manrope",sans-serif; letter-spacing:.18em; }
.hero-signals .signal-campaign { left:0; top:24%; width:min(310px,78%); }
.hero-signals .signal-lead { right:0; bottom:27%; width:min(250px,70%); }
.hero-signals .signal-route { left:18%; bottom:9%; width:min(280px,72%); }
.hero-signals .video-control { right:6%; top:10%; }

.expertise-layout { grid-template-columns:1fr 1fr; grid-template-rows:560px 560px; gap:20px; }
.expertise-card { border-radius:2px; padding:38px; }
.expertise-card h3 { margin-top:44px; }
.expertise-lead,.expertise-conversion,.expertise-routing,.expertise-creative { padding-bottom:320px; }
.expertise-media { height:290px; }
.expertise-media-film img { object-position:center 25%; }
.expertise-interface { display:grid; place-items:center; background:radial-gradient(circle at 80% 0%,rgba(53,239,136,.15),transparent 34%),#04130f; }
.expertise-interface::before { background-image:linear-gradient(rgba(53,239,136,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(53,239,136,.06) 1px,transparent 1px); background-size:42px 42px; }
.lead-interface { position:relative; z-index:3; width:min(82%,420px); padding:30px; border:1px solid rgba(78,255,153,.34); color:var(--white); background:rgba(5,30,22,.86); box-shadow:0 28px 60px rgba(0,0,0,.36); }
.lead-interface .interface-dot { width:9px; height:9px; display:inline-block; border-radius:50%; margin-right:9px; background:var(--green); box-shadow:0 0 0 8px rgba(53,239,136,.1); }
.lead-interface small { color:var(--green); font:800 9px/1 "Manrope",sans-serif; letter-spacing:.15em; }
.lead-interface strong { display:block; margin-top:24px; font:700 29px/1 "Manrope",sans-serif; }
.lead-interface p { margin:10px 0 28px; color:var(--muted); font-size:13px; }
.lead-interface b { display:flex; justify-content:space-between; padding-top:18px; border-top:1px solid var(--line); font-size:12px; }
.lead-interface i { color:var(--green); font-style:normal; }

.work { background:radial-gradient(circle at 18% 10%,rgba(115,43,255,.12),transparent 25%),#03110d; }
.work-grid { grid-template-columns:1fr 1fr; grid-auto-rows:360px; gap:16px; }
.project { background:#091711; }
.project-featured { grid-row:auto; }
.project-wide { grid-column:auto; }

@media (min-width:1100px) {
  .hero-grid { grid-template-columns:minmax(0,1.35fr) minmax(280px,.55fr); gap:40px; }
  .hero-copy { max-width:800px; }
  .hero-copy h1 { max-width:800px; font-size:clamp(60px,5vw,72px); line-height:.96; }
  .hero-copy h1 > span,
  .hero-copy h1 > em { white-space:nowrap; }
  .hero-cinema { background-image:none; }
  .hero-cinema .hero-video {
    width:auto;
    max-width:none;
    margin-left:auto;
    object-fit:contain;
    object-position:right center;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 100%);
  }
  .hero-signals { width:100%; }
}

@media (max-width:1080px) {
  .hero-grid { grid-template-columns:minmax(0,1fr) minmax(290px,.62fr); }
  .hero-copy h1 { font-size:clamp(56px,7vw,82px); }
  .hero-signals { height:500px; }
}

@media (max-width:820px) {
  .hero { min-height:100svh; padding:calc(var(--header) + 48px) 0 54px; align-items:center; }
  .hero-cinema .hero-video { width:100%; margin-left:0; object-fit:cover; object-position:55% center; filter:saturate(1.16) contrast(1.04) brightness(.98); }
  .hero-cinema-wash { background:linear-gradient(180deg,rgba(1,10,8,.48) 0%,rgba(2,13,10,.52) 38%,rgba(2,11,9,.88) 100%),linear-gradient(90deg,rgba(1,10,8,.45),transparent 78%); }
  .hero-grid { min-height:calc(100svh - var(--header) - 102px); grid-template-columns:1fr; gap:26px; align-content:center; }
  .hero-copy { padding-top:0; max-width:660px; }
  .hero-copy h1 { font-size:clamp(52px,10.5vw,76px); }
  .hero-signals { height:150px; width:min(100%,620px); }
  .hero-signals::before { inset:0; }
  .hero-signals::after { left:18px; top:17px; }
  .hero-signals .signal { padding:12px 14px; }
  .hero-signals .signal-campaign { left:16px; top:48px; width:42%; }
  .hero-signals .signal-lead { right:16px; bottom:15px; width:43%; min-width:0; }
  .hero-signals .signal-route { display:none; }
  .hero-signals .video-control { top:10px; right:10px; }
  .expertise-layout { grid-template-columns:1fr; grid-template-rows:none; }
  .expertise-card { min-height:520px; }
  .work-grid { grid-template-columns:1fr 1fr; }
  .project-featured { grid-column:auto; grid-row:auto; }
}

@media (max-width:560px) {
  .hero { padding-top:calc(var(--header) + 30px); }
  .hero-cinema .hero-video { object-position:54% center; }
  .hero-grid { align-content:end; padding-bottom:12px; }
  .hero-copy .eyebrow { margin-bottom:14px; }
  .hero-copy h1 { font-size:clamp(44px,13vw,63px); max-width:350px; }
  .hero-lead { max-width:390px; color:rgba(255,255,255,.82); }
  .hero-reassurance { display:none; }
  .hero-signals { height:128px; }
  .hero-signals::after { left:14px; top:14px; }
  .hero-signals .signal { padding:10px 11px; }
  .hero-signals .signal strong { font-size:12px; }
  .hero-signals .signal-campaign { left:10px; top:42px; width:47%; }
  .hero-signals .signal-lead { right:10px; bottom:10px; width:45%; }
  .hero-signals .signal span { display:none; }
  .hero-signals .video-control { width:34px; height:34px; right:8px; top:6px; }
  .expertise-card { min-height:480px; padding:26px 22px 250px; }
  .expertise-creative { padding:0 0 250px; }
  .expertise-media { height:225px; }
  .work-grid { grid-template-columns:1fr; grid-auto-rows:320px; }
  .project-featured { grid-column:auto; }
}

@media (max-width:330px) {
  .hero-copy h1 { font-size:40px; }
  .hero-signals { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-cinema .hero-video { display:none; }
  .hero-cinema { background-image:url("../images/homepage-v15/acquisition-hero-poster.png"); }

.expertise-card-link { display:block; color:inherit; text-decoration:none; }
.expertise-link { position:relative; z-index:4; display:inline-flex; align-items:center; gap:9px; margin-top:18px; color:var(--flow-mint); font:800 11px/1 "Manrope",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.expertise-card-link:hover .expertise-link span { transform:translate(2px,-2px); }
.expertise-link span { transition:transform .2s ease; }
.hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.privacy-consent { display:flex!important; align-items:flex-start; gap:10px; color:rgba(255,255,255,.66)!important; font-size:12px!important; line-height:1.45; letter-spacing:0!important; text-transform:none!important; }
.privacy-consent input { width:18px!important; min-width:18px; height:18px; margin:0!important; accent-color:var(--green); }
.privacy-consent a { color:var(--green); text-decoration:underline; }
.form-success { display:none; }
.form-success.show { display:block; }
}

/* V15 — premium image direction */
.expertise-media-premium::before {
  background:linear-gradient(180deg,rgba(2,13,10,.02),transparent 54%,rgba(2,13,10,.2));
}
.expertise-media-premium img {
  filter:saturate(.96) contrast(1.04) brightness(.94);
  transform:scale(1.012);
}
.expertise-card:hover .expertise-media-premium img {
  filter:saturate(1.08) contrast(1.05) brightness(1);
  transform:scale(1.04);
}
.expertise-media-film img { object-position:center 48%; }
.expertise-media-automation img { object-position:center 52%; }

.about-shell { align-items:start; }
.about-media {
  position:relative;
  grid-column:1 / -1;
  height:clamp(310px,38vw,500px);
  margin:26px 0 0;
  overflow:hidden;
  border:1px solid rgba(6,23,18,.18);
  background:#03130f;
  box-shadow:0 34px 80px rgba(6,23,18,.15);
}
.about-media::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 64%,rgba(2,12,9,.2));
}
.about-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

@media (max-width:820px) {
  .about-media { grid-column:auto; height:clamp(270px,66vw,390px); margin-top:0; }
}

@media (max-width:560px) {
  .about-media { height:270px; }
  .about-media img { object-position:48% center; }
}

/* V10 — connected offer flow, relevant portfolio and single request path */
.expertise {
  --flow-mint:#a8d9bf;
  color:var(--white);
  background:
    radial-gradient(circle at 82% 4%,rgba(67,149,111,.16),transparent 26%),
    linear-gradient(180deg,#082019 0%,#041510 100%);
}
.expertise .section-heading { align-items:end; }
.expertise .section-heading .eyebrow { color:var(--flow-mint); }
.expertise .section-heading h2 { max-width:870px; color:var(--white); }
.expertise .section-heading h2 em { color:var(--flow-mint); }
.expertise .section-heading > p { color:rgba(235,246,239,.72); }

.expertise-layout {
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:500px;
  gap:0;
  border:1px solid rgba(204,235,218,.18);
  background:rgba(255,255,255,.018);
  box-shadow:0 32px 90px rgba(0,0,0,.2);
}
.expertise-card,
.expertise-creative {
  min-height:0;
  padding:32px 27px 220px;
  overflow:visible;
  border:0;
  border-right:1px solid rgba(204,235,218,.16);
  border-radius:0;
  color:var(--white);
  background:transparent;
}
.expertise-card:last-child { border-right:0; }
.expertise-card .card-top { color:var(--flow-mint); }
.expertise-card .card-top span { border-color:rgba(168,217,191,.45); }
.expertise-card h3 { margin-top:30px; max-width:260px; color:var(--white); font-size:clamp(25px,2.25vw,34px); }
.expertise-card > p { max-width:270px; color:rgba(235,246,239,.7); font-size:15px; line-height:1.55; }
.expertise-media {
  height:190px;
  border-top:1px solid rgba(204,235,218,.14);
  background:#061710;
}
.expertise-media img { filter:saturate(.82) brightness(.78); }
.expertise-card:hover .expertise-media img { filter:saturate(1) brightness(.9); }
.expertise-media-film img { object-position:center 27%; }
.expertise-interface { background:radial-gradient(circle at 80% 0%,rgba(82,179,132,.13),transparent 38%),#061710; }
.lead-interface { width:calc(100% - 28px); padding:20px; }
.lead-interface strong { font-size:23px; }

.journey-visual-client article { min-height:104px; }
.journey-visual-client .journey-line { bottom:52px; }

.work-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:410px;
  gap:16px;
}
.work-grid .project { min-width:0; }
.work-grid .project img {
  position:absolute;
  inset:0 0 auto;
  width:100%;
  height:calc(100% - 102px);
  object-fit:contain;
  object-position:center top;
  background:#030d0a;
  filter:saturate(.94) brightness(.88);
}
.work-grid .project::after {
  inset:auto 0 0;
  height:56%;
  background:linear-gradient(180deg,transparent,rgba(2,12,9,.96) 54%);
}
.work-grid .project span { grid-template-columns:1fr; }
.work-grid .project b { color:rgba(255,255,255,.67); }

@media (max-width:1080px) {
  .expertise-layout { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,500px); }
  .expertise-card:nth-child(2) { border-right:0; }
  .expertise-card:nth-child(-n+2) { border-bottom:1px solid rgba(204,235,218,.16); }
  .expertise-card h3,.expertise-card > p { max-width:390px; }
}

@media (max-width:820px) {
  .expertise-layout { grid-template-columns:1fr; grid-template-rows:none; }
  .expertise-card,
  .expertise-creative { min-height:430px; padding:28px 24px 210px; border-right:0; border-bottom:1px solid rgba(204,235,218,.16); }
  .expertise-card:last-child { border-bottom:0; }
  .expertise-card h3 { max-width:420px; font-size:32px; }
  .expertise-card > p { max-width:430px; }
  .expertise-media { height:185px; }
  .work-grid { grid-template-columns:1fr; grid-auto-rows:360px; }
}

@media (max-width:560px) {
  .expertise .section-heading h2 { font-size:clamp(37px,11vw,50px); }
  .expertise-card,
  .expertise-creative { min-height:405px; padding:26px 22px 190px; }
  .expertise-card h3 { margin-top:25px; font-size:28px; }
  .expertise-card > p { font-size:14px; }
  .expertise-media { height:168px; }
  .work-grid { grid-auto-rows:330px; }
  .project span { inset:auto 20px 20px; }
  .project strong { font-size:26px; }
}
