/* ============================================================
   OLIVER & GINGER — shared design system
   Serif display (Cormorant) · system sans body · ink on warm paper · orange accent
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600;1,700&display=swap');
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/cormorant-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/cormorant-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/cormorant-600-italic.woff2') format('woff2');font-weight:600;font-style:italic;font-display:swap;}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;}

:root{
  --paper:#FFFFFF;
  --ink:#16130F;
  --muted:#1F1A14;
  --faint:#8A8276;
  --line:#EAE9E5;
  --line-strong:#15120E;
  --orange:#E85D04;
  --orange-deep:#C44D03;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;
  --col:680px;
  --wide:1080px;
}

body{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.6;
}

.wrap{max-width:var(--wide);margin:0 auto;padding:0 clamp(24px,5vw,64px);}
.narrow{max-width:760px;}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--ink);letter-spacing:-0.015em;}
h1{font-size:clamp(38px,5.6vw,74px);line-height:1.02;font-weight:700;letter-spacing:-0.024em;}
h2{font-size:clamp(30px,4vw,52px);line-height:1.08;}
h3{font-size:clamp(22px,2.4vw,30px);line-height:1.15;}
em{font-style:italic;}
.o{color:var(--orange);}
h1 em,h2 em{font-style:italic;}

.kicker{
  font-family:var(--sans);
  font-size:12px;font-weight:600;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--orange);
  display:inline-flex;align-items:center;gap:12px;
}
.kicker::before{content:"";width:26px;height:1.5px;background:var(--orange);display:inline-block;}

.label{
  font-family:var(--sans);
  font-size:12px;font-weight:600;
  letter-spacing:0.11em;text-transform:uppercase;
  color:var(--faint);
}
.label .num{color:var(--orange);}

.lede{font-size:clamp(18px,1.5vw,21px);line-height:1.5;color:var(--muted);max-width:var(--col);}
.lede strong{color:var(--ink);font-weight:600;}
p.body{font-size:18px;line-height:1.62;color:var(--muted);max-width:var(--col);}
p.body + p.body{margin-top:1.1em;}
p.body strong{color:var(--ink);font-weight:600;}

/* ---------- nav ---------- */
nav{
  position:sticky;top:0;z-index:80;
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(12px) saturate(160%);
  -webkit-backdrop-filter:blur(12px) saturate(160%);
  border-bottom:1px solid var(--line);
}
.nav-inner{max-width:var(--wide);margin:0 auto;padding:0 clamp(24px,5vw,64px);height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.nav-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;}
.nav-logo img{height:22px;width:auto;display:block;}
.nav-word{font-family:var(--serif);font-weight:700;font-size:21px;line-height:1;color:var(--ink);letter-spacing:-0.012em;white-space:nowrap;}
.nav-word .o{color:var(--orange);}
.nav-amp{height:1.18em;width:auto;display:inline-block;vertical-align:-0.32em;margin:0 0.02em;}
.nav-word .amp,.foot-word .amp{font-style:italic;color:var(--orange);margin:0 0.05em;}
.nav-links{display:none;gap:28px;align-items:center;}
.nav-links a{font-size:14px;color:var(--muted);text-decoration:none;transition:color .15s;letter-spacing:-0.005em;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active{color:var(--ink);}
.nav-links a.active{font-weight:600;}
.nav-cta{
  font-size:13px;font-weight:600;letter-spacing:0.02em;
  color:#fff;background:var(--orange);
  text-decoration:none;padding:11px 18px;white-space:nowrap;
  border:1px solid var(--orange);cursor:pointer;
  transition:background .15s,border-color .15s;flex-shrink:0;
}
.nav-cta:hover{background:var(--orange-deep);border-color:var(--orange-deep);}
@media(min-width:1000px){.nav-links{display:flex;}}

/* ---------- section frame ---------- */
section{border-top:1px solid var(--line);}
.pad{padding:clamp(64px,8vw,108px) 0;}
.pad-sm{padding:clamp(44px,5vw,68px) 0;}
.sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:clamp(32px,4vw,52px);}
.sec-head .label{flex-shrink:0;}

