:root { --ink:#18251e; --forest:#113d2d; --green:#c8de6c; --cream:#f5f1e8; --paper:#fcfaf5; --orange:#ec7854; --line:rgba(24,37,30,.16); --muted:#617068; --sans:"DM Sans",Arial,sans-serif; --serif:"Playfair Display",Georgia,serif; --mono:"DM Mono",monospace; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; overflow-x:hidden; background:var(--paper); color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; } a { color:inherit; } .container { width:min(1170px,calc(100% - 48px)); margin:0 auto; }.mobile-only { display:none; }
.skip-link { position:fixed; z-index:20; top:-60px; left:20px; background:var(--green); color:var(--ink); padding:10px 14px; font-weight:700; }.skip-link:focus { top:20px; }
.site-header { position:absolute; z-index:2; width:100%; top:0; }.nav { height:92px; display:flex; align-items:center; justify-content:space-between; }.wordmark { font:700 27px/1 var(--sans); letter-spacing:-.065em; text-decoration:none; }.wordmark-dot { color:var(--orange); }.nav-link { border-bottom:1px solid currentColor; padding-bottom:3px; font:500 12px/1 var(--mono); text-decoration:none; text-transform:uppercase; letter-spacing:.03em; }.nav-link span { color:var(--orange); margin-left:5px; }
.hero { min-height:730px; padding:156px 0 28px; background:var(--cream); overflow:hidden; }.hero-grid { display:grid; grid-template-columns:1.04fr .96fr; gap:clamp(48px,8vw,130px); align-items:center; }.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 20px; color:var(--forest); font:500 11px/1.3 var(--mono); text-transform:uppercase; letter-spacing:.075em; }.eyebrow span { width:19px; height:1px; background:var(--orange); }h1,h2 { margin:0; font-family:var(--serif); font-weight:700; letter-spacing:-.06em; }h1 { font-size:clamp(49px,5.4vw,83px); line-height:.98; }h1 em,h2 em { color:var(--orange); font-weight:inherit; }.hero-intro { max-width:425px; margin:27px 0 29px; font-size:17px; line-height:1.65; color:var(--muted); }.button { display:inline-flex; align-items:center; gap:30px; justify-content:space-between; padding:16px 20px; font-weight:700; font-size:14px; line-height:1; text-decoration:none; transition:transform .2s,background .2s; }.button:hover { transform:translateY(-3px); }.button-primary { background:var(--forest); color:var(--paper); min-width:225px; }.button-primary span,.button-light span { color:var(--green); font-size:19px; }.hero-notes { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:31px; color:var(--muted); font-size:12px; }.hero-notes span::before { content:"✦"; margin-right:6px; color:var(--orange); font-size:10px; }
.hero-review { position:relative; width:min(100%,428px); min-width:0; margin:0; justify-self:end; }.video-shell { position:relative; background:#0d1511; overflow:hidden; }.video-shell::after { content:""; position:absolute; inset:0; pointer-events:none; border:1px solid rgba(255,255,255,.18); } video { display:block; width:100%; aspect-ratio:16 / 10; object-fit:cover; background:#0d1511; }.hero-video-shell { border:10px solid var(--forest); box-shadow:16px 16px 0 var(--green); }.hero-video-shell video { aspect-ratio:4 / 3; }.proof-stamp { position:absolute; z-index:1; top:-34px; left:-56px; width:111px; height:111px; display:flex; flex-direction:column; justify-content:center; align-items:center; border-radius:50%; transform:rotate(-12deg); background:var(--orange); color:var(--paper); font:11px/1.2 var(--mono); text-transform:uppercase; letter-spacing:.04em; }.proof-stamp strong { font:700 17px/1 var(--serif); text-transform:none; letter-spacing:-.04em; }.proof-stamp i { position:absolute; right:9px; bottom:9px; color:var(--green); font-style:normal; }.hero-review figcaption { display:flex; align-items:center; gap:9px; margin-top:20px; color:var(--muted); font:11px/1 var(--mono); text-transform:uppercase; letter-spacing:.04em; }.pulse { width:8px; height:8px; border-radius:50%; background:var(--orange); }.hero-rule { display:grid; grid-template-columns:2fr 1fr 1fr; gap:8px; margin-top:66px; }.hero-rule span { display:block; height:2px; background:var(--ink); }.hero-rule span + span { background:var(--orange); }.hero-rule span + span + span { background:var(--green); }
.proof-section { padding:133px 0 119px; }.section-heading { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:end; margin-bottom:61px; }h2 { font-size:clamp(45px,5vw,72px); line-height:.98; }.section-intro { max-width:410px; margin:0 0 6px auto; color:var(--muted); font-size:16px; line-height:1.7; }.card-kicker { display:flex; gap:13px; color:var(--muted); font:11px/1 var(--mono); text-transform:uppercase; letter-spacing:.07em; }.card-kicker span { color:var(--orange); }.results-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.result-card { display:flex; flex-direction:column; min-width:0; padding:28px 25px 25px; border:1px solid var(--line); }.result-forest { background:var(--forest); border-color:var(--forest); color:var(--paper); }.result-forest .card-kicker { color:var(--green); }.result-green { background:var(--green); border-color:var(--green); color:var(--forest); }.result-green .card-kicker { color:var(--forest); }.result-cream { background:var(--cream); color:var(--ink); }.result-number { margin:38px 0 0; font:700 clamp(84px,8vw,118px)/.85 var(--serif); letter-spacing:-.06em; }.result-forest .result-number { color:var(--green); }.result-cream .result-number { color:var(--orange); }.result-label { margin:14px 0 30px; font:600 clamp(21px,1.9vw,26px)/1.2 var(--serif); letter-spacing:-.035em; }.result-shot { display:block; margin-top:auto; box-shadow:9px 9px 0 rgba(12,43,32,.22); transition:transform .2s; }.result-forest .result-shot { box-shadow:9px 9px 0 var(--green); }.result-shot:hover { transform:translate(-3px,-3px); }.result-shot img { display:block; width:100%; height:auto; border-radius:8px; }.result-meta { margin:22px 0 0; font:500 12px/1.4 var(--mono); text-transform:uppercase; letter-spacing:.04em; opacity:.78; }.result-meta span { color:var(--orange); }.results-note { margin-top:26px; color:var(--muted); font:11px/1.5 var(--mono); }
.sample-section { padding:111px 0; background:var(--cream); }.sample-grid { display:grid; grid-template-columns:1fr 1fr; gap:11vw; }.sample-copy > p { max-width:440px; margin:5px 0 35px; font-size:17px; line-height:1.7; color:var(--muted); }.steps { padding:0; margin:0; list-style:none; border-top:1px solid var(--line); }.steps li { display:flex; gap:20px; padding:16px 0; border-bottom:1px solid var(--line); font-size:14px; font-weight:600; }.steps span { min-width:23px; color:var(--orange); font:11px var(--mono); }.booking-section { padding:92px 0; background:var(--forest); }.booking-panel { max-width:750px; text-align:center; color:var(--paper); }.booking-panel .eyebrow { justify-content:center; color:var(--green); }.booking-panel h2 { font-size:clamp(49px,5vw,74px); }.booking-panel h2 em { color:var(--green); }.booking-panel > p:not(.eyebrow) { margin:20px auto 28px; color:rgba(245,241,232,.7); }.button-light { min-width:207px; background:var(--paper); color:var(--forest); text-align:left; }.booking-panel small { display:block; margin-top:16px; color:rgba(245,241,232,.56); font:11px var(--mono); }.site-footer { padding:25px 0; background:#0c2b20; color:rgba(245,241,232,.67); }.site-footer .container { display:flex; align-items:center; justify-content:space-between; gap:20px; font:11px var(--mono); }.site-footer .wordmark { color:var(--paper); font-size:24px; }.reveal { animation:rise .7s ease both; }.reveal-delay { animation-delay:.15s; }@keyframes rise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:760px) { .container { width:min(100% - 36px,600px); max-width:calc(100vw - 36px); }.mobile-only { display:block; }.site-header .nav { height:76px; }.hero { min-height:0; padding:128px 0 22px; }.hero-grid,.section-heading,.results-grid,.sample-grid { grid-template-columns:minmax(0,1fr); }.hero-grid > *,.hero-copy,.hero-intro,.hero-notes { min-width:0; max-width:100%; }.hero-grid { gap:60px; }.hero-review { width:calc(100vw - 60px); max-width:calc(100vw - 60px); justify-self:end; }.proof-stamp { left:-20px; }.hero-rule { margin-top:49px; }.proof-section { padding:82px 0; }.section-heading { margin-bottom:39px; }.section-intro { margin:0; }.result-number { margin-top:30px; }.sample-section { padding:81px 0; }.sample-grid { gap:37px; }.booking-section { padding:73px 0; }.site-footer .container { flex-wrap:wrap; justify-content:center; text-align:center; }.site-footer .wordmark { width:100%; }.nav-link { font-size:10px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reveal { animation:none; }.button,.result-shot { transition:none; } }
@media (min-width:761px) and (max-width:1000px) { .results-grid { grid-template-columns:minmax(0,1fr); max-width:560px; } }
.system-section { padding:121px 0 126px; border-top:1px solid var(--line); }.system-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(48px,7vw,110px); align-items:start; }.system-heading { position:sticky; top:48px; }.system-heading .section-intro { margin:28px 0 0; }.system-steps { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }.system-step { display:grid; grid-template-columns:78px minmax(0,1fr); gap:10px; padding:34px 0 36px; border-bottom:1px solid var(--line); }.system-num { color:var(--orange); font:700 38px/1 var(--serif); letter-spacing:-.05em; }.system-step h3 { margin:4px 0 12px; font:700 clamp(23px,2.1vw,29px)/1.15 var(--serif); letter-spacing:-.04em; }.system-step p { max-width:520px; margin:0; color:var(--muted); font-size:15.5px; line-height:1.7; }.system-step small { display:inline-block; margin-top:16px; padding:7px 10px; background:var(--cream); color:var(--forest); font:500 11px/1.3 var(--mono); text-transform:uppercase; letter-spacing:.04em; }.system-step:nth-child(6) small { background:var(--green); }
.dfy-section { padding:112px 0 96px; background:var(--forest); color:var(--paper); }.dfy-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,8vw,120px); align-items:center; }.dfy-copy .eyebrow { color:var(--green); }.dfy-copy h2 em { color:var(--green); }.dfy-copy > p:not(.eyebrow) { max-width:440px; margin:26px 0 0; color:rgba(245,241,232,.72); font-size:16px; line-height:1.7; }.dfy-list { margin:0; padding:0; list-style:none; border-top:1px solid rgba(245,241,232,.18); }.dfy-list li { display:flex; gap:14px; padding:17px 0; border-bottom:1px solid rgba(245,241,232,.18); font-size:15px; font-weight:600; }.dfy-list li::before { content:"✓"; color:var(--green); font:500 13px/1.6 var(--mono); }.dfy-you { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:64px; padding:24px 28px; background:var(--green); color:var(--forest); }.dfy-you span { font:500 11px/1 var(--mono); text-transform:uppercase; letter-spacing:.07em; }.dfy-you strong { font:700 clamp(24px,2.6vw,34px)/1.1 var(--serif); letter-spacing:-.04em; }
@media (max-width:760px) { .system-section { padding:82px 0; }.system-grid,.dfy-grid { grid-template-columns:minmax(0,1fr); }.system-heading { position:static; }.system-step { grid-template-columns:52px minmax(0,1fr); padding:28px 0; }.system-num { font-size:30px; }.dfy-section { padding:82px 0 73px; }.dfy-you { flex-direction:column; align-items:flex-start; margin-top:44px; padding:22px; }.mobile-hide { display:none; } }

