@import url('https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@75..125,300..900&family=DM+Mono:wght@300;400;500&display=swap');

:root {
  --bg: #070707;
  --bg-soft: #0c0c0c;
  --panel: #101010;
  --panel-2: #151515;
  --text: #f5f2eb;
  --muted: #9a9690;
  --line: rgba(255,255,255,.13);
  --line-strong: rgba(255,255,255,.24);
  --accent: #ff6b2c;
  --accent-2: #ffc32a;
  --accent-pink: #d6488f;
  --radius: 24px;
  --radius-sm: 14px;
  --max: 1380px;
  --pad: clamp(20px, 4vw, 64px);
  --ease: cubic-bezier(.2,.75,.25,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 78% -6%, rgba(255,107,44,.13), transparent 30%),
    radial-gradient(circle at 14% 16%, rgba(255,195,42,.06), transparent 24%),
    var(--bg);
  color: var(--text);
  font-family: "Archivo", Arial, sans-serif;
  font-variation-settings: "wdth" 96;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  z-index: 80;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.17'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
img { max-width: 100%; display: block; }
::selection { background: var(--accent); color: #090909; }

.site-shell { position: relative; z-index: 1; }
.container { width: min(var(--max), calc(100% - (var(--pad) * 2))); margin-inline: auto; }
.mono { font-family: "DM Mono", monospace; text-transform: uppercase; letter-spacing: .06em; }
.muted { color: var(--muted); }
.accent { color: var(--accent); }

/* Loader */
.loader {
  position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center;
  background: #030303; overflow: hidden;
  transition: transform 1s var(--ease), visibility 1s;
}
.loader.is-done { transform: translateY(-105%); visibility: hidden; }
.loader-rails { position:absolute; inset:-15%; opacity:.22; transform: rotate(-14deg); }
.loader-rails::before, .loader-rails::after {
  content:""; position:absolute; inset:0;
  background: repeating-linear-gradient(90deg, transparent 0 72px, rgba(255,255,255,.14) 72px 74px);
}
.loader-rails::after { transform: translateY(52%); opacity:.4; }
.loader-scene { width:min(900px, calc(100% - 48px)); position:relative; }
.loader-kicker { font-size:11px; color:#777; display:flex; justify-content:space-between; margin-bottom:24px; }
.loader-name { font-size:clamp(58px, 11vw, 160px); line-height:.78; letter-spacing:-.075em; font-weight:760; overflow:hidden; }
.loader-name span { display:block; transform:translateY(115%); animation:loaderText .9s .15s var(--ease) forwards; }
.loader-name span:last-child { animation-delay:.26s; color:#777; }
.loader-flow { margin-top:44px; display:flex; gap:12px; flex-wrap:wrap; }
.loader-flow span { border:1px solid var(--line); border-radius:100px; padding:10px 14px; font: 400 11px/1 "DM Mono"; color:#888; opacity:0; transform:translateY(10px); animation:stageIn .55s forwards; }
.loader-flow span:nth-child(1){animation-delay:.55s}.loader-flow span:nth-child(2){animation-delay:.72s}.loader-flow span:nth-child(3){animation-delay:.89s}
.loader-progress { height:1px; background:#272727; margin-top:26px; overflow:hidden; }
.loader-progress::after { content:""; display:block; height:100%; background:linear-gradient(90deg,var(--accent),var(--accent-2)); transform:translateX(-100%); animation:loaderProgress 1.7s .2s var(--ease) forwards; }
@keyframes loaderText { to{transform:translateY(0)} }
@keyframes stageIn { to{opacity:1;transform:none} }
@keyframes loaderProgress { to{transform:translateX(0)} }

.page-transition { position:fixed; inset:0; z-index:9998; pointer-events:none; transform:translateY(-105%); background:var(--accent); display:flex; align-items:flex-end; padding:var(--pad); }
.page-transition span { color:#0a0a0a; font-size:clamp(34px,8vw,110px); font-weight:780; letter-spacing:-.06em; }
.page-transition.enter { animation:transitionOut .85s .05s var(--ease) both; }
.page-transition.leave { animation:transitionIn .72s var(--ease) both; }
@keyframes transitionIn { from{transform:translateY(-105%)} to{transform:translateY(0)} }
@keyframes transitionOut { from{transform:translateY(0)} to{transform:translateY(105%)} }

/* Header */
.site-header { position:fixed; top:0; left:0; right:0; z-index:90; padding:18px var(--pad); }
.header-inner { width:min(var(--max),100%); margin:auto; height:58px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.header-blur { position:absolute; inset:8px var(--pad); z-index:-1; background:rgba(6,6,6,.62); border:1px solid rgba(255,255,255,.09); border-radius:18px; backdrop-filter:blur(18px); }
.menu-btn, .header-cta, .nav-close { border:1px solid var(--line); background:rgba(255,255,255,.035); border-radius:11px; min-height:38px; display:inline-flex; align-items:center; gap:9px; padding:0 12px; cursor:pointer; transition:.25s var(--ease); }
.menu-btn { justify-self:start; }
.menu-btn:hover, .nav-close:hover { border-color:var(--line-strong); background:#161616; }
.menu-icon { width:16px; height:12px; display:grid; align-content:space-between; }
.menu-icon i { height:1px; background:#eee; display:block; transform-origin:left; transition:.3s var(--ease); }
.brand { justify-self:center; font-weight:760; font-size:15px; letter-spacing:-.04em; }
.brand span { color:#777; font-weight:450; }
.header-cta { justify-self:end; background:var(--text); color:#0b0b0b; border-color:transparent; font-size:12px; font-weight:700; }
.header-cta .arr { width:24px; height:24px; border-radius:8px; display:grid; place-items:center; color:#fff; background:#111; }
.header-cta:hover { transform:translateY(-2px); }

/* Full menu */
.menu-overlay { position:fixed; inset:0; z-index:900; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); background:#060606; transform:translateY(-105%); transition:transform .8s var(--ease); overflow:hidden; }
.menu-overlay.open { transform:translateY(0); }
.menu-overlay::before { content:""; position:absolute; inset:-30%; background:repeating-linear-gradient(125deg,transparent 0 90px,rgba(255,255,255,.035) 90px 92px); transform:rotate(-8deg); }
.menu-main { padding:calc(var(--pad) + 64px) var(--pad) var(--pad); position:relative; display:flex; flex-direction:column; justify-content:space-between; }
.menu-top { display:flex; justify-content:space-between; align-items:center; }
.menu-title { font:400 11px "DM Mono"; color:#777; }
.menu-links { margin-top:40px; }
.menu-link { display:grid; grid-template-columns:46px 1fr 36px; align-items:center; border-top:1px solid var(--line); padding:14px 0 12px; font-size:clamp(34px,6vw,86px); line-height:.95; letter-spacing:-.055em; font-weight:700; transition:.3s var(--ease); }
.menu-link:last-child { border-bottom:1px solid var(--line); }
.menu-link .num { font:400 10px "DM Mono"; color:#666; align-self:start; margin-top:8px; }
.menu-link .arrow { width:32px; height:32px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font-size:16px; transition:.3s; }
.menu-link:hover { color:var(--accent); padding-left:12px; }
.menu-link:hover .arrow { background:var(--accent); color:#111; border-color:var(--accent); transform:rotate(45deg); }
.menu-meta { display:flex; gap:28px; font-size:12px; color:#888; margin-top:28px; }
.menu-visual { position:relative; border-left:1px solid var(--line); min-height:100%; overflow:hidden; }
.menu-visual::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05),#050505 90%), url('https://bridgetwillard.com/wp-content/uploads/2025/04/bridget-willard-1000x1000-1.png') center/cover; filter:saturate(.75) contrast(1.03); transform:scale(1.03); }
.menu-visual-card { position:absolute; left:24px; right:24px; bottom:24px; padding:22px; border:1px solid rgba(255,255,255,.17); background:rgba(7,7,7,.64); backdrop-filter:blur(18px); border-radius:18px; }
.menu-visual-card b { font-size:24px; letter-spacing:-.04em; display:block; margin-bottom:8px; }
.menu-visual-card p { color:#aaa; font-size:13px; line-height:1.6; margin:0; }

/* Hero */
.hero { padding:120px 0 0; min-height:100vh; }
.hero-frame { position:relative; min-height:calc(100vh - 132px); border-radius:30px; overflow:hidden; border:1px solid var(--line); background:linear-gradient(155deg,#0b0b0b 30%,#12100f 100%); }
.hero-frame::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 72% 34%,rgba(255,105,44,.24),transparent 23%), radial-gradient(circle at 84% 22%,rgba(255,195,42,.10),transparent 20%); }
.hero-gridlines { position:absolute; inset:0; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px); background-size:calc(100%/6) 100%, 100% 100%; }
.hero-top { position:relative; z-index:2; padding:32px 34px 0; display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; font:400 10px "DM Mono"; color:#aaa; text-transform:uppercase; letter-spacing:.06em; }
.eyebrow::before { content:""; width:7px; height:7px; background:var(--accent); border-radius:50%; box-shadow:0 0 0 6px rgba(255,107,44,.08); }
.availability { font:400 10px "DM Mono"; color:#aaa; border:1px solid var(--line); padding:9px 11px; border-radius:50px; }
.hero-copy { position:relative; z-index:2; padding:22px 34px 0; max-width:1100px; }
.hero h1 { margin:0; font-size:clamp(56px,7.6vw,126px); line-height:.86; letter-spacing:-.075em; font-weight:760; max-width:10.5ch; }
.hero h1 .soft { color:#5b5956; }
.clip-line { display:block; overflow:visible; }
.clip-line > span { display:block; opacity:0; transform:translateY(24%); filter:blur(4px); animation:heroLine .9s var(--ease) forwards; }
.clip-line:nth-child(2)>span{animation-delay:.08s}.clip-line:nth-child(3)>span{animation-delay:.16s}
@keyframes heroLine { to{opacity:1;transform:none;filter:blur(0)} }
.hero-lower { position:relative; z-index:2; display:grid; grid-template-columns:minmax(260px,.76fr) minmax(420px,1.55fr); gap:clamp(24px,4vw,68px); align-items:end; padding:36px 34px 34px; margin-top:10px; }
.hero-intro { padding-bottom:12px; }
.hero-intro p { margin:0 0 24px; max-width:490px; color:#b3afaa; font-size:clamp(16px,1.3vw,20px); line-height:1.55; letter-spacing:-.015em; }
.actions { display:flex; gap:10px; flex-wrap:wrap; }
.btn { display:inline-flex; white-space:nowrap; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:0 16px; border-radius:12px; border:1px solid var(--line); background:#121212; font-size:13px; font-weight:700; transition:.25s var(--ease); cursor:pointer; position:relative; overflow:hidden; }
.btn span { position:relative; z-index:1; }
.btn-primary { background:var(--text); color:#0a0a0a; border-color:transparent; }
.btn-accent { background:var(--accent); color:#090909; border-color:var(--accent); }
.btn:hover { transform:translateY(-2px); border-color:var(--line-strong); }
.btn .circle-arrow { width:28px; height:28px; border-radius:9px; display:grid; place-items:center; background:#0d0d0d; color:#fff; }
.btn-accent .circle-arrow { background:#111; }

.vsl-wrap { position:relative; }
.vsl-label { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; font:400 10px "DM Mono"; color:#888; }
.vsl { position:relative; aspect-ratio:16/9; border-radius:22px; overflow:hidden; border:1px solid var(--line-strong); background:radial-gradient(circle at 50% 50%,#2c160f,#070707 58%); box-shadow:0 30px 70px rgba(0,0,0,.45); isolation:isolate; }
.vsl::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.65)); pointer-events:none; z-index:1; }
.vsl-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.78; filter:saturate(.75) contrast(1.05) brightness(.75); }
.vsl-fallback { position:absolute; inset:0; background:radial-gradient(circle at 50% 45%,rgba(255,111,47,.25),transparent 24%), repeating-linear-gradient(125deg, transparent 0 48px, rgba(255,255,255,.035) 48px 49px); }
.vsl-play { position:absolute; z-index:3; left:50%; top:50%; transform:translate(-50%,-50%); width:92px; height:92px; border-radius:50%; border:1px solid rgba(255,255,255,.38); background:rgba(5,5,5,.64); backdrop-filter:blur(12px); display:grid; place-items:center; cursor:pointer; transition:.3s var(--ease); }
.vsl-play::before { content:""; width:0; height:0; border-top:10px solid transparent; border-bottom:10px solid transparent; border-left:16px solid var(--text); margin-left:5px; }
.vsl-play:hover { transform:translate(-50%,-50%) scale(1.07); background:var(--accent); border-color:var(--accent); }
.vsl-caption { position:absolute; left:18px; right:18px; bottom:16px; z-index:3; display:flex; justify-content:space-between; align-items:end; gap:18px; }
.vsl-caption b { font-size:17px; letter-spacing:-.03em; }
.vsl-caption span { color:#bbb; font:400 9px "DM Mono"; text-transform:uppercase; }
.vsl iframe { position:absolute; inset:0; width:100%; height:100%; border:0; z-index:5; }

/* Sections */
.section { padding:clamp(96px,11vw,170px) 0; position:relative; }
.section + .section { border-top:1px solid rgba(255,255,255,.08); }
.section-head { display:grid; grid-template-columns:160px 1fr; gap:38px; margin-bottom:54px; align-items:start; }
.section-num { position:relative; font-size:clamp(76px,9vw,148px); line-height:.8; font-weight:760; letter-spacing:-.07em; color:#171717; user-select:none; }
.section-title-wrap { max-width:970px; }
.section-kicker { margin-bottom:20px; }
.section h2 { margin:0; font-size:clamp(42px,5.8vw,86px); line-height:.93; letter-spacing:-.06em; font-weight:720; }
.section h2 .soft { color:#5d5a57; }
.section-lead { margin:24px 0 0; max-width:740px; color:#aaa6a1; font-size:clamp(16px,1.6vw,21px); line-height:1.6; }

.translation-grid { display:grid; grid-template-columns:1fr 1.25fr 1fr; gap:12px; }
.translation-card { min-height:300px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,#0d0d0d,#111); padding:24px; position:relative; overflow:hidden; transition:.35s var(--ease); }
.translation-card::after { content:""; position:absolute; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle,rgba(255,107,44,.25),transparent 68%); left:var(--mx,70%); top:var(--my,0%); transform:translate(-50%,-50%); opacity:0; transition:.3s; }
.translation-card:hover::after { opacity:1; }
.translation-card:hover { transform:translateY(-5px); border-color:var(--line-strong); }
.translation-card.featured { background:linear-gradient(150deg,#21110b,#111 58%); min-height:360px; }
.translation-card .index { font:400 10px "DM Mono"; color:#666; }
.translation-card h3 { position:absolute; left:24px; bottom:58px; margin:0; font-size:clamp(26px,3vw,46px); letter-spacing:-.05em; z-index:2; }
.translation-card p { position:absolute; left:24px; right:24px; bottom:20px; color:#888; margin:0; font-size:12px; line-height:1.45; z-index:2; }
.translation-card .orbit { position:absolute; right:-60px; top:-60px; width:240px; aspect-ratio:1; border:1px solid rgba(255,255,255,.13); border-radius:50%; }
.translation-card .orbit::before,.translation-card .orbit::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;inset:22px}.translation-card .orbit::after{inset:48px}

.process { border-top:1px solid var(--line); }
.process-row { display:grid; grid-template-columns:80px 1fr minmax(260px,.75fr) 42px; gap:24px; align-items:center; padding:22px 0; border-bottom:1px solid var(--line); cursor:default; position:relative; overflow:hidden; }
.process-row::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,107,44,.11),transparent 70%); transform:translateX(-102%); transition:.48s var(--ease); }
.process-row:hover::before { transform:none; }
.process-row .step { font:400 10px "DM Mono"; color:#777; position:relative; }
.process-row h3 { font-size:clamp(25px,3vw,44px); margin:0; letter-spacing:-.045em; position:relative; }
.process-row p { margin:0; color:#8d8984; line-height:1.55; font-size:13px; position:relative; }
.process-arrow { width:38px; height:38px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; position:relative; transition:.3s; }
.process-row:hover .process-arrow { background:var(--accent); color:#111; border-color:var(--accent); transform:rotate(45deg); }

.offer-wrap { display:grid; grid-template-columns:minmax(0,1.16fr) minmax(330px,.84fr); gap:12px; }
.offer-main, .offer-side { border:1px solid var(--line); border-radius:22px; background:#0d0d0d; position:relative; overflow:hidden; }
.offer-main { padding:clamp(26px,4vw,48px); min-height:540px; background:radial-gradient(circle at 80% 20%,rgba(255,107,44,.18),transparent 32%), #0e0e0e; }
.offer-side { padding:28px; display:flex; flex-direction:column; justify-content:space-between; }
.offer-tag { display:flex; justify-content:space-between; font:400 10px "DM Mono"; color:#888; }
.offer-main h3 { font-size:clamp(46px,6vw,88px); max-width:9ch; margin:80px 0 20px; line-height:.91; letter-spacing:-.065em; }
.offer-price { font-size:clamp(64px,8vw,120px); line-height:.88; letter-spacing:-.075em; font-weight:780; margin-top:24px; }
.offer-price small { font-size:14px; color:#888; letter-spacing:-.02em; font-weight:500; }
.offer-note { max-width:500px; color:#999; line-height:1.6; margin:22px 0 30px; }
.offer-list { display:grid; gap:0; }
.offer-list-item { border-top:1px solid var(--line); padding:18px 0; display:grid; grid-template-columns:38px 1fr; gap:8px; }
.offer-list-item:last-child { border-bottom:1px solid var(--line); }
.offer-list-item .n { font:400 10px "DM Mono"; color:#666; }
.offer-list-item b { font-size:17px; display:block; margin-bottom:6px; }
.offer-list-item span { color:#888; font-size:13px; line-height:1.55; }
.offer-side .micro { color:#888; font-size:12px; line-height:1.7; }

.framework { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.framework-step { padding:34px 16px 30px; border-right:1px solid var(--line); min-height:220px; display:flex; flex-direction:column; justify-content:space-between; transition:.3s var(--ease); }
.framework-step:last-child { border-right:0; }
.framework-step span { font:400 9px "DM Mono"; color:#666; }
.framework-step b { font-size:clamp(18px,2.3vw,32px); letter-spacing:-.04em; }
.framework-step:hover { background:#111; }
.framework-step:hover b { color:var(--accent); }

.logos { display:grid; grid-template-columns:repeat(6,1fr); border:1px solid var(--line); border-radius:18px; overflow:hidden; margin-bottom:16px; }
.logo-cell { min-height:120px; border-right:1px solid var(--line); display:grid; place-items:center; background:#0c0c0c; padding:22px; }
.logo-cell:last-child{border-right:0}
.logo-cell img { max-height:54px; max-width:74px; filter:grayscale(1) brightness(1.35); opacity:.76; transition:.3s; }
.logo-cell:hover img { filter:none; opacity:1; transform:scale(1.04); }
.testimonial-track { display:flex; gap:12px; width:max-content; animation:marquee 28s linear infinite; }
.testimonial-wrap { overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.testimonial-wrap:hover .testimonial-track{animation-play-state:paused}
.testimonial { width:min(480px,82vw); min-height:250px; border:1px solid var(--line); border-radius:18px; background:#0e0e0e; padding:26px; display:flex; flex-direction:column; justify-content:space-between; }
.testimonial blockquote { margin:0; font-size:clamp(21px,2vw,29px); line-height:1.25; letter-spacing:-.035em; }
.testimonial footer { color:#85817c; font-size:12px; line-height:1.55; }
@keyframes marquee { to{transform:translateX(calc(-50% - 6px))} }

.about-split { display:grid; grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr); gap:12px; }
.photo-card { border-radius:22px; border:1px solid var(--line); overflow:hidden; min-height:580px; position:relative; background:#141414; }
.photo-card img { width:100%; height:100%; object-fit:cover; filter:saturate(.74) contrast(1.03); }
.photo-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.8)); }
.about-copy-card { border:1px solid var(--line); border-radius:22px; padding:clamp(30px,5vw,64px); display:flex; flex-direction:column; justify-content:space-between; background:#0d0d0d; }
.about-copy-card .big-copy { font-size:clamp(32px,4.1vw,61px); line-height:1; letter-spacing:-.055em; margin:0; }
.about-copy-card .body-copy { max-width:650px; color:#9d9993; line-height:1.7; font-size:16px; margin:28px 0; }

/* Interior pages */
.page-hero { padding:150px 0 80px; }
.page-hero-grid { display:grid; grid-template-columns:1fr .85fr; gap:48px; align-items:end; }
.page-hero h1 { margin:18px 0 0; font-size:clamp(64px,9.8vw,150px); max-width:8.5ch; line-height:.82; letter-spacing:-.075em; }
.page-hero p { color:#aaa6a1; max-width:600px; line-height:1.65; font-size:18px; margin:0 0 8px; }
.hero-media-card { margin-top:38px; min-height:430px; border-radius:24px; overflow:hidden; border:1px solid var(--line); position:relative; background:#111; }
.hero-media-card img { width:100%; height:100%; min-height:430px; object-fit:cover; filter:saturate(.75); }
.hero-media-card::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.72))}

.pricing-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:12px; align-items:stretch; }
.price-card { border:1px solid var(--line); border-radius:20px; background:#0d0d0d; padding:28px; min-height:440px; display:flex; flex-direction:column; justify-content:space-between; transition:.3s var(--ease); }
.price-card.featured { background:radial-gradient(circle at 80% 10%,rgba(255,107,44,.2),transparent 30%),#0d0d0d; min-height:520px; }
.price-card:hover { transform:translateY(-5px); border-color:var(--line-strong); }
.price-card .price { font-size:clamp(50px,5vw,78px); font-weight:760; letter-spacing:-.065em; margin:45px 0 16px; }
.price-card .price small { font-size:12px; color:#777; font-weight:500; }
.price-card h3 { font-size:30px; margin:0; letter-spacing:-.045em; }
.price-card p { color:#8f8b85; line-height:1.6; font-size:14px; }
.price-card ul { list-style:none; padding:0; margin:24px 0 30px; border-top:1px solid var(--line); }
.price-card li { padding:12px 0; border-bottom:1px solid var(--line); color:#aaa; font-size:13px; }

.timeline { border-top:1px solid var(--line); }
.timeline-item { display:grid; grid-template-columns:160px 1fr; gap:34px; padding:26px 0; border-bottom:1px solid var(--line); }
.timeline-item .when { font:400 10px "DM Mono"; color:#777; }
.timeline-item h3 { margin:0 0 10px; font-size:clamp(26px,3vw,42px); letter-spacing:-.045em; }
.timeline-item p { margin:0; color:#8e8a84; max-width:720px; line-height:1.65; }

.media-topics { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.topic-card { border:1px solid var(--line); border-radius:18px; padding:28px; min-height:230px; background:#0e0e0e; display:flex; flex-direction:column; justify-content:space-between; }
.topic-card .num { font:400 10px "DM Mono"; color:#666; }
.topic-card h3 { margin:30px 0 0; font-size:clamp(27px,3vw,42px); max-width:14ch; letter-spacing:-.045em; }

.insights-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); }
.insight-card { min-height:320px; padding:28px 28px 26px 0; border-bottom:1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; }
.insight-card:nth-child(odd){border-right:1px solid var(--line); padding-right:34px}
.insight-card:nth-child(even){padding-left:34px}
.insight-card .meta { font:400 10px "DM Mono"; color:#777; }
.insight-card h3 { margin:0; font-size:clamp(28px,3.2vw,48px); line-height:1; letter-spacing:-.05em; max-width:14ch; }
.insight-card .read { color:#aaa; font-size:12px; display:flex; justify-content:space-between; align-items:center; }
.insight-card:hover h3 { color:var(--accent); }

.contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:12px; }
.contact-primary, .contact-secondary { border:1px solid var(--line); border-radius:22px; background:#0d0d0d; padding:clamp(28px,5vw,56px); min-height:520px; }
.contact-primary { background:radial-gradient(circle at 90% 10%,rgba(255,107,44,.22),transparent 34%),#0d0d0d; }
.contact-primary h2 { max-width:9ch; }
.contact-secondary { display:flex; flex-direction:column; justify-content:space-between; }
.contact-list { border-top:1px solid var(--line); }
.contact-row { padding:18px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:18px; font-size:13px; }
.contact-row span:first-child { color:#777; }

.faq { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-q { width:100%; background:none; border:0; padding:22px 0; display:flex; justify-content:space-between; gap:24px; cursor:pointer; text-align:left; font-size:clamp(19px,2vw,28px); letter-spacing:-.035em; }
.faq-q span:last-child { color:#777; transition:.3s; }
.faq-a { max-height:0; overflow:hidden; transition:max-height .5s var(--ease); }
.faq-a p { max-width:760px; color:#8d8984; line-height:1.65; padding:0 0 24px; margin:0; }
.faq-item.open .faq-a { max-height:240px; }
.faq-item.open .faq-q span:last-child { transform:rotate(45deg); color:var(--accent); }

/* CTA + footer */
.final-cta { padding:clamp(90px,12vw,170px) 0; }
.final-cta-card { border:1px solid var(--line); border-radius:26px; padding:clamp(34px,6vw,72px); background:radial-gradient(circle at 85% 15%,rgba(255,107,44,.20),transparent 26%),#0d0d0d; position:relative; overflow:hidden; }
.final-cta-card::after { content:""; position:absolute; right:-9%; bottom:-43%; width:430px; height:430px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018); }
.final-cta h2 { max-width:10ch; font-size:clamp(48px,7vw,100px); margin:0 0 30px; line-height:.9; letter-spacing:-.07em; }
.footer { border-top:1px solid var(--line); padding:34px 0 44px; }
.footer-top { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:36px; }
.footer-brand b { font-size:28px; letter-spacing:-.04em; display:block; margin-bottom:10px; }
.footer-brand p { color:#777; max-width:300px; line-height:1.55; font-size:12px; }
.footer-col strong { display:block; font:500 10px "DM Mono"; color:#666; text-transform:uppercase; margin-bottom:12px; }
.footer-col a { display:block; color:#aaa; font-size:12px; padding:5px 0; transition:.2s; }
.footer-col a:hover { color:var(--accent); }
.footer-bottom { margin-top:36px; padding-top:18px; border-top:1px solid var(--line); display:flex; justify-content:space-between; color:#666; font:400 9px "DM Mono"; gap:18px; }

.reveal { opacity:0; transform:translateY(34px); transition:opacity .85s var(--ease), transform .85s var(--ease); }
.reveal.in { opacity:1; transform:none; }
.reveal-left { opacity:0; transform:translateX(-34px); transition:.85s var(--ease); }
.reveal-left.in { opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.001ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.001ms!important; }
  .testimonial-track { animation:none; }
}


@media (min-width: 1051px) {
  .hero-frame { min-height: clamp(760px, calc(100vh - 132px), 900px); }
  .hero-copy { width: 46%; padding-top: 48px; }
  .hero h1 { font-size: clamp(60px, 5.7vw, 92px); max-width: 8.6ch; }
  .hero-lower { display: block; padding: 0; margin: 0; position: static; }
  .hero-intro { position: absolute; left: 34px; bottom: 34px; width: 38%; padding: 0; }
  .vsl-wrap { position: absolute; right: 34px; top: 168px; width: 52%; max-width: 740px; }
}

@media (max-width: 1050px) {
  .hero-frame { min-height:auto; }
  .hero-lower { grid-template-columns:1fr; }
  .hero-intro { display:grid; grid-template-columns:1fr auto; gap:20px; align-items:end; }
  .hero-intro p { margin:0; }
  .section-head { grid-template-columns:110px 1fr; }
  .translation-grid { grid-template-columns:1fr 1fr; }
  .translation-card.featured { grid-column:span 2; }
  .process-row { grid-template-columns:60px 1fr 1fr 38px; }
  .offer-wrap, .contact-grid { grid-template-columns:1fr; }
  .offer-main { min-height:480px; }
  .framework { grid-template-columns:repeat(5,minmax(140px,1fr)); overflow-x:auto; }
  .logos { grid-template-columns:repeat(3,1fr); }
  .logo-cell { border-bottom:1px solid var(--line); }
  .about-split { grid-template-columns:1fr; }
  .photo-card { min-height:520px; }
  .pricing-grid { grid-template-columns:1.2fr 1fr; }
  .price-card:last-child { grid-column:span 2; min-height:360px; }
  .page-hero-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1.4fr 1fr 1fr; }
  .footer-col:last-child { grid-column:2; }
}

@media (max-width: 760px) {
  :root { --pad: 18px; --radius:18px; }
  .site-header { padding-top:10px; }
  .header-inner { height:52px; grid-template-columns:1fr auto; }
  .header-blur { inset:4px var(--pad); }
  .brand { display:none; }
  .header-cta { font-size:11px; }
  .header-cta .arr { display:none; }
  .menu-overlay { grid-template-columns:1fr; }
  .menu-main { padding-top:88px; }
  .menu-visual { display:none; }
  .menu-link { grid-template-columns:34px 1fr 30px; padding:12px 0; }
  .menu-link .arrow { width:28px;height:28px; }
  .menu-meta { flex-direction:column; gap:8px; }

  .hero { padding-top:82px; }
  .hero-frame { border-radius:20px; }
  .hero-top { padding:22px 18px 0; }
  .availability { display:none; }
  .hero-copy { padding:18px 18px 0; }
  .hero h1 { font-size:clamp(48px,14.7vw,72px); line-height:.87; max-width:9.8ch; }
  .hero-lower { padding:26px 18px 18px; gap:30px; }
  .hero-intro { display:block; }
  .hero-intro p { font-size:16px; margin-bottom:20px; }
  .vsl { border-radius:16px; }
  .vsl-play { width:70px; height:70px; }
  .vsl-caption b { font-size:14px; }

  .section { padding:90px 0; }
  .section-head { grid-template-columns:1fr; gap:8px; margin-bottom:38px; }
  .section-num { font-size:74px; position:absolute; right:var(--pad); top:34px; z-index:-1; }
  .section h2 { font-size:clamp(39px,11vw,58px); }
  .translation-grid { grid-template-columns:1fr; }
  .translation-card.featured { grid-column:auto; }
  .translation-card { min-height:260px; }
  .process-row { grid-template-columns:38px 1fr 34px; gap:14px; padding:20px 0; }
  .process-row p { grid-column:2 / 4; max-width:90%; }
  .process-arrow { grid-column:3; grid-row:1; }
  .offer-main h3 { margin-top:70px; }
  .offer-main { min-height:520px; }
  .framework { margin-inline:calc(var(--pad) * -1); padding-left:var(--pad); }
  .framework-step { min-width:170px; }
  .logos { grid-template-columns:repeat(2,1fr); }
  .photo-card { min-height:440px; }
  .about-copy-card .big-copy { font-size:36px; }

  .page-hero { padding:120px 0 60px; }
  .page-hero h1 { font-size:clamp(58px,16vw,92px); }
  .page-hero p { font-size:16px; }
  .hero-media-card, .hero-media-card img { min-height:340px; }
  .pricing-grid { grid-template-columns:1fr; }
  .price-card, .price-card.featured { min-height:auto; }
  .price-card:last-child { grid-column:auto; }
  .timeline-item { grid-template-columns:1fr; gap:8px; }
  .media-topics, .insights-grid { grid-template-columns:1fr; }
  .insight-card:nth-child(odd), .insight-card:nth-child(even) { border-right:0; padding:26px 0; }
  .contact-primary, .contact-secondary { min-height:auto; }
  .footer-top { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:span 2; }
  .footer-col:last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
}

@media (max-width: 430px) {
  .header-cta { padding:0 10px; white-space:nowrap; }
  .btn { font-size:12px; }
  .hero h1 { font-size:47px; }
  .hero-top { padding-top:18px; }
  .actions .btn { flex:1; min-width:145px; }
  .vsl-caption span { display:none; }
  .section h2 { font-size:41px; }
  .section-lead { font-size:15px; }
  .offer-main { padding:24px; }
  .offer-main h3 { font-size:45px; }
  .offer-price { font-size:66px; }
  .logo-cell { min-height:96px; }
  .photo-card { min-height:390px; }
  .footer-top { grid-template-columns:1fr; }
  .footer-brand { grid-column:auto; }
}
