/* Reel Good Social. Layout: alternating full-bleed bands (forest / paper), content in a 1180px column; one bold moment per page = the hero headline with gold italic. */
:root{
  --forest:#22302B; --forest-2:#1B2723; --moss:#045C44; --gold:#F2C62F;
  --paper:#F5F4EF; --ink:#1D2924; --mist:#C5C5C5; --white:#FFFFFF;
  --line-dark:rgba(255,255,255,.14); --line-light:rgba(29,41,36,.14);
  --muted-ink:#4A5751;
  --display:"Fraunces", Georgia, "Times New Roman", serif;
  --body:"Montserrat", "Helvetica Neue", Arial, sans-serif;
  --step--1:.85rem; --step-0:1rem; --step-1:1.2rem; --step-2:1.6rem; --step-3:2.2rem; --step-4:clamp(2.4rem,5vw,3.6rem);
  --radius:10px;
  color-scheme: dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--forest);color:var(--white);font-family:var(--body);font-size:var(--step-0);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1 em,h2 em{font-style:italic;font-weight:500;color:var(--gold)}
.on-paper h2 em{color:var(--moss)}
p{margin:0}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.band{padding-block:clamp(56px,9vw,104px)}
.on-paper{background:var(--paper);color:var(--ink)}
.on-deep{background:var(--forest-2)}
.eyebrow{font-size:var(--step--1);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.on-paper .eyebrow{color:var(--moss)}
.lede{font-size:var(--step-1);max-width:58ch;color:var(--mist)}
.on-paper .lede{color:var(--muted-ink)}
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--body);font-weight:700;font-size:.95rem;text-decoration:none;padding:.85em 1.4em;border-radius:6px;border:2px solid var(--gold);cursor:pointer;transition:transform .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.btn-solid{background:var(--gold);color:var(--forest)}
.btn-ghost{background:transparent;color:var(--gold)}
.on-paper .btn-solid{background:var(--moss);border-color:var(--moss);color:var(--white)}
.on-paper .btn-ghost{color:var(--moss);border-color:var(--moss)}
.draft{display:inline-block;font-family:var(--body);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px dashed currentColor;border-radius:4px;padding:.1em .5em;opacity:.75;vertical-align:middle;font-style:normal}