/* ---------- hero (landing) ---------- */
.hero{padding:clamp(72px,10vw,128px) 0 clamp(60px,8vw,104px);position:relative;overflow:hidden;}
.amp-bg{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(46vw,560px);opacity:0.05;pointer-events:none;user-select:none;}
.hero-inner{position:relative;z-index:1;max-width:920px;}
.hero .kicker{margin-bottom:30px;}
.hero h1{margin-bottom:34px;max-width:16ch;}
.hero h1 .or{color:var(--orange);font-style:italic;}
.hero .lede{margin-bottom:40px;}

/* ---------- page-head (interior) ---------- */
.page-head{padding:clamp(96px,12vw,150px) 0 clamp(40px,5vw,64px);position:relative;overflow:hidden;}
.page-head .kicker{margin-bottom:26px;}
.page-head h1{max-width:18ch;}
.page-head .lede{margin-top:30px;}

/* ---------- CTAs ---------- */
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;}
.btn{
  font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:0.01em;
  text-decoration:none;border:1.5px solid var(--orange);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 26px;min-height:54px;transition:background .15s,color .15s,border-color .15s;
}
.btn-primary{background:var(--orange);color:#fff;}
.btn-primary:hover{background:var(--orange-deep);border-color:var(--orange-deep);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong);}
.btn-ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.btn .arr{transition:transform .2s;}
.btn-primary:hover .arr{transform:translateX(3px);}
.tel{font-size:15px;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
.tel strong{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;}
.tel:hover strong{color:var(--orange);}

/* on-dark CTA tweaks */
.on-dark .tel{color:rgba(255,255,255,0.7);}
.on-dark .tel strong{color:#fff;}
.on-dark .btn-ghost{color:#fff;border-color:rgba(255,255,255,0.35);}
.on-dark .btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff;}

/* ---------- pull quote / callout ---------- */
.pull{
  font-family:var(--serif);font-style:italic;font-weight:600;
  font-size:clamp(22px,2.6vw,30px);line-height:1.3;color:var(--ink);
  margin:40px 0;padding-left:24px;border-left:2px solid var(--orange);max-width:var(--col);
}
.callout{
  margin:44px 0;padding:30px clamp(24px,4vw,40px);
  background:var(--ink);color:#fff;max-width:760px;
  font-family:var(--serif);font-weight:600;font-size:clamp(22px,3vw,32px);line-height:1.22;
}
.callout .o{color:var(--orange);}

/* ---------- inline source link ---------- */
.srclink{color:var(--ink);border-bottom:1px solid var(--orange);text-decoration:none;font-size:15px;}
.srclink:hover{color:var(--orange);}

/* ---------- defense / who-the-other-side-hires row ---------- */
.defense-row{margin-top:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;}
.defense-row .label{display:block;margin-bottom:10px;color:var(--faint);}
.defense-names{font-size:14px;color:var(--ink);font-weight:500;line-height:1.9;letter-spacing:0.01em;}
.defense-names span{white-space:nowrap;}
.defense-names .dot{color:var(--orange);margin:0 4px;}

/* ---------- definition list rows (firms / who calls / moments) ---------- */
.rows{border-top:1px solid var(--line-strong);}
.row{
  display:grid;grid-template-columns:1fr;gap:6px 32px;
  padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline;
}
.row-name{font-family:var(--serif);font-weight:600;font-size:clamp(20px,2vw,26px);color:var(--ink);}
.row-desc{font-size:16px;line-height:1.55;color:var(--muted);}
.row-cap{font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--orange);}
@media(min-width:720px){.row{grid-template-columns:minmax(180px,300px) 1fr;gap:32px;}}

/* simple stacked list (who calls) */
.list-plain{border-top:1px solid var(--line);}
.list-plain li{list-style:none;padding:20px 0;border-bottom:1px solid var(--line);font-size:clamp(18px,2vw,22px);font-family:var(--serif);font-weight:600;color:var(--ink);line-height:1.3;display:flex;gap:18px;align-items:baseline;}
.list-plain li::before{content:attr(data-n);font-family:var(--sans);font-size:12px;font-weight:600;color:var(--orange);flex-shrink:0;letter-spacing:0.08em;padding-top:6px;}

/* ---------- cards grid ---------- */
.cards{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:8px;}
.card{background:var(--paper);padding:clamp(24px,3vw,32px);}
.card-cap{font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--orange);margin-bottom:12px;display:block;}
.card h3{font-size:clamp(20px,2.1vw,25px);margin-bottom:10px;}
.card-title{font-family:var(--serif);font-weight:600;font-size:clamp(19px,2vw,23px);color:var(--ink);margin-bottom:10px;}
.card p{font-size:15px;line-height:1.6;color:var(--muted);}
@media(min-width:680px){.cards.cols-2{grid-template-columns:1fr 1fr;}.cards.cols-3{grid-template-columns:1fr 1fr;}}
@media(min-width:920px){.cards.cols-3{grid-template-columns:repeat(3,1fr);}.cards.cols-4{grid-template-columns:repeat(4,1fr);}}

