/*
Theme Name: SynthTree
Theme URI: https://synthtree.example
Author: SynthTree
Author URI: https://synthtree.example
Description: Custom WordPress theme converted from the SynthTree marketing prototype. Multi-page: Home, Personal AI Workspace, For Firms, Assessment, Book a Call, Contact and Privacy. The original design, layout and styling are preserved; navigation uses real WordPress page URLs.
Version: 14.6
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: synthtree
*/

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--head);line-height:1.14;letter-spacing:-.02em}
a{text-decoration:none;color:inherit}
:root{
  --dark:#022E34;--dark-2:#063b43;--offwhite:#F0F4F8;--green:#63D954;--ink:#022E34;
  --muted:rgba(240,244,248,.62);--muted-dark:rgba(2,46,52,.6);
  --head:'Inter',sans-serif;--body:'Montserrat',sans-serif;--maxw:1140px;--emerald:#177E78;--gold:#C8AB4F;
}
/* shared primitives for global nav/footer (pages override within their own scope) */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;width:100%}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--head);font-weight:700;font-size:1rem;
  padding:13px 26px;border-radius:8px;cursor:pointer;border:1.5px solid transparent;
  transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .2s,color .2s;white-space:nowrap}
.btn-primary{background:var(--green);color:var(--dark);box-shadow:0 8px 24px -8px rgba(99,217,84,.55)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 38px -8px rgba(99,217,84,.7)}
.btn .arrow{transition:transform .25s}
.btn:hover .arrow{transform:translateX(4px)}

/* ===== GLOBAL SITE NAV ===== */
.site-nav{position:sticky;top:0;z-index:200;background:var(--dark);border-bottom:1px solid rgba(99,217,84,.14)}
.site-nav .bar{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:11px;color:var(--offwhite);font-family:var(--head);font-weight:800;font-size:1.24rem;cursor:pointer;background:none;border:none}
.brand img{height:34px;width:auto;display:block}
.nav-right{display:flex;align-items:center;gap:34px}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{color:rgba(240,244,248,.82);font-size:.92rem;font-weight:500;font-family:var(--head);position:relative;cursor:pointer;transition:color .2s;background:none;border:none;padding:0}
.nav-links a:hover{color:var(--green)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--green);transition:width .25s}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-links a.active{color:var(--green)}
.nav-cta{font-size:.9rem;padding:11px 20px;box-shadow:none}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
.menu-toggle span{width:24px;height:2px;background:var(--offwhite);display:block;transition:.3s}

/* ===== GLOBAL FOOTER ===== */
.site-foot{background:var(--dark);color:var(--offwhite);padding:70px 0 0;border-top:1px solid rgba(99,217,84,.12)}
.site-foot .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:50px}
.site-foot .foot-logo{display:flex;align-items:center;gap:11px;font-family:var(--head);font-weight:800;font-size:1.24rem;margin-bottom:16px}
.site-foot .foot-logo img{height:34px;width:auto;display:block}
.site-foot .foot-tag{color:var(--muted);font-size:.95rem;max-width:280px}
.site-foot .foot-tag.foot-loc{margin-top:10px;font-size:.8rem;line-height:1.5}
.site-foot .foot-col h4{font-family:var(--head);font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--green);margin-bottom:20px;font-weight:700}
.site-foot .foot-col a{display:block;color:rgba(240,244,248,.78);font-size:.94rem;margin-bottom:13px;transition:color .2s;cursor:pointer}
.site-foot .foot-col a:hover{color:var(--green)}
.site-foot .socials{display:flex;gap:14px;margin-top:8px}
.site-foot .socials a{width:38px;height:38px;border:1px solid rgba(99,217,84,.25);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:.2s}
.site-foot .socials a:hover{background:var(--green);color:var(--dark);border-color:var(--green)}
.site-foot .socials svg{width:18px;height:18px}
.site-foot .foot-bottom{border-top:1px solid rgba(99,217,84,.12);padding:24px 0;text-align:center;color:var(--muted);font-size:.86rem}

/* ===== PAGE SWITCHING ===== */
.st-page{display:block;animation:pagefade .45s ease}
@keyframes pagefade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media(max-width:860px){
  .site-foot .foot-grid{grid-template-columns:1fr 1fr}
  .site-foot .foot-col:first-child{grid-column:1/-1}
  .nav-links{position:fixed;top:76px;left:0;right:0;background:var(--dark);flex-direction:column;align-items:flex-start;
    gap:0;padding:0 28px;max-height:0;overflow:hidden;transition:max-height .35s ease;border-bottom:1px solid rgba(99,217,84,.12)}
  .nav-links.open{max-height:420px;padding:14px 28px 24px}
  .nav-links a{padding:12px 0;width:100%}
  .menu-toggle{display:flex}
  .nav-cta{display:none}
  .nav-links .nav-cta{display:inline-flex;margin-top:8px}
}
@media(max-width:560px){
  .site-foot .foot-grid{grid-template-columns:1fr}
}

/* ===== keyframes ===== */
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
/* ===== per-page scoped styles ===== */
/* ===== home ===== */
#page-home{
    --dark:#022E34;
    --dark-2:#063b43;
    --offwhite:#F0F4F8;
    --green:#63D954;
    --ink:#022E34;
    --muted:rgba(240,244,248,.62);
    --muted-dark:rgba(2,46,52,.6);
    --card-shadow:0 24px 60px -20px rgba(2,46,52,.35);
    --head:'Inter',sans-serif;
    --body:'Montserrat',sans-serif;
    --maxw:1140px;
  }
#page-home h1, #page-home h2, #page-home h3, #page-home h4{font-family:var(--head);line-height:1.14;letter-spacing:-.02em}
#page-home a{text-decoration:none;color:inherit}
#page-home .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;width:100%}
#page-home .section{padding:130px 0}
#page-home /* buttons */
  .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--head);font-weight:700;font-size:1rem;
    padding:16px 32px;border-radius:8px;cursor:pointer;border:1.5px solid transparent;
    transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .2s,color .2s;white-space:nowrap}
#page-home /* green CTA - only ever on dark-green sections */
  .btn-primary{background:var(--green);color:var(--dark);box-shadow:0 8px 24px -8px rgba(99,217,84,.55)}
#page-home .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 38px -8px rgba(99,217,84,.7)}
#page-home /* dark CTA - for light/off-white surfaces (offer cards) */
  .btn-solid-dark{background:var(--dark);color:var(--offwhite);box-shadow:0 8px 24px -8px rgba(2,46,52,.45)}
#page-home .btn-solid-dark:hover{transform:translateY(-2px);box-shadow:0 16px 38px -10px rgba(2,46,52,.6);background:var(--dark-2)}
#page-home /* ghost CTA - only on dark-green sections */
  .btn-ghost{background:transparent;color:var(--green);border-color:var(--green)}
#page-home .btn-ghost:hover{background:rgba(99,217,84,.12);transform:translateY(-2px)}
#page-home .btn-lg{font-size:1.12rem;padding:21px 46px}
#page-home .btn .arrow{transition:transform .25s}
#page-home .btn:hover .arrow{transform:translateX(4px)}
#page-home /* labels - green by default (dark sections); overridden per light section */
  .label{font-family:var(--head);font-weight:700;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;
    color:var(--green);display:inline-block;margin-bottom:24px}
#page-home /* nav */
  header{position:sticky;top:0;z-index:100;background:var(--dark);border-bottom:1px solid rgba(99,217,84,.12)}
#page-home nav{display:flex;align-items:center;justify-content:space-between;height:76px}
#page-home .logo{display:flex;align-items:center;gap:11px;color:var(--offwhite);font-family:var(--head);font-weight:800;font-size:1.24rem}
#page-home .logo .logo-mark{height:34px;width:auto;flex:none;display:block}
#page-home .nav-right{display:flex;align-items:center;gap:36px}
#page-home .nav-links{display:flex;align-items:center;gap:32px}
#page-home .nav-links a{color:rgba(240,244,248,.82);font-size:.92rem;font-weight:500;position:relative;transition:color .2s}
#page-home .nav-links a:hover{color:var(--green)}
#page-home .nav-links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--green);transition:width .25s}
#page-home .nav-links a:not(.btn):hover::after{width:100%}
#page-home .nav-cta{font-size:.9rem;padding:12px 22px;box-shadow:none}
#page-home .menu-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px}
#page-home .menu-toggle span{width:24px;height:2px;background:var(--offwhite);display:block;transition:.3s}
#page-home /* hero - left-aligned, #page-home two-column with orbital visual */
  .hero{background:var(--dark);color:var(--offwhite);position:relative;overflow:hidden;padding:120px 0 130px}
#page-home .hero::before{content:"";position:absolute;inset:0;background:
    radial-gradient(circle at 80% 20%,rgba(99,217,84,.10),transparent 45%),
    radial-gradient(circle at 10% 90%,rgba(99,217,84,.06),transparent 40%);pointer-events:none}
#page-home .hero .wrap{position:relative;z-index:2}
#page-home .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
#page-home .hero h1{font-size:clamp(2.5rem,5vw,3.75rem);font-weight:800;margin-bottom:26px}
#page-home .hero h1 .accent{color:var(--green)}
#page-home .hero .sub{font-size:clamp(1.08rem,1.7vw,1.22rem);color:var(--muted);max-width:560px;margin-bottom:22px;line-height:1.55}
#page-home .hero .body{font-size:1rem;color:rgba(240,244,248,.8);margin-bottom:36px;font-weight:500}
#page-home .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:26px}
#page-home .hero-support{font-size:.86rem;color:var(--muted)}
#page-home .hero-visual{position:relative;display:flex;justify-content:center;align-items:center;min-height:380px}
#page-home .hero-visual svg{width:100%;max-width:460px;height:auto}
#page-home /* aspiration */
  .aspiration{background:#fff;text-align:center}
#page-home .aspiration .wrap{max-width:760px}
#page-home .aspiration p{font-family:var(--head);font-weight:600;font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.4;letter-spacing:-.02em;color:var(--ink)}
#page-home .aspiration p + p{margin-top:34px;font-family:var(--body);font-weight:400;font-size:clamp(1.05rem,1.6vw,1.2rem);
    line-height:1.6;color:var(--muted-dark);letter-spacing:0}
#page-home .aspiration .em{color:var(--dark);font-weight:600}
#page-home /* problem */
  .problem{background:var(--offwhite)}
#page-home .problem h2{font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:800;max-width:640px;margin-bottom:60px;color:var(--dark)}
#page-home .problem h2 .accent{color:var(--dark)}
#page-home .cols-2{display:grid;grid-template-columns:1fr 1fr;gap:54px}
#page-home .pain{border-top:3px solid var(--dark);padding-top:26px}
#page-home .pain h3{font-size:1.3rem;font-weight:800;margin-bottom:14px}
#page-home .pain p{color:var(--muted-dark);font-size:1.02rem;max-width:440px}
#page-home /* solution */
  .solution{background:var(--dark);color:var(--offwhite);text-align:center}
#page-home .solution .wrap{max-width:760px}
#page-home .solution h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800;margin-bottom:30px}
#page-home .solution p{font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--muted);line-height:1.6}
#page-home .solution p + p{margin-top:22px;color:rgba(240,244,248,.9);font-weight:500}
#page-home /* how it works (white) */
  .how{background:#fff}
#page-home .how .label{display:block;text-align:center;color:var(--dark)}
#page-home .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;margin-top:30px}
#page-home .step{padding:0 34px;text-align:center;position:relative}
#page-home .step:not(:last-child)::after{content:"";position:absolute;top:34px;right:-1px;width:calc(100% - 68px);
    height:2px;background:repeating-linear-gradient(90deg,rgba(2,46,52,.3) 0 8px,transparent 8px 16px);transform:translateX(50%)}
#page-home .step .num{font-family:var(--head);font-weight:900;font-size:3.6rem;color:var(--dark);line-height:1;margin-bottom:18px;position:relative;z-index:2;display:inline-block;background:#fff;padding:0 14px}
#page-home .step h3{font-size:1.32rem;font-weight:800;color:var(--dark);margin-bottom:12px}
#page-home .step p{color:var(--muted-dark);font-size:.98rem;max-width:300px;margin:0 auto}
#page-home /* offers (dark section, #page-home off-white cards) */
  .offers{background:var(--dark);color:var(--offwhite)}
#page-home .offers .head{text-align:center;margin-bottom:58px}
#page-home .offers .label{color:var(--offwhite);opacity:.78}
#page-home .offers h2{font-size:clamp(2rem,3.6vw,2.7rem);font-weight:800;color:var(--offwhite)}
#page-home .cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;align-items:stretch}
#page-home .offer-card{background:var(--offwhite);color:var(--dark);border-radius:14px;padding:42px 38px;position:relative;
    overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--card-shadow);transition:transform .3s,box-shadow .3s}
#page-home .offer-card:hover{transform:translateY(-6px);box-shadow:0 32px 70px -20px rgba(0,0,0,.5)}
#page-home /* accent stripe - dark green because the card surface is off-white */
  .offer-card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--green)}
#page-home .offer-card .for{font-size:.82rem;font-weight:700;color:var(--dark);text-transform:uppercase;letter-spacing:.07em;margin:8px 0 16px}
#page-home .offer-card h3{font-size:1.5rem;font-weight:800;margin-top:6px}
#page-home .offer-card .desc{color:var(--muted-dark);font-size:.97rem;margin-bottom:24px}
#page-home .offer-card ul{list-style:none;margin-bottom:30px}
#page-home .offer-card li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;font-size:.95rem;border-bottom:1px solid rgba(2,46,52,.08)}
#page-home .offer-card li:last-child{border-bottom:none}
#page-home .offer-card li svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--dark)}
#page-home .offer-card .btn{align-self:flex-start;margin-top:auto}
#page-home /* who (off-white) */
  .who{background:var(--offwhite)}