/* ---- v3: case study ---- */
.tbd { background:rgba(236,120,84,.16); outline:1px dashed var(--orange); outline-offset:1px; color:inherit; }
.case-hero h1 { font-size:clamp(44px,4.8vw,74px); }
.case-stats { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:1px; width:min(100%,440px); justify-self:end; background:rgba(245,241,232,.16); border:10px solid var(--forest); box-shadow:16px 16px 0 var(--green); }
.case-stats .proof-stamp { z-index:2; }
.case-stat { display:flex; flex-direction:column; gap:8px; padding:22px 20px; background:var(--forest); color:var(--paper); }
.case-stat strong { font:700 clamp(32px,3.2vw,44px)/1 var(--serif); letter-spacing:-.05em; color:var(--green); }
.case-stat > span { font:11px/1.3 var(--mono); text-transform:uppercase; letter-spacing:.06em; color:rgba(245,241,232,.7); }
.case-stat-main { grid-column:1 / -1; padding:34px 24px 26px 64px; }
.case-stat-main strong { font-size:clamp(76px,7.5vw,112px); line-height:.85; }
.snapshot-section { padding:46px 0; border-bottom:1px solid var(--line); }
.snapshot { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin:0 auto; }
.snapshot dt { margin-bottom:10px; color:var(--orange); font:500 11px/1 var(--mono); text-transform:uppercase; letter-spacing:.07em; }
.snapshot dd { margin:0; font-size:15px; font-weight:600; line-height:1.45; }
.challenge-section { padding:121px 0 110px; }
.challenge-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(40px,7vw,110px); align-items:start; }
.challenge-copy > p { margin:0 0 34px; color:var(--muted); font-size:17px; line-height:1.7; }
.before-after { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.before-after > div { padding:24px 22px; }
.before-after > div > span { display:block; margin-bottom:14px; font:500 11px/1 var(--mono); text-transform:uppercase; letter-spacing:.07em; }
.before-after ul { margin:0; padding:0; list-style:none; }
.before-after li { padding:10px 0; border-top:1px solid var(--line); font-size:14.5px; font-weight:600; line-height:1.4; }
.before { background:var(--cream); }
.before > span { color:var(--muted); }
.after { background:var(--forest); color:var(--paper); }
.after > span { color:var(--green); }
.after li { border-color:rgba(245,241,232,.18); }
.shots-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.shot { margin:0; min-width:0; }
.shot-wide { grid-column:1 / -1; }
.shot-frame { display:block; border:1px solid var(--line); background:var(--cream); padding:10px; box-shadow:9px 9px 0 rgba(12,43,32,.14); transition:transform .2s; }
.shot-frame:hover { transform:translate(-3px,-3px); }
.shot-frame img { display:block; width:100%; height:auto; border-radius:6px; }
.shot figcaption { display:flex; gap:12px; margin-top:16px; color:var(--muted); font:500 12px/1.5 var(--mono); text-transform:uppercase; letter-spacing:.04em; }
.shot figcaption > span:first-child { color:var(--orange); }
.slot-missing { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:260px; padding:24px; border:2px dashed rgba(236,120,84,.6); border-radius:6px; text-align:center; color:var(--muted); font:12px/1.5 var(--mono); }
.slot-missing strong { color:var(--ink); font:600 15px/1.3 var(--sans); }
.shot-wide .slot-missing { min-height:380px; }
.email-section { padding:118px 0; background:var(--cream); }
.email-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(40px,7vw,110px); align-items:center; }
.email-intro { margin:26px 0 0; }
.email-card { background:var(--paper); border:1px solid var(--line); box-shadow:16px 16px 0 var(--forest); }
.email-head { display:flex; align-items:center; gap:14px; padding:14px 18px; background:var(--forest); color:var(--paper); font:11px/1 var(--mono); text-transform:uppercase; letter-spacing:.06em; }
.email-dots { display:flex; gap:6px; }
.email-dots i { width:9px; height:9px; border-radius:50%; background:rgba(245,241,232,.3); }
.email-dots i:first-child { background:var(--orange); }
.email-meta { margin:0; padding:0 22px; }
.email-meta div { display:flex; gap:16px; padding:13px 0; border-bottom:1px solid var(--line); font-size:14px; }
.email-meta dt { min-width:60px; color:var(--muted); font:12px/1.6 var(--mono); }
.email-meta dd { margin:0; font-weight:600; }
.email-body { padding:22px 22px 28px; font-size:15.5px; line-height:1.7; }
.email-body p { margin:0 0 14px; }
.replies-section { padding:121px 0 110px; }
.replies-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start; }
.reply .slot-missing { min-height:200px; }
.calendar-section { padding:110px 0; background:var(--forest); color:var(--paper); }
.calendar-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(40px,7vw,100px); align-items:center; }
.calendar-copy .eyebrow { color:var(--green); }
.calendar-copy h2 em { color:var(--green); }
.calendar-copy > p:not(.eyebrow) { max-width:420px; margin:26px 0 0; color:rgba(245,241,232,.72); font-size:16px; line-height:1.7; }
.calendar-section .shot-frame { border-color:rgba(245,241,232,.2); box-shadow:12px 12px 0 var(--green); }
.quote-section { padding:110px 0; }
.quote { max-width:860px; margin:0 auto; text-align:center; }
.quote blockquote { margin:0; font:600 clamp(28px,3.4vw,46px)/1.2 var(--serif); letter-spacing:-.04em; }
.quote figcaption { display:flex; flex-direction:column; gap:6px; margin-top:30px; font-size:15px; }
.quote figcaption > span { color:var(--muted); font:12px var(--mono); text-transform:uppercase; letter-spacing:.05em; }
@media (max-width:760px) {
  .case-stats { width:calc(100vw - 60px); }
  .case-stat-main { padding-left:24px; padding-top:56px; }
  .snapshot { grid-template-columns:1fr 1fr; gap:24px 18px; }
  .challenge-section,.replies-section { padding:82px 0; }
  .challenge-grid,.email-grid,.calendar-grid,.shots-grid,.replies-grid,.before-after { grid-template-columns:minmax(0,1fr); }
  .email-section,.calendar-section,.quote-section { padding:82px 0; }
  .email-card { box-shadow:10px 10px 0 var(--forest); }
  .slot-missing,.shot-wide .slot-missing { min-height:200px; }
}
@media (prefers-reduced-motion:reduce) { .shot-frame { transition:none; } }