/* ---------- practice segments ---------- */
.seg-grid{border-top:1px solid var(--line);margin-top:8px;}
.seg{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,56px);padding:clamp(28px,3.5vw,40px) 0;border-bottom:1px solid var(--line);align-items:start;}
.seg-num{font-family:var(--serif);font-size:clamp(28px,3vw,40px);color:var(--orange);line-height:1;font-weight:600;font-variant-numeric:tabular-nums;}
.seg-body h3{margin-bottom:14px;}
.seg-body p{font-size:16px;line-height:1.65;color:var(--muted);max-width:60ch;}
.seg-beats{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px;}
.beat{font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line-strong);padding:5px 11px;}
@media(min-width:760px){.seg{grid-template-columns:64px 1fr;}}

/* ---------- split compare (ad vs news / intake vs us) ---------- */
.split{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);margin-top:8px;}
.split-cell{background:var(--paper);padding:clamp(26px,3.5vw,40px);}
.split-cell.dark{background:var(--ink);color:#fff;}
.split-cap{font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--faint);margin-bottom:14px;display:block;}
.split-cell.dark .split-cap{color:var(--orange);}
.split-text{font-size:clamp(17px,1.8vw,19px);line-height:1.5;color:var(--muted);}
.split-cell.dark .split-text{color:rgba(255,255,255,0.85);}
@media(min-width:720px){.split.cols-2{grid-template-columns:1fr 1fr;}}

/* ---------- steps / timeline ---------- */
.steps{border-top:1px solid var(--line);margin-top:8px;}
.step{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,48px);padding:clamp(26px,3vw,38px) 0;border-bottom:1px solid var(--line);align-items:start;}
.step-num{font-family:var(--serif);font-weight:600;font-size:clamp(30px,3.5vw,46px);line-height:1;color:var(--orange);font-variant-numeric:tabular-nums;}
.step-title{font-family:var(--serif);font-weight:600;font-size:clamp(21px,2.2vw,28px);color:var(--ink);margin-bottom:8px;line-height:1.15;}
.step-body{font-size:16px;line-height:1.6;color:var(--muted);max-width:60ch;}
@media(min-width:760px){.step{grid-template-columns:72px 1fr;}}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:36px 28px;}
.stat-n{font-family:var(--serif);font-weight:600;font-size:clamp(38px,5vw,60px);line-height:1;color:var(--ink);margin-bottom:8px;}
.stat-l{font-size:12px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--faint);line-height:1.5;}
@media(min-width:680px){.stats.cols-3{grid-template-columns:repeat(3,1fr);}.stats.cols-4{grid-template-columns:repeat(4,1fr);}}
@media(min-width:920px){.stats.cols-6{grid-template-columns:repeat(6,1fr);}}