#page-home .who h2{font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:800;margin-bottom:14px;max-width:620px}
#page-home .who .body{color:var(--muted-dark);font-size:1.1rem;margin-bottom:34px;max-width:680px}
#page-home .chips{display:flex;flex-wrap:wrap;gap:12px}
#page-home .chip{background:var(--dark);color:var(--offwhite);padding:11px 24px;border-radius:30px;font-size:.92rem;font-weight:500;transition:transform .2s,background .2s}
#page-home .chip:hover{transform:translateY(-3px);background:var(--dark-2)}
#page-home /* primary cta (dark) */
  .primary-cta{background:var(--dark);color:var(--offwhite);text-align:center;position:relative;overflow:hidden}
#page-home .primary-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(99,217,84,.09),transparent 60%);pointer-events:none}
#page-home .primary-cta .wrap{position:relative;z-index:2;max-width:700px}
#page-home .primary-cta h2{font-size:clamp(2rem,3.8vw,2.8rem);font-weight:800;margin-bottom:24px}
#page-home .primary-cta .body{color:var(--muted);font-size:1.08rem;margin-bottom:40px;line-height:1.6}
#page-home .primary-cta .support{margin-top:24px;font-size:.9rem;color:var(--muted)}
#page-home /* secondary cta (white) */
  .secondary-cta{background:#fff}
#page-home .sec-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
#page-home .secondary-cta h2{font-size:clamp(1.6rem,2.8vw,2.1rem);font-weight:800;margin-bottom:20px}
#page-home .secondary-cta .body{color:var(--muted-dark);font-size:1.05rem;line-height:1.6}
#page-home .calendly{background:var(--offwhite);border:1.5px dashed rgba(2,46,52,.2);border-radius:14px;min-height:380px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;color:var(--muted-dark)}
#page-home .calendly .cal-ico{width:50px;height:50px;color:var(--dark);margin-bottom:18px}
#page-home .calendly strong{color:var(--ink);font-family:var(--head);font-size:1.05rem;display:block;margin-bottom:8px}
#page-home .calendly code{font-size:.78rem;background:rgba(2,46,52,.07);padding:3px 8px;border-radius:5px;color:var(--dark);font-family:monospace}
#page-home /* footer (dark) */
  footer{background:var(--dark);color:var(--offwhite);padding:70px 0 0}
#page-home .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:50px}
#page-home .foot-logo{display:flex;align-items:center;gap:11px;font-family:var(--head);font-weight:800;font-size:1.24rem;margin-bottom:16px}
#page-home .foot-logo .logo-mark{height:34px;width:auto;display:block}
#page-home .foot-tag{color:var(--muted);font-size:.95rem;max-width:280px}
#page-home .foot-col h4{font-family:var(--head);font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--green);margin-bottom:20px;font-weight:700}
#page-home .foot-col a{display:block;color:rgba(240,244,248,.78);font-size:.94rem;margin-bottom:13px;transition:color .2s}
#page-home .foot-col a:hover{color:var(--green)}
#page-home .socials{display:flex;gap:14px;margin-top:8px}
#page-home .socials a{width:38px;height:38px;border:1px solid rgba(99,217,84,.25);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:.2s}
#page-home .socials a:hover{background:var(--green);color:var(--dark);border-color:var(--green)}
#page-home .socials svg{width:18px;height:18px}
#page-home .foot-bottom{border-top:1px solid rgba(99,217,84,.12);padding:24px 0;text-align:center;color:var(--muted);font-size:.86rem}
#page-home /* reveal */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
#page-home .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){#page-home .reveal{opacity:1;transform:none;transition:none}}
#page-home /* responsive */
  @media(max-width:900px){
    .cols-2{grid-template-columns:1fr;gap:40px}
    .cards-2{grid-template-columns:1fr}
    .sec-grid{grid-template-columns:1fr;gap:36px}
    .hero-grid{grid-template-columns:1fr;gap:36px}
    .hero-visual{min-height:300px;max-width:380px;margin:0 auto}
    .steps{grid-template-columns:1fr;gap:48px}
    .step{padding:0}
    .step:not(:last-child)::after{display:none}
    .foot-grid{grid-template-columns:1fr 1fr}
    .foot-col:first-child{grid-column:1/-1}
  }
@media(max-width:680px){#page-home .section{padding:90px 0}#page-home .hero{padding:110px 0 120px}#page-home .nav-links{position:fixed;top:76px;left:0;right:0;background:var(--dark);flex-direction:column;align-items:flex-start;
      gap:0;padding:0 28px;max-height:0;overflow:hidden;transition:max-height .35s ease;border-bottom:1px solid rgba(99,217,84,.12)}#page-home .nav-links.open{max-height:320px;padding:14px 28px 24px}#page-home .nav-links a{padding:11px 0;width:100%}#page-home .menu-toggle{display:flex}#page-home .nav-cta{display:none}#page-home .nav-links .nav-cta{display:inline-flex;margin-top:8px}#page-home .foot-grid{grid-template-columns:1fr}}

/* ===== workspace ===== */
#page-workspace{
    --dark:#022E34;
    --dark-2:#063b43;
    --offwhite:#F0F4F8;
    --green:#63D954;
    --ink:#022E34;
    --muted:rgba(240,244,248,.62);
    --muted-dark:rgba(2,46,52,.6);
    --grey:#9CA3AF;
    --card-shadow:0 24px 60px -20px rgba(2,46,52,.35);
    --head:'Inter',sans-serif;
    --body:'Montserrat',sans-serif;
    --maxw:1140px;
  }
#page-workspace h1, #page-workspace h2, #page-workspace h3, #page-workspace h4{font-family:var(--head);line-height:1.14;letter-spacing:-.02em}
#page-workspace a{text-decoration:none;color:inherit}
#page-workspace .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;width:100%}
#page-workspace .section{padding:120px 0}
#page-workspace /* buttons */
  .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--head);font-weight:700;font-size:1rem;
    padding:16px 32px;border-radius:8px;cursor:pointer;border:1.5px solid transparent;
    transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .2s,color .2s;white-space:nowrap}
#page-workspace .btn-primary{background:var(--green);color:var(--dark);box-shadow:0 8px 24px -8px rgba(99,217,84,.55)}
#page-workspace .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 38px -8px rgba(99,217,84,.7)}
#page-workspace .btn-lg{font-size:1.12rem;padding:21px 46px}
#page-workspace .btn .arrow{transition:transform .25s}
#page-workspace .btn:hover .arrow{transform:translateX(4px)}
#page-workspace /* labels - green by default (dark sections); overridden per light section */
  .label{font-family:var(--head);font-weight:700;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;
    color:var(--green);display:inline-block;margin-bottom:24px}
#page-workspace .label.dark{color:var(--dark)}
#page-workspace /* sub-nav / breadcrumb */
  header{position:sticky;top:0;z-index:100;background:var(--dark);border-bottom:1px solid rgba(99,217,84,.12)}
#page-workspace .subnav{display:flex;align-items:center;justify-content:space-between;height:62px}
#page-workspace .subnav .back{display:inline-flex;align-items:center;gap:9px;color:rgba(240,244,248,.85);font-family:var(--head);
    font-weight:600;font-size:.92rem;transition:color .2s}
#page-workspace .subnav .back:hover{color:var(--green)}
#page-workspace .subnav .back .ar{transition:transform .25s}
#page-workspace .subnav .back:hover .ar{transform:translateX(-3px)}
#page-workspace .subnav .crumb{display:flex;align-items:center;gap:11px;color:var(--offwhite);font-family:var(--head);font-weight:700;font-size:1rem}
#page-workspace .subnav .crumb .logo-mark{height:26px;width:auto;display:block}
#page-workspace .subnav .crumb span{color:rgba(240,244,248,.55);font-weight:400}
#page-workspace /* hero (dark) */
  .hero{background:var(--dark);color:var(--offwhite);position:relative;overflow:hidden;padding:120px 0 130px}
#page-workspace .hero::before{content:"";position:absolute;inset:0;background:
    radial-gradient(circle at 82% 18%,rgba(99,217,84,.10),transparent 45%),
    radial-gradient(circle at 8% 92%,rgba(99,217,84,.06),transparent 42%);pointer-events:none}
#page-workspace .hero .wrap{position:relative;z-index:2;max-width:820px}
#page-workspace .hero h1{font-size:clamp(2.4rem,5vw,3.7rem);font-weight:800;margin-bottom:26px}
#page-workspace .hero .sub{font-size:clamp(1.08rem,1.7vw,1.24rem);color:var(--muted);max-width:620px;margin-bottom:38px;line-height:1.58}
#page-workspace /* what it is (white, #page-workspace centred) */
  .what-is{background:#fff;text-align:center}
#page-workspace .what-is .wrap{max-width:760px}
#page-workspace .what-is h2{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:800;color:var(--ink);margin-bottom:36px;max-width:680px;margin-left:auto;margin-right:auto}
#page-workspace .what-is p{font-size:clamp(1.05rem,1.55vw,1.18rem);color:var(--muted-dark);line-height:1.7}
#page-workspace .what-is p + p{margin-top:26px}
#page-workspace .what-is .em{color:var(--dark);font-weight:600}
#page-workspace /* what it handles (off-white, #page-workspace two-column list) */
  .handles{background:var(--offwhite)}
#page-workspace .handles h2{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:800;color:var(--ink);margin-bottom:18px;max-width:560px}
#page-workspace .handles .intro{color:var(--muted-dark);font-size:1.1rem;max-width:640px;margin-bottom:48px}
#page-workspace .handle-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 54px}
#page-workspace .handle{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid rgba(2,46,52,.1);font-size:1.02rem;color:var(--ink)}
#page-workspace .handle .dash{flex:none;width:18px;height:18px;margin-top:4px;color:var(--dark)}
#page-workspace /* how it's different (dark) */
  .different{background:var(--dark);color:var(--offwhite)}
#page-workspace .different .wrap{max-width:820px}
#page-workspace .different h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800;margin-bottom:34px}
#page-workspace .different .pull{font-family:var(--head);font-weight:600;font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1.45;
    color:var(--offwhite);border-left:3px solid var(--green);padding-left:26px;margin-bottom:34px}