/* ---- v3: totals, replies, fit, guarantee ---- */
.totals { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:40px; border:1px solid var(--line); }
.totals > div { display:flex; flex-direction:column; gap:10px; padding:26px 24px; border-left:1px solid var(--line); }
.totals > div:first-child { border-left:0; }
.totals strong { font:700 clamp(40px,4vw,58px)/.9 var(--serif); letter-spacing:-.05em; color:var(--forest); }
.totals span { color:var(--muted); font:11px/1.35 var(--mono); text-transform:uppercase; letter-spacing:.06em; }
.totals-hi { background:var(--forest); }
.totals-hi strong { color:var(--green); }
.totals-hi span { color:rgba(245,241,232,.7); }
.replies-section { background:var(--cream); }
.replies-section .shot-frame { background:#fff; }
.replies-grid { display:block; columns:2; column-gap:22px; }
.replies-grid .reply { break-inside:avoid; margin-bottom:22px; }
.fit-section { border-top:0; }
.guarantee-section { padding:0 0 120px; }
.guarantee { display:grid; grid-template-columns:auto 1fr; gap:clamp(36px,6vw,80px); align-items:center; padding:clamp(36px,5vw,64px); background:var(--green); color:var(--forest); }
.guarantee-seal { display:flex; flex-direction:column; align-items:center; justify-content:center; width:190px; height:190px; border-radius:50%; background:var(--forest); color:var(--green); transform:rotate(-8deg); box-shadow:0 0 0 8px var(--green),0 0 0 9px var(--forest); }
.guarantee-seal strong { font:700 84px/.9 var(--serif); letter-spacing:-.06em; }
.guarantee-seal span { margin-top:6px; color:var(--paper); font:11px/1 var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.guarantee h2 { font-size:clamp(36px,4vw,58px); }
.guarantee h2 em { color:var(--forest); font-style:italic; text-decoration:underline; text-decoration-color:var(--orange); text-decoration-thickness:3px; text-underline-offset:6px; }
.guarantee-copy > p:not(.eyebrow) { max-width:560px; margin:22px 0 0; font-size:16.5px; line-height:1.7; }
@media (max-width:760px) {
  .totals { grid-template-columns:1fr 1fr; }
  .totals > div:nth-child(3) { border-left:0; }
  .totals > div:nth-child(n+3) { border-top:1px solid var(--line); }
  .replies-grid { columns:1; }
  .guarantee-section { padding-bottom:82px; }
  .guarantee { grid-template-columns:minmax(0,1fr); }
  .guarantee-seal { width:140px; height:140px; }
  .guarantee-seal strong { font-size:60px; }
}

/* ---- v3 fixes: lining figures on big numbers; replies at one shared scale ---- */
.case-stat strong,.totals strong,.guarantee-seal strong,.result-number { font-variant-numeric:lining-nums; }
.replies-grid { columns:auto; display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start; }
.replies-col { display:flex; flex-direction:column; gap:22px; min-width:0; }
.replies-grid .reply { margin:0; }
.reply img { width:min(100%, calc(var(--w) * .6px)); }
@media (max-width:760px) { .replies-grid { grid-template-columns:minmax(0,1fr); } }