/* ---------- dark "record" / feature section ---------- */
.dark-sec{background:var(--ink);color:#fff;border-top:1px solid var(--ink);}
.dark-sec .label{color:rgba(255,255,255,0.55);}
.dark-sec .label .num{color:var(--orange);}
.dark-sec p.body{color:rgba(255,255,255,0.78);}
.dark-sec p.body strong{color:#fff;}
.dark-sec .stat-n{color:#fff;}
.dark-sec .stat-l{color:rgba(255,255,255,0.55);}
.record-quote{font-family:var(--serif);font-weight:700;font-size:clamp(28px,4vw,52px);line-height:1.1;letter-spacing:-0.018em;color:#fff;max-width:18ch;margin-bottom:36px;}
.record-quote em{color:var(--orange);font-style:italic;}
.outlets{display:flex;flex-wrap:wrap;gap:14px 22px;margin:40px 0 56px;}
.outlet{font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:#fff;padding-bottom:4px;border-bottom:1px solid var(--orange);}

/* ---------- pill row (outlets/producers, light) ---------- */
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.pill{font-size:13px;font-weight:600;letter-spacing:0.02em;color:var(--ink);border:1px solid var(--line-strong);padding:9px 16px;}

/* ---------- testimonial ---------- */
.testimonial blockquote{font-family:var(--serif);font-weight:600;font-size:clamp(28px,4.4vw,46px);line-height:1.18;color:var(--ink);max-width:18ch;}
.quote-mark{color:var(--orange);}
.cite{margin-top:28px;}
.cite .who{font-size:16px;font-weight:600;color:var(--ink);}
.cite .role{font-size:15px;color:var(--muted);margin-top:3px;max-width:54ch;}
.cite .watch{display:inline-block;margin-top:16px;}

/* ---------- result blocks (results page) ---------- */
.result{padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--line);max-width:760px;}
.result-type{font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--orange);display:block;margin-bottom:16px;}
.result-headline{font-family:var(--serif);font-weight:600;font-size:clamp(24px,3vw,38px);line-height:1.12;color:var(--ink);margin-bottom:24px;}
.result p.body{font-size:17px;}
.result-outcome{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:14px;font-weight:600;letter-spacing:0.02em;color:var(--ink);line-height:1.6;display:flex;gap:12px;}
.result-outcome .arr{color:var(--orange);flex-shrink:0;}

/* ---------- compare not/this (story page) ---------- */
.q-block{padding:clamp(36px,4.5vw,56px) 0;border-top:1px solid var(--line);}
.q-num{font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;}
.q-title{font-family:var(--serif);font-weight:600;font-size:clamp(28px,4vw,44px);color:var(--ink);margin-bottom:16px;}
.q-outcome{font-size:17px;line-height:1.6;color:var(--muted);max-width:60ch;margin-bottom:28px;}
.exline{max-width:620px;}
.ex-cap{font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:8px;display:block;}
.ex-not .ex-cap{color:var(--faint);}
.ex-yes .ex-cap{color:var(--orange);}
.ex-not p{font-size:16px;line-height:1.55;color:var(--faint);padding-left:16px;border-left:2px solid var(--line);}
.ex-yes p{font-size:clamp(17px,1.9vw,20px);line-height:1.5;color:var(--ink);font-weight:500;padding-left:16px;border-left:2px solid var(--orange);}
.ex-yes{margin-top:22px;}

/* ---------- close ---------- */
.close{position:relative;overflow:hidden;}
.close .amp-bg{left:50%;right:auto;transform:translate(-50%,-50%);width:min(60vw,520px);}
.close-inner{position:relative;z-index:1;text-align:center;max-width:720px;margin:0 auto;}
.close .kicker{justify-content:center;margin-bottom:24px;}
.close h2{margin:0 auto 24px;max-width:20ch;}
.close .lede{margin:0 auto 14px;color:var(--muted);}
.close .urgency{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:40px;}
.close .cta-row{justify-content:center;}
.close-fine{margin-top:32px;font-size:13px;color:var(--faint);line-height:1.8;letter-spacing:0.01em;}
.close-fine a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);}
.close-fine a:hover{color:var(--ink);}
.close.dark-sec h2,.close.dark-sec .urgency{color:#fff;}
.close.dark-sec .lede{color:rgba(255,255,255,0.78);}
.close.dark-sec .close-fine{color:rgba(255,255,255,0.5);}
.close.dark-sec .close-fine a{color:rgba(255,255,255,0.7);border-color:rgba(255,255,255,0.25);}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line-strong);padding:clamp(56px,7vw,88px) 0 34px;background:var(--paper);}
footer .wrap{max-width:var(--wide);}
.foot-cta{padding-bottom:clamp(40px,5vw,60px);margin-bottom:clamp(40px,5vw,60px);border-bottom:1px solid var(--line);}
.foot-cta-line{font-family:var(--serif);font-weight:600;font-size:clamp(24px,3.4vw,40px);line-height:1.14;color:var(--ink);max-width:24ch;margin-bottom:30px;}
.foot-cta-line .o{color:var(--orange);}
.foot-cta-act{display:flex;flex-wrap:wrap;gap:14px;}
.foot-cta-note{margin-top:20px;font-size:14px;color:var(--ink);font-weight:500;line-height:1.55;}
.foot-cta-note .o{color:var(--orange);}
.foot-id{margin-bottom:30px;}
.foot-word{font-family:var(--serif);font-weight:700;font-size:28px;color:var(--ink);text-decoration:none;letter-spacing:-0.012em;white-space:nowrap;}
.foot-word .o{color:var(--orange);}
.foot-amp{height:0.92em;width:auto;display:inline-block;vertical-align:-0.16em;margin:0 0.05em;}
.foot-meta{font-size:14px;color:var(--ink);margin-top:14px;line-height:1.6;letter-spacing:0.01em;max-width:64ch;}
.foot-row{display:flex;flex-wrap:wrap;gap:16px 30px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.foot-row a{font-size:15px;color:var(--ink);text-decoration:none;font-weight:500;transition:color .15s;}
.foot-row a:hover{color:var(--orange);}
.foot-direct{display:flex;flex-wrap:wrap;gap:10px 28px;margin:26px 0 42px;}
.foot-direct a{font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;transition:color .15s;}
.foot-direct a:hover{color:var(--orange);}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--faint);letter-spacing:0.01em;}

