/* Rootline Marketing — v2 · design register: SaaS-for-trades (Jobber/Topline energy, own skin) */
:root{
  --white:#ffffff; --offwhite:#f5f2ec; --sand:#f1e9da;
  --ink:#1a241e; --soft:#4c5a51; --line:#e3dbc9;
  --pine:#1b5e37; --deep:#12402a; --grass:#3e9e5c; --grass-soft:#e3f1e7;
  --gold:#e0a63c;
  --r:14px; --shadow:0 2px 16px rgba(26,36,30,.09), 0 14px 38px rgba(26,36,30,.08);
  /* P11 grass-clippings pattern, reused only on --offwhite sections (never on white or the hero) */
  --p11:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cg fill='%231b5e37' fill-opacity='0.065'%3E%3Cpath d='M10 20 Q16 14 22 20 Q16 22 10 20 Z' transform='rotate(15 16 20)'/%3E%3Cpath d='M60 12 Q66 6 72 12 Q66 14 60 12 Z' transform='rotate(-40 66 12)'/%3E%3Cpath d='M40 55 Q46 49 52 55 Q46 57 40 55 Z' transform='rotate(80 46 55)'/%3E%3Cpath d='M80 70 Q86 64 92 70 Q86 72 80 70 Z' transform='rotate(-10 86 70)'/%3E%3Cpath d='M18 82 Q24 76 30 82 Q24 84 18 82 Z' transform='rotate(50 24 82)'/%3E%3C/g%3E%3C/svg%3E");
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--ink);font:17px/1.65 "Figtree",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,.disp{font-family:"Bricolage Grotesque","Figtree",sans-serif;line-height:1.08;letter-spacing:-.015em}
img{max-width:100%}
a{color:var(--pine)}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