#page-workspace .different p{font-size:clamp(1.04rem,1.55vw,1.18rem);color:rgba(240,244,248,.82);line-height:1.7}
#page-workspace .different p + p{margin-top:22px}
#page-workspace .different .em{color:#fff;font-weight:600}
#page-workspace /* how it works (white, #page-workspace vertical steps) */
  .process{background:#fff}
#page-workspace .process .label{display:block}
#page-workspace .process h2{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:800;color:var(--ink);margin-bottom:60px;max-width:560px}
#page-workspace .pstep{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:start;padding:38px 0;border-top:1px solid rgba(2,46,52,.1)}
#page-workspace .pstep:last-child{border-bottom:1px solid rgba(2,46,52,.1)}
#page-workspace .pstep .pnum{font-family:var(--head);font-weight:900;font-size:3.4rem;color:var(--dark);line-height:.9}
#page-workspace .pstep h3{font-size:1.4rem;font-weight:800;color:var(--dark);margin-bottom:14px}
#page-workspace .pstep h3 .when{font-weight:500;font-size:.95rem;color:var(--muted-dark);font-family:var(--body);letter-spacing:0;margin-left:10px}
#page-workspace .pstep p{color:var(--muted-dark);font-size:1.04rem;max-width:680px}
#page-workspace .pstep p + p{margin-top:14px}
#page-workspace /* who it's for (off-white, #page-workspace two-column filter) */
  .who{background:var(--offwhite)}
#page-workspace .who h2{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:800;color:var(--ink);margin-bottom:52px;max-width:560px}
#page-workspace .who-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px}
#page-workspace .who-col h3{font-family:var(--head);font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:26px}
#page-workspace .who-col.fit h3{color:var(--dark)}
#page-workspace .who-col.nofit h3{color:var(--grey)}
#page-workspace .who-item{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-top:1px solid rgba(2,46,52,.08);font-size:1.02rem}
#page-workspace .who-col.fit .who-item{color:var(--ink)}
#page-workspace .who-col.nofit .who-item{color:var(--grey)}
#page-workspace .who-item .mk{flex:none;width:18px;height:18px;margin-top:3px}
#page-workspace .who-col.fit .mk{color:var(--dark)}
#page-workspace .who-col.nofit .mk{color:var(--grey)}
#page-workspace /* what's included (white, #page-workspace list + note) */
  .included{background:#fff}
#page-workspace .included h2{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:800;color:var(--ink);margin-bottom:44px;max-width:560px}
#page-workspace .inc-list{list-style:none;max-width:760px}
#page-workspace .inc-list li{display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-top:1px solid rgba(2,46,52,.1);font-size:1.04rem;color:var(--ink)}
#page-workspace .inc-list li:last-child{border-bottom:1px solid rgba(2,46,52,.1)}
#page-workspace .inc-list .dash{flex:none;width:18px;height:18px;margin-top:4px;color:var(--dark)}
#page-workspace .included .note{margin-top:30px;font-size:.92rem;color:var(--muted-dark);max-width:620px;line-height:1.6}
#page-workspace /* cta (dark, #page-workspace calendly) */
  .cta{background:var(--dark);color:var(--offwhite);position:relative;overflow:hidden}
#page-workspace .cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(99,217,84,.09),transparent 60%);pointer-events:none}
#page-workspace .cta .wrap{position:relative;z-index:2}
#page-workspace .cta-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center}
#page-workspace .cta h2{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:800;margin-bottom:24px}
#page-workspace .cta .body{color:var(--muted);font-size:1.08rem;line-height:1.65;margin-bottom:34px}
#page-workspace .calendly{background:rgba(240,244,248,.05);border:1.5px dashed rgba(99,217,84,.3);border-radius:14px;min-height:380px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;color:var(--muted)}
#page-workspace .calendly .cal-ico{width:50px;height:50px;color:var(--green);margin-bottom:18px}
#page-workspace .calendly strong{color:var(--offwhite);font-family:var(--head);font-size:1.05rem;display:block;margin-bottom:8px}
#page-workspace .calendly code{font-size:.78rem;background:rgba(99,217,84,.12);padding:3px 8px;border-radius:5px;color:var(--green);font-family:monospace}
#page-workspace /* footer (dark) */
  footer{background:var(--dark);color:var(--offwhite);padding:70px 0 0}
#page-workspace .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:50px}
#page-workspace .foot-logo{display:flex;align-items:center;gap:11px;font-family:var(--head);font-weight:800;font-size:1.24rem;margin-bottom:16px}
#page-workspace .foot-logo .logo-mark{height:34px;width:auto;display:block}
#page-workspace .foot-tag{color:var(--muted);font-size:.95rem;max-width:280px}
#page-workspace .foot-col h4{font-family:var(--head);font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--green);margin-bottom:20px;font-weight:700}
#page-workspace .foot-col a{display:block;color:rgba(240,244,248,.78);font-size:.94rem;margin-bottom:13px;transition:color .2s}
#page-workspace .foot-col a:hover{color:var(--green)}
#page-workspace .socials{display:flex;gap:14px;margin-top:8px}
#page-workspace .socials a{width:38px;height:38px;border:1px solid rgba(99,217,84,.25);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:.2s}
#page-workspace .socials a:hover{background:var(--green);color:var(--dark);border-color:var(--green)}
#page-workspace .socials svg{width:18px;height:18px}
#page-workspace .foot-bottom{border-top:1px solid rgba(99,217,84,.12);padding:24px 0;text-align:center;color:var(--muted);font-size:.86rem}
#page-workspace /* reveal */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
#page-workspace .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){#page-workspace .reveal{opacity:1;transform:none;transition:none}}
#page-workspace /* responsive */
  @media(max-width:900px){
    .handle-grid{grid-template-columns:1fr;gap:0}
    .who-grid{grid-template-columns:1fr;gap:44px}
    .cta-grid{grid-template-columns:1fr;gap:40px}
  }
@media(max-width:680px){#page-workspace .section{padding:84px 0}#page-workspace .hero{padding:96px 0 104px}#page-workspace .subnav{height:auto;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 0}#page-workspace .pstep{grid-template-columns:1fr;gap:14px}#page-workspace .pstep .pnum{font-size:2.8rem}#page-workspace .pstep h3 .when{display:block;margin-left:0;margin-top:4px}#page-workspace .foot-grid{grid-template-columns:1fr}}

/* ===== firms ===== */
#page-firms{
    --dark:#022E34;
    --dark-2:#063b43;
    --offwhite:#F0F4F8;
    --green:#63D954;
    --ink:#022E34;
    --muted:rgba(240,244,248,.62);
    --muted-dark:rgba(2,46,52,.6);
    --grey:#9CA3AF;
    --card-shadow:0 24px 60px -20px rgba(2,46,52,.35);
    --head:'Inter',sans-serif;
    --body:'Montserrat',sans-serif;
    --maxw:1140px;
  }
#page-firms h1, #page-firms h2, #page-firms h3, #page-firms h4{font-family:var(--head);line-height:1.14;letter-spacing:-.02em}
#page-firms a{text-decoration:none;color:inherit}
#page-firms .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;width:100%}
#page-firms .section{padding:120px 0}
#page-firms /* buttons */
  .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--head);font-weight:700;font-size:1rem;
    padding:16px 32px;border-radius:8px;cursor:pointer;border:1.5px solid transparent;
    transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .2s,color .2s;white-space:nowrap}
#page-firms /* green CTA - only on dark-green sections */
  .btn-primary{background:var(--green);color:var(--dark);box-shadow:0 8px 24px -8px rgba(99,217,84,.55)}
#page-firms .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 38px -8px rgba(99,217,84,.7)}
#page-firms /* dark CTA - for light/off-white surfaces */
  .btn-solid-dark{background:var(--dark);color:var(--offwhite);box-shadow:0 8px 24px -8px rgba(2,46,52,.45)}
#page-firms .btn-solid-dark:hover{transform:translateY(-2px);box-shadow:0 16px 38px -10px rgba(2,46,52,.6);background:var(--dark-2)}
#page-firms .btn-lg{font-size:1.12rem;padding:21px 46px}
#page-firms .btn .arrow{transition:transform .25s}
#page-firms .btn:hover .arrow{transform:translateX(4px)}
#page-firms /* labels - green by default (dark sections); .dark for light sections */
  .label{font-family:var(--head);font-weight:700;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;
    color:var(--green);display:inline-block;margin-bottom:24px}
#page-firms .label.dark{color:var(--dark)}
#page-firms /* sub-nav / breadcrumb */
  header{position:sticky;top:0;z-index:100;background:var(--dark);border-bottom:1px solid rgba(99,217,84,.12)}
#page-firms .subnav{display:flex;align-items:center;justify-content:space-between;height:62px}
#page-firms .subnav .back{display:inline-flex;align-items:center;gap:9px;color:rgba(240,244,248,.85);font-family:var(--head);
    font-weight:600;font-size:.92rem;transition:color .2s}
#page-firms .subnav .back:hover{color:var(--green)}
#page-firms .subnav .back .ar{transition:transform .25s}
#page-firms .subnav .back:hover .ar{transform:translateX(-3px)}
#page-firms .subnav .crumb{display:flex;align-items:center;gap:11px;color:var(--offwhite);font-family:var(--head);font-weight:700;font-size:1rem}
#page-firms .subnav .crumb .logo-mark{height:26px;width:auto;display:block}
#page-firms /* hero (dark) */
  .hero{background:var(--dark);color:var(--offwhite);position:relative;overflow:hidden;padding:120px 0 130px}
#page-firms .hero::before{content:"";position:absolute;inset:0;background:
    radial-gradient(circle at 82% 18%,rgba(99,217,84,.10),transparent 45%),
    radial-gradient(circle at 8% 92%,rgba(99,217,84,.06),transparent 42%);pointer-events:none}
#page-firms .hero .wrap{position:relative;z-index:2;max-width:860px}
#page-firms .hero h1{font-size:clamp(2.4rem,5vw,3.7rem);font-weight:800;margin-bottom:26px}
#page-firms .hero .sub{font-size:clamp(1.08rem,1.7vw,1.24rem);color:var(--muted);max-width:680px;margin-bottom:38px;line-height:1.58}
#page-firms /* the problem (white, #page-firms two columns) */
  .problem{background:#fff}
#page-firms .problem h2{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:800;color:var(--ink);margin-bottom:60px;max-width:620px}
#page-firms .cols-2{display:grid;grid-template-columns:1fr 1fr;gap:54px}
#page-firms .pcol h3{font-size:1.32rem;font-weight:800;color:var(--ink);margin-bottom:16px}
#page-firms .pcol p{color:var(--muted-dark);font-size:1.04rem;max-width:460px;line-height:1.7}
#page-firms /* what we build (dark, #page-firms centred) */
  .build{background:var(--dark);color:var(--offwhite);text-align:center}
#page-firms .build .wrap{max-width:780px}
#page-firms .build h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800;margin-bottom:32px}
#page-firms .build p{font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--muted);line-height:1.7}
#page-firms .build p + p{margin-top:24px;color:rgba(240,244,248,.9);font-weight:500}
#page-firms /* what stops happening (off-white, #page-firms two-col list) */
  .stops{background:var(--offwhite)}
#page-firms .stops h2{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:800;color:var(--ink);margin-bottom:18px;max-width:560px}
#page-firms .stops .intro{color:var(--muted-dark);font-size:1.1rem;max-width:640px;margin-bottom:48px}
#page-firms .stops-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 54px}
#page-firms .stop{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid rgba(2,46,52,.1);font-size:1.02rem;color:var(--ink);line-height:1.55}
#page-firms .stop .dash{flex:none;width:18px;height:18px;margin-top:4px;color:var(--dark)}
#page-firms /* how it works (white, #page-firms 4 phases vertical) */
  .process{background:#fff}
#page-firms .process h2{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:800;color:var(--ink);margin-bottom:56px;max-width:560px}
#page-firms .phase{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:start;padding:42px 0;border-top:1px solid rgba(2,46,52,.1)}
#page-firms .phase:last-child{border-bottom:1px solid rgba(2,46,52,.1)}
#page-firms .phase .pnum{font-family:var(--head);font-weight:900;font-size:3.6rem;color:var(--green);line-height:.85;
    -webkit-text-stroke:1px rgba(2,46,52,.12)}
#page-firms .phase h3{font-size:1.4rem;font-weight:800;color:var(--dark);margin-bottom:8px}
#page-firms .phase .dur{font-family:var(--body);font-weight:500;font-size:.92rem;color:var(--muted-dark);margin-bottom:16px}
#page-firms .phase .lead{color:var(--muted-dark);font-size:1.04rem;max-width:700px;margin-bottom:22px;line-height:1.7}
#page-firms .phase .delv-label{font-family:var(--head);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dark);margin-bottom:14px}
#page-firms .phase ul{list-style:none;display:grid;gap:9px;max-width:700px}
#page-firms .phase li{display:flex;gap:12px;align-items:flex-start;font-size:.98rem;color:var(--ink)}
#page-firms .phase li svg{flex:none;width:16px;height:16px;margin-top:4px;color:var(--dark)}
#page-firms /* who this is for (dark, #page-firms chips) */
  .who{background:var(--dark);color:var(--offwhite)}
#page-firms .who .wrap{max-width:780px}
#page-firms .who h2{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:800;margin-bottom:20px;max-width:640px}
#page-firms .who .body{color:var(--muted);font-size:1.1rem;line-height:1.65;margin-bottom:38px;max-width:680px}
#page-firms .chips{display:flex;flex-wrap:wrap;gap:12px}
#page-firms .chip{background:transparent;color:var(--offwhite);padding:11px 22px;border-radius:30px;font-size:.92rem;font-weight:500;
    border:1.5px solid rgba(99,217,84,.5);transition:transform .2s,background .2s,border-color .2s}
#page-firms .chip:hover{transform:translateY(-3px);background:rgba(99,217,84,.12);border-color:var(--green)}
#page-firms /* the return (off-white, #page-firms stat row) */
  .return{background:var(--offwhite);text-align:center}
#page-firms .return .wrap{max-width:820px}
#page-firms .return h2{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:800;color:var(--ink);margin-bottom:30px}
#page-firms .return p{font-size:clamp(1.04rem,1.55vw,1.18rem);color:var(--muted-dark);line-height:1.7;max-width:720px;margin:0 auto}
#page-firms .return p + p{margin-top:22px}
#page-firms .stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:64px}
#page-firms .stat .fig{font-family:var(--head);font-weight:900;font-size:clamp(2.6rem,5vw,3.4rem);color:var(--dark);line-height:1;letter-spacing:-.03em}
#page-firms .stat .desc{margin-top:14px;font-size:.95rem;color:var(--muted-dark);line-height:1.5}
#page-firms /* the investment (white, #page-firms centred, #page-firms dark button) */
  .invest{background:#fff;text-align:center}
#page-firms .invest .wrap{max-width:760px}
#page-firms .invest h2{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:800;color:var(--ink);margin-bottom:30px}
#page-firms .invest p{font-size:clamp(1.04rem,1.55vw,1.18rem);color:var(--muted-dark);line-height:1.7}
#page-firms .invest p + p{margin-top:22px}
#page-firms .invest .btn{margin-top:42px}
#page-firms /* not sure (dark, #page-firms primary CTA + secondary link) */
  .unsure{background:var(--dark);color:var(--offwhite);text-align:center;position:relative;overflow:hidden}
#page-firms .unsure::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(99,217,84,.09),transparent 60%);pointer-events:none}
#page-firms .unsure .wrap{position:relative;z-index:2;max-width:700px}
#page-firms .unsure h2{font-size:clamp(2rem,3.8vw,2.8rem);font-weight:800;margin-bottom:24px}
#page-firms .unsure .body{color:var(--muted);font-size:1.08rem;line-height:1.65;margin-bottom:40px}
#page-firms .unsure .sec-link{display:inline-block;margin-top:28px;font-size:.95rem;color:rgba(240,244,248,.78);transition:color .2s}
#page-firms .unsure .sec-link a{color:var(--green);font-weight:600}
#page-firms .unsure .sec-link:hover a{text-decoration:underline}
#page-firms /* footer (dark) */
  footer{background:var(--dark);color:var(--offwhite);padding:70px 0 0}
#page-firms .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:50px}
#page-firms .foot-logo{display:flex;align-items:center;gap:11px;font-family:var(--head);font-weight:800;font-size:1.24rem;margin-bottom:16px}
#page-firms .foot-logo .logo-mark{height:34px;width:auto;display:block}
#page-firms .foot-tag{color:var(--muted);font-size:.95rem;max-width:280px}
#page-firms .foot-col h4{font-family:var(--head);font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--green);margin-bottom:20px;font-weight:700}
#page-firms .foot-col a{display:block;color:rgba(240,244,248,.78);font-size:.94rem;margin-bottom:13px;transition:color .2s}
#page-firms .foot-col a:hover{color:var(--green)}
#page-firms .socials{display:flex;gap:14px;margin-top:8px}
#page-firms .socials a{width:38px;height:38px;border:1px solid rgba(99,217,84,.25);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:.2s}
#page-firms .socials a:hover{background:var(--green);color:var(--dark);border-color:var(--green)}
#page-firms .socials svg{width:18px;height:18px}
#page-firms .foot-bottom{border-top:1px solid rgba(99,217,84,.12);padding:24px 0;text-align:center;color:var(--muted);font-size:.86rem}
#page-firms /* reveal */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
#page-firms .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){#page-firms .reveal{opacity:1;transform:none;transition:none}}
#page-firms /* responsive */
  @media(max-width:900px){
    .cols-2{grid-template-columns:1fr;gap:40px}
    .stops-grid{grid-template-columns:1fr;gap:0}
    .stat-row{grid-template-columns:1fr;gap:44px}
  }
@media(max-width:680px){#page-firms .section{padding:84px 0}#page-firms .hero{padding:96px 0 104px}#page-firms .subnav{height:auto;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 0}#page-firms .phase{grid-template-columns:1fr;gap:14px}#page-firms .phase .pnum{font-size:3rem}#page-firms .foot-grid{grid-template-columns:1fr}}

/* ===== readiness ===== */
#page-readiness{
    --dark:#022E34;
    --dark-2:#063b43;
    --offwhite:#F0F4F8;
    --green:#63D954;
    --ink:#022E34;
    --muted:rgba(240,244,248,.62);
    --muted-dark:rgba(2,46,52,.6);
    --grey:#9CA3AF;
    --card-shadow:0 24px 60px -20px rgba(2,46,52,.35);
    --head:'Inter',sans-serif;
    --body:'Montserrat',sans-serif;
    --maxw:1140px;
  }
#page-readiness h1, #page-readiness h2, #page-readiness h3, #page-readiness h4{font-family:var(--head);line-height:1.14;letter-spacing:-.02em}
#page-readiness a{text-decoration:none;color:inherit}
#page-readiness .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;width:100%}
#page-readiness .section{padding:110px 0}
#page-readiness /* buttons */
  .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--head);font-weight:700;font-size:1rem;
    padding:16px 32px;border-radius:8px;cursor:pointer;border:1.5px solid transparent;
    transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .2s,color .2s,opacity .2s;white-space:nowrap}