/* ---------- contact page ---------- */
.contact-rows{margin:44px 0;border-top:1px solid var(--line-strong);max-width:560px;}
.contact-row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);}
.contact-label{font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--faint);}
.contact-value{font-family:var(--serif);font-weight:600;font-size:clamp(22px,2.6vw,30px);color:var(--ink);text-decoration:none;}
.contact-value:hover{color:var(--orange);}
.contact-value.o{color:var(--orange);}

/* ---------- portrait ---------- */
.portrait{margin:44px 0 0;}
.portrait img{display:block;width:100%;max-width:420px;height:auto;border:1px solid var(--line);}

/* ---------- request panel (injected) ---------- */
.overlay{position:fixed;inset:0;z-index:200;background:rgba(20,17,12,0.45);backdrop-filter:blur(3px);display:none;align-items:flex-start;justify-content:center;padding:max(24px,5vh) 20px 40px;overflow-y:auto;}
.overlay.open{display:flex;}
.panel{background:var(--paper);max-width:520px;width:100%;border:1px solid var(--line-strong);box-shadow:0 30px 80px rgba(0,0,0,0.25);animation:rise .25s ease;}
@keyframes rise{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.panel-head{padding:28px 30px 22px;border-bottom:1px solid var(--line);position:relative;}
.panel-head .kicker{margin-bottom:14px;}
.panel-head h3{font-size:26px;line-height:1.1;}
.panel-head p{font-size:14px;color:var(--muted);margin-top:8px;line-height:1.5;}
.panel-close{position:absolute;top:22px;right:24px;width:32px;height:32px;border:1px solid var(--line);background:transparent;font-size:18px;line-height:1;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.panel-close:hover{color:var(--ink);border-color:var(--ink);}
.panel-body{padding:24px 30px 30px;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--faint);margin-bottom:7px;}
.field input,.field select,.field textarea{width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);background:transparent;border:0;border-bottom:1.5px solid var(--line-strong);padding:10px 0;outline:none;transition:border-color .15s;}
.field textarea{resize:vertical;min-height:64px;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--orange);}
.field input.err,.field select.err{border-color:#C0392B;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.panel .btn-primary{width:100%;margin-top:6px;}
.panel-fine{font-size:12px;color:var(--faint);margin-top:16px;line-height:1.6;text-align:center;}
.panel-success{padding:48px 36px;text-align:center;}
.panel-success .amp{width:54px;margin:0 auto 22px;display:block;}
.panel-success h3{font-size:28px;margin-bottom:14px;}
.panel-success p{font-size:15px;color:var(--muted);line-height:1.6;max-width:38ch;margin:0 auto;}
.panel-success .tel{margin-top:24px;justify-content:center;}

/* ---------- reveal (animation gated behind JS; content visible by default) ---------- */
.reveal{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease;}
.js-anim .reveal{opacity:0;transform:translateY(18px);}
.js-anim .reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.js-anim .reveal{opacity:1;transform:none;transition:none;}}