/* Header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--forest)}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:rgba(34,48,43,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-dark)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;position:relative}
.logo{display:inline-flex;flex-shrink:0;line-height:0}
.logo img{display:block;height:46px;width:auto}
.foot .logo img{height:72px}
.links{display:flex;align-items:center;gap:28px;font-weight:600;font-size:.92rem}
.links a{text-decoration:none}
.links a:hover{color:var(--gold)}
.drop{position:relative}
.drop summary{list-style:none;cursor:pointer}
.drop summary::-webkit-details-marker{display:none}
.drop summary::after{content:" ▾";font-size:.75em;color:var(--gold)}
.drop-menu{position:absolute;top:calc(100% + 14px);left:-16px;min-width:270px;background:var(--forest-2);border:1px solid var(--line-dark);border-radius:var(--radius);padding:10px;display:grid;gap:2px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.drop-menu a{padding:10px 12px;border-radius:6px;display:grid;gap:2px}
.drop-menu a:hover{background:rgba(255,255,255,.06);color:var(--white)}
.drop-menu span{font-weight:400;font-size:.8rem;color:var(--mist)}
.drop-menu hr{border:0;border-top:1px solid var(--line-dark);margin:6px 4px}
.nav .btn{padding:.6em 1.1em;font-size:.88rem}
.menu-mobile{display:none}
@media (max-width:820px){
  .links{display:none}
  .menu-mobile{display:block}
  .menu-mobile summary{list-style:none;cursor:pointer;font-weight:700;border:2px solid var(--gold);color:var(--gold);border-radius:6px;padding:.45em .9em;font-size:.88rem}
  .menu-mobile summary::-webkit-details-marker{display:none}
  .menu-mobile .panel{position:absolute;left:0;right:0;top:100%;background:var(--forest-2);border-bottom:1px solid var(--line-dark);padding:12px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px));display:grid;gap:4px}
  .menu-mobile .panel a{text-decoration:none;font-weight:600;padding:10px 0;border-bottom:1px solid var(--line-dark)}
  .menu-mobile .panel .sub{padding-left:14px;font-weight:500;color:var(--mist)}
}

/* Hero */
.hero{padding-block:clamp(48px,8vw,96px) clamp(56px,8vw,88px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero-copy{display:grid;gap:22px;min-width:0}
h1.eyebrow{font-family:var(--body);font-weight:600;line-height:1.65;text-wrap:wrap}
.hero .headline{font-family:var(--display);font-weight:700;line-height:1.12;font-size:var(--step-4);text-wrap:balance;letter-spacing:-.01em}
.hero .headline em{font-style:italic;font-weight:500;color:var(--gold)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.hero .fine{font-size:.85rem;color:var(--mist)}
.phone-stage{position:relative;display:flex;justify-content:center;min-width:0}
.phone-stage::before{content:"";position:absolute;inset:8% -20% 8% 18%;background:var(--paper);border-radius:22px 0 0 22px;opacity:.96}
.phone{position:relative;width:min(270px,70vw);aspect-ratio:9/19;max-width:100%;background:#111;border-radius:36px;padding:10px;box-shadow:0 30px 60px rgba(0,0,0,.45);transform:rotate(-3deg)}
.phone .screen{position:relative;height:100%;border-radius:28px;overflow:hidden;background:linear-gradient(160deg,var(--moss),#0E3A2D 55%,#22302B);display:flex;flex-direction:column;justify-content:space-between;padding:22px 16px}
.phone .notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:34%;height:20px;background:#111;border-radius:0 0 14px 14px}
.screen .hook{margin-top:40px;font-family:var(--display);font-size:1.2rem;line-height:1.2;font-weight:700;background:var(--white);color:var(--ink);padding:8px 10px;border-radius:6px;align-self:flex-start;max-width:92%}
.screen .meta{display:grid;gap:6px;font-size:.72rem;color:rgba(255,255,255,.85)}
.screen .meta b{font-size:.8rem}
.screen .play{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;align-self:center}
.screen .play::after{content:"";border-left:16px solid var(--white);border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.screen .draft{color:var(--gold);align-self:center}
@media (max-width:820px){.hero-grid{grid-template-columns:1fr}.phone{width:min(230px,62vw)}}

/* Logos */
.logos{border-block:1px solid var(--line-dark);padding-block:26px}
.logos-label{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);font-weight:600;margin-bottom:20px}
/* Continuous logo slider. Logos are single-color #CED1D0 PNGs; heights balance wide and tall marks. */
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee ul{display:flex;align-items:center;gap:64px;list-style:none;margin:0;padding:0 64px 0 0}
.marquee img{display:block;height:44px;width:auto}
.marquee img.wide{height:34px}
.marquee img.tall{height:54px}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (max-width:640px){.marquee ul{gap:44px;padding-right:44px}.marquee img{height:34px}.marquee img.wide{height:27px}.marquee img.tall{height:42px}.marquee-track{animation-duration:30s}}
@media (prefers-reduced-motion:reduce){
  .marquee{-webkit-mask-image:none;mask-image:none}
  .marquee-track{width:auto;justify-content:center;padding-inline:16px}
  .marquee ul{flex-wrap:wrap;justify-content:center;gap:24px 44px;padding:0}
  .marquee ul[aria-hidden]{display:none}
}

/* Story */
.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.story-head{display:grid;gap:18px;min-width:0}
.story-head h2{font-size:var(--step-3)}
.selfie{width:100%;max-width:340px;aspect-ratio:4/5;border-radius:var(--radius);background:linear-gradient(170deg,#DCE0D9,#BAC4BD);display:grid;place-items:center;color:var(--muted-ink);margin-top:8px;transform:rotate(-2deg);box-shadow:0 14px 30px rgba(29,41,36,.15)}
@media (max-width:820px){.selfie{max-width:280px}}
.story-body{display:grid;gap:18px;min-width:0;font-size:1.05rem;color:var(--muted-ink)}
.story-body strong{color:var(--ink)}
.duel{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.duel article{background:var(--white);border:1px solid var(--line-light);border-radius:var(--radius);padding:18px;display:grid;gap:10px;align-content:start}
.duel .win{border-color:var(--moss);box-shadow:0 0 0 1px var(--moss)}
.duel .when{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#7A847F}
.duel .win .when{color:var(--moss)}
.duel .what{font-size:.88rem;color:var(--muted-ink);line-height:1.4}
.duel b{font-family:var(--display);font-size:2rem;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.duel .win b{color:var(--moss)}
.duel .meter{height:10px;border-radius:5px;background:#E6E9E4;overflow:hidden}
.duel .meter i{display:block;height:100%;background:#9AA39F;border-radius:5px}
.duel .win .meter i{background:var(--moss)}
.duel small{font-size:.78rem;color:var(--muted-ink)}
@media (max-width:420px){.duel{grid-template-columns:1fr}}
@media (max-width:820px){.story{grid-template-columns:1fr}}

/* Data */
.data{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.data-copy{display:grid;gap:18px;min-width:0}
.data-copy h2{font-size:var(--step-3)}
.data-copy p{color:var(--mist);max-width:58ch}
.chart{display:grid;gap:22px;border:1px solid var(--line-dark);border-radius:var(--radius);padding:clamp(20px,3vw,32px);min-width:0}
.chart h3{font-family:var(--body);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);font-weight:600}
.bar-row{display:grid;gap:8px}
.bar-label{display:flex;justify-content:space-between;gap:12px;font-size:.95rem;font-weight:600}
.bar-label span{font-variant-numeric:tabular-nums;color:var(--gold);font-family:var(--display);font-size:1.4rem;line-height:1}
.bar{height:14px;border-radius:7px;background:rgba(255,255,255,.08);overflow:hidden}
.bar i{display:block;height:100%;border-radius:7px;background:var(--mist)}
.bar.win i{background:var(--gold)}
.chart small{font-size:.8rem;color:var(--mist)}
@media (max-width:820px){.data{grid-template-columns:1fr}}

/* Truths */
.section-head{display:grid;gap:14px;max-width:760px;margin-bottom:44px}
.section-head h2{font-size:var(--step-3)}
.truths{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.truth{background:var(--white);border:1px solid var(--line-light);border-radius:var(--radius);padding:26px;display:grid;gap:12px;align-content:start}
.truth h3{font-size:1.3rem}
.truth p{color:var(--muted-ink);font-size:.97rem}
.truth .ex{border-top:1px solid var(--line-light);padding-top:12px;font-size:.9rem}
.truth .ex b{color:var(--moss)}
@media (max-width:900px){.truths{grid-template-columns:1fr}}

/* Two ways */
.ways{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.way{border:1px solid var(--line-dark);border-radius:var(--radius);padding:clamp(24px,3.5vw,40px);display:grid;gap:18px;align-content:start;background:rgba(255,255,255,.02)}
.way.primary{background:var(--moss);border-color:var(--moss)}
.way .tag{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.way h3{font-size:var(--step-2)}
.way p{color:rgba(255,255,255,.86)}
.price{font-family:var(--display);font-size:1.6rem;font-weight:700}
.price small{font-family:var(--body);font-size:.85rem;font-weight:500;color:rgba(255,255,255,.75)}
.way .btn{justify-self:start;margin-top:4px}
.bullets{margin:0;padding-left:1.1em;display:grid;gap:6px;color:rgba(255,255,255,.86)}
@media (max-width:820px){.ways{grid-template-columns:1fr}}

/* Fit */
.fit{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.fit-col{display:grid;gap:14px;align-content:start;min-width:0}
.fit-col h3{font-size:1.35rem}
.checks{list-style:none;margin:0;padding:0;display:grid}
.checks li{display:grid;grid-template-columns:26px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line-light)}
.checks li:first-child{border-top:1px solid var(--line-light)}
.checks li::before{content:"";width:18px;height:18px;margin-top:5px;border:2px solid var(--moss);border-radius:4px;background:linear-gradient(var(--moss),var(--moss)) center/8px 8px no-repeat}
.checks.no li::before{border-color:#9AA39F;background:linear-gradient(45deg,transparent 45%,#9AA39F 45%,#9AA39F 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,#9AA39F 45%,#9AA39F 55%,transparent 55%)}
.checks.no li{color:var(--muted-ink)}
@media (max-width:820px){.fit{grid-template-columns:1fr}}

/* Shoot day + process */
.shoot{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,80px);align-items:start}
.shoot-copy{display:grid;gap:16px;min-width:0}
.shoot-copy h2{font-size:var(--step-3)}
.shoot-copy p{color:var(--mist);max-width:56ch}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:s;min-width:0}
.steps li{counter-increment:s;display:grid;grid-template-columns:72px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line-dark)}
.steps li:first-child{border-top:1px solid var(--line-dark)}
.steps li::before{content:"0" counter(s);font-family:var(--display);font-size:1.8rem;color:var(--gold);line-height:1}
.steps h3{font-size:1.2rem;margin-bottom:6px}
.steps p{font-size:.95rem;color:var(--mist)}
@media (max-width:820px){.shoot{grid-template-columns:1fr}}

/* Results */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.case{border-top:3px solid var(--gold);padding-top:22px;display:grid;gap:12px;align-content:start}
.case .num{font-family:var(--display);font-size:clamp(2.4rem,5vw,3.2rem);font-weight:700;line-height:1;color:var(--gold);font-variant-numeric:tabular-nums}
.case h3{font-size:1.2rem}
.case p{color:var(--mist);font-size:.95rem}
.case .who{font-size:.85rem;font-weight:600;color:var(--white)}
.results-cta{margin-top:40px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.results-cta p{color:var(--mist);font-size:.95rem}
@media (max-width:900px){.cases{grid-template-columns:1fr}}

/* Testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.quotes figure{margin:0;display:grid;gap:16px;align-content:start}
.quotes blockquote{margin:0;font-family:var(--display);font-size:1.1rem;line-height:1.5;font-weight:500;color:var(--ink)}
.quotes blockquote::before{content:"\201C";display:block;font-size:3rem;line-height:.6;color:var(--moss);margin-bottom:8px}
.quotes figcaption{font-size:.9rem;color:var(--muted-ink)}
.quotes figcaption b{display:block;color:var(--ink);font-weight:700}
@media (max-width:900px){.quotes{grid-template-columns:1fr}}

/* About */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,80px);align-items:center}
.portrait{aspect-ratio:4/5;max-width:100%;border-radius:200px 200px var(--radius) var(--radius);background:linear-gradient(170deg,#3A4A44,#2A3833);display:grid;place-items:center;color:var(--mist)}
.about-copy{display:grid;gap:18px;min-width:0}
.about-copy h2{font-size:var(--step-3)}
.about-copy p{color:var(--mist);max-width:62ch}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:10px;border-top:1px solid var(--line-dark);padding-top:22px}
.stats div{display:grid;gap:2px}
.stats b{font-family:var(--display);font-size:1.8rem;color:var(--gold);font-variant-numeric:tabular-nums}
.stats span{font-size:.8rem;color:var(--mist);line-height:1.35}
@media (max-width:820px){.about{grid-template-columns:1fr}.portrait{max-width:340px}.stats{grid-template-columns:1fr 1fr}}

/* Briefing */
.brief{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center;border:1px solid var(--line-dark);border-radius:var(--radius);padding:clamp(24px,4vw,48px);background:rgba(255,255,255,.03)}
.brief h2{font-size:var(--step-2)}
.brief .copy{display:grid;gap:12px;min-width:0}
.brief .copy p{color:var(--mist)}
.brief form{display:grid;gap:10px;min-width:0}
.brief label{font-size:.82rem;font-weight:600}
.brief .field{display:grid;gap:6px;min-width:0}
.brief form .btn{justify-self:start;margin-top:4px}
.brief input{width:100%;min-width:0;font:inherit;padding:.8em 1em;border-radius:6px;border:1px solid var(--line-dark);background:var(--forest);color:var(--white)}
.brief input::placeholder{color:rgba(255,255,255,.5)}
.brief .note{font-size:.8rem;color:var(--mist)}
.brief .ok{color:var(--gold);font-weight:600}
@media (max-width:820px){.brief{grid-template-columns:1fr}}

/* FAQ */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:32px 56px}
.faq article{display:grid;gap:10px;align-content:start;border-top:1px solid var(--line-light);padding-top:20px;min-width:0}
.faq h3{font-size:1.25rem}
.faq p{color:var(--muted-ink)}
@media (max-width:820px){.faq{grid-template-columns:1fr}}

/* Final */
.final{text-align:center;display:grid;gap:20px;justify-items:center}
.final h2{font-size:var(--step-4)}
.final p{max-width:56ch;color:var(--mist)}

/* Footer */
footer.site{background:var(--forest-2);border-top:1px solid var(--line-dark);padding-block:56px 32px;font-size:.9rem}
.foot{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:32px}
.foot .foot-title{margin:0 0 12px;font-family:var(--body);font-weight:700;line-height:1.4;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{text-decoration:none;color:var(--mist)}
.foot a:hover{color:var(--white)}
.foot address{font-style:normal;color:var(--mist);display:grid;gap:4px;margin-top:16px}
.legal{margin-top:40px;padding-top:20px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;color:var(--mist);font-size:.8rem}
@media (max-width:820px){.foot{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot{grid-template-columns:1fr}}

/* Shared chrome */
.skip{position:absolute;left:-9999px;top:8px;z-index:20;background:var(--gold);color:var(--forest);font-weight:700;padding:.6em 1em;border-radius:6px}
.skip:focus{left:16px}
.links a[aria-current="page"]:not(.btn),.drop-menu a[aria-current="page"]{color:var(--gold)}
.menu-mobile .panel a[aria-current="page"]{color:var(--gold)}
.legal a{text-decoration:none}
.legal a:hover{color:var(--white)}
.legal nav{display:flex;flex-wrap:wrap;gap:6px 16px}
textarea:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* Inner-page hero */
.page-hero{padding-block:clamp(48px,7vw,88px) clamp(48px,7vw,80px)}
.page-hero .hero-copy{max-width:820px}
.page-hero.has-side .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,5vw,72px);align-items:center}
.page-hero.has-side .hero-copy{max-width:none}
@media (max-width:820px){.page-hero.has-side .wrap{grid-template-columns:1fr}}
.crumbs{font-size:.82rem;color:var(--mist)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--gold)}

/* Generic two-column split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.split > *{min-width:0}
.split .stack{display:grid;gap:16px}
.split h2{font-size:var(--step-3)}
.split p{max-width:60ch}
.band:not(.on-paper) .split p{color:var(--mist)}
.on-paper .split p{color:var(--muted-ink)}
@media (max-width:820px){.split{grid-template-columns:1fr}}

/* Cards (work on paper or dark) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.cards.four{grid-template-columns:repeat(4,1fr)}
.card{border-radius:var(--radius);padding:26px;display:grid;gap:12px;align-content:start;border:1px solid var(--line-dark);background:rgba(255,255,255,.03)}
.card h3{font-size:1.25rem}
.card p{color:var(--mist);font-size:.97rem}
.on-paper .card{background:var(--white);border-color:var(--line-light)}
.on-paper .card p{color:var(--muted-ink)}
.card .label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.on-paper .card .label{color:var(--moss)}
@media (max-width:1000px){.cards.four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.cards{grid-template-columns:1fr}.cards.two{grid-template-columns:1fr}}
@media (max-width:520px){.cards.four{grid-template-columns:1fr}}

/* Included list (grouped bullets) */
.included{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.included .card ul{margin:0;padding-left:1.1em;display:grid;gap:8px;color:var(--mist);font-size:.97rem}
.included .card.optional{border-style:dashed}
@media (max-width:900px){.included{grid-template-columns:1fr}}

/* Pricing */
.plans{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:20px;align-items:stretch}
.plan{border:1px solid var(--line-dark);border-radius:var(--radius);padding:clamp(24px,3vw,36px);display:grid;gap:16px;align-content:start;background:rgba(255,255,255,.02)}
.plan.primary{background:var(--moss);border-color:var(--moss)}
.plan .tag{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.plan h2,.plan h3{font-size:var(--step-2)}
.plan p{color:rgba(255,255,255,.86)}
.plan .btn{justify-self:start}
.plan .price{font-size:2rem}
@media (max-width:1000px){.plans{grid-template-columns:1fr}}
.compare-wrap{overflow-x:auto;border:1px solid var(--line-light);border-radius:var(--radius);background:var(--white)}
.compare{width:100%;border-collapse:collapse;min-width:720px;font-size:.95rem}
.compare th,.compare td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line-light);vertical-align:top}
.compare thead th{font-family:var(--display);font-size:1.05rem;color:var(--ink)}
.compare tbody th{font-weight:600;color:var(--ink);width:34%}
.compare td{color:var(--muted-ink)}
.compare tr:last-child th,.compare tr:last-child td{border-bottom:0}
.compare .yes{color:var(--moss);font-weight:700}

/* Work */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.filters a{text-decoration:none;font-weight:600;font-size:.88rem;border:1px solid var(--line-light);border-radius:999px;padding:.45em 1em;color:var(--ink);background:var(--white)}
.filters a:hover{border-color:var(--moss);color:var(--moss)}
.industry{display:grid;gap:22px;padding-block:28px;border-top:1px solid var(--line-light);scroll-margin-top:90px}
.industry:first-of-type{border-top:0;padding-top:0}
.industry-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px}
.industry-head h2{font-size:var(--step-2)}
.industry-head p{color:var(--muted-ink);max-width:56ch}
.reels{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;list-style:none;margin:0;padding:0}
.reel{display:grid;gap:10px;min-width:0}
.reel .frame{aspect-ratio:9/16;border-radius:14px;background:linear-gradient(160deg,var(--moss),#0E3A2D 60%,var(--forest));display:grid;place-items:center;color:var(--gold);overflow:hidden}
.reel .frame video,.reel .frame img{width:100%;height:100%;object-fit:cover}
.reel b{font-weight:700;color:var(--ink);font-size:.95rem}
.reel span{font-size:.85rem;color:var(--muted-ink)}
@media (max-width:1000px){.reels{grid-template-columns:repeat(4,1fr)}}
@media (max-width:760px){.reels{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.reels{grid-template-columns:repeat(2,1fr)}}

/* Contact */
.contact{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,5vw,64px);align-items:start}
.contact > *{min-width:0}
.lead-form{display:grid;gap:18px;background:var(--white);color:var(--ink);border-radius:var(--radius);padding:clamp(22px,3.5vw,40px);border:1px solid var(--line-light)}
.lead-form .pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.lead-form .field{display:grid;gap:6px;min-width:0}
.lead-form label,.lead-form legend{font-size:.88rem;font-weight:700;color:var(--ink)}
.lead-form .hint{font-size:.8rem;color:var(--muted-ink);font-weight:400}
.lead-form input,.lead-form select,.lead-form textarea{font:inherit;font-size:.97rem;width:100%;padding:.75em .9em;border-radius:6px;border:1px solid #B9C0BC;background:var(--paper);color:var(--ink)}
.lead-form textarea{min-height:130px;resize:vertical}
.lead-form fieldset{border:0;margin:0;padding:0;display:grid;gap:8px}
.lead-form .choices{display:flex;flex-wrap:wrap;gap:8px}
.lead-form .choices label{display:inline-flex;align-items:center;gap:8px;font-weight:500;border:1px solid #B9C0BC;border-radius:999px;padding:.45em .95em;cursor:pointer;background:var(--paper)}
.lead-form .choices input{width:auto;margin:0;accent-color:var(--moss)}
.lead-form .choices label:has(input:checked){border-color:var(--moss);background:#E3EEE9}
.lead-form [aria-invalid="true"]{border-color:#A3321F}
.lead-form .err{font-size:.82rem;color:#A3321F;font-weight:600}
.lead-form .btn{justify-self:start;background:var(--moss);border-color:var(--moss);color:var(--white)}
.lead-form .status{font-size:.9rem;color:var(--muted-ink)}
.lead-form .status.ok{color:var(--moss);font-weight:600}
.hp{position:absolute;left:-9999px}
@media (max-width:900px){.contact{grid-template-columns:1fr}}
@media (max-width:560px){.lead-form .pair{grid-template-columns:1fr}}
.info{display:grid;gap:22px}
.info h2{font-size:var(--step-2)}
.info h3{font-family:var(--body);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--moss);margin-bottom:6px}
.info p,.info address{font-style:normal;color:var(--muted-ink)}
.info a{color:var(--ink);font-weight:600}
.next-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:n}
.next-steps li{counter-increment:n;display:grid;grid-template-columns:34px 1fr;gap:10px;color:var(--muted-ink)}
.next-steps li::before{content:counter(n);width:28px;height:28px;border-radius:50%;background:var(--moss);color:var(--white);display:grid;place-items:center;font-weight:700;font-size:.85rem}
.next-steps b{color:var(--ink)}

/* Prose (blog posts, legal) */
.prose{max-width:70ch;font-size:1.06rem;line-height:1.75;color:var(--muted-ink)}
.prose > * + *{margin-top:1.1em}
.prose h2{font-size:var(--step-2);color:var(--ink);margin-top:1.8em}
.prose h3{font-size:1.25rem;color:var(--ink);margin-top:1.5em}
.prose h2 + *,.prose h3 + *{margin-top:.6em}
.prose ul,.prose ol{padding-left:1.2em;display:grid;gap:6px}
.prose a{color:var(--moss);font-weight:600}
.prose strong{color:var(--ink)}
.prose blockquote{margin-left:0;padding-left:1.1em;border-left:3px solid var(--moss);font-family:var(--display);font-size:1.15rem;color:var(--ink)}
.post-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.88rem;color:var(--mist)}
.post-cta{margin-top:56px;padding:28px;border-radius:var(--radius);background:var(--white);border:1px solid var(--line-light);display:grid;gap:12px;max-width:70ch}
.post-cta h2{font-size:1.4rem;color:var(--ink);margin:0}
.post-cta p{color:var(--muted-ink)}
.post-cta .btn{justify-self:start}

/* Blog index + events */
.posts{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.post-card{background:var(--white);border:1px solid var(--line-light);border-radius:var(--radius);padding:28px;display:grid;gap:12px;align-content:start;text-decoration:none;color:var(--ink);transition:border-color .15s ease}
.post-card:hover{border-color:var(--moss)}
.post-card h2,.post-card h3{font-size:1.35rem}
.post-card p{color:var(--muted-ink)}
.post-card .more{font-weight:700;color:var(--moss);font-size:.92rem}
@media (max-width:820px){.posts{grid-template-columns:1fr}}
.events{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.event{display:grid;grid-template-columns:96px 1fr auto;gap:22px;align-items:center;border:1px solid var(--line-dark);border-radius:var(--radius);padding:22px}
.event time{display:grid;text-align:center;font-family:var(--display);line-height:1.05;color:var(--gold)}
.event time b{font-size:2.2rem}
.event time span{font-family:var(--body);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.event h3{font-size:1.25rem;margin-bottom:6px}
.event p{color:var(--mist);font-size:.95rem}
@media (max-width:680px){.event{grid-template-columns:1fr;gap:12px}.event time{text-align:left;display:flex;gap:10px;align-items:baseline}}

/* 404 */
.lost{min-height:50vh;display:grid;align-content:center;gap:20px}
.lost h1{font-size:var(--step-4)}
.lost p{color:var(--mist);max-width:56ch}
.lost .ctas{display:flex;flex-wrap:wrap;gap:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cases.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.cases.four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cases.four{grid-template-columns:1fr}}
.review{margin:0;display:grid;gap:10px}
.review blockquote{margin:0;font-family:var(--display);font-size:1.05rem;line-height:1.5}
.review figcaption{font-size:.9rem}
.review figcaption b{display:block}
.review figcaption span{color:var(--mist)}
.stats.bare{border-top:0;padding-top:0;margin-top:0}
.post-title{font-size:var(--step-4)}

/* Buyer's journey: three stages that build left to right */
.journey{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.journey li{position:relative;border-radius:var(--radius);padding:26px;display:grid;gap:10px;align-content:start;background:var(--paper);color:var(--ink)}
.journey li:nth-child(2){background:var(--moss);color:var(--white)}
.journey li:nth-child(3){background:var(--forest);color:var(--white);border:1px solid var(--line-dark)}
.journey li:not(:last-child)::after{content:"";position:absolute;right:-22px;top:50%;width:16px;height:16px;transform:translateY(-50%);background:var(--gold);clip-path:polygon(0 0,100% 50%,0 100%)}
.journey .stage{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--moss)}
.journey li:nth-child(n+2) .stage{color:var(--gold)}
.journey h3{font-size:1.4rem}
.journey p{font-size:.97rem}
.journey li:nth-child(n+2) p{color:rgba(255,255,255,.86)}
.journey .measure{margin-top:4px;padding-top:12px;border-top:1px solid currentColor;border-top-color:rgba(127,127,127,.3);font-size:.85rem;font-weight:600}
@media (max-width:900px){
  .journey{grid-template-columns:1fr;gap:26px}
  .journey li:not(:last-child)::after{right:auto;left:50%;top:auto;bottom:-21px;transform:translateX(-50%) rotate(90deg)}
}

/* Full-funnel path: numbered steps joined by a line */
.path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:p;position:relative}
.path::before{content:"";position:absolute;left:20px;right:20px;top:20px;height:2px;background:var(--moss);opacity:.35}
.path li{counter-increment:p;position:relative;display:grid;gap:8px;align-content:start}
.path li::before{content:counter(p);width:42px;height:42px;border-radius:50%;background:var(--moss);color:var(--white);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1.15rem;margin-bottom:8px;box-shadow:0 0 0 6px var(--paper)}
.path li:last-child::before{background:var(--gold);color:var(--forest)}
.path h3{font-size:1.2rem;color:var(--ink)}
.path p{color:var(--muted-ink);font-size:.95rem}
.path-extra{margin-top:40px}
.path-note{margin-top:24px;font-weight:600;color:var(--ink)}
@media (max-width:900px){
  .path{grid-template-columns:1fr;gap:22px}
  .path::before{left:20px;right:auto;top:20px;bottom:20px;width:2px;height:auto}
  .path li{grid-template-columns:42px 1fr;column-gap:16px}
  .path li::before{grid-row:span 2;margin-bottom:0}
}

/* Proof: one lead result plus supporting points */
.proof{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.proof > *{min-width:0}
.proof-lead{display:grid;gap:12px}
.proof .num{font-family:var(--display);font-weight:700;line-height:1;color:var(--moss);font-variant-numeric:tabular-nums}
.proof-lead .num{font-size:clamp(4rem,10vw,6.5rem)}
.proof-lead h2{font-size:var(--step-3)}
.proof-lead .review{margin-top:12px;padding-left:18px;border-left:3px solid var(--moss)}
.proof-more{display:grid;gap:22px}
.proof-more article{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:baseline;padding-bottom:20px;border-bottom:1px solid var(--line-light)}
.proof-more .num{font-size:2.2rem}
.proof-more p{color:var(--muted-ink)}
.proof-more .btn{justify-self:start}
.on-paper .review blockquote{color:var(--ink)}
.on-paper .review figcaption span{color:var(--muted-ink)}
@media (max-width:820px){.proof{grid-template-columns:1fr}}
.plans-note{margin-top:28px;color:var(--mist);max-width:80ch}
.plans-note b{color:var(--white)}
.plans-free{margin-top:10px;color:var(--mist);font-size:.92rem}

/* Hero funnel (Social Media Management): the three jobs a post can have */
.funnel-stage{position:relative;display:flex;justify-content:center;min-width:0;padding-block:28px}
.funnel-stage::before{content:"";position:absolute;inset:0 -20% 0 14%;background:var(--paper);border-radius:22px 0 0 22px;opacity:.96}
.funnel{position:relative;list-style:none;margin:0;padding:0;width:min(400px,100%);display:grid;gap:8px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.28))}
.funnel li{clip-path:polygon(0 0,100% 0,92% 100%,8% 100%);padding:24px 14% 22px;text-align:center;display:grid;gap:4px}
.funnel li:nth-child(1){background:var(--gold);color:var(--forest)}
.funnel li:nth-child(2){background:var(--moss);color:var(--white);margin-inline:8%}
.funnel li:nth-child(3){background:var(--forest-2);color:var(--white);margin-inline:14.72%}
.funnel span{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.funnel li:nth-child(n+2) span{color:var(--gold)}
.funnel b{font-family:var(--display);font-size:clamp(1.1rem,2.4vw,1.4rem);line-height:1.15}
@media (max-width:820px){.funnel-stage{margin-top:8px}.funnel{width:min(340px,100%)}}
.page-hero.hero-funnel .wrap,.page-hero.hero-book .wrap{grid-template-columns:1.1fr .9fr}
.funnel li{padding-inline:11%}
@media (max-width:960px){.page-hero.hero-funnel .wrap,.page-hero.hero-book .wrap{grid-template-columns:1fr}.hero-funnel .funnel-stage::before,.hero-book .book-stage::before{inset:0 -20% 0 -20%;border-radius:0}}

/* Versus: content for content's sake vs. strategy-led content creation */
.versus{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
.versus-col{border-radius:var(--radius);padding:clamp(22px,3vw,32px);display:grid;gap:14px;align-content:start;background:var(--white);border:1px solid var(--line-light)}
.versus-col h3{font-size:1.3rem}
.versus-col .checks li{color:var(--muted-ink)}
.versus-col.win{background:var(--forest);border-color:var(--forest)}
.versus-col.win h3{color:var(--white)}
.versus-col.win .checks li{color:rgba(255,255,255,.9);border-color:var(--line-dark)}
.versus-col.win .checks li::before{border-color:var(--gold);background:linear-gradient(var(--gold),var(--gold)) center/8px 8px no-repeat}
.versus-col.win a{color:var(--gold)}
@media (max-width:820px){.versus{grid-template-columns:1fr}}

/* Hero playbook (Social Playbook page): the written plan plus a sample content calendar */
.book-stage{position:relative;display:flex;justify-content:center;min-width:0;padding:36px 0 128px}
.book-stage::before{content:"";position:absolute;inset:0 -20% 0 14%;background:var(--paper);border-radius:22px 0 0 22px;opacity:.96}
.book{position:relative;width:min(290px,70vw);aspect-ratio:3/4;transform:rotate(-3deg)}
.book::before,.book::after{content:"";position:absolute;z-index:0;border-radius:4px 12px 12px 4px}
.book::before{inset:10px -10px -10px 10px;background:#E4E2DA;box-shadow:0 24px 44px rgba(0,0,0,.28)}
.book::after{inset:5px -5px -5px 5px;background:#FBFAF6}
.book-tabs{position:absolute;z-index:1;right:-26px;top:16%;display:grid;gap:8px}
.book-tabs span{display:block;width:30px;height:34px;border-radius:0 6px 6px 0}
.book-tabs span:nth-child(1){background:var(--gold)}
.book-tabs span:nth-child(2){background:#9FC9B6}
.book-tabs span:nth-child(3){background:var(--gold)}
.book-tabs span:nth-child(4){background:#9FC9B6}
.book-cover{position:relative;z-index:2;height:100%;background:var(--moss);color:var(--white);border-radius:4px 12px 12px 4px;padding:24px 22px 22px 34px;display:flex;flex-direction:column;gap:8px;box-shadow:inset 12px 0 0 rgba(0,0,0,.2)}
.book-cover img{height:30px;width:auto;align-self:flex-start;margin-bottom:auto}
.book-kicker{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--gold)}
.book-title{font-family:var(--display);font-weight:700;font-size:clamp(1.5rem,3vw,1.9rem);line-height:1.05;padding-bottom:10px;border-bottom:2px solid var(--gold)}
.book-toc{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:4px;font-size:.66rem;line-height:1.3;color:rgba(255,255,255,.88)}
.book-toc b{color:var(--gold);margin-right:4px;font-weight:700}
.cal-card{position:absolute;z-index:3;left:max(2%,calc(50% - 250px));bottom:14px;width:min(214px,56vw);background:var(--white);color:var(--ink);border-radius:10px;padding:12px;display:grid;gap:8px;box-shadow:0 18px 36px rgba(0,0,0,.3);transform:rotate(3deg)}
.cal-card > b{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--moss)}
.cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.cal-grid i{font-style:normal;font-size:.55rem;font-weight:700;color:var(--muted-ink);text-align:center}
.cal-grid span{font-size:.55rem;font-weight:600;padding:6px 2px;border-radius:4px;background:#E3EEE9;color:var(--moss);text-align:center}
.cal-grid span.c{background:#FBF0C4;color:#6E5300}

/* Questions to answers (Social Playbook page) */
.qa{display:grid;gap:12px}
.qa-head,.qa-list li{display:grid;grid-template-columns:1fr 64px 1fr;align-items:center}
.qa-head span{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#7A847F}
.qa-head span:last-child{color:var(--moss)}
.qa-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.qa-list .q{justify-self:start;max-width:30ch;font-family:var(--display);font-style:italic;font-weight:500;font-size:1.08rem;line-height:1.35;color:var(--muted-ink);background:var(--white);border:1px dashed #AEB6B1;border-radius:18px 18px 18px 4px;padding:12px 18px;transform:rotate(-1.2deg)}
.qa-list li:nth-child(even) .q{transform:rotate(1deg);justify-self:center}
.qa-arrow{justify-self:center;width:36px;height:36px;border-radius:50%;background:var(--gold);position:relative}
.qa-arrow::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;transform:translate(-30%,-50%);background:var(--forest);clip-path:polygon(0 0,100% 50%,0 100%)}
.qa-list .a{background:var(--moss);color:var(--white);border-radius:12px;padding:14px 18px;display:grid;gap:4px;box-shadow:0 10px 24px rgba(4,92,68,.18)}
.qa-list .a span{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.qa-list .a p{font-size:.95rem;color:rgba(255,255,255,.92)}
.qa-note{margin-top:20px;font-weight:700;color:var(--ink);font-size:1.05rem}
@media (max-width:760px){
  .qa-head{display:none}
  .qa-list{gap:28px}
  .qa-list li{grid-template-columns:1fr;gap:10px;justify-items:start}
  .qa-list li:nth-child(even) .q{justify-self:start}
  .qa-arrow{justify-self:start;margin-left:18px;transform:rotate(90deg)}
  .qa-list .a{justify-self:stretch}
}
@media (max-width:600px){.book-stage{padding-bottom:150px}.cal-card{bottom:6px}}

/* Case studies (Work page): headline, metrics, challenge, what we did, quote; posts as supporting proof */
.study{background:var(--white);border:1px solid var(--line-light);border-radius:var(--radius);padding:clamp(22px,3.5vw,40px);display:grid;gap:26px;scroll-margin-top:90px}
.study + .study{margin-top:28px}
.study-head{display:grid;gap:6px;max-width:820px}
.study-tag{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--moss)}
.study-head h3{font-size:var(--step-3);color:var(--ink)}
.study-headline{font-family:var(--display);font-style:italic;font-weight:500;font-size:1.25rem;line-height:1.35;color:var(--ink)}
.study-time{font-size:.88rem;font-weight:600;color:var(--muted-ink)}
.study-metrics{list-style:none;margin:0;padding:22px 0;border-block:1px solid var(--line-light);display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px}
.study-metrics li{display:grid;gap:6px;align-content:start}
.study-metrics b{font-family:var(--display);font-size:clamp(1.9rem,3.6vw,2.5rem);line-height:1;color:var(--moss);font-variant-numeric:tabular-nums}
.study-metrics span{font-size:.88rem;line-height:1.4;color:var(--muted-ink)}
.study-body{display:grid;grid-template-columns:1fr auto;gap:clamp(24px,4vw,48px);align-items:start}
.study-story{display:grid;grid-template-columns:1fr 1fr;gap:28px;min-width:0}
.study-story h4{margin:0 0 8px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.study-story p{color:var(--muted-ink);font-size:.97rem}
.study-quote{padding-left:16px;border-left:3px solid var(--moss);max-width:820px}
.study-quote blockquote{font-size:1.02rem}
.study-posts{display:flex;gap:12px}
.study-posts .post{width:clamp(150px,16vw,200px);aspect-ratio:9/16;border-radius:12px;background:linear-gradient(160deg,var(--moss),#0E3A2D 60%,var(--forest));display:grid;place-items:center;color:var(--gold);overflow:hidden}
.study-posts .post video,.study-posts .post img{width:100%;height:100%;object-fit:cover}
.study-source{margin-top:24px;font-size:.82rem;color:var(--muted-ink)}
.industry-group a{color:var(--moss);font-weight:600}
@media (max-width:1000px){.study-body{grid-template-columns:1fr}}
@media (max-width:760px){.study-story{grid-template-columns:1fr}.study-metrics{grid-template-columns:1fr 1fr}}

/* Brands by industry (Work page) */
.industries{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.industry-group{border-top:3px solid var(--moss);padding-top:16px;scroll-margin-top:90px}
.industry-group h3{font-size:1.1rem;color:var(--ink);margin-bottom:10px}
.industry-group ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;color:var(--muted-ink);font-size:.95rem}
@media (max-width:1000px){.industries{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.industries{grid-template-columns:1fr 1fr}}

/* Trail (About page): the path past the post, with where most agencies stop */
.trail{list-style:none;margin:0;padding:56px 0 0;display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.trail li{position:relative;display:grid;gap:6px;align-content:start;padding-top:34px}
.trail li::before{content:"";position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%;background:var(--moss);box-shadow:0 0 0 3px var(--gold);z-index:1}
.trail li:not(:last-child)::after{content:"";position:absolute;top:9px;left:20px;right:-20px;height:2px;background:var(--gold)}
.trail .trail-start::before{background:var(--forest);box-shadow:0 0 0 2px var(--mist)}
.trail .trail-start::after{background:repeating-linear-gradient(90deg,var(--mist) 0 6px,transparent 6px 12px)}
.trail .trail-end::before{background:var(--gold);width:26px;height:26px;top:-3px;left:-3px}
.trail h3{font-size:1.1rem;color:var(--white)}
.trail p{font-size:.9rem;color:var(--mist);line-height:1.45}
.trail .trail-start h3,.trail .trail-start p{color:#9AA39F}
.trail .trail-end h3{color:var(--gold)}
.trail-stop{position:absolute;top:-52px;right:-10px;transform:translateX(50%);white-space:nowrap;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--mist);border:1px dashed var(--mist);border-radius:999px;padding:.35em .85em}
.trail-stop::after{content:"";position:absolute;left:50%;top:100%;height:42px;border-left:2px dashed var(--mist)}
.trail-skills{margin-top:44px;padding-top:22px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.trail-skills span{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.trail-skills ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.trail-skills li{border:1px solid var(--line-dark);border-radius:999px;padding:.35em .9em;font-size:.88rem;color:var(--white)}
@media (max-width:900px){
  .trail{grid-template-columns:1fr;gap:0;padding-top:0}
  .trail li{padding:0 0 26px 40px}
  .trail li::before{top:2px}
  .trail .trail-end::before{top:-1px;left:-3px}
  .trail li:not(:last-child)::after{top:22px;left:9px;right:auto;bottom:0;width:2px;height:auto}
  .trail .trail-start::after{background:repeating-linear-gradient(180deg,var(--mist) 0 6px,transparent 6px 12px)}
  .trail-stop{position:static;transform:none;justify-self:start;margin-top:10px}
  .trail-stop::after{display:none}
}

/* Stat row (homepage results): headline number plus a short label */
.stat-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.stat-row li{border-top:3px solid var(--gold);padding-top:20px;display:grid;gap:10px;align-content:start}
.stat-row b{font-family:var(--display);font-size:clamp(2.1rem,4vw,2.9rem);font-weight:700;line-height:1;color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap}
.stat-row span{font-size:.92rem;line-height:1.45;color:var(--mist)}
@media (max-width:1000px){.stat-row{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.stat-row{grid-template-columns:1fr 1fr}.stat-row li:last-child{grid-column:1/-1}}

/* Proof bits on service pages */
.proof-text{color:var(--muted-ink);max-width:52ch}
.proof-link,.proof-more a:not(.btn){color:var(--moss);font-weight:700}
.result-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}
.result-cards article{border:1px solid var(--line-dark);border-radius:var(--radius);padding:clamp(22px,3vw,32px);display:grid;gap:10px;align-content:start;background:rgba(255,255,255,.03)}
.result-cards .tag{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.result-cards b{font-family:var(--display);font-size:clamp(2.6rem,6vw,3.4rem);line-height:1;color:var(--gold)}
.result-cards h3{font-size:1.2rem}
.result-cards p{color:var(--mist);font-size:.95rem}
.result-cards a{color:var(--gold);font-weight:700;justify-self:start}
@media (max-width:820px){.result-cards{grid-template-columns:1fr}}
.proof-callout{margin-top:28px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;background:var(--moss);color:var(--white);border-radius:var(--radius);padding:clamp(20px,3vw,30px)}
.proof-callout .tag{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold);margin-bottom:6px}
.proof-callout b{font-family:var(--display);font-size:clamp(2.6rem,6vw,3.4rem);line-height:1;color:var(--gold)}
.proof-callout p{color:rgba(255,255,255,.92)}
.proof-callout a{color:var(--gold);font-weight:700}
@media (max-width:640px){.proof-callout{grid-template-columns:1fr;gap:10px}}
.study-posts figure{margin:0;display:grid;gap:8px}
.study-posts figcaption{font-size:.82rem;font-weight:600;color:var(--muted-ink);max-width:200px}

/* Hero video inside the phone frame: muted loop, with a button to restart it with sound */
.phone .screen.has-video{padding:0}
.phone .screen.has-video .notch{z-index:2}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#111}
.sound-toggle{position:absolute;z-index:2;left:50%;bottom:16px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font:700 .78rem var(--body);color:var(--forest);background:var(--gold);border:0;border-radius:999px;padding:.55em 1em;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.sound-toggle::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.5 4.5 0 0 0 2.5-4z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.5 4.5 0 0 0 2.5-4z'/%3E%3C/svg%3E") center/contain no-repeat}
img.selfie{display:block;height:auto;object-fit:cover;object-position:50% 38%}
img.portrait{display:block;width:100%;height:auto;object-fit:cover;object-position:50% 80%}

/* Hero photo (Content Creation): a tilted photo on the same light panel as the phone graphic */
.photo-stage{padding-block:24px}
.hero-photo{position:relative;display:block;width:min(330px,78vw);height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 55%;border-radius:var(--radius);transform:rotate(-2deg);box-shadow:0 30px 60px rgba(0,0,0,.45)}
@media (max-width:820px){.hero-photo{width:min(280px,72vw)}}
.foot-social{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px}
.foot-social a{font-weight:600}