#page-readiness .btn-primary{background:var(--green);color:var(--dark);box-shadow:0 8px 24px -8px rgba(99,217,84,.55)}
#page-readiness .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 38px -8px rgba(99,217,84,.7)}
#page-readiness .btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
#page-readiness .btn-ghost-dark{background:transparent;color:var(--dark);border-color:rgba(2,46,52,.3)}
#page-readiness .btn-ghost-dark:hover{background:rgba(2,46,52,.05);border-color:var(--dark)}
#page-readiness .btn-ghost-dark:disabled{opacity:.3;cursor:not-allowed}
#page-readiness .btn-lg{font-size:1.12rem;padding:21px 46px}
#page-readiness .btn .arrow{transition:transform .25s}
#page-readiness .btn:hover .arrow{transform:translateX(4px)}
#page-readiness .label{font-family:var(--head);font-weight:700;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;
    color:var(--green);display:inline-block;margin-bottom:24px}
#page-readiness .label.dark{color:var(--dark)}
#page-readiness /* sub-nav / breadcrumb */
  header{position:sticky;top:0;z-index:100;background:var(--dark);border-bottom:1px solid rgba(99,217,84,.12)}
#page-readiness .subnav{display:flex;align-items:center;justify-content:space-between;height:62px}
#page-readiness .subnav .back{display:inline-flex;align-items:center;gap:9px;color:rgba(240,244,248,.85);font-family:var(--head);
    font-weight:600;font-size:.92rem;transition:color .2s}
#page-readiness .subnav .back:hover{color:var(--green)}
#page-readiness .subnav .back .ar{transition:transform .25s}
#page-readiness .subnav .back:hover .ar{transform:translateX(-3px)}
#page-readiness .subnav .crumb{display:flex;align-items:center;gap:11px;color:var(--offwhite);font-family:var(--head);font-weight:700;font-size:1rem}
#page-readiness .subnav .crumb .logo-mark{height:26px;width:auto;display:block}
#page-readiness /* hero (dark, #page-readiness centred) */
  .hero{background:var(--dark);color:var(--offwhite);position:relative;overflow:hidden;padding:118px 0 110px;text-align:center}
#page-readiness .hero::before{content:"";position:absolute;inset:0;background:
    radial-gradient(circle at 50% 12%,rgba(99,217,84,.12),transparent 50%),
    radial-gradient(circle at 12% 95%,rgba(99,217,84,.06),transparent 42%);pointer-events:none}
#page-readiness .hero .wrap{position:relative;z-index:2;max-width:760px}
#page-readiness .hero h1{font-size:clamp(2.4rem,5.2vw,3.7rem);font-weight:800;margin-bottom:24px}
#page-readiness .hero .sub{font-size:clamp(1.08rem,1.7vw,1.24rem);color:var(--muted);max-width:600px;margin:0 auto 30px;line-height:1.58}
#page-readiness .hero .accent{color:var(--green);font-family:var(--head);font-weight:600;font-size:.98rem;letter-spacing:.01em;
    display:inline-flex;align-items:center;gap:10px}
#page-readiness .hero .accent::before, #page-readiness .hero .accent::after{content:"";width:30px;height:1.5px;background:var(--green);opacity:.55}
#page-readiness .scroll-ind{margin-top:46px;display:inline-flex;flex-direction:column;align-items:center;color:var(--green);cursor:pointer}
#page-readiness .scroll-ind svg{width:26px;height:26px;animation:bob 1.8s ease-in-out infinite}
#page-readiness /* framing (off-white, #page-readiness narrow) */
  .framing{background:var(--offwhite);text-align:center}
#page-readiness .framing .wrap{max-width:680px}
#page-readiness .framing p{font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--muted-dark);line-height:1.7}
#page-readiness .framing p + p{margin-top:22px}
#page-readiness .framing p strong{color:var(--dark);font-weight:600}
#page-readiness /* assessment (white, #page-readiness wizard) */
  .assessment{background:#fff}
#page-readiness .assessment .wrap{max-width:760px}
#page-readiness .quiz-head{text-align:center;margin-bottom:36px}
#page-readiness .quiz-head .label{margin-bottom:14px}
#page-readiness .progress-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;
    font-family:var(--head);font-weight:600;font-size:.82rem;color:var(--muted-dark)}
#page-readiness .progress-bar{height:6px;background:rgba(2,46,52,.08);border-radius:99px;overflow:hidden}
#page-readiness .progress-fill{height:100%;width:12.5%;background:var(--green);border-radius:99px;transition:width .4s cubic-bezier(.2,.8,.2,1)}
#page-readiness .card{margin-top:34px;background:#fff;border:1px solid rgba(2,46,52,.08);border-radius:16px;
    box-shadow:var(--card-shadow);padding:42px 40px}
#page-readiness .card .q-text{font-family:var(--head);font-weight:800;font-size:clamp(1.3rem,2.4vw,1.7rem);color:var(--ink);margin-bottom:8px;line-height:1.25}
#page-readiness .card .q-hint{font-size:.92rem;color:var(--muted-dark);margin-bottom:26px}
#page-readiness .options{display:grid;gap:12px}
#page-readiness .opt{display:flex;align-items:center;gap:14px;padding:16px 20px;border:1.5px solid rgba(2,46,52,.14);
    border-radius:10px;cursor:pointer;font-size:1.02rem;color:var(--ink);transition:border-color .18s,background .18s,box-shadow .18s;background:#fff}
#page-readiness .opt:hover{border-color:rgba(99,217,84,.7);background:rgba(99,217,84,.04)}
#page-readiness .opt:focus-visible{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(99,217,84,.25)}
#page-readiness .opt .marker{flex:none;width:22px;height:22px;border:2px solid rgba(2,46,52,.3);border-radius:50%;
    display:flex;align-items:center;justify-content:center;transition:.18s}
#page-readiness .opt.check .marker{border-radius:6px}
#page-readiness .opt .marker svg{width:13px;height:13px;color:#fff;opacity:0;transform:scale(.5);transition:.18s}
#page-readiness .opt.selected{border-color:var(--dark);background:var(--dark);color:var(--offwhite);box-shadow:0 10px 26px -12px rgba(2,46,52,.5)}
#page-readiness .opt.selected .marker{border-color:var(--green);background:var(--green)}
#page-readiness .opt.selected .marker svg{opacity:1;transform:scale(1);color:var(--dark)}
#page-readiness .opt.disabled{opacity:.45;cursor:not-allowed}
#page-readiness .opt.disabled:hover{border-color:rgba(2,46,52,.14);background:#fff}
#page-readiness .nav-row{display:flex;align-items:center;justify-content:space-between;margin-top:30px;gap:16px}
#page-readiness /* completion card */
  .done-card{display:none;text-align:center;padding:54px 40px}
#page-readiness .done-card .tick{width:64px;height:64px;border-radius:50%;background:rgba(99,217,84,.16);color:var(--dark);
    display:flex;align-items:center;justify-content:center;margin:0 auto 24px}
#page-readiness .done-card .tick svg{width:32px;height:32px}
#page-readiness .done-card h3{font-size:1.6rem;font-weight:800;color:var(--ink);margin-bottom:14px}
#page-readiness .done-card p{color:var(--muted-dark);font-size:1.05rem;max-width:460px;margin:0 auto 30px}
#page-readiness /* email capture (dark) */
  .capture{background:var(--dark);color:var(--offwhite);text-align:center;position:relative;overflow:hidden}
#page-readiness .capture::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,rgba(99,217,84,.09),transparent 60%);pointer-events:none}
#page-readiness .capture .wrap{position:relative;z-index:2;max-width:680px}
#page-readiness .capture h2{font-size:clamp(2rem,3.8vw,2.7rem);font-weight:800;margin-bottom:18px}
#page-readiness .capture .body{color:var(--muted);font-size:1.08rem;margin-bottom:14px;line-height:1.6}
#page-readiness .capture .accent{color:var(--green);font-family:var(--head);font-weight:600;font-size:.96rem;margin-bottom:34px;display:block}
#page-readiness .form-row{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;text-align:left}
#page-readiness .form-row input{font-family:var(--body);font-size:1rem;padding:16px 18px;border-radius:9px;border:1.5px solid transparent;
    background:var(--offwhite);color:var(--ink);transition:box-shadow .18s,border-color .18s}
#page-readiness .form-row input::placeholder{color:#7c8794}
#page-readiness .form-row input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(99,217,84,.3)}
#page-readiness .form-row .btn{justify-content:center}
#page-readiness .privacy{margin-top:18px;font-style:italic;font-size:.84rem;color:rgba(240,244,248,.65)}
#page-readiness .privacy a{color:rgba(240,244,248,.85);text-decoration:underline}
#page-readiness .capture-success{display:none;background:rgba(99,217,84,.1);border:1.5px solid rgba(99,217,84,.4);border-radius:14px;padding:38px 34px}
#page-readiness .capture-success svg{width:46px;height:46px;color:var(--green);margin-bottom:16px}
#page-readiness .capture-success h3{font-size:1.5rem;font-weight:800;color:var(--offwhite);margin-bottom:10px}
#page-readiness .capture-success p{color:var(--muted);font-size:1.02rem}
#page-readiness /* what you'll receive (off-white, #page-readiness 3 cards) */
  .receive{background:var(--offwhite);text-align:center}
#page-readiness .receive h2{font-size:clamp(1.9rem,3.6vw,2.5rem);font-weight:800;color:var(--ink);margin-bottom:14px}
#page-readiness .receive .sub{color:var(--muted-dark);font-size:1.1rem;margin-bottom:54px}
#page-readiness .rec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;text-align:left}
#page-readiness .rec-card{background:#fff;border-radius:14px;padding:36px 30px;box-shadow:0 18px 44px -24px rgba(2,46,52,.3)}
#page-readiness .rec-card .rstep{font-family:var(--head);font-weight:900;font-size:1.05rem;color:var(--green);margin-bottom:14px;
    -webkit-text-stroke:.5px rgba(2,46,52,.18)}
#page-readiness .rec-card h3{font-size:1.22rem;font-weight:800;color:var(--dark);margin-bottom:12px}
#page-readiness .rec-card p{color:var(--muted-dark);font-size:.98rem;line-height:1.6}
#page-readiness .receive .plus{margin-top:40px;font-style:italic;font-size:.95rem;color:var(--muted-dark)}
#page-readiness /* cta footer (dark) */
  .cta{background:var(--dark);color:var(--offwhite);text-align:center;position:relative;overflow:hidden}
#page-readiness .cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(99,217,84,.09),transparent 60%);pointer-events:none}
#page-readiness .cta .wrap{position:relative;z-index:2;max-width:640px}
#page-readiness .cta h2{font-size:clamp(2rem,3.8vw,2.8rem);font-weight:800;margin-bottom:22px}
#page-readiness .cta .body{color:var(--muted);font-size:1.08rem;margin-bottom:38px;line-height:1.6}
#page-readiness /* footer (dark) */
  footer{background:var(--dark);color:var(--offwhite);padding:70px 0 0;border-top:1px solid rgba(99,217,84,.12)}