/* ---------- print ---------- */
@media print{
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  html{font-size:14px;}
  body{background:#fff;}
  nav{position:static;border-bottom:1px solid var(--line);}
  .nav-cta{display:none;}
  .reveal{opacity:1 !important;transform:none !important;}
  .amp-bg{opacity:0.06 !important;}
  .overlay{display:none !important;}
  .btn,.cta-row .tel{border:1px solid var(--line-strong);}
  .pad{padding:40px 0;}
  .page-head{padding:48px 0 28px;}
  section,.result,.q-block{break-inside:avoid;}
  .dark-sec{background:var(--ink) !important;color:#fff !important;}
  .cards,.split,.seg,.step,.row{break-inside:avoid;}
  a[href^="http"]::after,a[href^="tel"]::after,a[href^="mailto"]::after{content:"";}
  footer{break-before:auto;}
}

/* ============================================================
   HOME — authority components (statement · ledger · proof delta)
   ============================================================ */

/* big centered/left thesis band */
.statement{padding:clamp(60px,9vw,120px) 0;border-top:1px solid var(--line);}
.statement p{font-family:var(--serif);font-weight:700;font-size:clamp(32px,5.6vw,68px);line-height:1.04;letter-spacing:-0.026em;color:var(--ink);max-width:17ch;}
.statement .o{color:var(--orange);font-style:italic;}
.statement small{display:block;margin-top:26px;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--faint);}

/* defense "ledger" — who the other side hires */
.ledger-cap{font-size:12px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--faint);margin:8px 0 4px;display:block;}
.ledger{border-top:1px solid var(--line-strong);margin-top:14px;}
.ledger-row{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;padding:24px 0;border-bottom:1px solid var(--line);align-items:baseline;}
.ledger-n{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:0.1em;color:var(--orange);padding-top:7px;}
.ledger-name{font-family:var(--serif);font-weight:600;font-size:clamp(21px,2.3vw,29px);color:var(--ink);line-height:1.1;}
.ledger-desc{font-size:15px;line-height:1.55;color:var(--muted);}
@media(min-width:760px){.ledger-row{grid-template-columns:46px minmax(210px,290px) 1fr;}}

/* proof delta $50M -> $190M */
.delta{display:flex;align-items:baseline;gap:clamp(14px,3vw,34px);flex-wrap:wrap;font-family:var(--serif);font-weight:700;line-height:0.86;margin-bottom:24px;}
.delta-from{font-size:clamp(34px,6vw,72px);color:var(--faint);}
.delta-arrow{font-size:clamp(24px,3.5vw,44px);color:var(--orange);}
.delta-to{font-size:clamp(54px,11vw,140px);color:var(--ink);}
.delta-note{font-size:17px;line-height:1.6;color:var(--muted);max-width:60ch;}
.delta-note strong{color:var(--ink);font-weight:600;}
.outlets-light{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px 22px;margin:30px 0 12px;}
.outlet-l{font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);padding-bottom:4px;border-bottom:1px solid var(--orange);}
.outlets-day{font-size:13px;color:var(--faint);letter-spacing:0.04em;margin-bottom:48px;}

/* dark cards helper (VIS counter on home) */
.cards.on-ink{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.12);}
.cards.on-ink .card{background:var(--ink);}
.cards.on-ink .card p{color:rgba(255,255,255,0.82);}