/* nav */
.nav{position:sticky;top:0;z-index:40;background:var(--herobg,var(--offwhite))}
.nav .wrap{display:flex;align-items:center;gap:26px;height:68px}
.logo{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:21px;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.logo span{color:var(--pine)}
.nav a.link{color:var(--soft);text-decoration:none;font-weight:600;font-size:15px}
.nav a.link:hover{color:var(--ink)}
.nav .spacer{flex:1}
.btn{display:inline-block;background:var(--pine);color:#fff;font-weight:700;font-size:16px;padding:13px 24px;border-radius:11px;text-decoration:none;border:2px solid var(--pine);transition:.15s}
.btn:hover{background:var(--deep);border-color:var(--deep)}
.btn.ghost{background:transparent;color:var(--pine)}
.btn.ghost:hover{background:var(--grass-soft)}
.btn.sm{padding:9px 16px;font-size:14px;border-radius:9px}
.btn.big{padding:16px 30px;font-size:17.5px}

/* hero — off-white, pattern-free (reserved for the incoming hero image) */
.hero{padding:85px 0 0;background:var(--offwhite)}
.hero.centered .wrap{display:block;max-width:820px;text-align:center}
.eyebrow{font-weight:700;font-size:13px;letter-spacing:.13em;color:var(--pine);text-transform:uppercase;margin-bottom:16px}
.hero h1{font-size:clamp(2.3rem,5.2vw,3.9rem);font-weight:800;margin-bottom:18px}
.hero h1 em{font-style:normal;color:var(--pine)}
.hero .sub{color:var(--soft);font-size:18.5px;max-width:34em;margin:0 auto 26px}
.ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero.centered .ctas,.hero.centered .chips{justify-content:center}
.chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}

/* lawn globe below hero */
.globe{position:relative;width:100%;margin-top:28px;line-height:0}
.globe img{width:100%;height:auto;display:block}
.globe::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(to bottom,transparent,var(--white) 92%)}
/* 40% top crop (image aspect 1659x948: 40% of height = 22.86% of width) */
.globe.crop40{overflow:hidden}
.globe.crop40 img{margin-top:-22.86%}
.chip{font-size:13.5px;font-weight:700;color:var(--deep);background:var(--grass-soft);border:1px solid #cfe5d6;border-radius:99px;padding:5px 14px}

/* phone mockup */
.phone{width:290px;margin:0 auto;background:#111d16;border-radius:34px;padding:12px 10px 16px;box-shadow:var(--shadow)}
.phone .screen{background:#f4f6f4;border-radius:24px;padding:14px 12px 18px;min-height:380px}
.phone .ptop{text-align:center;font-size:12px;color:#7b857e;font-weight:700;padding-bottom:10px;border-bottom:1px solid #e4e8e4;margin-bottom:12px}
.bub{max-width:85%;padding:9px 13px;border-radius:16px;font-size:13.5px;line-height:1.45;margin-bottom:9px}
.bub.in{background:#e4e8e4;color:#222;border-bottom-left-radius:5px}
.bub.out{background:var(--pine);color:#fff;margin-left:auto;border-bottom-right-radius:5px}
.bub .t{display:block;font-size:10.5px;opacity:.65;margin-top:3px}
.sysline{text-align:center;font-size:11px;color:#8a948d;margin:8px 0}

/* sections — exactly 3 backgrounds: white (default), offwhite, dark */
section.band{padding:80px 0;background:var(--white)}
section.band.offwhite{background:var(--offwhite) var(--p11)}
section.band.dark{background:var(--deep);color:#f2efe7;
  background-image:repeating-linear-gradient(90deg,rgba(242,239,231,.016) 0 70px,rgba(242,239,231,0) 70px 140px)}

/* B13 organic hedge section break — sits between two sections; its own background is transparent
   (so it shows the plain-white section as body-color), its path fill is the OFFWHITE section's color.
   Works because every non-offwhite band is exactly body/white. */
.hedge-brk{display:block;line-height:0}
.hedge-brk svg{display:block;width:100%;height:44px}
.hedge-brk path{fill:var(--offwhite)}

/* CTA seam — inverted: sits INSIDE the top of the dark band, flipped, filled with the light color above,
   so the P4 mower-stripe pattern keeps running uninterrupted behind it. */
.cta-hedge-top{position:absolute;top:0;left:0;width:100%;line-height:0;transform:scaleY(-1);pointer-events:none}
.cta-hedge-top svg{display:block;width:100%;height:44px}
.cta-hedge-top path{fill:var(--offwhite)}
.kicker{font-weight:700;font-size:13px;letter-spacing:.13em;color:var(--pine);text-transform:uppercase;margin-bottom:10px}
.band h2{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:800;margin-bottom:14px;max-width:22em}
.band .lead{color:var(--soft);font-size:18px;max-width:38em}
.band.dark h2{color:#fff}
.band.dark .lead{color:#cfd8cf}

/* features */
.feat{display:grid;grid-template-columns:.88fr 1.12fr;gap:75px;align-items:center;padding:60px 0}
.feat.rev{grid-template-columns:1.12fr .88fr}
.feat.rev .feat-img{order:-1}
.feat h3{font-size:24px;font-weight:800;margin-bottom:10px}
.feat h3 .n{color:var(--grass);margin-right:8px}
.feat p{color:var(--soft);font-size:17px}
/* feature art — the client's generated images, framed as intentional card art (Jobber-style) */
.feat-img{border-radius:18px;overflow:hidden;border:1px solid var(--line)}
.feat-img img{display:block;width:100%;height:auto}

/* demo reel / work cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:34px}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.card .shot{height:130px;background:repeating-linear-gradient(-45deg,var(--sand),var(--sand) 10px,#eae1cf 10px,#eae1cf 20px);display:flex;align-items:center;justify-content:center;color:#8d8264;font-size:12px;font-weight:700;letter-spacing:.06em}
.card .pad{padding:14px 16px 16px}
.badge{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.09em;background:var(--ink);color:var(--offwhite);border-radius:5px;padding:3px 8px;margin-bottom:8px}
.card h4{font-size:16px;font-weight:800}
.card .mut{color:#98917e;font-size:12.5px}
.work .card .shot{height:210px}
.notice{list-style:none;margin-top:10px}
.notice li{font-size:14px;color:var(--soft);padding:2px 0 2px 22px;position:relative}
.notice li::before{content:"✓";position:absolute;left:0;color:var(--grass);font-weight:800}

/* founder — FD-C pull-quote band */
.pq-wrap{max-width:680px;margin:0 auto;text-align:center}
.pq-portrait{width:96px;height:96px;border-radius:50%;margin:0 auto 22px;overflow:hidden;background:linear-gradient(160deg,#dfe8df,#c6d6c6);display:flex;align-items:center;justify-content:center;color:#6d7d6d;font-weight:700;font-size:10px;box-shadow:var(--shadow);text-align:center}
.pq-line{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:clamp(1.7rem,3.6vw,2.4rem);line-height:1.18;color:var(--ink);margin-bottom:22px}
.pq-body{color:var(--soft);font-size:16.5px;max-width:44em;margin:0 auto 20px}
.pq-sig{font-weight:800;font-family:"Bricolage Grotesque",sans-serif;margin-bottom:6px}
.pq-wrap .chips{justify-content:center}

/* press bar — PR-B marquee */
.press{padding:44px 0}
.press .plabel{text-align:center;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#98917e;margin-bottom:26px}
.marquee-wrap{overflow:hidden;position:relative;padding:6px 0;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;align-items:center;gap:64px;width:max-content;animation:marquee 40s linear infinite}
.marquee-wrap:hover .marquee-track{animation-play-state:paused}
.mgroup{display:flex;align-items:center;gap:64px;flex-shrink:0}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-track img{height:32px;width:auto;max-width:160px;filter:brightness(0);opacity:.5;flex-shrink:0;transition:.15s}
.marquee-track img:hover{opacity:.85}

/* faq — FQ-B split (no text-me card) */
.faq{max-width:760px;margin-top:30px}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:16px 20px;box-shadow:0 1px 5px rgba(26,36,30,.04)}
.faq summary{font-weight:800;font-size:16.5px;cursor:pointer;font-family:"Bricolage Grotesque",sans-serif}
.faq summary::marker{color:var(--grass)}
.faq p{color:var(--soft);padding-top:10px;font-size:16px}
.faq-split{display:grid;grid-template-columns:320px 1fr;gap:44px;align-items:start}
.faq-split .fs-left{position:sticky;top:92px}
.faq-split .faq{margin-top:0;max-width:none}

/* pricing */
.pricebox{background:var(--white);border:2px solid var(--pine);border-radius:20px;padding:40px;max-width:520px;box-shadow:var(--shadow)}
.pricenum{font-family:"Bricolage Grotesque",sans-serif;font-size:64px;font-weight:800;line-height:1}
.pricenum small{font-size:20px;font-weight:600;color:var(--soft)}
.free{color:var(--pine);font-weight:800;font-size:19px;margin-top:6px}
.incl{list-style:none;margin-top:26px;columns:2;gap:34px;max-width:860px}
.incl li{font-size:16.5px;padding:6px 0 6px 30px;position:relative;break-inside:avoid}
.incl li::before{content:"✓";position:absolute;left:0;top:6px;color:var(--grass);font-weight:800;font-size:18px}
.guarantee{background:var(--grass-soft);border:1px solid #cfe5d6;border-radius:var(--r);padding:24px 28px;max-width:680px;font-size:17px}

/* cta band — extra top/bottom room for the inverted hedge overlay */
section.band.ctaband{text-align:center;position:relative;padding:150px 0 110px}
.ctaband h2{margin-left:auto;margin-right:auto}
.ctaband .small{color:#b9c8ba;font-size:15px;margin-top:18px}

/* footer — darker green than the CTA band, white text at reduced opacity */
footer{background:#0d301f;padding:34px 0;color:rgba(255,255,255,.55);font-size:14px}
footer .wrap{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
footer a{color:rgba(255,255,255,.72);text-decoration:none}
footer a:hover{color:rgba(255,255,255,.95)}
footer .spacer{flex:1}

/* go page */
.go{max-width:720px;margin:0 auto;padding:44px 24px 80px;text-align:center}
.go .logo{font-size:24px}
.go h1{font-size:clamp(1.8rem,4.2vw,2.6rem);font-weight:800;margin:30px 0 14px}
.go .step{font-size:18px;color:var(--soft);margin-bottom:26px}
.vsl{aspect-ratio:16/9;border-radius:18px;background:linear-gradient(150deg,#173d28,#0e2a1b);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#dfe8df;box-shadow:var(--shadow);margin-bottom:22px}
.play{width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;font-size:26px;color:#fff;margin-bottom:14px}
.ps{font-size:16px;color:var(--soft);max-width:32em;margin:0 auto 40px}
.calslot{border:2px dashed var(--line);border-radius:var(--r);background:var(--white);padding:56px 20px;color:#98917e;font-weight:600;margin-bottom:18px}

/* legal */
.legal{max-width:720px;margin:0 auto;padding:56px 24px}
.legal h1{font-size:32px;margin-bottom:22px}
.legal h2{font-size:20px;margin:26px 0 8px}
.legal p{color:var(--soft);margin-bottom:12px;font-size:15.5px}

@media(max-width:860px){
  .hero .wrap{grid-template-columns:1fr;gap:40px}
  .feat{grid-template-columns:1fr;gap:22px}
  .feat.rev{grid-template-columns:1fr}
  .feat.rev .feat-img{order:0}
  .feat-img{max-width:100%}
  .faq-split{grid-template-columns:1fr}
  .faq-split .fs-left{position:static;margin-bottom:8px}
  .incl{columns:1}
  .nav a.hidem{display:none}
}
@media(max-width:640px){
  .marquee-track{gap:44px}
  .mgroup{gap:44px}
  .marquee-track img{height:24px;max-width:120px}
}

/* v2.2 tweaks */
.pq-portrait img{width:100%;height:100%;object-fit:cover;display:block}
.press{padding:0 0 63px}

/* v2.3 — "not a lead-gen site" comparison */
.vs-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px;max-width:880px}
.vs-card{border-radius:16px;padding:26px 28px;border:1px solid var(--line)}
.vs-card.them{background:var(--offwhite)}
.vs-card.us{background:var(--grass-soft);border-color:#cfe5d6}
.vs-card h3{font-size:17px;font-weight:800;margin-bottom:14px;letter-spacing:.02em}
.vs-card.them h3{color:#8a8577}
.vs-card.us h3{color:var(--deep)}
.vs-card ul{list-style:none}
.vs-card li{font-size:15.5px;padding:5px 0 5px 26px;position:relative;color:var(--soft)}
.vs-card.us li{color:#2e4436}
.vs-card.them li::before{content:"✗";position:absolute;left:0;color:#b3452f;font-weight:800}
.vs-card.us li::before{content:"✓";position:absolute;left:0;color:var(--grass);font-weight:800}
@media(max-width:720px){.vs-grid{grid-template-columns:1fr}}

/* v2.3 — "what happens next" timeline */
.steps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;margin-top:40px;position:relative}
.step{position:relative}
.step .snum{width:46px;height:46px;border-radius:50%;background:var(--pine);color:#fff;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:19px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;position:relative;z-index:1}
.steps::before{content:"";position:absolute;top:23px;left:60px;right:60px;border-top:2px dashed var(--line)}
.step h3{font-size:19px;font-weight:800;margin-bottom:8px}
.step h3 small{display:block;font-size:13px;font-weight:700;color:var(--grass);margin-top:2px}
.step p{color:var(--soft);font-size:15.5px}
@media(max-width:720px){.steps{grid-template-columns:1fr;gap:28px}.steps::before{display:none}}
/* when the section above the CTA is white, the inverted hedge bleeds white */
.cta-hedge-top.light path{fill:var(--white)}

/* v2.4 — centered lead-gen section */
#not-leadgen .wrap{text-align:center}
#not-leadgen h2{margin-left:auto;margin-right:auto}
#not-leadgen .lead{margin-left:auto;margin-right:auto}
#not-leadgen .vs-grid{margin-left:auto;margin-right:auto}
.vs-card ul{text-align:left}

/* v2.5 — centered features header; founder spacing (tighter top, roomier bottom) */
#features .wrap>.kicker{text-align:center}
#features .wrap>h2{text-align:center;margin-left:auto;margin-right:auto}
#founder{padding:16px 0 70px}

/* v2.6 — pricing page (PR-3 hero + comparison, PR-1 spread) */
.pricenum.xl{font-size:78px;margin-top:30px}
.cost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.cost-card{border:1px solid var(--line);border-radius:16px;padding:26px 24px;background:var(--offwhite)}
.cost-card h3{font-size:13.5px;font-weight:800;letter-spacing:.06em;color:#8a8577;margin-bottom:14px}
.cost-card .cost-num{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:32px;margin-bottom:8px}
.cost-card p{color:var(--soft);font-size:14.5px;line-height:1.55}
.cost-card.us{background:var(--grass-soft);border-color:#cfe5d6}
.cost-card.us h3{color:var(--deep)}
.cost-card.us .cost-num{color:var(--deep)}
.cost-card.us p{color:#2e4436}
.split2{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start;margin-top:6px}
.split2 h3{font-size:22px;font-weight:800;margin-bottom:12px}
.incl.solo{columns:1}
@media(max-width:860px){.cost-grid{grid-template-columns:1fr}.split2{grid-template-columns:1fr;gap:26px}}

/* v2.6.1 — pricing section rhythm (values tuned by Jovan via spacing tool) */
#phero{padding:84px 0 98px}
#math{padding:78px 0 76px}
#included{padding-top:24px;padding-bottom:110px}

/* hedge variant: offwhite section above, white section below */
.hedge-brk.tolight{background:var(--offwhite)}
.hedge-brk.tolight path{fill:var(--white)}

/* v2.7 — our-work page (OW-2 case-study rows, no dividers, roomier rhythm) */
#owhero{padding:122px 0 18px}
.owrow{display:grid;grid-template-columns:.95fr 1.05fr;gap:52px;align-items:center;padding:64px 0}
.owrow.rev .owmock{order:2}
.owrow h3{font-size:23px;font-weight:800;margin-bottom:2px}
.owrow .mut{color:#98917e;font-size:14px}
.owrow .demo{margin-top:14px}
.owrow .demo li{font-size:15px}
.mock{border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:0 14px 34px rgba(26,36,30,.13);background:#fff}
.mock .mbar{display:flex;gap:6px;align-items:center;background:#e8e4da;padding:8px 12px}
.mock .mbar i{width:9px;height:9px;border-radius:50%;background:#cfc8b8;display:block}
.mock .mbar .murl{margin-left:8px;background:#fff;border-radius:6px;font-size:10.5px;color:#8d8264;padding:2px 10px}
.msite .mnav{display:flex;align-items:center;gap:10px;padding:10px 16px;font-weight:800;font-size:11px}
.msite .mnav .mlinks{margin-left:auto;display:flex;gap:10px;font-weight:600;font-size:9px;opacity:.75}
.msite .mnav .mcta{font-size:9px;font-weight:700;color:#fff;border-radius:6px;padding:4px 9px}
.msite .mhero{padding:24px 18px 20px;text-align:center}
.msite .mhero h5{font-family:"Bricolage Grotesque",sans-serif;font-size:17px;font-weight:800;line-height:1.2}
.msite .mhero p{font-size:9.5px;opacity:.75;margin-top:6px}
.msite .mhero .mbtn{display:inline-block;margin-top:10px;font-size:9px;font-weight:700;color:#fff;border-radius:6px;padding:5px 12px}
.msite .msec{padding:14px 16px 18px}
.msite .msec .mhead{font-size:9.5px;font-weight:800;margin-bottom:8px}
.msite .mrow{display:flex;gap:8px}
.msite .mrow .mc{flex:1;border-radius:8px}
.msite .mrow .mc .mcimg{height:34px;border-radius:8px 8px 0 0}
.msite .mrow .mc .mclab{font-size:7.5px;font-weight:700;padding:4px 6px 5px;opacity:.8}
.msite .mstrip{display:flex;gap:5px;align-items:center;justify-content:center;font-size:8.5px;padding:10px 0 14px;opacity:.8}
.msite .mstars{color:var(--gold);letter-spacing:1px}
.txtnote{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:0 12px 12px 0;padding:14px 20px;max-width:640px;margin:26px 0 90px;font-size:15.5px;color:var(--soft)}
@media(max-width:860px){.owrow{grid-template-columns:1fr;padding:44px 0}.owrow.rev .owmock{order:0}#owhero{padding:80px 0 10px}}

/* v2.8 — next-steps step images (Jovan's picks 1C/2B/3B), Jobber layout: image → number → title → text */
.steps::before{display:none}
.step .simg{border-radius:18px;overflow:hidden;margin-bottom:24px;border:1px solid var(--line)}
.step .simg img{display:block;width:100%}
.step .srow{display:flex;align-items:center;gap:18px;margin-bottom:16px}
.step .srow .snum{margin-bottom:0}
.step .srow::after{content:"";flex:1;border-top:2px dashed var(--line)}
.step:last-child .srow::after{border-top-color:transparent}

/* v2.9 — go page: GO-3 split layout on GO-4 dark theater, frosted pills */
.gohero{background:var(--deep);color:#f2efe7;padding:60px 0 74px;
  background-image:repeating-linear-gradient(90deg,rgba(242,239,231,.016) 0 90px,transparent 90px 180px)}
.gohero .logo{color:#fff;font-size:24px}
.gohero .logo span{color:#7fc596}
.gohero h1{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;line-height:1.25;color:#fff;max-width:26em;margin:26px 0 34px}
.gogrid{display:grid;grid-template-columns:1.5fr .9fr;gap:44px;align-items:start}
.gohero .vsl{margin:0;background:#0b1d14;box-shadow:0 0 0 10px rgba(255,255,255,.05),0 30px 70px rgba(0,0,0,.45)}
.goside{position:sticky;top:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:26px 28px;text-align:left}
.goside h3{font-family:"Bricolage Grotesque",sans-serif;font-size:17px;font-weight:800;color:#fff;margin-bottom:12px}
.goside .notice li{color:#cfd8cf;font-size:15px}
.goside .down{margin-top:18px;font-size:14.5px;font-weight:700;color:#9fd4ae}
.gohero .chips{display:flex;gap:10px;justify-content:center;margin-top:36px;flex-wrap:wrap}
.gohero .chip{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.16);color:#e8efe8}
.gocal{padding:74px 0 64px;text-align:center;background:var(--offwhite) var(--p11)}
.gocal .fnd{display:flex;align-items:center;gap:14px;justify-content:center;margin-bottom:24px}
.gocal .fnd img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.gocal .fnd p{text-align:left;font-size:15.5px;color:var(--soft);max-width:22em}
.gocal h2{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:800;margin-bottom:26px}
.gocal .calslot{max-width:760px;margin:0 auto 18px}
@media(max-width:860px){.gogrid{grid-template-columns:1fr}.goside{position:static}.gohero{padding:44px 0 60px}}

/* v2.10 — go refinements (panel matches video height, left pills) + hero CTA spacing */
.gogrid{align-items:stretch}
.goside{position:static;display:flex;flex-direction:column}
.goside .down{margin-top:auto;padding-top:18px}
.gohero .chips{justify-content:flex-start}
.hero .ctas{margin-top:30px}
.gocal .fnd{margin:30px 0 0}

/* v2.11 — hero buttons inverted (Book dominant), tighter nav button pair, less gap above features */
.btn.ghost.white{background:#fff}
.btn.ghost.white:hover{background:var(--grass-soft)}
.nav .btn.sm.ghost{margin-right:-14px}
#features{padding-top:10px}

/* v2.12 — hero watch button matches hero bg; go side panel gets bright book button */
html{scroll-behavior:smooth}
.btn.ghost.white{background:var(--herobg,#fff)}
.goside .down-btn{margin-top:auto;background:#fff;color:var(--deep);border-color:#fff;text-align:center;font-size:15px}
.goside .down-btn:hover{background:var(--grass-soft);border-color:var(--grass-soft)}

/* v2.13 — CTA band: Debbie title + both buttons */
.cta-btns{margin-top:28px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cta-solid{background:#fff;color:var(--deep);border-color:#fff}
.cta-solid:hover{background:var(--offwhite);border-color:var(--offwhite);color:var(--deep)}
.cta-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.cta-outline:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7)}
.ctaband h2{margin-left:auto;margin-right:auto;max-width:30em}

/* v2.14 - legal page lists (Fable review) */
.legal ul{margin:10px 0 16px 22px}
.legal li{color:#3d443f;font-size:15.5px;margin-bottom:6px}

/* v2.15 - nav bottom border appears only after scrolling starts */
.nav{border-bottom:1px solid transparent;transition:border-color .25s}
.nav.scrolled{border-bottom-color:rgba(26,36,30,.09)}

/* v2.16 - SVG logo lockup */
.logo{display:inline-flex;align-items:center}
.logo img{height:34px;display:block}

/* v2.17 - final footer: FT-3 mega with hedge break + phone under logo */
.foot-hedge{background:var(--deep) repeating-linear-gradient(90deg,rgba(242,239,231,.016) 0 70px,rgba(242,239,231,0) 70px 140px);line-height:0;margin-top:-1px}
.foot-hedge.onlight{background:var(--white)}
.foot-hedge svg{display:block;width:100%;height:44px}
.foot-hedge path{fill:#0d301f}
footer.mega-foot{background:#0d301f;padding:46px 0 28px;color:rgba(255,255,255,.55);font-size:14px}
footer.mega-foot .wrap{display:block}
.mega{display:grid;grid-template-columns:1.7fr .85fr 1.1fr 1fr;gap:34px}
.mega h5{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:14px}
.mega ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:14px}
.mega a{color:rgba(255,255,255,.72);text-decoration:none}
.mega a:hover{color:#fff}
.mega .fmut{color:rgba(255,255,255,.38)}
.fcol1 .flogo-img{display:block;height:32px;width:auto}
.fphone{display:inline-block;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:31px;color:#fff !important;text-decoration:none;letter-spacing:-.01em;margin:16px 0 12px}
.fcol1 p{color:rgba(255,255,255,.45);font-size:13.5px;max-width:17em;line-height:1.5;margin:0}
.fdiv{margin-top:36px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px;color:rgba(255,255,255,.35);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.fdiv .flinks a{color:rgba(255,255,255,.45);text-decoration:none;margin-left:14px}
.fdiv .flinks a:hover{color:#fff}
@media(max-width:900px){.mega{grid-template-columns:1fr 1fr}.fcol1{grid-column:1/-1}}

/* v2.17.1 - footer support email label */
.fsub{display:block;font-size:14px;font-weight:600;color:rgba(255,255,255,.42);margin-bottom:3px}

/* v2.18 - scroll reveal TEST: #2 staggered cascade on homepage sections 1-3 */
@media (prefers-reduced-motion: no-preference){
  .rv{opacity:0;transform:translateY(24px);transition:opacity .5s ease-out,transform .6s cubic-bezier(.22,.61,.36,1)}
  .rv.in{opacity:1;transform:none}
}