#page-readiness .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:50px}
#page-readiness .foot-logo{display:flex;align-items:center;gap:11px;font-family:var(--head);font-weight:800;font-size:1.24rem;margin-bottom:16px}
#page-readiness .foot-logo .logo-mark{height:34px;width:auto;display:block}
#page-readiness .foot-tag{color:var(--muted);font-size:.95rem;max-width:280px}
#page-readiness .foot-col h4{font-family:var(--head);font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--green);margin-bottom:20px;font-weight:700}
#page-readiness .foot-col a{display:block;color:rgba(240,244,248,.78);font-size:.94rem;margin-bottom:13px;transition:color .2s}
#page-readiness .foot-col a:hover{color:var(--green)}
#page-readiness .socials{display:flex;gap:14px;margin-top:8px}
#page-readiness .socials a{width:38px;height:38px;border:1px solid rgba(99,217,84,.25);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:.2s}
#page-readiness .socials a:hover{background:var(--green);color:var(--dark);border-color:var(--green)}
#page-readiness .socials svg{width:18px;height:18px}
#page-readiness .foot-bottom{border-top:1px solid rgba(99,217,84,.12);padding:24px 0;text-align:center;color:var(--muted);font-size:.86rem}
@media(max-width:900px){#page-readiness .rec-grid{grid-template-columns:1fr;gap:20px}#page-readiness .form-row{grid-template-columns:1fr}}
@media(max-width:680px){#page-readiness .section{padding:80px 0}#page-readiness .hero{padding:92px 0 88px}#page-readiness .subnav{height:auto;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 0}#page-readiness .card{padding:32px 24px}#page-readiness .foot-grid{grid-template-columns:1fr}}

/* ===== book ===== */
#page-book{
    --dark:#022E34;
    --dark-2:#063b43;
    --offwhite:#F0F4F8;
    --green:#63D954;
    --ink:#022E34;
    --muted:rgba(240,244,248,.62);
    --muted-dark:rgba(2,46,52,.6);
    --grey:#55657A;
    --card-shadow:0 24px 60px -20px rgba(2,46,52,.35);
    --head:'Inter',sans-serif;
    --body:'Montserrat',sans-serif;
    --maxw:1140px;
  }
#page-book h1, #page-book h2, #page-book h3, #page-book h4{font-family:var(--head);line-height:1.14;letter-spacing:-.02em}
#page-book a{text-decoration:none;color:inherit}
#page-book .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;width:100%}
#page-book .section{padding:104px 0}
#page-book /* buttons */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--head);font-weight:700;font-size:1rem;
    padding:16px 32px;border-radius:8px;cursor:pointer;border:1.5px solid transparent;
    transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .2s,color .2s;white-space:nowrap}
#page-book .btn-primary{background:var(--green);color:var(--dark);box-shadow:0 8px 24px -8px rgba(99,217,84,.55)}
#page-book .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 38px -8px rgba(99,217,84,.7)}
#page-book .btn .arrow{transition:transform .25s}
#page-book .btn:hover .arrow{transform:translateX(4px)}
#page-book .label{font-family:var(--head);font-weight:700;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;
    color:var(--green);display:inline-block;margin-bottom:24px}
#page-book .label.dark{color:var(--dark)}
#page-book /* sub-nav / breadcrumb */
  header{position:sticky;top:0;z-index:100;background:var(--dark);border-bottom:1px solid rgba(99,217,84,.12)}
#page-book .subnav{display:flex;align-items:center;justify-content:space-between;height:62px}
#page-book .subnav .back{display:inline-flex;align-items:center;gap:9px;color:rgba(240,244,248,.85);font-family:var(--head);
    font-weight:600;font-size:.92rem;transition:color .2s}
#page-book .subnav .back:hover{color:var(--green)}
#page-book .subnav .back .ar{transition:transform .25s}
#page-book .subnav .back:hover .ar{transform:translateX(-3px)}
#page-book .subnav .crumb{display:flex;align-items:center;gap:11px;color:var(--offwhite);font-family:var(--head);font-weight:700;font-size:1rem}
#page-book .subnav .crumb .logo-mark{height:26px;width:auto;display:block}
#page-book /* hero (dark, #page-book tight, #page-book centred) */
  .hero{background:var(--dark);color:var(--offwhite);position:relative;overflow:hidden;padding:104px 0 96px;text-align:center}
#page-book .hero::before{content:"";position:absolute;inset:0;background:
    radial-gradient(circle at 50% 14%,rgba(99,217,84,.11),transparent 52%),
    radial-gradient(circle at 12% 96%,rgba(99,217,84,.05),transparent 42%);pointer-events:none}
#page-book .hero .wrap{position:relative;z-index:2;max-width:680px}
#page-book .hero h1{font-size:clamp(2.3rem,5vw,3.5rem);font-weight:800;margin-bottom:22px}
#page-book .hero .sub{font-size:clamp(1.08rem,1.7vw,1.22rem);color:var(--muted);max-width:580px;margin:0 auto;line-height:1.58}
#page-book /* call selector (off-white, #page-book two cards) */
  .selector{background:var(--offwhite)}
#page-book .selector .head{text-align:center;margin-bottom:46px}
#page-book .cards-2{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
#page-book .call-card{background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;
    box-shadow:var(--card-shadow);border:2px solid transparent;transition:transform .3s,box-shadow .3s,border-color .2s}
#page-book .call-card:hover{transform:translateY(-6px);box-shadow:0 32px 70px -20px rgba(0,0,0,.4);border-color:var(--green)}
#page-book .call-card .ch{background:var(--dark);color:var(--offwhite);padding:26px 34px}
#page-book .call-card .ch .dur{font-family:var(--head);font-weight:700;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--green);opacity:.9;margin-bottom:8px}
#page-book .call-card .ch h3{font-size:1.5rem;font-weight:800}
#page-book .call-card .cb{padding:32px 34px 36px;display:flex;flex-direction:column;flex:1}
#page-book .call-card .cb .desc{color:var(--muted-dark);font-size:1rem;margin-bottom:24px;line-height:1.6}
#page-book .call-card .cb ul{list-style:none;margin-bottom:30px;display:grid;gap:11px}
#page-book .call-card .cb li{display:flex;gap:12px;align-items:flex-start;font-size:.97rem;color:var(--ink);
    padding-bottom:11px;border-bottom:1px solid rgba(2,46,52,.08)}
#page-book .call-card .cb li:last-child{border-bottom:none;padding-bottom:0}
#page-book .call-card .cb li svg{flex:none;width:17px;height:17px;margin-top:3px;color:var(--dark)}
#page-book .call-card .cb .btn{margin-top:auto;width:100%}
#page-book .helper{text-align:center;margin-top:36px;font-size:.95rem;color:var(--grey);max-width:620px;margin-left:auto;margin-right:auto}
#page-book /* calendly embed (white) */
  .embed{background:#fff;padding-top:88px;padding-bottom:88px}
#page-book .embed .wrap{max-width:920px}
#page-book .embed .above{text-align:center;font-size:.92rem;color:var(--grey);margin-bottom:24px}
#page-book .calendly{background:var(--offwhite);border:1.5px dashed rgba(2,46,52,.2);border-radius:14px;min-height:630px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px;color:var(--muted-dark)}
#page-book .calendly .cal-ico{width:54px;height:54px;color:var(--dark);margin-bottom:20px}
#page-book .calendly strong{color:var(--ink);font-family:var(--head);font-size:1.15rem;display:block;margin-bottom:10px}
#page-book .calendly p{max-width:460px;font-size:.97rem}
#page-book .calendly code{font-size:.78rem;background:rgba(2,46,52,.07);padding:3px 8px;border-radius:5px;color:var(--dark);font-family:monospace}
#page-book /* reassurance strip (off-white, #page-book 3 col) */
  .reassure{background:var(--offwhite);padding:70px 0}
#page-book .re-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:center}
#page-book .re-col h4{font-family:var(--head);font-weight:800;font-size:1.02rem;color:var(--dark);margin-bottom:9px}
#page-book .re-col p{font-size:.9rem;color:var(--grey);line-height:1.6;max-width:300px;margin:0 auto}
#page-book /* what happens next (dark, #page-book 3 steps) */
  .next{background:var(--dark);color:var(--offwhite);text-align:center}
#page-book .next h2{font-size:clamp(1.9rem,3.6vw,2.5rem);font-weight:800;margin-bottom:58px}
#page-book .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:left}
#page-book .nstep .circle{width:50px;height:50px;border-radius:50%;background:var(--green);color:var(--dark);
    font-family:var(--head);font-weight:900;font-size:1.3rem;display:flex;align-items:center;justify-content:center;margin-bottom:22px}
#page-book .nstep h3{font-size:1.2rem;font-weight:800;color:var(--offwhite);margin-bottom:12px}
#page-book .nstep p{color:rgba(240,244,248,.78);font-size:.98rem;line-height:1.6}
#page-book /* footer (dark) */
  footer{background:var(--dark);color:var(--offwhite);padding:70px 0 0;border-top:1px solid rgba(99,217,84,.12)}
#page-book .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:50px}
#page-book .foot-logo{display:flex;align-items:center;gap:11px;font-family:var(--head);font-weight:800;font-size:1.24rem;margin-bottom:16px}
#page-book .foot-logo .logo-mark{height:34px;width:auto;display:block}
#page-book .foot-tag{color:var(--muted);font-size:.95rem;max-width:280px}
#page-book .foot-col h4{font-family:var(--head);font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--green);margin-bottom:20px;font-weight:700}
#page-book .foot-col a{display:block;color:rgba(240,244,248,.78);font-size:.94rem;margin-bottom:13px;transition:color .2s}
#page-book .foot-col a:hover{color:var(--green)}
#page-book .socials{display:flex;gap:14px;margin-top:8px}
#page-book .socials a{width:38px;height:38px;border:1px solid rgba(99,217,84,.25);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:.2s}
#page-book .socials a:hover{background:var(--green);color:var(--dark);border-color:var(--green)}
#page-book .socials svg{width:18px;height:18px}
#page-book .foot-bottom{border-top:1px solid rgba(99,217,84,.12);padding:24px 0;text-align:center;color:var(--muted);font-size:.86rem}
#page-book /* reveal */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
#page-book .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){#page-book .reveal{opacity:1;transform:none;transition:none}}
@media(max-width:900px){#page-book .cards-2{grid-template-columns:1fr;gap:24px}#page-book .re-grid{grid-template-columns:1fr;gap:34px}#page-book .steps{grid-template-columns:1fr;gap:36px}}
@media(max-width:680px){#page-book .section{padding:76px 0}#page-book .hero{padding:84px 0 76px}#page-book .subnav{height:auto;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 0}#page-book .embed{padding-top:64px;padding-bottom:64px}#page-book .foot-grid{grid-template-columns:1fr}}

/* ===== privacy ===== */
#page-privacy{
    --dark:#022E34;
    --dark-2:#063b43;
    --offwhite:#F0F4F8;
    --green:#63D954;
    --ink:#022E34;
    --muted:rgba(240,244,248,.62);
    --muted-dark:rgba(2,46,52,.6);
    --body-ink:#33414a;
    --head:'Inter',sans-serif;
    --body:'Montserrat',sans-serif;
    --maxw:1140px;
  }
#page-privacy h1, #page-privacy h2, #page-privacy h3, #page-privacy h4{font-family:var(--head);line-height:1.18;letter-spacing:-.02em}
#page-privacy a{color:inherit}
#page-privacy .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;width:100%}
#page-privacy /* sub-nav / breadcrumb */
  header{position:sticky;top:0;z-index:100;background:var(--dark);border-bottom:1px solid rgba(99,217,84,.12)}
#page-privacy .subnav{display:flex;align-items:center;justify-content:space-between;height:62px}
#page-privacy .subnav .back{display:inline-flex;align-items:center;gap:9px;color:rgba(240,244,248,.85);font-family:var(--head);
    font-weight:600;font-size:.92rem;transition:color .2s;text-decoration:none}
#page-privacy .subnav .back:hover{color:var(--green)}
#page-privacy .subnav .back .ar{transition:transform .25s}
#page-privacy .subnav .back:hover .ar{transform:translateX(-3px)}
#page-privacy .subnav .crumb{display:flex;align-items:center;gap:11px;color:var(--offwhite);font-family:var(--head);font-weight:700;font-size:1rem}
#page-privacy .subnav .crumb .logo-mark{height:26px;width:auto;display:block}
#page-privacy /* header band (dark, #page-privacy centred) */
  .pg-head{background:var(--dark);color:var(--offwhite);text-align:center;padding:84px 0 76px;position:relative;overflow:hidden}