/* inline "next" link */
.nextlink{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--orange);padding-bottom:3px;}
.nextlink .arr{color:var(--orange);transition:transform .2s;}
.nextlink:hover .arr{transform:translateX(4px);}
.dark-sec .nextlink{color:#fff;}

/* ---------- home: OUTGUNNED book feature ---------- */
.book{display:grid;grid-template-columns:1fr;gap:clamp(36px,5vw,72px);align-items:center;margin-top:18px;}
@media(min-width:820px){.book{grid-template-columns:312px 1fr;}}
.book-cover{background:var(--ink);color:#fff;aspect-ratio:3/4.25;padding:clamp(26px,3vw,36px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;box-shadow:0 34px 70px rgba(20,17,12,0.22);}
.bc-top{position:relative;z-index:1;}
.bc-author{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.62);}
.bc-title{font-family:var(--serif);font-weight:700;font-size:clamp(42px,5.4vw,58px);line-height:0.9;letter-spacing:0;color:#fff;position:relative;z-index:1;margin:auto 0;}
.bc-rule{width:42px;height:2px;background:var(--orange);margin:16px 0;position:relative;z-index:1;}
.bc-sub{font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.32;color:rgba(255,255,255,0.84);position:relative;z-index:1;}
.bc-amp{position:absolute;right:-26px;bottom:-58px;font-family:var(--serif);font-size:230px;line-height:1;color:var(--orange);opacity:0.15;z-index:0;}
.book-parts{list-style:none;margin:24px 0 0;border-top:1px solid var(--line);}
.book-parts li{padding:15px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline;}
.book-parts .bp-n{font-size:12px;font-weight:600;letter-spacing:0.1em;color:var(--orange);}
.book-parts .bp-t{font-size:15px;color:var(--muted);line-height:1.5;}
.book-parts .bp-t strong{font-family:var(--serif);font-weight:600;font-size:18px;color:var(--ink);}

/* ---------- hero promise + counter triad + deliverables ---------- */
.hero-promise{font-family:var(--serif);font-style:italic;font-size:clamp(17px,1.8vw,21px);line-height:1.4;color:var(--ink);margin-top:24px;max-width:44ch;}
.hero-promise .o{color:var(--orange);font-style:italic;}
.triad{font-family:var(--serif);font-weight:600;font-style:italic;font-size:clamp(21px,2.7vw,32px);line-height:1.28;color:#fff;max-width:22ch;margin-top:18px;}
.triad .o{color:var(--orange);}
.deliver{margin-top:44px;border-top:1px solid rgba(255,255,255,0.2);}
.deliver-row{display:grid;grid-template-columns:1fr;gap:6px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,0.14);align-items:baseline;}
@media(min-width:760px){.deliver-row{grid-template-columns:minmax(220px,300px) 1fr;gap:36px;}}
.deliver-name{font-family:var(--serif);font-weight:600;font-size:clamp(20px,2.1vw,26px);color:#fff;line-height:1.14;}
.deliver-desc{font-size:15px;line-height:1.58;color:rgba(255,255,255,0.8);}
.price-line{margin-top:34px;font-family:var(--serif);font-weight:600;font-size:clamp(23px,3vw,34px);line-height:1.2;color:#fff;}
.price-line strong{color:var(--orange);font-weight:600;}
.price-line span{display:block;font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:0.01em;line-height:1.5;color:rgba(255,255,255,0.72);margin-top:10px;}

/* ---------- nav two-button (Call / Text Karen) ---------- */
.nav-ctas{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.nav-call{font-size:13px;font-weight:600;letter-spacing:0.01em;color:var(--ink);border:1.5px solid var(--line-strong);background:transparent;text-decoration:none;padding:9px 15px;white-space:nowrap;display:none;align-items:center;transition:background .15s,color .15s;}
.nav-call:hover{background:var(--ink);color:var(--paper);}
.nav-text{font-size:13px;font-weight:600;letter-spacing:0.01em;color:#fff;background:var(--orange);border:1.5px solid var(--orange);text-decoration:none;padding:9px 15px;white-space:nowrap;display:inline-flex;align-items:center;transition:background .15s,border-color .15s;}
.nav-text:hover{background:var(--orange-deep);border-color:var(--orange-deep);}
@media(min-width:560px){.nav-call{display:inline-flex;}}

/* ---------- deliverables page ---------- */
.deliv-group{padding-top:clamp(40px,5vw,64px);}
.deliv-group:first-of-type{padding-top:8px;}
.deliv-phase{font-family:var(--serif);font-weight:700;font-size:clamp(26px,3.4vw,42px);color:var(--ink);margin-bottom:6px;line-height:1.06;letter-spacing:-0.018em;}
.deliv-phase .o{color:var(--orange);}
.deliv-when{font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--faint);margin-bottom:24px;display:block;}

/* ---------- results page: featured cases + mini stat ---------- */
.feat{display:grid;grid-template-columns:1fr;gap:16px 44px;padding:clamp(34px,4.5vw,56px) 0;border-top:1px solid var(--line);align-items:start;}
.feat:first-of-type{border-top:1px solid var(--line-strong);}
@media(min-width:680px){.feat{grid-template-columns:minmax(150px,210px) 1fr;}}
.feat-n{font-family:var(--serif);font-weight:700;font-size:clamp(46px,7vw,84px);line-height:0.86;color:var(--ink);letter-spacing:-0.02em;}
.feat-n .o{color:var(--orange);}
.feat h3{font-family:var(--serif);font-weight:600;font-size:clamp(22px,2.4vw,30px);color:var(--ink);margin-bottom:14px;line-height:1.12;}
.feat p{font-size:16px;line-height:1.66;color:var(--muted);max-width:60ch;margin-bottom:18px;}
.feat-tag{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink);align-items:center;}
.feat-tag .o{color:var(--orange);}
.mini-n{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.2vw,38px);color:var(--orange);line-height:1;margin-bottom:12px;}