#page-privacy .pg-head::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 16%,rgba(99,217,84,.09),transparent 55%);pointer-events:none}
#page-privacy .pg-head .wrap{position:relative;z-index:2}
#page-privacy .pg-head h1{font-size:clamp(2.2rem,4.6vw,3.2rem);font-weight:800;margin-bottom:14px}
#page-privacy .pg-head .meta{color:var(--muted);font-size:.98rem}
#page-privacy /* policy content (white, #page-privacy long-form) */
  .policy{background:#fff;padding:80px 0 96px}
#page-privacy .policy .doc{max-width:720px;margin:0 auto}
#page-privacy .policy .doc > section{margin-bottom:42px}
#page-privacy .policy .doc > section:last-child{margin-bottom:0}
#page-privacy .policy h2{font-family:var(--head);font-weight:800;font-size:1.18rem;color:var(--dark);margin-bottom:14px}
#page-privacy .policy h2 .n{color:var(--green);-webkit-text-stroke:.4px rgba(2,46,52,.22);margin-right:10px}
#page-privacy .policy p{font-size:1rem;color:var(--body-ink);line-height:1.75;margin-bottom:14px}
#page-privacy .policy p:last-child{margin-bottom:0}
#page-privacy .policy ul{list-style:none;margin:6px 0 14px;display:grid;gap:10px}
#page-privacy .policy li{position:relative;padding-left:26px;font-size:1rem;color:var(--body-ink);line-height:1.7}
#page-privacy .policy li::before{content:"";position:absolute;left:6px;top:11px;width:7px;height:7px;border-radius:50%;background:var(--dark)}
#page-privacy .policy .lead-line{font-weight:600;color:var(--dark)}
#page-privacy .policy a{color:var(--dark);font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(99,217,84,.6);transition:color .2s}
#page-privacy .policy a:hover{color:var(--dark-2);text-decoration-color:var(--green)}
#page-privacy /* footer (dark) */
  footer{background:var(--dark);color:var(--offwhite);padding:70px 0 0;border-top:1px solid rgba(99,217,84,.12)}
#page-privacy .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:50px}
#page-privacy .foot-logo{display:flex;align-items:center;gap:11px;font-family:var(--head);font-weight:800;font-size:1.24rem;margin-bottom:16px}
#page-privacy .foot-logo .logo-mark{height:34px;width:auto;display:block}
#page-privacy .foot-tag{color:var(--muted);font-size:.95rem;max-width:280px}
#page-privacy .foot-col h4{font-family:var(--head);font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--green);margin-bottom:20px;font-weight:700}
#page-privacy .foot-col a{display:block;color:rgba(240,244,248,.78);font-size:.94rem;margin-bottom:13px;transition:color .2s;text-decoration:none}
#page-privacy .foot-col a:hover{color:var(--green)}
#page-privacy .socials{display:flex;gap:14px;margin-top:8px}
#page-privacy .socials a{width:38px;height:38px;border:1px solid rgba(99,217,84,.25);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:.2s}
#page-privacy .socials a:hover{background:var(--green);color:var(--dark);border-color:var(--green)}
#page-privacy .socials svg{width:18px;height:18px}
#page-privacy .foot-bottom{border-top:1px solid rgba(99,217,84,.12);padding:24px 0;text-align:center;color:var(--muted);font-size:.86rem}
@media(max-width:680px){#page-privacy .subnav{height:auto;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 0}#page-privacy .pg-head{padding:68px 0 60px}#page-privacy .policy{padding:60px 0 76px}#page-privacy .policy .doc > section{margin-bottom:36px}#page-privacy .foot-grid{grid-template-columns:1fr}}

/* ===== contact ===== */
#page-contact{
    --dark:#022E34;
    --dark-2:#063b43;
    --offwhite:#F0F4F8;
    --green:#63D954;
    --ink:#022E34;
    --muted:rgba(240,244,248,.62);
    --muted-dark:rgba(2,46,52,.6);
    --field-border:rgba(2,46,52,.18);
    --head:'Inter',sans-serif;
    --body:'Montserrat',sans-serif;
    --maxw:1140px;
  }
#page-contact h1, #page-contact h2, #page-contact h3, #page-contact h4{font-family:var(--head);line-height:1.16;letter-spacing:-.02em}
#page-contact a{color:inherit}
#page-contact .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;width:100%}
#page-contact .section{padding:96px 0}
#page-contact /* buttons */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--head);font-weight:700;font-size:1rem;
    padding:16px 32px;border-radius:8px;cursor:pointer;border:1.5px solid transparent;
    transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .2s,color .2s;white-space:nowrap}
#page-contact .btn-primary{background:var(--green);color:var(--dark);box-shadow:0 8px 24px -8px rgba(99,217,84,.55)}
#page-contact .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 38px -8px rgba(99,217,84,.7)}
#page-contact .btn .arrow{transition:transform .25s}
#page-contact .btn:hover .arrow{transform:translateX(4px)}
#page-contact /* sub-nav / breadcrumb */
  header{position:sticky;top:0;z-index:100;background:var(--dark);border-bottom:1px solid rgba(99,217,84,.12)}
#page-contact .subnav{display:flex;align-items:center;justify-content:space-between;height:62px}
#page-contact .subnav .back{display:inline-flex;align-items:center;gap:9px;color:rgba(240,244,248,.85);font-family:var(--head);
    font-weight:600;font-size:.92rem;transition:color .2s;text-decoration:none}
#page-contact .subnav .back:hover{color:var(--green)}
#page-contact .subnav .back .ar{transition:transform .25s}
#page-contact .subnav .back:hover .ar{transform:translateX(-3px)}
#page-contact .subnav .crumb{display:flex;align-items:center;gap:11px;color:var(--offwhite);font-family:var(--head);font-weight:700;font-size:1rem}
#page-contact .subnav .crumb .logo-mark{height:26px;width:auto;display:block}
#page-contact /* hero (dark, #page-contact tight, #page-contact centred) */
  .hero{background:var(--dark);color:var(--offwhite);position:relative;overflow:hidden;padding:100px 0 90px;text-align:center}
#page-contact .hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 16%,rgba(99,217,84,.10),transparent 54%);pointer-events:none}
#page-contact .hero .wrap{position:relative;z-index:2;max-width:640px}
#page-contact .hero h1{font-size:clamp(2.3rem,5vw,3.4rem);font-weight:800;margin-bottom:20px}
#page-contact .hero .sub{font-size:clamp(1.06rem,1.7vw,1.2rem);color:var(--muted);max-width:560px;margin:0 auto;line-height:1.58}
#page-contact /* contact form (white, #page-contact narrow) */
  .form-sec{background:#fff}
#page-contact .form-sec .wrap{max-width:600px}
#page-contact .form{display:grid;gap:26px}
#page-contact .field label{display:block;font-family:var(--head);font-weight:600;font-size:.92rem;color:var(--dark);margin-bottom:9px}
#page-contact .field label .req{color:var(--green);-webkit-text-stroke:.3px rgba(2,46,52,.4)}
#page-contact .field label .opt{color:var(--muted-dark);font-weight:400;font-family:var(--body);font-size:.86rem}
#page-contact .field input, #page-contact .field textarea{width:100%;font-family:var(--body);font-size:1rem;color:var(--ink);
    background:#fff;border:none;border-bottom:1.5px solid var(--field-border);padding:12px 2px;transition:border-color .2s;border-radius:0}
#page-contact .field textarea{resize:vertical;min-height:130px;line-height:1.6}
#page-contact .field input::placeholder, #page-contact .field textarea::placeholder{color:#9aa6af}
#page-contact .field input:focus, #page-contact .field textarea:focus{outline:none;border-bottom-color:var(--dark);border-bottom-width:2px}
#page-contact .field input.err, #page-contact .field textarea.err{border-bottom-color:#d96b6b}
#page-contact .form .submit-row{margin-top:4px}
#page-contact .form .submit-row .btn{width:100%}
#page-contact .micro{margin-top:18px;font-size:.86rem;color:var(--muted-dark);text-align:center}
#page-contact .micro a{color:var(--dark);font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(99,217,84,.6)}
#page-contact .micro a:hover{text-decoration-color:var(--green)}
#page-contact /* success state */
  .success{display:none;text-align:center;border:1.5px solid rgba(99,217,84,.4);background:rgba(99,217,84,.07);border-radius:14px;padding:46px 36px}
#page-contact .success svg{width:48px;height:48px;color:var(--dark);margin-bottom:18px}
#page-contact .success h2{font-size:1.5rem;font-weight:800;color:var(--ink);margin-bottom:10px}
#page-contact .success p{color:var(--muted-dark);font-size:1.02rem;max-width:420px;margin:0 auto}
#page-contact /* alternative CTA (off-white, #page-contact two-col) */
  .alt{background:var(--offwhite)}
#page-contact .alt .wrap{max-width:880px}
#page-contact .alt-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
#page-contact .alt-col{padding:8px 44px}
#page-contact .alt-col:first-child{border-right:1px solid rgba(2,46,52,.12)}
#page-contact .alt-col h3{font-size:1.3rem;font-weight:800;color:var(--ink);margin-bottom:12px}
#page-contact .alt-col p{color:var(--muted-dark);font-size:1rem;line-height:1.6;margin-bottom:18px;max-width:340px}
#page-contact .alt-col .link{display:inline-flex;align-items:center;gap:8px;font-family:var(--head);font-weight:700;font-size:1rem;color:var(--dark);text-decoration:none;transition:gap .2s}
#page-contact .alt-col .link:hover{gap:13px}
#page-contact .alt-col .link .arrow{transition:transform .2s}
#page-contact /* footer (dark) */
  footer{background:var(--dark);color:var(--offwhite);padding:70px 0 0;border-top:1px solid rgba(99,217,84,.12)}
#page-contact .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:50px}
#page-contact .foot-logo{display:flex;align-items:center;gap:11px;font-family:var(--head);font-weight:800;font-size:1.24rem;margin-bottom:16px}
#page-contact .foot-logo .logo-mark{height:34px;width:auto;display:block}
#page-contact .foot-tag{color:var(--muted);font-size:.95rem;max-width:280px}
#page-contact .foot-col h4{font-family:var(--head);font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--green);margin-bottom:20px;font-weight:700}
#page-contact .foot-col a{display:block;color:rgba(240,244,248,.78);font-size:.94rem;margin-bottom:13px;transition:color .2s;text-decoration:none}
#page-contact .foot-col a:hover{color:var(--green)}
#page-contact .socials{display:flex;gap:14px;margin-top:8px}
#page-contact .socials a{width:38px;height:38px;border:1px solid rgba(99,217,84,.25);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:.2s}
#page-contact .socials a:hover{background:var(--green);color:var(--dark);border-color:var(--green)}
#page-contact .socials svg{width:18px;height:18px}
#page-contact .foot-bottom{border-top:1px solid rgba(99,217,84,.12);padding:24px 0;text-align:center;color:var(--muted);font-size:.86rem}
#page-contact /* reveal */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
#page-contact .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){#page-contact .reveal{opacity:1;transform:none;transition:none}}
@media(max-width:680px){#page-contact .section{padding:72px 0}#page-contact .hero{padding:82px 0 72px}#page-contact .subnav{height:auto;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 0}#page-contact .alt-grid{grid-template-columns:1fr;gap:36px}#page-contact .alt-col{padding:0}#page-contact .alt-col:first-child{border-right:none;border-bottom:1px solid rgba(2,46,52,.12);padding-bottom:36px}#page-contact .foot-grid{grid-template-columns:1fr}}

/* ===== PALETTE ENHANCEMENT: Emerald accent on white/grey (parallel to Growth Green on dark); Gold for ROI ===== */
/* section labels on light sections */
#page-home .label.dark,#page-workspace .label.dark,#page-firms .label.dark,#page-readiness .label.dark,#page-contact .label.dark{color:var(--emerald)}
/* list markers on light surfaces */
#page-home .offer-card li svg{color:var(--emerald)}
#page-workspace .handle .dash,#page-workspace .who-col.fit .mk,#page-workspace .inc-list .dash{color:var(--emerald)}
#page-firms .stop .dash,#page-firms .phase li svg{color:var(--emerald)}
#page-privacy .policy li::before{background:var(--emerald)}
/* numbered accents on light */
#page-workspace .pstep .pnum{color:var(--emerald)}
#page-firms .phase .pnum{color:var(--emerald);-webkit-text-stroke:1px rgba(2,46,52,.10)}
#page-readiness .rec-card .rstep{color:var(--emerald);-webkit-text-stroke:.5px rgba(2,46,52,.10)}
#page-privacy .policy h2 .n{color:var(--emerald)}
/* readiness quiz accents on white */
#page-readiness .progress-fill{background:var(--emerald)}
#page-readiness .opt:hover{border-color:var(--emerald);background:rgba(23,126,120,.05)}
#page-readiness .opt:focus-visible{border-color:var(--emerald);box-shadow:0 0 0 3px rgba(23,126,120,.25)}
/* link + asterisk accents on light */
#page-privacy .policy a{text-decoration-color:var(--emerald)}
#page-contact .micro a{text-decoration-color:var(--emerald)}
#page-contact .field label .req{color:var(--emerald)}
#page-contact .alt-col .link{color:var(--emerald)}
/* problem section: emerald icons + emerald top rule (heading is dark green) */
#page-home .pain{border-top-color:var(--emerald)}
#page-home .pain .pain-ico{width:30px;height:30px;color:var(--emerald);display:block;margin:18px 0 16px}
/* Harvest Gold accent: underline on the ROI figures (legible, money highlight) */
#page-firms .stat .fig{display:inline-block}
#page-firms .stat .fig::after{content:"";display:block;width:46px;height:3px;border-radius:2px;background:var(--gold);margin:14px auto 0}

/* ===== hero workspace mock-up ===== */
#page-home .hero-visual{display:flex;justify-content:center;align-items:center}
.hw-window{width:100%;max-width:430px;background:#022E34;border-radius:16px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.65);transform:rotate(-1deg)}
.hw-bar{display:flex;align-items:center;gap:7px;padding:13px 16px;background:#022E34;border-bottom:1px solid rgba(99,217,84,.18)}
.hw-bar > span{width:10px;height:10px;border-radius:50%;background:rgba(240,244,248,.28)}
.hw-bar > span:first-child{background:#63D954}
.hw-title{margin-left:10px;color:#F0F4F8;font-family:var(--head);font-weight:600;font-size:.82rem;letter-spacing:.02em}
.hw-body{padding:20px 18px;display:flex;flex-direction:column;gap:12px;background:#F7F9FB}
.hw-ctx{align-self:flex-start;font-family:var(--head);font-weight:700;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:#177E78;background:rgba(23,126,120,.1);padding:6px 11px;border-radius:20px}
.hw-msg{font-size:.86rem;line-height:1.5;padding:12px 14px;border-radius:13px;max-width:90%}
.hw-msg.user{align-self:flex-end;background:#022E34;color:#F0F4F8;border-bottom-right-radius:4px}
.hw-msg.user.short{padding:9px 14px}
.hw-msg.ai{align-self:flex-start;background:#fff;color:#26343b;border:1px solid rgba(2,46,52,.1);border-bottom-left-radius:4px}
.hw-ai-head{display:flex;align-items:center;gap:7px;font-family:var(--head);font-weight:700;font-size:.74rem;color:#022E34;margin-bottom:6px}
.hw-dot{width:9px;height:9px;border-radius:50%;background:#63D954}
.hw-files{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.hw-files span{font-size:.7rem;font-weight:600;color:#177E78;background:rgba(23,126,120,.08);border:1px solid rgba(23,126,120,.25);padding:5px 9px;border-radius:7px}
@media(max-width:900px){.hw-window{max-width:380px;margin:0 auto;transform:none}}

/* ===== offer pricing ===== */
#page-home .offer-card .price{margin-top:auto;padding-top:8px}
#page-home .offer-card .price .price-main{display:block;font-family:var(--head);font-weight:800;font-size:1.05rem;color:var(--dark)}
#page-home .offer-card .price .price-sub{display:block;font-size:.92rem;color:var(--muted-dark);margin-top:2px}
#page-home .offer-card .btn{margin-top:18px}

/* ===== About Stuart ===== */
#page-home .about{background:#fff}
#page-home .about .wrap{max-width:980px}
#page-home .about-grid{display:grid;grid-template-columns:300px 1fr;gap:54px;align-items:center}
#page-home .about-photo{width:100%;border-radius:16px;display:block;filter:grayscale(1);border:1px solid rgba(2,46,52,.1);box-shadow:0 24px 60px -28px rgba(2,46,52,.45)}
#page-home .about .label{color:var(--emerald)}
#page-home .about h2{font-size:clamp(1.9rem,3.4vw,2.4rem);font-weight:800;color:var(--ink);margin-bottom:6px}
#page-home .about .role{color:var(--emerald);font-family:var(--head);font-weight:600;font-size:.95rem;margin-bottom:22px}
#page-home .about p{color:var(--muted-dark);font-size:1.04rem;line-height:1.7;margin-bottom:16px;max-width:580px}
#page-home .about .tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
#page-home .about .tags span{font-size:.8rem;color:var(--dark);border:1.5px solid rgba(23,126,120,.5);padding:7px 14px;border-radius:20px}
@media(max-width:760px){#page-home .about-grid{grid-template-columns:1fr;gap:30px}#page-home .about-photo{max-width:230px}}

/* ===== firms stats qualifier ===== */
#page-firms .stat-note{margin:30px auto 0;font-size:.86rem;color:var(--muted-dark);font-style:italic;max-width:660px}

/* ===== Live embeds (Calendly + Google Form) — added on migration ===== */
.calendly-embed{width:100%}
.calendly-embed .calendly-inline-widget{width:100%;border-radius:14px;overflow:hidden}
#page-book .embed .calendly-embed{max-width:900px;margin:0 auto}
/* top-align the Workspace CTA so the heading sits level with the top of the calendar */
#page-workspace .cta-grid{align-items:start}
/* same for the home-page secondary CTA */
#page-home .sec-grid{align-items:start}
#page-home .secondary-cta .calendly-embed{margin-top:4px}
#page-readiness .gform-embed{padding:8px 0}
#page-readiness .gform-embed iframe{width:100%;max-width:680px;border-radius:14px;background:#fff}
@media(max-width:680px){#page-workspace .calendly-embed{margin-top:8px}}

/* ===== Jetpack contact form, styled to match the contact page design ===== */
#page-contact .form-block{max-width:100%}
#page-contact .wp-block-jetpack-contact-form{margin:0}
#page-contact .wp-block-jetpack-contact-form label,
#page-contact .grunion-field-label{display:block;font-family:var(--head);font-weight:600;font-size:.92rem;color:var(--dark);margin-bottom:9px}
#page-contact .wp-block-jetpack-contact-form input[type=text],
#page-contact .wp-block-jetpack-contact-form input[type=email],
#page-contact .wp-block-jetpack-contact-form input[type=url],
#page-contact .wp-block-jetpack-contact-form input[type=tel],
#page-contact .wp-block-jetpack-contact-form textarea{
  width:100%;font-family:var(--body);font-size:1rem;color:var(--ink);background:#fff;
  border:none;border-bottom:1.5px solid var(--field-border);border-radius:0;
  padding:12px 2px;box-shadow:none;transition:border-color .2s}
#page-contact .wp-block-jetpack-contact-form textarea{resize:vertical;min-height:130px;line-height:1.6}
#page-contact .wp-block-jetpack-contact-form input:focus,
#page-contact .wp-block-jetpack-contact-form textarea:focus{outline:none;border-bottom-color:var(--dark);border-bottom-width:2px}
#page-contact .wp-block-jetpack-contact-form ::placeholder{color:#9aa6af}
#page-contact .wp-block-jetpack-contact-form .wp-block-button{width:100%;margin-top:10px}
#page-contact .wp-block-jetpack-contact-form button[type=submit],
#page-contact .wp-block-jetpack-contact-form .wp-block-button__link{
  display:inline-block;width:100%;cursor:pointer;border:none;text-decoration:none;text-align:center;
  background:var(--green);color:var(--dark);font-family:var(--head);font-weight:700;font-size:1rem;
  padding:16px 28px;border-radius:10px;box-shadow:0 8px 24px -8px rgba(99,217,84,.55);
  transition:transform .25s,box-shadow .25s}
#page-contact .wp-block-jetpack-contact-form button[type=submit]:hover,
#page-contact .wp-block-jetpack-contact-form .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 16px 38px -8px rgba(99,217,84,.7)}
#page-contact .contact-form .contact-form-submission,
#page-contact .wp-block-jetpack-contact-form .contact-form__hidden-field{margin-top:8px}

/* Let the Calendly embed shrink to fit very narrow phones (its inline min-width:320px
   could otherwise cause a sliver of horizontal scroll on ~360px screens) */
@media(max-width:420px){
  .calendly-embed .calendly-inline-widget{min-width:0 !important}
}

/* =====================================================================
   v1.0.7 fixes: mobile column collapse, problem-section centring,
   book-card buttons, numbered-circle centring, contact form layout
   ===================================================================== */

/* 1) MOBILE: collapse every multi-column grid to one column.
   The theme's original responsive rules used bare class selectors which
   lost the specificity contest against the ID-scoped base rules, so
   columns never stacked on phones (causing overflow + clipping). These
   ID-scoped overrides win. */
@media(max-width:900px){
  #page-home .hero-grid,
  #page-home .cols-2,
  #page-home .cards-2,
  #page-home .sec-grid,
  #page-home .steps,
  #page-workspace .cta-grid,
  #page-workspace .who-grid,
  #page-workspace .handle-grid,
  #page-firms .cols-2,
  #page-firms .stops-grid,
  #page-firms .stat-row,
  #page-readiness .rec-grid,
  #page-contact .alt-grid{grid-template-columns:1fr !important}
  #page-home .steps .step:not(:last-child)::after{display:none}
}
@media(max-width:760px){ #page-home .about-grid{grid-template-columns:1fr !important} }
@media(max-width:680px){ .site-foot .foot-grid{grid-template-columns:1fr !important} }
html,body{overflow-x:hidden;max-width:100%}

/* 2) HOME "The problem isn't time" section — centre aligned */
#page-home .problem h2{text-align:center;margin-left:auto;margin-right:auto}
#page-home .problem .cols-2{justify-items:center}
#page-home .pain{text-align:center;max-width:460px;margin:0 auto}
#page-home .pain p{max-width:none;margin:0 auto}
#page-home .pain .pain-ico{display:block;margin-left:auto;margin-right:auto}

/* 3) BOOK page call-card buttons — dark fill so they stand out on white */
#page-book .call-card .cb .btn{background:var(--dark);color:var(--offwhite);box-shadow:0 8px 24px -8px rgba(2,46,52,.45)}
#page-book .call-card .cb .btn:hover{background:var(--dark-2);transform:translateY(-2px);box-shadow:0 16px 38px -10px rgba(2,46,52,.6)}

/* 4) Numbered-circle steps centred (book "What Happens After You Book") */
#page-book .steps{text-align:center}
#page-book .nstep{max-width:340px;margin:0 auto}
#page-book .nstep .circle{margin-left:auto;margin-right:auto}

/* 5) CONTACT form (Jetpack) — force clean single-column, full-width fields */
#page-contact .wp-block-jetpack-contact-form,
#page-contact .wp-block-jetpack-contact-form form{display:block !important;width:100%}
#page-contact .wp-block-jetpack-contact-form .grunion-field-wrap,
#page-contact .wp-block-jetpack-contact-form [class*="field"]{width:100% !important;max-width:100% !important;float:none !important;display:block !important;margin:0 0 20px !important}
#page-contact .wp-block-jetpack-contact-form input[type=text],
#page-contact .wp-block-jetpack-contact-form input[type=email],
#page-contact .wp-block-jetpack-contact-form input[type=url],
#page-contact .wp-block-jetpack-contact-form input[type=tel],
#page-contact .wp-block-jetpack-contact-form textarea{width:100% !important;max-width:100% !important;box-sizing:border-box}
#page-contact .wp-block-jetpack-contact-form textarea{min-height:130px !important;height:auto}

/* =====================================================================
   v1.0.8 fixes: stuck mobile nav line + on-brand contact form
   ===================================================================== */

/* A) Remove the 1px line left floating below the nav on mobile.
   The collapsed (closed) mobile menu is position:fixed with a border-bottom,
   so even at height 0 the border drew a line stuck under the bar. Only show
   that border when the menu is actually open. */
@media(max-width:680px){
  .nav-links:not(.open),
  #page-home .nav-links:not(.open){border-bottom:none !important}
}

/* B) Contact form — styled on-brand instead of a plain white box.
   Scoped to .st-contact-form and targeting real elements, so it works
   whether Jetpack renders block or shortcode markup. */
#page-contact .form-sec{background:var(--offwhite)}
#page-contact .st-contact-form{
  background:#fff;border:1px solid rgba(2,46,52,.1);border-radius:16px;
  padding:34px 32px;box-shadow:0 18px 50px -24px rgba(2,46,52,.35);max-width:560px;margin:0 auto}
#page-contact .st-contact-form form{margin:0}
#page-contact .st-contact-form .grunion-field-wrap,
#page-contact .st-contact-form [class*="field-wrap"],
#page-contact .st-contact-form > div > div{margin-bottom:18px}
#page-contact .st-contact-form label,
#page-contact .st-contact-form .grunion-field-label{
  display:block;font-family:var(--head);font-weight:600;font-size:.9rem;
  color:var(--dark);margin-bottom:8px}
#page-contact .st-contact-form input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]),
#page-contact .st-contact-form textarea{
  width:100%;box-sizing:border-box;font-family:var(--body);font-size:1rem;color:var(--ink);
  background:#fff;border:1.5px solid rgba(2,46,52,.18);border-radius:10px;padding:13px 15px;
  transition:border-color .2s,box-shadow .2s;box-shadow:none}
#page-contact .st-contact-form textarea{min-height:150px;line-height:1.6;resize:vertical}
#page-contact .st-contact-form input:focus,
#page-contact .st-contact-form textarea:focus{
  outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(99,217,84,.16)}
#page-contact .st-contact-form ::placeholder{color:#9aa6af}
#page-contact .st-contact-form .contact-submit,
#page-contact .st-contact-form p:last-of-type{margin-top:4px}
#page-contact .st-contact-form button[type=submit],
#page-contact .st-contact-form input[type=submit],
#page-contact .st-contact-form .wp-block-button__link{
  display:inline-block;width:100%;cursor:pointer;border:none;text-align:center;text-decoration:none;
  background:var(--dark);color:var(--offwhite);font-family:var(--head);font-weight:700;font-size:1rem;
  padding:15px 28px;border-radius:10px;box-shadow:0 8px 24px -8px rgba(2,46,52,.45);
  transition:transform .25s,box-shadow .25s,background .2s}
#page-contact .st-contact-form button[type=submit]:hover,
#page-contact .st-contact-form input[type=submit]:hover,
#page-contact .st-contact-form .wp-block-button__link:hover{
  background:var(--dark-2);transform:translateY(-2px);box-shadow:0 16px 38px -10px rgba(2,46,52,.6)}
/* Jetpack confirmation / validation messages, styled to match */
#page-contact .st-contact-form .contact-form-submission,
#page-contact .st-contact-form .grunion-error,
#page-contact .st-contact-form .form-error{
  background:rgba(99,217,84,.1);border:1px solid rgba(99,217,84,.4);border-radius:10px;
  padding:14px 16px;color:var(--dark);font-size:.95rem;margin-bottom:16px}

/* =====================================================================
   v1.0.9 fixes: mobile menu — active underline, CTA placement, height
   ===================================================================== */
@media(max-width:680px){
  /* Let menu links hug their text so the active green underline sits under
     the page name only, instead of stretching across the whole row. */
  .nav-links a:not(.nav-cta),
  #page-home .nav-links a:not(.nav-cta){width:auto !important;align-self:flex-start}

  /* Make the open menu tall enough for all seven items (was clipping). */
  .nav-links.open,
  #page-home .nav-links.open{max-height:80vh !important;overflow-y:auto}

  /* "Book a Call" CTA sits in the list, left-aligned like the other links,
     instead of breaking out and centring at the bottom. */
  .nav-links .nav-cta,
  #page-home .nav-links .nav-cta{align-self:flex-start !important;width:auto !important;margin:6px 0 0 !important}
}

/* =====================================================================
   v1.1.1: contact form — more inner breathing room, no inner border
   ===================================================================== */
#page-contact .st-contact-form{padding:40px 38px}
@media(max-width:560px){ #page-contact .st-contact-form{padding:26px 22px} }
/* The Jetpack form/confirmation wrapper carried its own border that sat
   right against the card edge — neutralise it so only the card shows. */
#page-contact .st-contact-form form,
#page-contact .st-contact-form .contact-form,
#page-contact .st-contact-form .wp-block-jetpack-contact-form{border:none !important;padding:0 !important;margin:0 !important;background:transparent !important}

/* =====================================================================
   v1.1.2: centred section layouts, centred privacy policy, Google Form
   contact embed, and less-specific assessment copy.
   ===================================================================== */

/* ---- Home: "Built for professional services" ---- */
#page-home .who .wrap{text-align:center}
#page-home .who h2{max-width:720px;margin-left:auto;margin-right:auto}
#page-home .who .body{margin-left:auto;margin-right:auto}
#page-home .who .chips{justify-content:center}

/* ---- Workspace: "What It Handles" ---- */
#page-workspace .handles .wrap{text-align:center}
#page-workspace .handles h2{margin-left:auto;margin-right:auto}
#page-workspace .handles .intro{margin-left:auto;margin-right:auto}
#page-workspace .handles .handle-grid{text-align:left;max-width:920px;margin-left:auto;margin-right:auto}

/* ---- Workspace: "Three stages. Then it runs." ---- */
#page-workspace .process .wrap{text-align:center}
#page-workspace .process h2{margin-left:auto;margin-right:auto}
#page-workspace .process .pstep{text-align:left;max-width:880px;margin-left:auto;margin-right:auto}

/* ---- Workspace: "Built for a specific kind of professional" ---- */
#page-workspace .who .wrap{text-align:center}
#page-workspace .who h2{margin-left:auto;margin-right:auto}
#page-workspace .who .who-grid{text-align:left;max-width:920px;margin-left:auto;margin-right:auto}

/* ---- Workspace: "Everything needed to make it work" ---- */
#page-workspace .included .wrap{text-align:center}
#page-workspace .included h2{margin-left:auto;margin-right:auto}
#page-workspace .included .inc-list{text-align:left;margin-left:auto;margin-right:auto}
#page-workspace .included .note{margin-left:auto;margin-right:auto}

/* ---- Firms: "The admin isn't incidental" (The Real Cost) ---- */
#page-firms .problem .wrap{text-align:center}
#page-firms .problem h2{margin-left:auto;margin-right:auto}
#page-firms .problem .cols-2{justify-items:center}
#page-firms .problem .pcol{text-align:center;max-width:460px;margin:0 auto}
#page-firms .problem .pcol p{max-width:none;margin:0 auto}

/* ---- Firms: "The hours that come back to your team" (In Practice) ---- */
#page-firms .stops .wrap{text-align:center}
#page-firms .stops h2{margin-left:auto;margin-right:auto}
#page-firms .stops .intro{margin-left:auto;margin-right:auto}
#page-firms .stops .stops-grid{text-align:left;max-width:920px;margin-left:auto;margin-right:auto}

/* ---- Firms: "Four phases. One system that runs." ---- */
#page-firms .process .wrap{text-align:center}
#page-firms .process h2{margin-left:auto;margin-right:auto}
#page-firms .process .phase{text-align:left;max-width:900px;margin-left:auto;margin-right:auto}

/* ---- Firms: "Built for firms where process volume makes consistency critical" ---- */
#page-firms .who .wrap{text-align:center}
#page-firms .who h2{margin-left:auto;margin-right:auto}
#page-firms .who .body{margin-left:auto;margin-right:auto}
#page-firms .who .chips{justify-content:center}

/* ---- Privacy Policy: centred text ---- */
#page-privacy .policy .doc{text-align:center}
#page-privacy .policy ul{justify-items:center}
#page-privacy .policy li{padding-left:0}
#page-privacy .policy li::before{
  content:"";position:static;display:inline-block;vertical-align:middle;
  width:7px;height:7px;border-radius:50%;background:var(--emerald);margin:0 9px 3px 0}

/* ---- Contact: centred Google Form embed ---- */
#page-contact .form-sec .wrap{max-width:760px}
#page-contact .form-sec .gform-embed{display:flex;justify-content:center}
#page-contact .form-sec .gform-embed iframe{width:640px;max-width:100%;border:0}

/* Cross-link moved into the (white) Investment section — restyle for light bg */
#page-firms .invest .sec-link{display:block;margin-top:26px;font-size:.95rem;color:var(--muted-dark)}
#page-firms .invest .sec-link a{color:var(--dark);font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(99,217,84,.6)}
#page-firms .invest .sec-link:hover a{text-decoration-color:var(--green)}

/* =====================================================================
   v14: brand and accessibility fixes, plus the three-offer layout
   ===================================================================== */
/* Body text on white and Mist White passes WCAG AA (was 4.0-4.1:1) */
:root,#page-home,#page-workspace,#page-firms,#page-readiness,#page-book,#page-contact,#page-privacy{--muted-dark:rgba(2,46,52,.72);--emerald-ink:#14706B}
/* Small emerald text on light surfaces: a deeper emerald so it passes AA on Mist White */
#page-home .label.dark,#page-workspace .label.dark,#page-firms .label.dark,#page-readiness .label.dark,#page-contact .label.dark,#page-book .label.dark{color:var(--emerald-ink)}
#page-contact .alt-col .link{color:var(--emerald-ink)}
/* Grey helper text on light surfaces was too faint */
#page-book .helper,#page-book .embed .above,#page-book .re-col p{color:var(--muted-dark)}

/* Growth Green never sits on white or light surfaces: Emerald instead */
.hw-dot{background:#177E78}
#page-home .offer-card::before{background:var(--emerald)}
#page-book .call-card:hover{border-color:var(--emerald)}
#page-readiness .opt.selected .marker{border-color:var(--emerald);background:var(--emerald)}
#page-readiness .done-card .tick{background:rgba(23,126,120,.14)}
#page-privacy .policy a:hover{text-decoration-color:var(--emerald)}
#page-contact .micro a:hover{text-decoration-color:var(--emerald)}
#page-firms .invest .sec-link a{text-decoration-color:var(--emerald)}
#page-firms .invest .sec-link:hover a{text-decoration-color:var(--dark)}
#page-contact .success{border-color:rgba(23,126,120,.4);background:rgba(23,126,120,.06)}
#page-contact .wp-block-jetpack-contact-form button[type=submit],
#page-contact .wp-block-jetpack-contact-form .wp-block-button__link{background:var(--dark);color:var(--offwhite);box-shadow:0 8px 24px -8px rgba(2,46,52,.45)}
#page-contact .wp-block-jetpack-contact-form button[type=submit]:hover,
#page-contact .wp-block-jetpack-contact-form .wp-block-button__link:hover{background:var(--dark-2);box-shadow:0 16px 38px -10px rgba(2,46,52,.6)}
#page-contact .st-contact-form input:focus,
#page-contact .st-contact-form textarea:focus{border-color:var(--emerald);box-shadow:0 0 0 3px rgba(23,126,120,.16)}
#page-contact .st-contact-form .contact-form-submission,
#page-contact .st-contact-form .grunion-error,
#page-contact .st-contact-form .form-error{background:rgba(23,126,120,.08);border-color:rgba(23,126,120,.35)}

/* Home: three offer cards */
#page-home .cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
#page-home .cards-3 .offer-card{padding:38px 30px}
#page-home .offer-card .guarantee{font-size:.9rem;font-weight:600;color:var(--dark);background:rgba(23,126,120,.09);
  border-left:3px solid var(--emerald);border-radius:6px;padding:10px 12px;margin:0 0 18px;line-height:1.5}
#page-home .cards-3 .offer-card .price{margin-top:0;margin-bottom:22px}
@media(max-width:1020px){#page-home .cards-3{grid-template-columns:1fr;max-width:620px;margin:0 auto}}

/* Home: what it does for each main niche */
#page-home .niche-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px;text-align:left}
#page-home .niche{background:#fff;border-radius:12px;padding:24px 24px 22px;border-top:3px solid var(--emerald);box-shadow:0 14px 34px -22px rgba(2,46,52,.35)}
#page-home .niche h3{font-size:1.08rem;font-weight:800;color:var(--dark);margin-bottom:8px}
#page-home .niche p{font-size:.95rem;color:var(--muted-dark);line-height:1.6}
@media(max-width:900px){#page-home .niche-grid{grid-template-columns:1fr}}

/* Workspace and Firms: price block on light surfaces */
.price-block{border-left:3px solid var(--emerald);background:var(--offwhite);border-radius:8px;padding:18px 22px;margin:34px auto 0;max-width:620px;text-align:left}
.price-block .price-main{font-family:var(--head);font-weight:800;font-size:1.12rem;color:var(--dark);margin:0}
.price-block .price-sub{font-size:.95rem;color:var(--muted-dark);line-height:1.6;margin:6px 0 0}
#page-firms .invest .price-block{margin:26px auto 22px;background:#F0F4F8}
#page-firms .invest .price-block p + p{margin-top:6px}
#page-firms .invest .price-block .price-main{font-size:1.12rem;color:var(--dark)}
#page-firms .invest .price-block .price-sub{font-size:.95rem}
/* "Probably not the right fit" column: readable grey on white */
#page-workspace .who-col.nofit h3,#page-workspace .who-col.nofit .who-item,#page-workspace .who-col.nofit .mk{color:var(--muted-dark)}

/* v14.1: the three offer cards share one row grid (subgrid), so the title,
   subtitle, description, list, price and button line up across all three,
   with the button sitting straight under the price */
#page-home .cards-3{grid-template-rows:repeat(6,auto);row-gap:0}
#page-home .cards-3 .offer-card{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0;align-content:start}
#page-home .cards-3 .offer-card h3{margin:6px 0 0;align-self:start}
#page-home .cards-3 .offer-card .for{margin:8px 0 16px;align-self:start}
#page-home .cards-3 .offer-card .desc{margin:0 0 22px;align-self:start}
#page-home .cards-3 .offer-card ul{margin:0 0 24px;align-self:start}
#page-home .cards-3 .offer-card .price{margin:0 0 24px;padding-top:0;align-self:start}
#page-home .cards-3 .offer-card > .btn{margin:0;align-self:start;justify-self:start}
/* stacked on narrow screens: each card is a simple column again */
@media(max-width:1020px){
  #page-home .cards-3{grid-template-rows:none;row-gap:26px}
  #page-home .cards-3 .offer-card{display:flex;grid-row:auto}
}

/* ===== v14.2: centre alignment across the site (hero banners, About and footer excluded) ===== */
/* Shared: icon-and-text rows centre as a unit, with their text centred too */
#page-home .offer-card li,#page-workspace .handle,#page-workspace .who-item,#page-workspace .inc-list li,
#page-firms .stop,#page-firms .phase li,#page-book .call-card .cb li{display:block;text-align:center}
#page-home .offer-card li svg,#page-workspace .handle .dash,#page-workspace .who-item .mk,#page-workspace .inc-list li svg,#page-workspace .inc-list .dash,
#page-firms .stop .dash,#page-firms .phase li svg,#page-book .call-card .cb li svg{display:inline-block;vertical-align:-3px;margin:0 8px 0 0}

/* Home: offer cards */
#page-home .offer-card{text-align:center}
#page-home .cards-3 .offer-card > .btn,#page-home .offer-card .btn{justify-self:center;align-self:center}
@media(max-width:1020px){#page-home .cards-3 .offer-card > *{align-self:stretch !important}#page-home .cards-3 .offer-card > .btn{align-self:center !important}}
/* Home: who cards */
#page-home .who h3,#page-home .who p{text-align:center}
/* Home: book a call, text above the calendar */
#page-home .secondary-cta .sec-grid{grid-template-columns:1fr !important;gap:34px;text-align:center}
#page-home .secondary-cta .body{max-width:620px;margin-left:auto;margin-right:auto}
#page-home .secondary-cta .calendly-embed{width:100%;max-width:760px;margin-left:auto;margin-right:auto}

/* Workspace */
#page-workspace .handles .handle-grid,#page-workspace .who .who-grid,#page-workspace .included .inc-list{text-align:center}
#page-workspace .different .wrap{text-align:center}
#page-workspace .different .pull{margin-left:auto;margin-right:auto;border-left:0;padding-left:0}
#page-workspace .different .pull::before{content:"";display:block;width:56px;height:3px;background:var(--green);margin:0 auto 22px}
#page-workspace .process .pstep{grid-template-columns:1fr;gap:14px;justify-items:center;text-align:center}
#page-workspace .pstep h3 .when{display:block;margin:6px 0 0}
#page-workspace .pstep p{margin-left:auto;margin-right:auto}
#page-workspace .who-col h3{text-align:center}
#page-workspace .included .price-block,#page-firms .invest .price-block,.price-block{text-align:center;border-left:0;border-top:3px solid var(--emerald)}
#page-workspace .cta-grid{grid-template-columns:1fr !important;gap:34px;text-align:center}
#page-workspace .cta .body{max-width:640px;margin-left:auto;margin-right:auto}
#page-workspace .cta .calendly-embed{width:100%;max-width:760px;margin-left:auto;margin-right:auto}

/* For firms */
#page-firms .stops .stops-grid{text-align:center}
#page-firms .process .phase{grid-template-columns:1fr;gap:14px;justify-items:center;text-align:center}
#page-firms .phase .lead{margin-left:auto;margin-right:auto}
#page-firms .phase ul{margin-left:auto;margin-right:auto;justify-items:center}

/* Assessment */
#page-readiness .rec-card{text-align:center}

/* Book a call */
#page-book .call-card{text-align:center}

/* Contact */
#page-contact .alt-col{text-align:center}
#page-contact .alt-col p{margin-left:auto;margin-right:auto}
#page-contact .alt-col .link{justify-content:center}

/* v14.2: hero mock-up lined up with the text. Desktop: keeps its slight tilt,
   centred on the text block and flush with the right edge of the content (the
   line the menu ends on). Stacked layouts: upright, left edge on the text's
   left edge. */
#page-home .hero-visual{justify-content:flex-end}
#page-home .hero-visual .hw-window{transform:rotate(-1deg);margin:0}
@media(max-width:900px){
  #page-home .hero-visual{justify-content:flex-start;max-width:none;margin:0;min-height:0}
  #page-home .hero-visual .hw-window{max-width:520px;transform:none}
}
