/* blueseas.ai v4 - the one shared stylesheet (24 Sep 2026)
   Colours are the canonical --bs-* tokens (blueseas-design-system/src/styles/tokens).
   Type (Bart, 27 Sep 2026): Host Grotesk for headings, numbers, buttons and the menu; IBM Plex Sans for body text;
   Caveat for the handwritten notes. Self-hosted in /assets/fonts (latin + latin-ext, from Google Fonts, SIL OFL), 27 Sep 2026. */
@font-face{font-family:'Caveat';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/caveat-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Caveat';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/caveat-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Host Grotesk';font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/fonts/host-grotesk-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Host Grotesk';font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/fonts/host-grotesk-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* One orchestrated motion moment only (the notepad strike). */

:root{
  --bs-blue:#4473ef; --bs-blue-deep:#006cf3; --bs-blue-sky:#00acfe; --bs-teal:#48afb5;
  --bs-green:#4cea89; --bs-green-deep:#1f9455; --bs-green-ink:#157a4d; --bs-green-soft:#E2FBE9;
  --bs-ink:#1a1a1c; --bs-ink-soft:#4A4A52; --bs-paper:#FAFAF7; --bs-paper-card:#FFFFFF; --bs-paper-deep:#F2F2EC;
  --bs-rule:#E2E2D8; --bs-rule-soft:#F0EFE8; --bs-blue-soft:#E8EEFE; --bs-blue-faint:#F4F7FF;
  --bs-amber:#e08a00; --bs-amber-soft:#FDF3E2;
  --bs-font-display:'Host Grotesk',system-ui,sans-serif;
  --bs-font-body:'IBM Plex Sans',system-ui,sans-serif;
  --bs-font-hand:'Caveat',cursive;
  --v4-btn-shadow:#0050b8;
  --container:1220px; --pad:40px; --section-y:110px;
  --promo-h:0px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--bs-font-body);font-size:17px;line-height:1.62;color:var(--bs-ink);background:var(--bs-paper);overflow-x:hidden}
body.has-promo{--promo-h:46px}
img{display:block;max-width:100%;height:auto}
a{color:var(--bs-blue-deep)}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--pad)}
h1,h2,h3{font-family:var(--bs-font-display);line-height:1.04;color:var(--bs-ink)}
h1{font-size:clamp(2.9rem,6.2vw,5.4rem);font-weight:800;letter-spacing:-2px}
h2{font-size:clamp(2.1rem,4.2vw,3.6rem);font-weight:800;letter-spacing:-1.2px}
h3{font-size:23px;font-weight:700;letter-spacing:-.3px;line-height:1.15}
/* no single orphan word under a heading or an intro line (font spec, 27 Sep 2026).
   7 Oct 2026 (Bart): a heading fills its first line across the page. "pretty" keeps the no-orphan rule without
   splitting a short heading into two even halves ("Real results from / real businesses."). */
h1,h2,h3,h4,summary,blockquote{text-wrap:pretty}
p,li,figcaption{text-wrap:pretty}
section{padding:var(--section-y) 0}
.hand{font-family:var(--bs-font-hand);font-weight:700;color:var(--bs-blue-deep);line-height:1.05}
.skip{position:absolute;left:8px;top:0;z-index:2000;background:var(--bs-blue-deep);color:#fff;padding:10px 16px;border-radius:0 0 10px 10px;transform:translateY(-120%);transition:transform .15s ease}
.skip:focus{transform:translateY(0)}
:focus-visible{outline:3px solid var(--bs-blue-sky);outline-offset:3px}

/* buttons and links */
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--bs-blue-deep);color:#fff;font:600 17px var(--bs-font-body);text-decoration:none;padding:17px 28px;border-radius:14px;box-shadow:0 6px 0 var(--v4-btn-shadow);transition:transform .15s ease,box-shadow .15s ease;border:0;cursor:pointer}
.btn:hover{transform:translateY(2px);box-shadow:0 4px 0 var(--v4-btn-shadow)}
.btn:active{transform:translateY(6px);box-shadow:0 0 0 var(--v4-btn-shadow)}
.btn.white{background:#fff;color:var(--bs-blue-deep);box-shadow:0 6px 0 #c9d8ff}
.link{font-weight:600;color:var(--bs-ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--bs-green)}
.link-light{color:#fff}
.btn.ghost{background:#fff;color:var(--bs-ink);border:2px solid var(--bs-ink);box-shadow:0 6px 0 var(--bs-ink);padding:15px 24px}
.btn.ghost:hover{box-shadow:0 4px 0 var(--bs-ink)}
.btn.ghost:active{box-shadow:0 0 0 var(--bs-ink)}
.btn.ghost-light{background:transparent;color:#fff;border:2px solid #fff;box-shadow:0 6px 0 rgba(255,255,255,.35);padding:15px 24px}
.btn.ghost-light:hover{box-shadow:0 4px 0 rgba(255,255,255,.35)}
.actions .link,.stop .sample,.cta .alt .link,.hold .more .link{display:inline-block;padding:10px 0}

/* promo strip (the event banner) */
.promo{position:fixed;top:0;left:0;right:0;z-index:1100;height:var(--promo-h);display:flex;align-items:center;justify-content:center;background:var(--bs-ink);overflow:hidden}
.promo a{display:flex;align-items:center;height:100%;gap:14px;padding:0 14px;color:#fff;text-decoration:none;font-size:15px;font-weight:500;white-space:nowrap}
.promo b{font-weight:600;color:var(--bs-green)}
.promo .go{background:#fff;color:var(--bs-ink);font-weight:600;font-size:13.5px;padding:5px 12px;border-radius:999px}
.promo .short{display:none}

/* nav */
.nav{position:sticky;top:var(--promo-h);z-index:1000;background:rgba(250,250,247,.95);backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color .2s ease}
.nav.scrolled{border-bottom-color:var(--bs-rule)}
body.has-promo{padding-top:var(--promo-h)}
.nav .container{display:flex;align-items:center;justify-content:space-between;height:84px;gap:24px}
.nav__logo img{height:32px;width:auto}
.nav__links{display:flex;align-items:center;gap:32px;list-style:none;font-weight:500;font-size:16px}
.nav__links a{color:var(--bs-ink);text-decoration:none}
.nav__links a:hover{color:var(--bs-blue-deep)}
.nav__links a[aria-current="page"]{color:var(--bs-blue-deep)}
.nav .btn{padding:12px 20px;font-size:15.5px;box-shadow:0 4px 0 var(--v4-btn-shadow)}
.nav__toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:6px}
.nav__toggle span{display:block;width:24px;height:2px;background:var(--bs-ink);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* hero */
.hero{padding:34px 0 64px}
.hero .container{display:grid;grid-template-columns:1.18fr .82fr;gap:40px;align-items:center}
.picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:26px}
.picker__lead{font-family:var(--bs-font-display);font-weight:700;font-size:20px;margin-right:4px;white-space:nowrap}
.picker button{font:600 15px var(--bs-font-body);color:var(--bs-ink);background:#fff;border:2px solid var(--bs-ink);border-radius:12px;padding:8px 12px;cursor:pointer;white-space:nowrap;box-shadow:0 3px 0 var(--bs-ink);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.picker button:hover{transform:translateY(1px);box-shadow:0 2px 0 var(--bs-ink)}
.picker button[aria-pressed="true"]{background:var(--bs-ink);color:#fff;transform:translateY(3px);box-shadow:0 0 0 var(--bs-ink)}
.hint{font-size:15px;color:var(--bs-ink-soft);min-height:24px;margin:-14px 0 16px}
.hero h1{margin-bottom:24px}
.hero .sub{font-size:20px;color:var(--bs-ink-soft);margin-bottom:34px}
.hero .actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:30px}
.trust{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;font-size:14px;color:var(--bs-ink-soft)}
.trust b{color:var(--bs-ink);font-weight:600}
.stars{color:var(--bs-amber);letter-spacing:1px}
.hero__photo{justify-self:end;width:min(100%,440px);margin:0}
.hero__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px;box-shadow:0 20px 44px rgba(20,20,22,.14)}
/* the cut-out stands on the line under the hero: no box, no circle (Bart, 27 Sep 2026) */
.hero__photo.cutout{align-self:end;justify-self:center;width:min(100%,430px);margin-bottom:-64px}
.hero__photo.cutout img{aspect-ratio:auto;object-fit:contain;border-radius:0;box-shadow:none;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 14%),linear-gradient(to top,transparent 0,#000 12%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 14%),linear-gradient(to top,transparent 0,#000 12%);mask-composite:intersect}
.mark{position:relative;white-space:nowrap;z-index:0}
.mark svg{position:absolute;left:-4%;bottom:-.02em;width:108%;height:.42em;z-index:-1}
.swap{transition:opacity .2s ease}
.swap.out{opacity:0}

/* recognition band, then clients band: two backgrounds, no dividing rule */
.awards-band{background:#fff;border-top:2px solid var(--bs-ink);padding:40px 0 48px}
.clients-band{background:var(--bs-paper-deep);border-bottom:2px solid var(--bs-ink);padding:40px 0 52px}
.band-label{font-size:28px;color:var(--bs-ink-soft);margin-bottom:22px;transform:rotate(-1.5deg);transform-origin:left}
.awards{display:grid;grid-template-columns:repeat(5,1fr);gap:26px}
.aw{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.aw .frame{height:110px;min-width:110px;box-sizing:border-box;padding:12px 16px;border-radius:16px;background:var(--bs-paper-deep);border:1px solid var(--bs-rule);display:flex;align-items:center;justify-content:center;overflow:hidden}
.aw .frame img{height:82px;width:auto;max-width:100%;object-fit:contain}
.aw .frame.art{padding:0;border:0;background:var(--bs-ink)}
.aw .frame.art picture{display:block;height:100%}
.aw .frame.art img{height:110px;width:auto;max-width:none;object-fit:cover}
.aw .frame.square{width:110px}
.aw .frame.square img{width:110px}
.aw p{font-size:15.5px;line-height:1.4;color:var(--bs-ink-soft)}
.aw b{display:block;font-family:var(--bs-font-display);font-weight:800;font-size:20px;color:var(--bs-ink);line-height:1.15;margin-bottom:2px}
.clients{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 40px;align-items:center;justify-items:center}
.clients img{height:calc(var(--h) * var(--k,1));width:auto;max-width:100%;object-fit:contain}

/* the jobs list */
.list .container{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}
.list h2{margin-bottom:20px}
.list .aside{font-size:19px;color:var(--bs-ink-soft);margin-bottom:26px}
.check{display:flex;gap:16px;align-items:flex-start;background:var(--bs-green-soft);border-radius:16px;padding:18px 20px;font-weight:500}
.check svg{flex:none;width:34px;height:34px}
.pad{background:#fff;border-radius:6px;box-shadow:0 18px 40px rgba(20,20,22,.10),0 2px 0 var(--bs-rule);padding:30px 34px 44px 64px;position:relative;transform:rotate(-1.2deg)}
.pad::before{content:"";position:absolute;left:40px;top:0;bottom:0;width:2px;background:rgba(211,57,43,.35)}
.pad .title{font-family:var(--bs-font-hand);font-weight:700;font-size:32px;margin-bottom:6px;line-height:1.1}
.pad ul{list-style:none}
.pad li{position:relative;font-size:20px;font-weight:500;line-height:58px;height:60px;white-space:nowrap;border-bottom:1px solid rgba(0,108,243,.16)}
.pad li .t{position:relative;display:inline-block}
.pad li .t svg{position:absolute;left:-3%;top:44%;width:106%;height:22px;overflow:visible}
.pad li .t svg path{stroke:var(--bs-green);stroke-width:7;fill:none;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420;transition:stroke-dashoffset .7s cubic-bezier(.6,.1,.3,1)}
.pad.done li .t svg path{stroke-dashoffset:0}
.pad.done li:nth-child(2) .t svg path{transition-delay:.25s}
.pad.done li:nth-child(3) .t svg path{transition-delay:.5s}
.pad.done li:nth-child(4) .t svg path{transition-delay:.75s}
.pad .by{position:absolute;right:26px;bottom:12px;font-family:var(--bs-font-hand);font-weight:700;font-size:24px;color:var(--bs-green-ink);transform:rotate(-5deg)}

/* proof band */
.wave{display:block;width:100%;height:70px;margin-bottom:-1px}
.proof{background:var(--bs-blue-deep);color:#fff;padding:40px 0 100px}
.proof .container{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.proof .who{display:inline-flex;align-items:center;gap:14px;background:#fff;border-radius:12px;padding:10px 16px;margin-bottom:24px}
.proof .who img{height:34px;width:auto}
.proof .who span{font-size:14px;color:var(--bs-ink-soft);font-weight:500}
.proof .big{font-family:var(--bs-font-display);font-weight:800;font-size:clamp(4.5rem,10vw,8.4rem);line-height:.9;letter-spacing:-4px}
.proof .bigsub{font-size:20px;color:#fff;margin:10px 0 30px}
.proof h2{color:#fff;font-size:clamp(2rem,3.6vw,3rem);margin-bottom:18px}
.proof p{color:#fff;font-size:18px;margin-bottom:16px}
.proof blockquote{font-family:var(--bs-font-hand);font-weight:700;font-size:32px;line-height:1.15;color:#fff;margin:26px 0 8px}
.proof cite{font-style:normal;font-size:15px;color:#fff}
.proof .link{color:#fff}

/* how it works */
.path .head{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-bottom:56px}
.path .head p{font-size:19px;color:var(--bs-ink-soft)}
.route{position:relative;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:28px}
.route .line{position:absolute;left:4%;right:6%;top:40px;height:40px;z-index:0}
.stop{position:relative;z-index:1;background:#fff;border:2px solid var(--bs-ink);border-radius:18px;padding:30px 28px 28px;box-shadow:6px 6px 0 var(--bs-ink);display:flex;flex-direction:column;gap:12px}
.stop.first{background:var(--bs-blue-faint);box-shadow:6px 6px 0 var(--bs-blue-deep);border-color:var(--bs-blue-deep)}
.stop .num{font-family:var(--bs-font-hand);font-weight:700;font-size:44px;color:var(--bs-blue-deep);line-height:.8}
.stop p{color:var(--bs-ink-soft);font-size:16px;flex:1}
.stop .price{font-family:var(--bs-font-display);font-weight:800;font-size:28px;letter-spacing:-.5px}
.stop .price small{display:block;font-family:var(--bs-font-body);font-weight:500;font-size:14px;color:var(--bs-ink-soft);letter-spacing:0}
.stop .sample{font-size:15px}

/* five commitments */
.hold{background:var(--bs-paper-deep)}
.hold .grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.hold .intro p{font-size:19px;color:var(--bs-ink-soft);margin-top:18px}
.hold .more{margin-top:22px}
.items{display:grid;grid-template-columns:1fr 1fr;gap:34px 40px}
.item{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start}
.item.wide{grid-column:1/-1}
.ico{position:relative;width:64px;height:64px}
.ico .b{position:absolute;inset:0}
.ico .i{position:absolute;inset:10px}
.item h3{font-size:21px;margin-bottom:4px}
.item p{font-size:16px;color:var(--bs-ink-soft)}

/* meet Bart */
.meet .container{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.photos{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto auto;gap:14px}
.photos picture{display:block;border-radius:16px;overflow:hidden}
.photos img{width:100%;height:100%;object-fit:cover}
.photos .p1{grid-row:1/3;aspect-ratio:3/4}
.photos .p2,.photos .p3{aspect-ratio:1/1}
.photos .p3 img{object-position:30% center}
.meet h2{margin-bottom:20px}
.meet p{font-size:18px;color:var(--bs-ink-soft);margin-bottom:16px}
.meet .hello{font-size:30px;margin-bottom:8px}
.meet .actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:26px}
.meet .whatsapp{margin-top:10px;font-size:16px}

/* reviews */
.reviews{background:#fff;border-top:2px solid var(--bs-ink);padding:100px 0}
.reviews .top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:44px;flex-wrap:wrap}
.reviews .score{display:flex;align-items:center;gap:14px;font-size:16px}
.reviews .score b{font-family:var(--bs-font-display);font-size:44px;font-weight:800;line-height:1}
.reviews .score a{color:var(--bs-ink-soft)}
.rv{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px}
.card{border:2px solid var(--bs-ink);border-radius:18px;padding:26px;background:var(--bs-paper);display:flex;flex-direction:column;gap:14px}
.card:first-child{background:var(--bs-green-soft)}
.card p{font-size:16.5px;flex:1}
.card .by{display:flex;align-items:center;gap:12px;font-weight:600;font-size:15px}
.card .by span{width:40px;height:40px;border-radius:50%;background:var(--bs-blue-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--bs-font-display);font-weight:800}
.card .by small{display:block;font-weight:500;color:var(--bs-ink-soft)}

/* questions */
.faq .container{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
details{border-bottom:2px solid var(--bs-ink);padding:20px 0}
summary{cursor:pointer;font-family:var(--bs-font-display);font-weight:700;font-size:21px;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:28px;line-height:.8;color:var(--bs-blue-deep)}
details[open] summary::after{content:"\2212"}
details p{margin-top:12px;color:var(--bs-ink-soft)}
.faq-more{margin-top:18px;font-size:17px;color:var(--bs-ink-soft)}
.faq-more a{color:var(--bs-ink);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:var(--bs-green)}
.nw{white-space:nowrap}
/* video pop-up (results cards with a video review) */
.play{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;font:600 15px var(--bs-font-body);color:var(--bs-ink);background:#fff;border:2px solid var(--bs-ink);border-radius:999px;padding:6px 16px 6px 6px;cursor:pointer;box-shadow:0 3px 0 var(--bs-ink)}
.play:hover{transform:translateY(1px);box-shadow:0 2px 0 var(--bs-ink)}
.play .dot{width:32px;height:32px;border-radius:50%;background:var(--bs-blue-deep);display:flex;align-items:center;justify-content:center}
.play .dot svg{width:12px;height:12px;margin-left:2px}
dialog.vbox{border:0;padding:0;margin:auto;background:transparent;width:min(92vw,440px);overflow:visible}
dialog.vbox::backdrop{background:rgba(20,20,22,.82)}
dialog.vbox video{display:block;width:100%;max-height:82vh;aspect-ratio:9/16;object-fit:cover;border-radius:18px;background:#000}
dialog.vbox .close{position:absolute;top:-48px;right:0;width:40px;height:40px;border-radius:50%;border:2px solid #fff;background:transparent;color:#fff;font:700 22px/1 var(--bs-font-body);cursor:pointer}
dialog.vbox p{color:#fff;margin-top:12px;font-size:15px;text-align:center}

/* closing call */
.cta{background:var(--bs-ink);color:#fff;padding:110px 0 120px;text-align:center}
.cta h2{color:#fff;margin:14px 0 18px}
.cta p{color:#cfd3dc;font-size:19px;margin-bottom:36px}
.cta .hand{color:var(--bs-green);font-size:30px}
.cta__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.cta .alt{margin:26px 0 0;font-size:16px;color:#cfd3dc}

/* footer */
.footer{background:var(--bs-paper-deep);padding:56px 0 34px;font-size:15px;color:var(--bs-ink-soft)}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:34px}
.footer__brand img{height:30px;width:auto;margin-bottom:14px}
.footer h3{font-family:var(--bs-font-display);font-size:17px;margin-bottom:10px;color:var(--bs-ink)}
.footer ul{list-style:none;display:grid;gap:7px}
.footer a{color:var(--bs-ink-soft);text-decoration:none}
.footer a:hover{color:var(--bs-blue-deep)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--bs-rule);padding-top:20px;font-size:13.5px}
.footer__social{display:flex;gap:14px}
.footer__social a{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:10px;background:#fff;border:1px solid var(--bs-rule);color:var(--bs-ink)}

/* ---------- inner pages (Stage 2, 24 Sep 2026) ---------- */
.page-hero{padding:56px 0 72px}
.page-hero .container{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.page-hero.solo .container{grid-template-columns:1fr}
.page-hero h1{margin-bottom:22px}
.page-hero .sub{font-size:20px;color:var(--bs-ink-soft);margin-bottom:32px}
.page-hero .actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
/* 7 Oct 2026 (Bart): "we can't have half a page just being the banner". An inner page's top is short and flows into the
   page: a smaller heading on one line, no dividing line, the same background as the section under it, and the first real
   content on the first screen. A top that carries a picture (Home, Law firms, About) keeps two columns, a little tighter. */
.page-hero{padding:34px 0 44px}
.page-hero h1{font-size:clamp(2.4rem,4.7vw,4rem);letter-spacing:-1.6px}
.page-hero.solo{padding:26px 0 6px}
.page-hero.solo h1{font-size:clamp(2.1rem,4.2vw,3.4rem);letter-spacing:-1.3px;margin-bottom:12px}
.page-hero.solo .sub{font-size:18.5px;margin-bottom:18px}
.page-hero.solo:has(+ .band-white){background:#fff}
.page-hero.solo + .band-white{border-top:0;padding-top:26px}
.page-hero.solo .filter,.page-hero.solo .picker,.page-hero.solo .actions{margin-bottom:0}
.page-hero.solo .sub:last-child{margin-bottom:0}
.figcard{background:#fff;border:2px solid var(--bs-ink);border-radius:20px;box-shadow:8px 8px 0 var(--bs-ink);padding:26px 28px}
.figcard .who{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--bs-rule);margin-bottom:6px;font-size:14px;color:var(--bs-ink-soft)}
.figcard .who img{height:30px;width:auto}
.figcard .row{padding:14px 0;border-bottom:1px solid var(--bs-rule-soft)}
.figcard .row:last-child{border-bottom:0;padding-bottom:0}
.figcard .row b{display:block;font-family:var(--bs-font-display);font-weight:800;font-size:36px;letter-spacing:-1px;line-height:1.05}
.figcard .row span{font-size:15px;color:var(--bs-ink-soft)}
.section-head{margin-bottom:44px}
.section-head p{font-size:19px;color:var(--bs-ink-soft);margin-top:14px}
.band-paper{background:var(--bs-paper-deep)}
.band-white{background:#fff;border-top:1px solid var(--bs-rule);border-bottom:1px solid var(--bs-rule)}

.steps-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.steps-detail .stop ul{list-style:none;display:grid;gap:10px;margin:4px 0 6px}
.steps-detail .stop li{position:relative;padding-left:26px;font-size:15.5px;color:var(--bs-ink-soft)}
.steps-detail .stop li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:9px;border-left:2.5px solid var(--bs-green-ink);border-bottom:2.5px solid var(--bs-green-ink);transform:rotate(-45deg)}
.promise{background:var(--bs-blue-faint);border:2px solid var(--bs-blue-deep);border-radius:14px;padding:16px 18px}
.promise b{display:block;font-family:var(--bs-font-display);font-weight:800;font-size:21px;color:var(--bs-blue-deep);margin-bottom:6px}
.promise p{font-size:14.5px;color:var(--bs-ink-soft)}
.seat{margin-top:28px;font-size:17px;color:var(--bs-ink-soft)}

.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.method-grid .n{font-family:var(--bs-font-hand);font-weight:700;font-size:48px;color:var(--bs-blue-deep);line-height:.9;display:block;margin-bottom:10px}
.method-grid p{font-size:16px;color:var(--bs-ink-soft);margin-top:8px}

.cards4{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tile{background:#fff;border:2px solid var(--bs-ink);border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:10px}
.tile .top{display:flex;align-items:center;gap:14px}
.tile p{font-size:16px;color:var(--bs-ink-soft)}
.tile .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.tile .tags span{font-size:13px;font-weight:500;background:var(--bs-paper-deep);border-radius:8px;padding:4px 9px;color:var(--bs-ink-soft)}
.tile .meta{font-weight:600;font-size:15px;margin-top:auto;padding-top:8px}
.tile.pale{background:var(--bs-paper)}

.pps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:10px}
.pps .tile .who-tag{font-family:var(--bs-font-hand);font-weight:700;font-size:26px;color:var(--bs-blue-deep);line-height:1}
.pps-note{margin-top:26px;font-size:18px}
.pps-note b{font-weight:600}

.pains{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pains .tile h3{font-size:21px}

.guard{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.guard ul{list-style:none;display:grid;gap:12px;margin-top:6px}
.guard li{position:relative;padding-left:28px;font-size:17px}
.guard li::before{content:"";position:absolute;left:4px;top:9px;width:10px;height:10px;border-radius:50%;background:var(--bs-teal)}
.guard .note{margin-top:22px;color:var(--bs-ink-soft)}

/* results */
.filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.filter button{font:600 15px var(--bs-font-body);color:var(--bs-ink);background:#fff;border:2px solid var(--bs-ink);border-radius:12px;padding:8px 14px;cursor:pointer;box-shadow:0 3px 0 var(--bs-ink)}
.filter button[aria-pressed="true"]{background:var(--bs-ink);color:#fff;transform:translateY(3px);box-shadow:none}
.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.result{background:#fff;border:2px solid var(--bs-ink);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:12px}
.result[hidden]{display:none}
.result .who{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.result .who img{height:34px;width:auto}
.result .kind{font-size:13px;font-weight:600;color:var(--bs-ink-soft);background:var(--bs-paper-deep);border-radius:8px;padding:3px 9px}
.result .num{font-family:var(--bs-font-display);font-weight:800;font-size:52px;letter-spacing:-1.5px;line-height:1}
.result .num small{display:block;font-family:var(--bs-font-body);font-weight:500;font-size:15px;letter-spacing:0;color:var(--bs-ink-soft);margin-top:6px}
.result p{font-size:16px;color:var(--bs-ink-soft)}
.result blockquote{font-family:var(--bs-font-hand);font-weight:700;font-size:24px;line-height:1.2;color:var(--bs-ink)}
.result cite{font-style:normal;font-size:14px;color:var(--bs-ink-soft)}
.result .link{margin-top:auto;align-self:flex-start;display:inline-block;padding:8px 0}
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.videos figure{margin:0;background:#fff;border:2px solid var(--bs-ink);border-radius:18px;overflow:hidden}
.videos video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;object-position:center 12%;background:var(--bs-ink)}
.videos figcaption{padding:14px 18px;font-size:15px}
.videos figcaption b{display:block;font-family:var(--bs-font-display);font-size:18px}
.pipeline{background:#fff;border:2px solid var(--bs-ink);border-radius:18px;overflow:hidden}
.pipeline .pipeline-row{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px 16px!important;padding:14px 22px!important;border-bottom:1px solid var(--bs-rule)!important;background:#fff!important}
.pipeline .pipeline-row:last-child{border-bottom:0!important}
.pipeline .pipeline-name{font-family:var(--bs-font-display)!important;font-size:17px!important;min-width:220px!important}
.pipeline .pipeline-row span{font-size:15px!important}
.score-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:30px;font-size:16px}
.score-line b{font-family:var(--bs-font-display);font-size:34px;font-weight:800}
.score-line .link{display:inline-block;padding:10px 0}

/* book your AI Scan */
.options{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.option{background:#fff;border:2px solid var(--bs-ink);border-radius:20px;padding:30px;display:flex;flex-direction:column;gap:12px;box-shadow:8px 8px 0 var(--bs-ink);scroll-margin-top:140px}
.option.scan{background:var(--bs-blue-faint);border-color:var(--bs-blue-deep);box-shadow:8px 8px 0 var(--bs-blue-deep)}
.option .price{font-family:var(--bs-font-display);font-weight:800;font-size:30px;letter-spacing:-.5px}
.option .price small{display:block;font-family:var(--bs-font-body);font-weight:500;font-size:15px;color:var(--bs-ink-soft);letter-spacing:0}
.option p{color:var(--bs-ink-soft)}
.option .btn{align-self:flex-start;margin-top:auto}
.power{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;background:#fff;border:2px dashed var(--bs-rule);border-radius:16px;padding:18px 22px;scroll-margin-top:140px}
.power p{color:var(--bs-ink-soft);flex:1;min-width:240px}
.power button{font:600 16px var(--bs-font-body);background:none;border:0;color:var(--bs-ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--bs-green);cursor:pointer;padding:10px 0}
.form-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:start}
.form{background:#fff;border:2px solid var(--bs-ink);border-radius:20px;padding:30px}
.form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:block;font-weight:600;font-size:15px;margin-bottom:6px}
.form .field{margin-bottom:16px}
.form input,.form select,.form textarea{width:100%;font:400 16px var(--bs-font-body);color:var(--bs-ink);background:var(--bs-paper);border:2px solid var(--bs-rule);border-radius:12px;padding:12px 14px}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--bs-blue-deep)}
.form textarea{min-height:130px;resize:vertical}
.form .hidden{display:none}
.form .error{display:none;margin-top:14px;padding:10px 14px;background:#FDECEA;border:1px solid #f5c2c2;border-radius:10px;color:#b42318;font-size:15px}
.form-success{display:none;text-align:center;padding:26px 0}
.form-success h3{margin:14px 0 8px}
.contact-list{list-style:none;display:grid;gap:18px}
.contact-list li b{display:block;font-family:var(--bs-font-display);font-size:18px}
.contact-list a{color:var(--bs-ink)}
.map{margin-top:24px;border:2px solid var(--bs-ink);border-radius:18px;overflow:hidden}
.map iframe{display:block;width:100%;height:260px;border:0}

@media (max-width:1000px){
  .page-hero .container,.guard,.form-wrap{grid-template-columns:1fr;gap:36px}
  .steps-detail,.method-grid,.cards3,.pps,.pains,.videos{grid-template-columns:1fr}
  .cards4,.results-grid,.options{grid-template-columns:1fr}
}
@media (max-width:560px){
  .form .grid2{grid-template-columns:1fr}
  .result .num{font-size:44px}
}

/* == page css: pages_stage3 (generated by build_pages.py) == */
.ab-hero .photo{margin:0;justify-self:end;width:min(100%,440px)}
.ab-hero .photo img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:24px;border:2px solid var(--bs-ink);box-shadow:8px 8px 0 var(--bs-ink)}
.ab-hero .photo figcaption{font-family:var(--bs-font-hand);font-weight:700;font-size:24px;color:var(--bs-blue-deep);margin-top:14px;transform:rotate(-1.5deg)}
.ab-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.ab-story blockquote{position:sticky;top:130px;font-family:var(--bs-font-display);font-weight:700;font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.25;letter-spacing:-.4px;border-left:6px solid var(--bs-green);padding-left:24px}
.ab-story blockquote cite{display:block;margin-top:16px;font:500 16px var(--bs-font-body);font-style:normal;color:var(--bs-ink-soft);letter-spacing:0}
.ab-story .text p{font-size:18px;color:var(--bs-ink-soft);margin-bottom:18px}
.ab-story .text p.first{font-size:21px;color:var(--bs-ink)}
.ab-story .text p.sign{font-family:var(--bs-font-hand);font-weight:700;font-size:44px;color:var(--bs-blue-deep);line-height:1;margin-top:6px}
.ab-room{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:56px;align-items:center}
.ab-room video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:20px;border:2px solid var(--bs-ink);box-shadow:8px 8px 0 var(--bs-ink);background:var(--bs-ink)}
.ab-room p{font-size:19px;color:var(--bs-ink-soft);margin-top:18px}
.ab-room .photos2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.ab-room .photos2 picture{display:block;border-radius:16px;overflow:hidden;aspect-ratio:4/3}
.ab-room .photos2 img{width:100%;height:100%;object-fit:cover}
.ab-team{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ab-team .person{background:#fff;border:2px solid var(--bs-ink);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:8px}
.ab-team .person picture{display:block;width:132px;height:132px;border-radius:50%;overflow:hidden;border:2px solid var(--bs-ink);margin-bottom:10px;background:var(--bs-paper-deep)}
.ab-team .person img{width:100%;height:100%;object-fit:cover;object-position:center top}
.ab-team .role{font-weight:600;color:var(--bs-blue-deep);font-size:15.5px}
.ab-team .person p{font-size:16px;color:var(--bs-ink-soft)}
.ab-wider{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;align-items:stretch}
.ab-wider .note{border:2px dashed var(--bs-rule);border-radius:18px;padding:22px 24px;font-size:16.5px;color:var(--bs-ink-soft)}
.ab-wider .note b{display:block;font-family:var(--bs-font-display);font-size:19px;color:var(--bs-ink);margin-bottom:4px}
.ab-wider .quote{background:var(--bs-green-soft);border-radius:18px;padding:22px 24px}
.ab-wider .quote p{font-family:var(--bs-font-hand);font-weight:700;font-size:26px;line-height:1.2;color:var(--bs-ink)}
.ab-wider .quote cite{display:block;margin-top:8px;font-style:normal;font-size:15px;color:var(--bs-ink-soft)}
.ab-creds{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ab-creds .aw{background:#fff;border:2px solid var(--bs-ink);border-radius:18px;padding:20px}
.ab-creds .aw .frame{height:96px}
.ab-creds .aw .frame.art img{height:96px}
.ab-creds .aw .frame img{height:70px}
.ab-creds .aw .frame.square,.ab-creds .aw .frame.square img{width:96px}
.ab-creds .aw .frame.logo{background:#fff}
.ab-creds .aw .frame.logo img{height:52px}
.ab-creds .aw .frame.mark{background:var(--bs-blue-faint);border-color:var(--bs-blue-soft);font-family:var(--bs-font-hand);font-weight:700;font-size:30px;color:var(--bs-blue-deep);padding:0 18px}
.ab-creds .aw p{font-size:15px}
.ab-creds .aw .link{display:inline-block;padding:6px 0;font-size:15px}
.ab-photo-wide{margin-top:28px;border-radius:20px;overflow:hidden;border:2px solid var(--bs-ink)}
.ab-photo-wide img{width:100%;aspect-ratio:21/8;object-fit:cover;object-position:center 30%}
.ab-photo-wide figcaption{background:#fff;padding:12px 18px;font-size:15px;color:var(--bs-ink-soft);border-top:2px solid var(--bs-ink)}
.sf-five{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.sf-five .tile h3{font-size:20px}
.sf-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sf-rules .tile h3{font-size:20px}
.sf-stop{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.sf-stop .tile{background:var(--bs-paper)}
.sf-stop .tile .n{font-family:var(--bs-font-hand);font-weight:700;font-size:40px;color:var(--bs-blue-deep);line-height:.8}
.sf-law{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.sf-law .tile h3{font-size:20px}
.sf-never{margin-top:28px;background:#fff;border:2px solid var(--bs-ink);border-radius:18px;padding:24px 26px}
.sf-never h3{margin-bottom:8px}
.sf-never p{color:var(--bs-ink-soft)}
.tr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.tr-grid .tile{gap:12px}
.tr-grid .tile.lead{background:var(--bs-blue-faint);border-color:var(--bs-blue-deep);box-shadow:8px 8px 0 var(--bs-blue-deep)}
.tr-grid .tile .meta{font-family:var(--bs-font-display);font-weight:800;font-size:22px}
.tr-grid .tile .go{margin-top:6px;align-self:flex-start}
.tr-proof{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:8px;font-size:16px;color:var(--bs-ink-soft)}
.tr-proof b{color:var(--bs-ink)}
@media (max-width:1000px){
  .ab-story,.ab-room,.ab-wider,.sf-law{grid-template-columns:1fr;gap:36px}
  .ab-story blockquote{position:static}
  .ab-room video{max-width:320px}
  .ab-team,.sf-rules,.tr-grid{grid-template-columns:1fr}
  .ab-creds,.sf-stop{grid-template-columns:1fr 1fr}
  .sf-five{grid-template-columns:1fr 1fr}
  .ab-hero .photo{justify-self:center}
}
@media (max-width:560px){
  .ab-creds,.sf-stop,.sf-five{grid-template-columns:1fr}
  .ab-photo-wide img{aspect-ratio:4/3}
}
/* == end page css: pages_stage3 == */

/* == page css: pages_catton (generated by build_pages.py) == */
.cs-bal{text-wrap:pretty}
.cs-hero-fig .row span{display:block;text-wrap:pretty;line-height:1.45}
.cs-signs .check span{text-wrap:pretty}
.cs-crumb{font-size:15px;color:var(--bs-ink-soft);margin-bottom:18px}
.cs-crumb a{color:var(--bs-ink-soft);text-decoration:underline;text-decoration-color:var(--bs-green);text-decoration-thickness:2px;text-underline-offset:4px}
.cs-crumb span{margin:0 6px}
.cs-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:-12px 0 30px}
.cs-tags li{font-size:14px;font-weight:500;color:var(--bs-ink-soft);background:#fff;border:1.5px solid var(--bs-rule);border-radius:8px;padding:3px 10px}
.cs-short{padding:calc(var(--section-y) * .8) 0}
.cs-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.cs-split p{font-size:20px;color:var(--bs-ink-soft)}
.cs-builds{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.cs-build{box-shadow:6px 6px 0 var(--bs-ink)}
.cs-build .top{justify-content:space-between}
.cs-build.cs-soon{border-style:dashed;background:var(--bs-paper);box-shadow:none}
.cs-status{font:700 13px var(--bs-font-display);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:6px 12px;background:var(--bs-green-soft);color:var(--bs-green-ink);white-space:nowrap}
.cs-status.cs-wip{background:var(--bs-amber-soft);color:var(--bs-ink);border:2px dashed var(--bs-amber);padding:4px 10px}
.cs-role{font-size:14.5px;font-weight:600;color:var(--bs-ink-soft);margin-top:6px}
.cs-stats{margin-top:auto;padding-top:6px}
.cs-stat{padding:12px 0;border-top:1px solid var(--bs-rule)}
.cs-stat:last-child{padding-bottom:0}
.cs-stat b{display:block;font-family:var(--bs-font-display);font-weight:800;font-size:22px;letter-spacing:-.3px;line-height:1.2}
.cs-stat span{display:block;font-size:15px;color:var(--bs-ink-soft);line-height:1.4;text-wrap:pretty}
.cs-built{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:40px;font-size:15px;color:var(--bs-ink-soft)}
.cs-built b{font-weight:600;color:var(--bs-ink);margin-right:4px}
.cs-built span{font-size:14px;font-weight:500;background:#fff;border:1.5px solid var(--bs-rule);border-radius:8px;padding:3px 10px}
.cs-proof .cs-over{font-size:30px;color:#fff;margin-bottom:10px;transform:rotate(-1.5deg);transform-origin:left}
.cs-proof .cs-body{font-size:20px;margin:0}
.cs-proof .cs-body strong{color:#fff}
.cs-table-card{background:#fff;border:2px solid var(--bs-ink);border-radius:20px;box-shadow:8px 8px 0 var(--bs-ink);overflow:hidden}
.cs-table{width:100%;border-collapse:collapse;table-layout:fixed}
.cs-table th,.cs-table td{text-align:left;vertical-align:top;padding:20px 26px;border-bottom:1px solid var(--bs-rule);font-size:16.5px;font-weight:400;color:var(--bs-ink-soft)}
.cs-table thead th{font:700 15px var(--bs-font-display);color:var(--bs-ink);background:var(--bs-paper-deep);border-bottom:2px solid var(--bs-ink);padding:14px 26px}
.cs-table thead th:first-child{width:20%}
.cs-table thead th:last-child{width:31%}
.cs-table tbody th{font:800 22px var(--bs-font-display);color:var(--bs-ink);letter-spacing:-.3px}
.cs-table .cs-fig b{font:800 26px var(--bs-font-display);color:var(--bs-ink);letter-spacing:-.5px;white-space:nowrap}
.cs-table tfoot th,.cs-table tfoot td{background:var(--bs-blue-faint);border-top:2px solid var(--bs-ink);border-bottom:0;color:var(--bs-ink);font-weight:600}
.cs-table tfoot th{font:800 22px var(--bs-font-display)}
.cs-table tfoot .cs-fig b{color:var(--bs-blue-deep);font-size:30px}
.cs-after{padding-top:0}
.cs-secure{display:grid;grid-template-columns:64px 1fr;gap:22px;align-items:start;background:var(--bs-blue-faint);border:2px solid var(--bs-blue-deep);border-radius:20px;box-shadow:8px 8px 0 var(--bs-blue-deep);padding:30px 32px}
.cs-secure h3{font-size:28px;margin-bottom:10px}
.cs-secure p{color:var(--bs-ink-soft)}
.cs-secure .link{display:inline-block;margin-top:12px;padding:8px 0}
.cs-fit .cs-hand{font-size:30px;color:var(--bs-blue-deep);margin:0 0 8px;transform:rotate(-1.5deg);transform-origin:left}
.cs-signs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cs-read{text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}
.cs-read:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--bs-ink)}
.cs-read .cs-kind{font:700 13px var(--bs-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-blue-deep)}
.cs-read .cs-arrow{margin-top:auto;font-size:22px;line-height:1;color:var(--bs-ink)}
@media (max-width:1000px){
  .cs-split,.cs-builds{grid-template-columns:1fr;gap:26px}
  .cs-signs{grid-template-columns:1fr}
}
@media (max-width:900px){
  .cs-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .cs-table,.cs-table tbody,.cs-table tfoot{display:block}
  .cs-table tr{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:18px 20px;border-bottom:1px solid var(--bs-rule)}
  .cs-table tbody tr:last-child{border-bottom:0}
  .cs-table th,.cs-table td{display:block;padding:0;border:0}
  .cs-table tr>:nth-child(2){grid-column:1/-1;grid-row:2}
  .cs-table tr>:nth-child(3){grid-column:2;grid-row:1;text-align:right}
  .cs-table tfoot tr{background:var(--bs-blue-faint);border-top:2px solid var(--bs-ink);border-bottom:0}
  .cs-table tfoot th,.cs-table tfoot td{border:0}
  .cs-table tbody th,.cs-table tfoot th{font-size:21px}
  .cs-table .cs-fig b{font-size:23px}
  .cs-table tfoot .cs-fig b{font-size:26px}
}
@media (max-width:560px){
  .cs-secure{grid-template-columns:1fr;gap:14px;padding:24px 22px}
  .cs-secure h3{font-size:25px}
}
/* == end page css: pages_catton == */

/* == page css: pages_sample (generated by build_pages.py) == */
.sr-label{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;background:var(--bs-amber-soft);border:2px solid var(--bs-ink);border-radius:16px;padding:14px 20px;margin-bottom:34px}
.sr-stamp{display:inline-block;font-family:var(--bs-font-hand);font-weight:700;font-size:34px;line-height:1;color:var(--bs-ink);background:#fff;border:2px solid var(--bs-ink);border-radius:10px;padding:4px 14px 8px;transform:rotate(-4deg);box-shadow:3px 3px 0 var(--bs-ink)}
.sr-label p{flex:1 1 260px;font-size:17px;font-weight:500;color:var(--bs-ink)}
.sr-price{font-family:var(--bs-font-display);font-weight:700;font-size:19px;color:var(--bs-ink);margin:-14px 0 30px}
.sr-toc{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:38px}
.sr-toc b{flex:0 0 100%;font-family:var(--bs-font-display);font-weight:700;font-size:17px}
.sr-toc a{display:inline-flex;align-items:center;gap:8px;min-height:42px;font:600 15px var(--bs-font-body);color:var(--bs-ink);text-decoration:none;background:#fff;border:2px solid var(--bs-ink);border-radius:12px;padding:6px 14px 6px 8px;box-shadow:0 3px 0 var(--bs-ink);transition:transform .12s ease,box-shadow .12s ease}
.sr-toc a:hover{transform:translateY(1px);box-shadow:0 2px 0 var(--bs-ink)}
.sr-toc a span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--bs-blue-soft);color:var(--bs-blue-deep);font:800 14px var(--bs-font-display)}

.sr-sec{padding:92px 0;scroll-margin-top:84px}
.sr-step{display:block;font-family:var(--bs-font-hand);font-weight:700;font-size:58px;line-height:.8;color:var(--bs-blue-deep);margin-bottom:10px}
.sr-head{margin-bottom:40px}
.sr-head p{font-size:19px;color:var(--bs-ink-soft);margin-top:14px}
.sr-kick{font:700 14px var(--bs-font-display);letter-spacing:1.2px;text-transform:uppercase;color:var(--bs-blue-deep);margin-bottom:14px}

.sr-cover{background:#fff;border:2px solid var(--bs-ink);border-radius:22px;box-shadow:10px 10px 0 var(--bs-ink);overflow:hidden}
.sr-cover-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;background:var(--bs-ink);color:#fff;padding:14px 32px;font-size:15px}
.sr-cover-bar b{font-family:var(--bs-font-display);font-weight:700;letter-spacing:.3px}
.sr-tag{font:700 13px var(--bs-font-body);letter-spacing:1px;text-transform:uppercase;color:var(--bs-ink);background:var(--bs-amber-soft);border-radius:6px;padding:2px 9px}
.sr-cover-in{padding:40px 44px 34px}
.sr-cover h2{font-size:clamp(2.3rem,4.6vw,4rem);margin-bottom:18px}
.sr-cover .mark svg{fill:var(--bs-green)}
.sr-cover-sum{font-size:20px;color:var(--bs-ink-soft);margin-bottom:34px}
.sr-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none}
.sr-stats li{background:var(--bs-paper);border:2px solid var(--bs-ink);border-radius:16px;padding:18px 20px 20px}
.sr-stats li:last-child{background:var(--bs-green-soft);border-color:var(--bs-green-ink)}
.sr-stats b{display:block;font:800 clamp(2.4rem,3.8vw,3.3rem)/1 var(--bs-font-display);letter-spacing:-1.5px;color:var(--bs-ink);white-space:nowrap}
.sr-stats span{display:block;font-size:15.5px;line-height:1.45;color:var(--bs-ink-soft);margin-top:10px}
.sr-stats small{display:block;font-size:13px;line-height:1.4;color:var(--bs-ink-soft);margin-top:8px;border-top:1px solid var(--bs-rule);padding-top:8px}
.sr-by{display:flex;align-items:center;gap:14px;margin-top:30px;padding-top:22px;border-top:1px solid var(--bs-rule)}
.sr-by img{flex:none;width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--bs-ink)}
.sr-by p{font-size:15.5px;color:var(--bs-ink-soft)}
.sr-by b{color:var(--bs-ink)}

.sr-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none}
.sr-area{background:#fff;border:2px solid var(--bs-ink);border-top-width:9px;border-radius:18px;padding:16px 20px 22px;display:flex;flex-direction:column;gap:12px}
.sr-area.sr-hot{border-top-color:var(--bs-green)}
.sr-area.sr-warm{border-top-color:var(--bs-blue-sky)}
.sr-area.sr-keep{background:var(--bs-paper);border-style:dashed;border-top-style:solid;border-top-color:var(--bs-rule)}
.sr-area.sr-first{background:var(--bs-green-soft);border-color:var(--bs-green-ink);box-shadow:8px 8px 0 var(--bs-green-ink)}
.sr-area-top{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:32px}
.sr-area-top small{font:600 13px var(--bs-font-body);letter-spacing:.4px;text-transform:uppercase;color:var(--bs-ink-soft)}
.sr-heat{font:700 13px var(--bs-font-body);border-radius:999px;padding:3px 11px;white-space:nowrap}
.sr-hot .sr-heat{background:var(--bs-green-soft);color:var(--bs-green-ink)}
.sr-warm .sr-heat{background:var(--bs-blue-soft);color:var(--bs-blue-deep)}
.sr-keep .sr-heat{background:var(--bs-paper-deep);color:var(--bs-ink-soft)}
.sr-first .sr-heat{background:none;padding:0;font:700 30px/1 var(--bs-font-hand);color:var(--bs-green-ink);transform:rotate(-3deg)}
.sr-procs{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.sr-p{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;line-height:1.3;color:var(--bs-ink);border-radius:10px;padding:6px 11px}
.sr-p b{flex:none;width:24px;height:24px;border-radius:50%;background:var(--bs-green-ink);color:#fff;display:flex;align-items:center;justify-content:center;font:800 13px var(--bs-font-display)}
.sr-p.sr-p-top{background:var(--bs-green-soft);border:2px solid var(--bs-green-ink);padding-left:6px}
.sr-first .sr-p.sr-p-top{background:#fff}
.sr-p.sr-p-next{background:#fff;border:2px solid var(--bs-blue-deep)}
.sr-p.sr-p-stay{background:var(--bs-paper-deep);border:2px dashed var(--bs-ink-soft)}
.sr-legend{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:26px;list-style:none;font-size:15px;color:var(--bs-ink-soft)}
.sr-legend li{display:flex;align-items:center;gap:10px}
.sr-legend i{flex:none;width:26px;height:18px;border-radius:6px}
.sr-legend .sr-p-top i{background:var(--bs-green-soft);border:2px solid var(--bs-green-ink)}
.sr-legend .sr-p-next i{background:#fff;border:2px solid var(--bs-blue-deep)}
.sr-legend .sr-p-stay i{background:var(--bs-paper-deep);border:2px dashed var(--bs-ink-soft)}

.sr-reg{background:#fff;border:2px solid var(--bs-ink);border-radius:18px;box-shadow:8px 8px 0 var(--bs-ink);overflow:hidden}
.sr-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr) minmax(0,1.5fr) 210px;gap:10px 24px;align-items:center;padding:17px 26px;border-top:1px solid var(--bs-rule)}
.sr-row.sr-th{border-top:0;background:var(--bs-paper-deep);padding-top:12px;padding-bottom:12px}
.sr-row.sr-th span{font:700 13px var(--bs-font-display);letter-spacing:.8px;text-transform:uppercase;color:var(--bs-ink-soft)}
.sr-row.sr-risk{background:var(--bs-amber-soft)}
.sr-tool{font:700 18px/1.25 var(--bs-font-display);color:var(--bs-ink)}
.sr-row span{font-size:15.5px;line-height:1.45;color:var(--bs-ink-soft)}
.sr-lb{display:none}
.sr-st{display:inline-block;font:700 13.5px var(--bs-font-body);border:2px solid;border-radius:999px;padding:4px 12px;white-space:nowrap}
.sr-st.sr-ok{background:var(--bs-green-soft);border-color:var(--bs-green-ink);color:var(--bs-green-ink)}
.sr-st.sr-no{background:#fff;border-color:var(--bs-amber);color:var(--bs-ink)}
.sr-st.sr-off{background:var(--bs-blue-faint);border-color:var(--bs-blue-deep);color:var(--bs-blue-deep)}
.sr-flag{margin-top:28px;background:#fff;border:2px solid var(--bs-ink);border-left:8px solid var(--bs-amber);border-radius:14px;padding:16px 22px;font-size:17px;color:var(--bs-ink-soft)}
.sr-flag b{color:var(--bs-ink)}

.sr-key{display:flex;flex-wrap:wrap;gap:10px 30px;list-style:none;margin:-12px 0 32px;font-size:16px;color:var(--bs-ink-soft)}
.sr-key b{font-family:var(--bs-font-display);color:var(--bs-ink);margin-right:6px}
.sr-top3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px;list-style:none}
.sr-card{background:#fff;border:2px solid var(--bs-ink);border-radius:20px;box-shadow:6px 6px 0 var(--bs-ink);padding:24px 24px 22px;display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:16px}
.sr-card.sr-c1{background:var(--bs-blue-faint);border-color:var(--bs-blue-deep);box-shadow:6px 6px 0 var(--bs-blue-deep)}
.sr-rank{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sr-num{width:46px;height:46px;border-radius:50%;background:var(--bs-ink);color:#fff;display:flex;align-items:center;justify-content:center;font:800 22px var(--bs-font-display)}
.sr-c1 .sr-num{background:var(--bs-blue-deep)}
.sr-go{font:700 13.5px var(--bs-font-body);background:var(--bs-green-ink);color:#fff;border-radius:999px;padding:5px 13px}
.sr-whw{display:grid;align-content:start;gap:9px;border-top:1px solid var(--bs-rule);padding-top:14px}
.sr-whw div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;align-items:baseline}
.sr-whw dt{font:700 13px var(--bs-font-display);letter-spacing:.6px;text-transform:uppercase;color:var(--bs-blue-deep)}
.sr-whw dd{font-size:15.5px;line-height:1.45;color:var(--bs-ink)}
.sr-scores{display:grid;gap:12px;background:var(--bs-paper);border:2px solid var(--bs-ink);border-radius:14px;padding:14px 16px}
.sr-c1 .sr-scores{background:#fff}
.sr-score{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;font-size:15px;font-weight:600;color:var(--bs-ink)}
.sr-dots{grid-column:1 / -1;grid-row:2;display:flex;gap:5px}
.sr-dots i{flex:none;width:15px;height:15px;border-radius:50%;border:2px solid var(--bs-ink);background:#fff}
.sr-dots i.sr-on{background:var(--bs-green)}
.sr-score b{grid-column:2;grid-row:1;font:800 17px var(--bs-font-display)}
.sr-score small{font-size:13px;font-weight:600;color:var(--bs-ink-soft)}
.sr-why{font-size:15px;line-height:1.5;color:var(--bs-ink-soft)}
.sr-money{align-self:start;border-top:2px solid var(--bs-ink);padding-top:16px}
.sr-money b{display:block;font:800 48px/1 var(--bs-font-display);letter-spacing:-1.5px;color:var(--bs-ink)}
.sr-money span{display:block;font-size:15px;color:var(--bs-ink-soft);margin-top:6px}
.sr-math{margin-top:12px;background:var(--bs-paper-deep);border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.5;color:var(--bs-ink)}
.sr-c1 .sr-math{background:#fff}
.sr-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 30px;margin-top:30px;background:var(--bs-ink);border-radius:18px;padding:22px 30px}
.sr-total p{color:var(--bs-rule);font-size:16px}
.sr-total .sr-sum{font:800 clamp(1.5rem,2.6vw,2.2rem)/1.15 var(--bs-font-display);letter-spacing:-.5px;color:#fff}
.sr-total .sr-year{font:800 clamp(2rem,3.4vw,2.9rem)/1 var(--bs-font-display);letter-spacing:-1px;color:var(--bs-green);white-space:nowrap}
.sr-foot{margin-top:18px;font-size:14.5px;color:var(--bs-ink-soft)}

.sr-one{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:30px 48px;align-items:center;background:var(--bs-green-soft);border:2px solid var(--bs-green-ink);border-radius:24px;box-shadow:10px 10px 0 var(--bs-green-ink);padding:44px 48px}
.sr-one-k{display:flex;align-items:flex-end;gap:12px;margin-bottom:14px}
.sr-one-k .sr-step{margin:0}
.sr-one-k .hand{font-size:32px;color:var(--bs-green-ink);transform:rotate(-2deg);transform-origin:left}
.sr-one h2{margin-bottom:18px}
.sr-one p{font-size:18.5px;color:var(--bs-ink)}
.sr-facts{list-style:none;display:grid;gap:12px}
.sr-facts li{background:#fff;border:2px solid var(--bs-ink);border-radius:14px;padding:14px 18px;font-size:16px;line-height:1.45;color:var(--bs-ink-soft)}
.sr-facts b{display:block;font:700 18px var(--bs-font-display);color:var(--bs-ink);margin-bottom:2px}

.sr-plan{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;list-style:none}
.sr-plan::before{content:"";position:absolute;left:6%;right:6%;top:40px;border-top:3px dashed var(--bs-ink);z-index:0}
.sr-phase{position:relative;z-index:1;background:#fff;border:2px solid var(--bs-ink);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;padding-bottom:22px}
.sr-when{display:flex;align-items:baseline;gap:10px;background:var(--bs-ink);padding:16px 22px 14px}
.sr-ph1 .sr-when{background:var(--bs-blue-deep)}
.sr-when b{font:800 52px/1 var(--bs-font-display);letter-spacing:-1.5px;color:#fff}
.sr-when span{font:600 16px var(--bs-font-body);color:#fff}
.sr-phase h3{padding:20px 22px 0}
.sr-phase ul{list-style:none;display:grid;gap:11px;padding:14px 22px 0}
.sr-phase li{position:relative;padding-left:26px;font-size:15.5px;line-height:1.5;color:var(--bs-ink-soft)}
.sr-phase li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:9px;border-left:2.5px solid var(--bs-green-ink);border-bottom:2.5px solid var(--bs-green-ink);transform:rotate(-45deg)}
.sr-phase li.sr-this{color:var(--bs-ink);font-weight:600}
.sr-phase li.sr-this em{display:inline-block;font:700 22px/1 var(--bs-font-hand);font-style:normal;color:var(--bs-green-ink);margin-left:8px;transform:rotate(-3deg)}
.sr-check{margin:auto 22px 0;padding-top:18px;font-size:15px;line-height:1.5;color:var(--bs-ink)}
.sr-check span{display:block;background:var(--bs-paper-deep);border-radius:10px;padding:10px 12px}
.sr-check b{font-family:var(--bs-font-display)}

.sr-nextstep{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px 56px;align-items:start}
.sr-nextstep h2{margin-bottom:18px}
.sr-nextstep .sr-lede{font-size:18px;color:var(--bs-ink-soft)}
.sr-nextstep .sr-credit{margin-top:16px;font-weight:600;color:var(--bs-ink)}
.sr-nextstep .promise{padding:24px 26px;box-shadow:8px 8px 0 var(--bs-blue-deep)}
.sr-nextstep .promise b{font-size:26px;line-height:1.15;margin-bottom:10px}
.sr-nextstep .promise p{font-size:16px}
.sr-guard{margin-top:26px;border:2px dashed var(--bs-ink-soft);border-radius:16px;padding:18px 22px}
.sr-guard b{display:block;font:700 18px var(--bs-font-display);color:var(--bs-ink);margin-bottom:4px}
.sr-guard p{font-size:16px}

@media (max-width:1000px){
  .sr-sec{padding:68px 0}
  .sr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sr-map{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sr-plan,.sr-one,.sr-nextstep{grid-template-columns:1fr}
  .sr-top3{grid-template-columns:1fr;row-gap:26px}
  .sr-card{display:flex;flex-direction:column;gap:16px;grid-row:auto}
  .sr-plan::before{display:none}
  .sr-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 20px}
  .sr-row.sr-th{display:none}
  .sr-tool,.sr-row .sr-cell-st{grid-column:1 / -1}
  .sr-lb{display:block;font:700 12.5px var(--bs-font-display);font-style:normal;letter-spacing:.6px;text-transform:uppercase;color:var(--bs-ink-soft)}
  .sr-one{padding:34px 30px}
}
@media (max-width:640px){
  .sr-cover-bar{padding:12px 20px}
  .sr-cover-in{padding:28px 20px 26px}
  .sr-cover{box-shadow:6px 6px 0 var(--bs-ink)}
  .sr-cover-sum{font-size:18px}
  .sr-stats{gap:12px}
  .sr-stats li{padding:14px 14px 16px}
  .sr-stats b{font-size:32px;letter-spacing:-1px}
  .sr-map{grid-template-columns:1fr}
  .sr-row{grid-template-columns:1fr;padding:16px 20px}
  .sr-reg{box-shadow:5px 5px 0 var(--bs-ink)}
  .sr-card{padding:22px 20px 20px}
  .sr-one{padding:28px 20px;box-shadow:6px 6px 0 var(--bs-green-ink)}
  .sr-one p{font-size:17.5px}
  .sr-total{padding:20px}
  .sr-nextstep .promise{box-shadow:5px 5px 0 var(--bs-blue-deep)}
}
/* == end page css: pages_sample == */

/* == page css: pages_stage4 (generated by build_pages.py) == */
.s4-pills-by{font-size:14.5px;font-weight:600;margin:16px 0 8px;opacity:.85}
.s4-note,.section-head .s4-note{font-family:var(--bs-font-hand);font-weight:700;font-size:28px;line-height:1.05;color:var(--bs-blue-deep);margin:0 0 10px;transform:rotate(-1.5deg);transform-origin:left}
.s4-hl{color:var(--bs-blue-deep)}
.s4-nowrap{white-space:nowrap}
.s4-pills{display:flex;flex-wrap:wrap;gap:10px;list-style:none}
.s4-pills li{font-size:14.5px;font-weight:600;line-height:1.3;color:var(--bs-ink);background:#fff;border:2px solid var(--bs-ink);border-radius:999px;padding:6px 14px}

.calc-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.calc-panel{background:#fff;border:2px solid var(--bs-ink);border-radius:20px;box-shadow:8px 8px 0 var(--bs-ink);padding:32px;display:flex;flex-direction:column;gap:22px;min-width:0}
.calc-panel.opp{background:var(--bs-blue-faint);border-color:var(--bs-blue-deep);box-shadow:8px 8px 0 var(--bs-blue-deep)}
.calc-panel .s4-note{font-size:26px;margin-bottom:-14px}
.calc-panel h2{font-size:clamp(1.9rem,3vw,2.5rem)}
.calc-intro{color:var(--bs-ink-soft);margin-top:-8px}
.calc-field label{display:block;font-weight:600;font-size:16px;line-height:1.4}
.calc-hint{display:block;font-size:14px;color:var(--bs-ink-soft);margin-top:2px}
.calc-range{display:flex;align-items:center;gap:16px;margin-top:10px}
.calc-range input[type=range]{flex:1;min-width:0;height:10px;-webkit-appearance:none;appearance:none;background:var(--bs-paper-deep);border:2px solid var(--bs-ink);border-radius:999px;cursor:pointer}
.calc-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:var(--bs-blue-deep);border:3px solid #fff;box-shadow:0 0 0 2px var(--bs-ink);cursor:pointer}
.calc-range input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--bs-blue-deep);border:3px solid #fff;box-shadow:0 0 0 2px var(--bs-ink);cursor:pointer}
.calc-panel.opp .calc-range input[type=range]::-webkit-slider-thumb{background:var(--bs-green)}
.calc-panel.opp .calc-range input[type=range]::-moz-range-thumb{background:var(--bs-green)}
.calc-val{flex:none;min-width:104px;text-align:right;font:700 18px var(--bs-font-display);color:var(--bs-blue-deep);white-space:nowrap}
.calc-panel.opp .calc-val{color:var(--bs-green-ink)}
.calc-field input[type=number]{display:block;width:140px;max-width:100%;margin-top:10px;font:600 17px var(--bs-font-body);color:var(--bs-ink);background:var(--bs-paper);border:2px solid var(--bs-rule);border-radius:12px;padding:11px 14px}
.calc-field input[type=number]:focus{outline:none;border-color:var(--bs-blue-deep)}
.calc-freed{background:#fff;border:2px solid var(--bs-blue-soft);border-radius:14px;padding:16px 18px;font-size:16px;color:var(--bs-ink-soft)}
.calc-freed strong{color:var(--bs-blue-deep)}
.calc-src{display:flex;flex-direction:column;gap:18px;padding-top:20px;border-top:2px solid var(--bs-blue-soft)}
.calc-src-head,.calc-result-head{font:700 13px var(--bs-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-ink-soft)}
.calc-result{margin-top:auto;background:var(--bs-paper-deep);border-radius:16px;padding:24px 20px;text-align:center}
.calc-panel.opp .calc-result{background:#fff}
.calc-big{font:800 clamp(2.6rem,4.4vw,3.6rem)/1.05 var(--bs-font-display);letter-spacing:-1.5px;color:var(--bs-ink);margin:6px 0 14px}
.calc-rows{display:flex;justify-content:center;gap:34px;margin-bottom:16px}
.calc-rows div{display:flex;flex-direction:column;font-size:14.5px;color:var(--bs-ink-soft)}
.calc-rows strong{font:700 18px var(--bs-font-display);color:var(--bs-ink)}
.calc-est{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.calc-est div{display:flex;flex-direction:column;gap:2px;padding:10px 6px;border-radius:12px;background:#fff;border:1.5px solid var(--bs-rule);min-width:0}
.calc-panel.opp .calc-est div{background:var(--bs-paper)}
.calc-est span,.calc-est em{font-size:13px;font-style:normal;color:var(--bs-ink-soft)}
.calc-est strong{font:700 16px var(--bs-font-display);color:var(--bs-ink);overflow-wrap:anywhere}
.calc-est .hi,.calc-panel.opp .calc-est .hi{background:var(--bs-green-soft);border-color:var(--bs-green-deep)}
.calc-est .hi strong{color:var(--bs-green-ink)}
.calc-panel.opp .calc-est .hi{background:var(--bs-blue-soft);border-color:var(--bs-blue-deep)}
.calc-panel.opp .calc-est .hi strong{color:var(--bs-blue-deep)}
.calc-urgency{text-align:center;font-size:19px;color:var(--bs-ink-soft);margin:60px 0 26px}
.calc-urgency strong{color:var(--bs-ink)}
.calc-total{background:var(--bs-blue-deep);color:#fff;border:2px solid var(--bs-ink);border-radius:24px;box-shadow:8px 8px 0 var(--bs-ink);padding:40px 32px;text-align:center}
.calc-total-head{display:block;font:700 14px var(--bs-font-display);letter-spacing:.1em;text-transform:uppercase;color:#d9e6ff}
.calc-total-big{display:block;font:800 clamp(3rem,8vw,6rem)/1 var(--bs-font-display);letter-spacing:-3px;margin:12px 0 14px}
.calc-total-sub{font-size:16px;color:#e3ecff}
details.calc-math{margin-top:30px;background:#fff;border:2px solid var(--bs-ink);border-radius:16px;padding:0 22px}
.calc-math summary{font-size:18px;padding:18px 0}
.calc-math pre{font:500 14px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--bs-ink);background:var(--bs-paper);border-radius:12px;padding:16px 18px;margin:0 0 20px;white-space:pre-wrap;overflow-wrap:anywhere}
.calc-go{margin-top:40px;text-align:center}
.calc-trust blockquote{font:700 clamp(1.3rem,2.1vw,1.75rem)/1.35 var(--bs-font-display);letter-spacing:-.3px;color:var(--bs-ink);border-left:6px solid var(--bs-green);padding-left:26px}
.calc-trust cite{display:block;margin-top:16px;font:500 16px var(--bs-font-body);font-style:normal;letter-spacing:0;color:var(--bs-ink-soft)}
.calc-trust .s4-pills{margin-top:34px}

.fd-hero .s4-pills li{background:var(--bs-green-soft)}
.fd-shapes,.fd-srcs,.fd-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fd-shapes .tile{gap:8px}
.fd-shapes .how,.fd-src .kind{font-weight:600;font-size:15px;color:var(--bs-blue-deep)}
.fd-src{text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}
.fd-src:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--bs-ink)}
.fd-src h3{font-size:21px}
.fd-src .go{margin-top:auto;align-self:flex-end;font-size:22px;line-height:1;color:var(--bs-ink)}
.fd-steps .tile h3{font-size:21px}
.fd-ready{margin-top:44px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 40px;background:var(--bs-blue-faint);border:2px solid var(--bs-blue-deep);border-radius:20px;box-shadow:8px 8px 0 var(--bs-blue-deep);padding:32px 34px}
.fd-ready .s4-note{font-size:26px}
.fd-ready h2{font-size:clamp(1.8rem,3vw,2.5rem)}
.fd-ready .s4-pills{margin-top:16px}

.legal-updated{font-size:17px;color:var(--bs-ink-soft)}
.legal-body{padding-top:72px}
.legal-doc h2{font-size:clamp(2rem,3.4vw,2.8rem);padding-bottom:14px;border-bottom:2px solid var(--bs-ink);margin:80px 0 4px}
.legal-doc h2:first-child{margin-top:0}
.legal-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2.1fr);gap:48px;padding:28px 0;border-bottom:1px solid var(--bs-rule)}
.legal-row h3{font-size:21px;position:sticky;top:110px;align-self:start}
.legal-text{grid-column:2;min-width:0}
.legal-text p,.legal-text ul{font-size:17px;line-height:1.75;color:var(--bs-ink-soft)}
.legal-text p+p,.legal-text p+ul,.legal-text ul+p{margin-top:14px}
.legal-text ul{padding-left:22px}
.legal-text li+li{margin-top:6px}
.legal-text strong{font-weight:600;color:var(--bs-ink)}
.legal-doc a{font-weight:600;color:var(--bs-ink);text-decoration:underline;text-decoration-color:var(--bs-green);text-decoration-thickness:2px;text-underline-offset:4px}
.legal-foot{margin-top:40px;background:var(--bs-paper);border:2px dashed var(--bs-rule);border-radius:16px;padding:22px 26px;font-size:16.5px;color:var(--bs-ink-soft)}

.nf{padding:72px 0 120px;text-align:center}
.nf-code{font:800 clamp(6rem,18vw,11rem)/.9 var(--bs-font-display);letter-spacing:-6px;color:var(--bs-blue-deep)}
.nf .s4-note{font-size:34px;margin:18px 0 12px;transform:rotate(-2deg);transform-origin:center}
.page-hero.nf .actions{justify-content:center}
.nf-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 32px;margin-top:30px}
.nf-links .link{display:inline-block;padding:8px 0}
.nf-tag{margin-top:40px;font-size:15px;color:var(--bs-ink-soft)}

.club-hero{background:var(--bs-ink);color:#fff;padding:64px 0 124px}
.club-hero .container{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}
.club-hero .s4-note{color:var(--bs-green)}
.club-hero h1{color:#fff;font-size:clamp(2.6rem,5vw,4.3rem);margin-bottom:22px}
.club-hl{color:var(--bs-green)}
.club-sub{font-size:19px;color:#d6d8de}
.club-hero .actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:32px}
.btn.club-join{background:var(--bs-green);color:var(--bs-ink);box-shadow:0 6px 0 var(--bs-green-deep)}
.btn.club-join:hover{box-shadow:0 4px 0 var(--bs-green-deep)}
.btn.club-join:active{box-shadow:0 0 0 var(--bs-green-deep)}
.club-free{font-family:var(--bs-font-hand);font-weight:700;font-size:27px;line-height:1.1;color:var(--bs-green)}
.club-hero .s4-pills{margin-top:30px}
.club-hero .s4-pills li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.4);color:#fff}
.club-photo{margin:0}
.club-photo img{width:100%;border-radius:24px;border:2px solid #fff;box-shadow:10px 10px 0 var(--bs-green)}
.club-strip{position:relative;z-index:2;margin-top:-58px}
.club-strip .inner{background:#fff;border:2px solid var(--bs-ink);border-radius:20px;box-shadow:8px 8px 0 var(--bs-ink);padding:22px 28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px}
.club-strip p{font:700 clamp(1.15rem,1.8vw,1.4rem)/1.3 var(--bs-font-display);color:var(--bs-ink)}
.club-for{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.club-ic{width:52px;height:52px;border-radius:14px;border:2px solid var(--bs-ink);display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.club-ic svg{width:24px;height:24px}
.club-not{margin-top:24px;background:var(--bs-paper);border:2px dashed var(--bs-rule);border-radius:18px;padding:22px 24px}
.club-not h3{font-size:19px;margin-bottom:4px}
.club-not p{color:var(--bs-ink-soft)}
.club-loop{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.club-loop .n{font-family:var(--bs-font-hand);font-weight:700;font-size:44px;line-height:.8;color:var(--bs-blue-deep)}
.club-loop h3{font-size:20px}
.club-rec{margin-top:26px;font-size:16px;color:var(--bs-ink-soft)}
.club-gives{background:var(--bs-blue-deep)}
.club-gives .s4-note{color:var(--bs-green)}
.club-gives h2{color:#fff}
.club-gives-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.club-gives-grid div{display:flex;align-items:center;gap:14px;background:#fff;color:var(--bs-ink);border:2px solid var(--bs-ink);border-radius:16px;padding:18px 20px;font:700 18px/1.3 var(--bs-font-display)}
.club-gives-grid div.hl{color:var(--bs-blue-deep);box-shadow:6px 6px 0 var(--bs-ink)}
.club-gives-grid svg{flex:none;width:26px;height:26px}
.club-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.club-quotes .card blockquote{font-size:16.5px;flex:1;color:var(--bs-ink)}
.club-person{display:flex;align-items:center;gap:12px;font-weight:600;font-size:15px}
.club-person .av{flex:none;width:40px;height:40px;border-radius:50%;background:var(--bs-blue-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--bs-font-display);font-weight:800}
.club-person small{display:block;font-weight:500;color:var(--bs-ink-soft)}
.club-founders{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.club-founder{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:start;background:#fff;border:2px solid var(--bs-ink);border-radius:20px;padding:28px}
.club-founder img{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:center top;border:2px solid var(--bs-ink)}
.club-founder .role{font-weight:600;font-size:15.5px;color:var(--bs-blue-deep)}
.club-founder p{font-size:16px;color:var(--bs-ink-soft);margin-top:8px}
.club-founder .link{display:inline-block;margin-top:10px;padding:6px 0;font-size:15px}
.club-offer{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:start;background:var(--bs-blue-faint);border:2px solid var(--bs-blue-deep);border-radius:24px;box-shadow:10px 10px 0 var(--bs-blue-deep);padding:38px 40px}
.club-badge{display:inline-block;background:var(--bs-ink);color:#fff;font:700 13px var(--bs-font-display);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:6px 14px}
.club-price{font:800 clamp(3.4rem,6vw,5rem)/1 var(--bs-font-display);letter-spacing:-2px;margin:20px 0 10px}
.club-price span{font:500 19px var(--bs-font-body);letter-spacing:0;color:var(--bs-ink-soft)}
.club-offer .sub{font-size:17px;color:var(--bs-ink-soft)}
.club-offer .btn{margin-top:26px}
.club-offer .foot{margin-top:16px;font-size:15px;color:var(--bs-ink-soft)}
.club-list{list-style:none;display:grid;gap:12px}
.club-list li{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:14px;padding:14px 16px;font-size:16.5px}
.club-list svg{flex:none;width:22px;height:22px;margin-top:2px}
.club-list strong{font-weight:600}
.club-final{position:relative;overflow:hidden;background:var(--bs-ink);color:#fff;text-align:center;padding:110px 0 120px}
.club-final__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.22}
.club-final .container{position:relative}
.club-final h2{color:#fff;margin-bottom:16px}
.club-final p{font-size:19px;color:#cfd3dc;margin-bottom:34px}

@media (max-width:1000px){
  .calc-cols,.fd-shapes,.fd-srcs,.fd-steps,.club-hero .container,.club-founders,.club-offer,.club-quotes,.club-gives-grid{grid-template-columns:1fr}
  .club-for,.club-loop{grid-template-columns:1fr 1fr}
  .legal-row{grid-template-columns:1fr;gap:10px}
  .legal-row h3{position:static}
  .legal-text{grid-column:1}
  .club-hero{padding:40px 0 104px}
  .club-photo{justify-self:center;width:min(100%,520px)}
}
@media (max-width:560px){
  .club-for,.club-loop{grid-template-columns:1fr}
  .calc-panel{padding:24px 18px}
  .calc-rows{gap:22px}
  .calc-val{min-width:84px;font-size:16px}
  .calc-est strong{font-size:14.5px}
  .calc-total{padding:30px 18px}
  .fd-ready{padding:26px 22px}
  .club-founder{grid-template-columns:1fr;gap:16px;padding:24px}
  .club-founder img{width:96px;height:96px}
  .club-offer{padding:28px 22px}
  .club-strip .inner{padding:20px}
  .nf-code{letter-spacing:-3px}
  .calc-hero h1 br{display:none}
}
/* == end page css: pages_stage4 == */

/* == page css: pages_blog (generated by build_pages.py) == */
.bl-eyebrow{display:inline-block;font:700 13px var(--bs-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-blue-deep);background:var(--bs-blue-faint);border:1.5px solid var(--bs-blue-soft);border-radius:999px;padding:5px 12px;margin-bottom:18px}
.bl-crumb{font-size:15px;color:var(--bs-ink-soft);margin-bottom:22px}
.bl-crumb a{color:var(--bs-ink-soft);text-decoration:underline;text-decoration-color:var(--bs-green);text-decoration-thickness:2px;text-underline-offset:4px}
.bl-crumb span{margin:0 6px}
.bl-post{padding:44px 0 0}
.bl-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:auto auto 1fr;column-gap:72px}
.bl-head{grid-column:1/-1;grid-row:1;padding-bottom:40px;margin-bottom:44px;border-bottom:2px solid var(--bs-ink)}
.bl-head h1{font-size:clamp(2.4rem,4.8vw,4.3rem);letter-spacing:-1.6px;line-height:1.05}
.bl-meta{grid-column:2;grid-row:2;align-self:start;background:#fff;border:2px solid var(--bs-ink);border-radius:18px;padding:20px 22px;font-size:15.5px;line-height:1.5;color:var(--bs-ink-soft);display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:center}
.bl-meta img{display:block;width:56px;height:56px;border-radius:14px;object-fit:cover;object-position:center top;border:2px solid var(--bs-ink)}
.bl-meta p + p{margin-top:4px}
.bl-meta .bl-by{font-size:16.5px;color:var(--bs-ink)}
.bl-meta .bl-by a{font-family:var(--bs-font-display);font-weight:700;color:var(--bs-ink);text-decoration:underline;text-decoration-color:var(--bs-green);text-decoration-thickness:2px;text-underline-offset:4px}
.bl-body{grid-column:1;grid-row:2/span 2;font-size:18.5px;line-height:1.72;color:var(--bs-ink)}
.bl-body > * + *{margin-top:22px}
.bl-body strong{font-weight:600}
.bl-body h2{font-size:clamp(1.75rem,2.6vw,2.35rem);letter-spacing:-.6px;line-height:1.12;margin-top:58px}
.bl-body h3{font-size:24px;margin-top:38px}
.bl-body > h2 + *,.bl-body > h3 + *{margin-top:16px}
.bl-body a:not(.btn){font-weight:600;color:var(--bs-ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:var(--bs-green)}
.bl-body a:not(.btn):hover{color:var(--bs-blue-deep)}
.bl-body ul,.bl-body ol{list-style:none;display:grid;gap:12px}
.bl-body ul > li{position:relative;padding-left:30px}
.bl-body ul > li::before{content:"";position:absolute;left:5px;top:.66em;width:10px;height:10px;border-radius:50%;background:var(--bs-teal)}
.bl-body ol{counter-reset:bl}
.bl-body ol > li{counter-increment:bl;position:relative;padding-left:46px}
.bl-body ol > li::before{content:counter(bl);position:absolute;left:0;top:.12em;width:30px;height:30px;border-radius:50%;background:var(--bs-ink);color:#fff;font:700 15px/30px var(--bs-font-display);text-align:center}
.bl-body blockquote,.bl-body .bl-pull{border-left:6px solid var(--bs-green);padding:4px 0 4px 26px;margin-top:34px}
.bl-body blockquote + *,.bl-body .bl-pull + *{margin-top:34px}
.bl-body blockquote p,.bl-body .bl-pull{font-family:var(--bs-font-display);font-weight:700;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.3;letter-spacing:-.3px;color:var(--bs-ink)}
.bl-body blockquote cite{display:block;margin-top:12px;font:500 16px var(--bs-font-body);font-style:normal;color:var(--bs-ink-soft)}
.bl-stat{background:var(--bs-blue-faint);border:2px solid var(--bs-blue-deep);border-radius:20px;box-shadow:8px 8px 0 var(--bs-blue-deep);padding:28px 30px}
.bl-body .bl-stat{margin-top:34px}
.bl-body .bl-stat + *{margin-top:40px}
.bl-stat__n{font:800 clamp(2.4rem,4.4vw,3.4rem)/1 var(--bs-font-display);letter-spacing:-1.5px;color:var(--bs-ink)}
.bl-stat__l{font-size:15.5px;line-height:1.45;color:var(--bs-ink-soft);margin-top:8px}
.bl-stat__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin-top:22px;padding-top:20px;border-top:2px solid var(--bs-blue-soft)}
.bl-stat__grid .bl-stat__n{font-size:clamp(1.6rem,2.6vw,2.1rem);letter-spacing:-.6px}
.bl-note{background:var(--bs-green-soft);border:2px solid var(--bs-ink);border-radius:16px;padding:18px 22px;font-size:17px;line-height:1.6}
.bl-check{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;align-items:start;background:#fff;border:2px solid var(--bs-ink);border-radius:14px;padding:14px 18px;font-size:17px;line-height:1.6}
.bl-body .bl-check + .bl-check{margin-top:10px}
.bl-check svg{width:22px;height:22px;margin-top:3px;color:var(--bs-green-ink)}
.bl-check.bl-no{background:var(--bs-paper)}
.bl-check.bl-no svg{color:var(--bs-amber)}
.bl-table{overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border:2px solid var(--bs-ink);border-radius:16px}
.bl-table table{width:100%;min-width:560px;border-collapse:collapse;font-size:16px;line-height:1.5}
.bl-table th,.bl-table td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--bs-rule)}
.bl-table thead th{font-family:var(--bs-font-display);background:var(--bs-paper-deep);border-bottom:2px solid var(--bs-ink)}
.bl-table tr:last-child td{border-bottom:0}
.bl-cta{background:var(--bs-blue-faint);border:2px solid var(--bs-blue-deep);border-radius:20px;box-shadow:8px 8px 0 var(--bs-blue-deep);padding:28px 30px}
.bl-body .bl-cta{margin-top:52px}
.bl-cta h2,.bl-cta h3{font-size:clamp(1.5rem,2.4vw,1.9rem);letter-spacing:-.4px;line-height:1.15;margin:0}
.bl-cta p{font-size:17px;color:var(--bs-ink-soft);margin:10px 0 22px}
.bl-cta p.bl-cta__alt{font-size:15.5px;margin:18px 0 0}
.bl-body > blockquote + h2,.bl-body > .bl-pull + h2,.bl-body > .bl-stat + h2,.bl-body > .bl-note + h2{margin-top:58px}
.bl-body > h2 + .bl-cta{margin-top:18px}
.bl-author{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:center;padding-top:26px;border-top:2px solid var(--bs-ink)}
.bl-body .bl-author{margin-top:44px}
.bl-author img{width:64px;height:64px;border-radius:14px;object-fit:cover;object-position:center top;border:2px solid var(--bs-ink)}
.bl-author p{font-size:15.5px;line-height:1.5;color:var(--bs-ink-soft)}
.bl-author p.bl-author__name{font:700 17px var(--bs-font-display);color:var(--bs-ink);margin-bottom:2px}
.bl-side{grid-column:2;grid-row:3;padding-top:26px;display:flex;flex-direction:column;gap:30px}
.bl-label{font:700 13px var(--bs-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-ink-soft);margin-bottom:6px}
.bl-related ul{list-style:none}
.bl-related li{border-top:1.5px solid var(--bs-rule)}
.bl-related li:last-child{border-bottom:1.5px solid var(--bs-rule)}
.bl-related a{display:block;padding:13px 0;font:600 16.5px/1.35 var(--bs-font-display);color:var(--bs-ink);text-decoration:none}
.bl-related a:hover{color:var(--bs-blue-deep)}
.bl-scan{position:sticky;top:112px;background:var(--bs-ink);color:#fff;border-radius:20px;padding:26px 24px 22px}
.bl-scan h2{color:#fff;font-size:25px;letter-spacing:-.4px;line-height:1.15}
.bl-scan p{color:#cfd3dc;font-size:15.5px;line-height:1.5;margin-top:10px}
.bl-scan .btn{margin-top:20px;width:100%;justify-content:center;padding:15px 18px}
.bl-scan .bl-chat{display:inline-block;margin-top:14px;padding:6px 0;color:#fff;font-weight:600;font-size:15.5px;text-decoration:underline;text-decoration-color:var(--bs-green);text-decoration-thickness:2px;text-underline-offset:4px}
.bl-ihero{padding:56px 0 40px}
.bl-ihero .sub{margin-bottom:0}
.bl-list{padding:24px 0 96px}
.bl-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bl-card{display:flex;flex-direction:column;gap:12px;background:#fff;border:2px solid var(--bs-ink);border-radius:18px;padding:24px 24px 20px;color:var(--bs-ink);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.bl-card:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--bs-ink)}
.bl-card.bl-new{background:var(--bs-blue-faint);border-color:var(--bs-blue-deep);box-shadow:6px 6px 0 var(--bs-blue-deep)}
.bl-card.bl-new:hover{box-shadow:9px 9px 0 var(--bs-blue-deep)}
.bl-card__cat{font:700 12.5px var(--bs-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-blue-deep)}
.bl-card h2{font-size:22px;line-height:1.2;letter-spacing:-.3px}
.bl-card p{font-size:15.5px;line-height:1.55;color:var(--bs-ink-soft);flex:1}
.bl-card__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;font-size:14px;color:var(--bs-ink-soft);padding-top:12px;border-top:1.5px solid var(--bs-rule)}
.bl-also{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.bl-also .tile{color:var(--bs-ink);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.bl-also .tile:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--bs-ink)}
.bl-also .tile h3{font-size:21px}
.bl-also .tile .go{margin-top:auto;padding-top:6px;font-weight:600;font-size:15.5px;text-decoration:underline;text-decoration-color:var(--bs-green);text-decoration-thickness:2px;text-underline-offset:4px}
.bl-news .container{display:grid;grid-template-columns:1fr 1fr;gap:28px 56px;align-items:center}
.bl-news p.bl-news__sub{font-size:19px;color:var(--bs-ink-soft);margin-top:12px}
.bl-news form{display:flex;flex-wrap:wrap;gap:14px}
.bl-news input[type=email]{flex:1 1 240px;min-width:0;font:400 17px var(--bs-font-body);color:var(--bs-ink);background:#fff;border:2px solid var(--bs-ink);border-radius:14px;padding:15px 16px}
.bl-news input[type=email]:focus{outline:3px solid var(--bs-blue-sky);outline-offset:2px}
.bl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bl-hide{display:none}
@media (max-width:1000px){
  .bl-grid{grid-template-columns:minmax(0,1fr) minmax(0,8fr) minmax(0,1fr);grid-template-rows:none}
  .bl-head,.bl-meta,.bl-body,.bl-side{grid-column:2;grid-row:auto}
  .bl-head{padding-bottom:28px;margin-bottom:28px}
  .bl-meta{margin-bottom:36px}
  .bl-side{padding-top:48px}
  .bl-scan{display:none}
  .bl-cards,.bl-also{grid-template-columns:1fr 1fr}
  .bl-news .container{grid-template-columns:1fr}
}
@media (max-width:700px){
  .bl-grid{grid-template-columns:minmax(0,1fr)}
  .bl-head,.bl-meta,.bl-body,.bl-side{grid-column:1}
  .bl-head h1{letter-spacing:-1px}
  .bl-body{font-size:17.5px}
  .bl-body h2{margin-top:46px}
  .bl-stat,.bl-cta{padding:24px 22px}
  .bl-stat__grid{grid-template-columns:1fr}
  .bl-cards,.bl-also{grid-template-columns:1fr}
}
/* == end page css: pages_blog == */

/* == page css: pages_blueprint (generated by build_pages.py) == */
.bp-label{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;background:var(--bs-amber-soft);border:2px solid var(--bs-ink);border-radius:16px;padding:14px 20px;margin-bottom:32px}
.bp-stamp{display:inline-block;font-family:var(--bs-font-hand);font-weight:700;font-size:34px;line-height:1;color:var(--bs-ink);background:#fff;border:2px solid var(--bs-ink);border-radius:10px;padding:4px 14px 8px;transform:rotate(-4deg);box-shadow:3px 3px 0 var(--bs-ink)}
.bp-label p{flex:1 1 240px;font-size:16.5px;font-weight:500;color:var(--bs-ink)}

.bp-cover{background:#fff;border:2px solid var(--bs-ink);border-radius:20px;box-shadow:8px 8px 0 var(--bs-ink);padding:24px 26px 22px;transform:rotate(1.2deg)}
.bp-cover-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}
.bp-kicker{font:700 13.5px var(--bs-font-display);letter-spacing:1.2px;text-transform:uppercase;color:var(--bs-blue-deep);background:var(--bs-blue-soft);border-radius:999px;padding:5px 12px}
.bp-chip{font:700 13px var(--bs-font-body);text-transform:uppercase;letter-spacing:1px;color:var(--bs-ink);background:var(--bs-amber-soft);border:1.5px solid var(--bs-ink);border-radius:6px;padding:1px 8px}
.bp-firm{font:800 27px/1.1 var(--bs-font-display);letter-spacing:-.4px;color:var(--bs-ink)}
.bp-firm-sub{font-size:14.5px;color:var(--bs-ink-soft);margin:4px 0 16px}
.bp-big{border-top:1px solid var(--bs-rule);padding-top:14px}
.bp-big b{display:block;font:800 clamp(3.2rem,5.6vw,4.4rem)/1 var(--bs-font-display);letter-spacing:-2px;color:var(--bs-blue-deep)}
.bp-big span{display:block;margin-top:4px;font-size:15px;color:var(--bs-ink-soft)}
.bp-big-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--bs-rule-soft)}
.bp-big-row b{display:block;font:800 32px/1.05 var(--bs-font-display);letter-spacing:-1px;color:var(--bs-ink)}
.bp-big-row span{font-size:14.5px;color:var(--bs-ink-soft)}
.bp-start{margin-top:16px;background:var(--bs-green-soft);border:2px solid var(--bs-green-ink);border-radius:12px;padding:10px 14px}
.bp-start small{display:block;font:700 13px var(--bs-font-display);letter-spacing:1px;text-transform:uppercase;color:var(--bs-green-ink)}
.bp-start b{font:700 18px var(--bs-font-display);color:var(--bs-ink)}
.bp-by{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:14px;color:var(--bs-ink-soft)}
.bp-by img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none}

.bp-pathband{padding:30px 0 34px}
.bp-path{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.bp-path li{position:relative;display:flex;gap:14px;align-items:center;background:var(--bs-paper);border:2px solid var(--bs-ink);border-radius:16px;padding:14px 18px}
.bp-path li:not(:last-child)::after{content:"";position:absolute;right:-21px;top:50%;width:18px;height:2px;background:var(--bs-ink)}
.bp-path li.bp-here{background:var(--bs-blue-faint);border-color:var(--bs-blue-deep);box-shadow:5px 5px 0 var(--bs-blue-deep)}
.bp-path-n{flex:none;width:40px;height:40px;border-radius:50%;background:var(--bs-ink);color:#fff;display:flex;align-items:center;justify-content:center;font:800 18px var(--bs-font-display)}
.bp-here .bp-path-n{background:var(--bs-blue-deep)}
.bp-path b{display:block;font:700 19px/1.2 var(--bs-font-display);color:var(--bs-ink)}
.bp-path-t{display:block;font-size:14.5px;line-height:1.4;color:var(--bs-ink-soft)}
.bp-path .link{display:inline-block;padding:8px 0 4px;font-size:14.5px}
.bp-path .hand{position:absolute;right:14px;top:-20px;font-size:25px;background:var(--bs-blue-faint);padding:0 6px;transform:rotate(-3deg)}

.bp-sec{padding:96px 0}
.bp-weeks-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:48px;align-items:center;margin-bottom:44px}
.bp-weeks-head .section-head{margin-bottom:0}
.bp-weeks-photo{margin:0;border:2px solid var(--bs-ink);border-radius:18px;overflow:hidden;box-shadow:8px 8px 0 var(--bs-ink);transform:rotate(1.5deg)}
.bp-weeks-photo img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 40%}
.bp-weeks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.bp-week{display:flex;flex-direction:column;background:#fff;border:2px solid var(--bs-ink);border-radius:20px;box-shadow:8px 8px 0 var(--bs-ink);overflow:hidden}
.bp-week-top{display:flex;align-items:baseline;gap:14px;padding:22px 26px 0}
.bp-week-n{font-family:var(--bs-font-hand);font-weight:700;font-size:46px;line-height:.9;color:var(--bs-blue-deep)}
.bp-week h3{font-size:27px}
.bp-block{padding:18px 26px 0}
.bp-block > b,.bp-you > b{display:block;font:700 13.5px var(--bs-font-display);letter-spacing:1px;text-transform:uppercase;color:var(--bs-ink-soft);margin-bottom:8px}
.bp-block ul,.bp-you ul{list-style:none;display:grid;gap:8px}
.bp-block li,.bp-you li{position:relative;padding-left:24px;font-size:16px;color:var(--bs-ink)}
.bp-block li::before,.bp-you li::before{content:"";position:absolute;left:2px;top:9px;width:10px;height:10px;border-radius:50%;background:var(--bs-blue-deep)}
.bp-you{margin:18px 26px 0;background:var(--bs-green-soft);border-radius:14px;padding:16px 18px}
.bp-you li::before{background:var(--bs-green-ink)}
.bp-finish{margin:auto 26px 24px;padding-top:18px}
.bp-finish p{border-top:2px dashed var(--bs-rule);padding-top:14px;font:700 19px/1.3 var(--bs-font-display);color:var(--bs-ink)}
.bp-finish small{display:block;font:700 13px var(--bs-font-display);letter-spacing:1px;text-transform:uppercase;color:var(--bs-blue-deep);margin-bottom:2px}

.bp-get{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.bp-get a{display:flex;flex-direction:column;gap:8px;height:100%;background:#fff;border:2px solid var(--bs-ink);border-radius:18px;padding:22px 20px;color:var(--bs-ink);text-decoration:none;box-shadow:0 5px 0 var(--bs-ink);transition:transform .12s ease,box-shadow .12s ease}
.bp-get a:hover{transform:translateY(2px);box-shadow:0 3px 0 var(--bs-ink)}
.bp-get .bp-n{font-family:var(--bs-font-hand);font-weight:700;font-size:42px;line-height:.8;color:var(--bs-blue-deep)}
.bp-get h3{font-size:20px}
.bp-get p{flex:1;font-size:15px;color:var(--bs-ink-soft)}
.bp-go{font-weight:600;font-size:15px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--bs-green)}

.bp-divider{font-size:30px;margin-bottom:18px;transform:rotate(-1.5deg);transform-origin:left}
.bp-fig{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:30px;align-items:start}
.bp-bars{background:var(--bs-paper);border:2px solid var(--bs-ink);border-radius:20px;padding:24px 28px 22px}
.bp-bars > h3{font-size:21px;margin-bottom:4px}
.bp-bar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:end;padding:16px 0;border-bottom:1px solid var(--bs-rule)}
.bp-bar-row h4{font:700 17.5px/1.25 var(--bs-font-display);color:var(--bs-ink)}
.bp-bar-row h4 span{display:block;font:500 14.5px var(--bs-font-body);color:var(--bs-ink-soft)}
.bp-bar-val{font:800 27px/1 var(--bs-font-display);letter-spacing:-.6px;text-align:right}
.bp-track{display:block;height:18px;background:#fff;border:2px solid var(--bs-ink);border-radius:999px;overflow:hidden}
.bp-track i{display:block;height:100%;width:var(--w);background:var(--c,var(--bs-blue-deep))}
.bp-bar-row .bp-track{grid-column:1/-1}
.bp-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;padding-top:16px}
.bp-total span{font-size:15px;line-height:1.45;color:var(--bs-ink-soft)}
.bp-total span b{font:700 17.5px var(--bs-font-display);letter-spacing:0;color:var(--bs-ink)}
.bp-total > b{font:800 38px/1 var(--bs-font-display);letter-spacing:-1px;color:var(--bs-ink)}
.bp-side{display:grid;gap:22px}
.bp-how{background:#fff;border:2px solid var(--bs-ink);border-radius:20px;padding:22px 24px}
.bp-how h3{font-size:20px;margin-bottom:10px}
.bp-assume{list-style:none;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:12px 18px;align-items:baseline}
.bp-assume li{display:contents}
.bp-assume b{font:800 22px var(--bs-font-display);letter-spacing:-.4px;color:var(--bs-blue-deep);white-space:nowrap}
.bp-assume span{font-size:15px;line-height:1.45;color:var(--bs-ink-soft)}
.bp-fine{margin-top:14px;padding-top:12px;border-top:1px solid var(--bs-rule);font-size:14.5px;color:var(--bs-ink-soft)}
.bp-promise b{font-size:23px}
.bp-promise p{font-size:15.5px}

.bp-legend{display:flex;flex-wrap:wrap;gap:10px 26px;margin-bottom:24px;font-size:15.5px;color:var(--bs-ink-soft)}
.bp-legend span.bp-lg{display:inline-flex;align-items:center;gap:8px}
.bp-tag{display:inline-block;font:600 13px/1.3 var(--bs-font-body);color:var(--bs-ink);border:1.5px solid var(--bs-ink);border-radius:999px;padding:3px 10px;white-space:nowrap}
.bp-t-auto{background:var(--bs-green-soft)}
.bp-t-mix{background:var(--bs-blue-soft)}
.bp-t-human{background:var(--bs-ink);color:#fff}
.bp-steps{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.bp-steps li{position:relative;display:flex;flex-direction:column;gap:8px;background:#fff;border:2px solid var(--bs-ink);border-top-width:8px;border-radius:14px;padding:12px 14px 14px}
.bp-steps li:not(:last-child)::after{content:"";position:absolute;right:-16px;top:50%;width:12px;height:2px;background:var(--bs-ink)}
.bp-steps li:nth-child(6n)::after{display:none}
.bp-steps li.bp-s-auto{border-top-color:var(--bs-green)}
.bp-steps li.bp-s-mix{border-top-color:var(--bs-blue-deep)}
.bp-steps li.bp-s-human{background:var(--bs-amber-soft);border-top-color:var(--bs-amber)}
.bp-sn{font:700 13px var(--bs-font-display);letter-spacing:.5px;color:var(--bs-ink-soft)}
.bp-steps h3{font-size:16.5px;line-height:1.2}
.bp-steps .bp-tag{align-self:flex-start}
.bp-time{margin-top:auto;font-size:14px;line-height:1.35;color:var(--bs-ink)}
.bp-time s{color:var(--bs-ink-soft);margin-right:4px}
.bp-time b{font-weight:600}
.bp-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.bp-sum div{background:var(--bs-ink);border-radius:16px;padding:18px 22px}
.bp-sum b{display:block;font:800 32px/1.1 var(--bs-font-display);letter-spacing:-.8px;color:#fff}
.bp-sum span{font-size:15px;color:#cfd3dc}
.bp-sum div:last-child{background:var(--bs-blue-deep)}
.bp-sum div:last-child span{color:#fff}
.bp-quote{margin-top:30px;border-left:6px solid var(--bs-green);padding-left:20px}
.bp-quote p{font-family:var(--bs-font-hand);font-weight:700;font-size:29px;line-height:1.2;color:var(--bs-ink)}
.bp-quote cite{display:block;margin-top:6px;font-style:normal;font-size:15px;color:var(--bs-ink-soft)}

.bp-keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}
.bp-key{background:#fff;border:2px solid var(--bs-ink);border-radius:16px;padding:16px 20px}
.bp-key b{display:flex;align-items:center;gap:10px;font:700 21px var(--bs-font-display);color:var(--bs-ink)}
.bp-key b::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;background:var(--c)}
.bp-key p{margin-top:4px;font-size:15.5px;color:var(--bs-ink-soft)}
.bp-c-s{--c:var(--bs-green-deep)}
.bp-c-c{--c:var(--bs-teal)}
.bp-c-r{--c:var(--bs-blue-deep)}
.bp-rows{background:#fff;border:2px solid var(--bs-ink);border-radius:20px;box-shadow:8px 8px 0 var(--bs-ink);overflow:hidden}
.bp-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:14px 26px;align-items:center;padding:18px 26px;border-bottom:1px solid var(--bs-rule)}
.bp-row:last-child{border-bottom:0;background:var(--bs-amber-soft)}
.bp-row h3{font-size:18.5px;margin-bottom:6px}
.bp-ml{display:block;font:600 13px var(--bs-font-body);letter-spacing:.3px;color:var(--bs-ink-soft);margin-bottom:5px}
.bp-meter{display:flex;align-items:center;gap:12px}
.bp-meter b{font:800 21px/1 var(--bs-font-display);color:var(--bs-ink)}
.bp-dots{--d:15px;--r:4.5px;position:relative;display:block;flex:none;width:calc(var(--d) * 10);height:14px;background:radial-gradient(circle,var(--bs-rule) var(--r),transparent calc(var(--r) + .5px)) 0 0/var(--d) 14px repeat-x}
.bp-dots::after{content:"";position:absolute;left:0;top:0;bottom:0;width:calc(var(--n) * var(--d));background:radial-gradient(circle,var(--c) var(--r),transparent calc(var(--r) + .5px)) 0 0/var(--d) 14px repeat-x}
.bp-ret{display:grid;gap:6px}
.bp-ret .bp-track{height:14px}
.bp-ret span.bp-rt{font-size:14.5px;color:var(--bs-ink-soft)}
.bp-ret span.bp-rt b{font:800 19px var(--bs-font-display);color:var(--bs-ink)}
.bp-note{margin-top:22px;font-size:17px;color:var(--bs-ink-soft)}
.bp-note b{color:var(--bs-ink);font-weight:600}

.bp-dec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.bp-card{display:flex;flex-direction:column;gap:12px;background:#fff;border:2px solid var(--bs-ink);border-radius:20px;padding:24px 24px 26px}
.bp-card h3{font-size:23px}
.bp-card > p{font-size:16px;color:var(--bs-ink-soft)}
.bp-card.bp-first{background:var(--bs-green-soft);border-color:var(--bs-green-ink);box-shadow:6px 6px 0 var(--bs-green-ink)}
.bp-card.bp-first .hand{font-size:28px;color:var(--bs-green-ink)}
.bp-card.bp-keep{background:var(--bs-ink);border-color:var(--bs-ink)}
.bp-card.bp-keep h3{color:#fff}
.bp-list{list-style:none;display:grid;gap:11px}
.bp-list li{position:relative;padding-left:26px;font-size:15.5px;line-height:1.45;color:var(--bs-ink)}
.bp-list li::before{content:"";position:absolute;left:2px;top:6px;width:13px;height:8px;border-left:2.5px solid var(--bs-green-ink);border-bottom:2.5px solid var(--bs-green-ink);transform:rotate(-45deg)}
.bp-no li{padding-left:0}
.bp-no li::before{display:none}
.bp-no .bp-when{display:inline-block;margin-right:8px;font:700 12.5px/1.3 var(--bs-font-body);letter-spacing:.6px;text-transform:uppercase;border-radius:6px;padding:2px 8px;vertical-align:1px}
.bp-no .bp-never{background:var(--bs-ink);color:#fff}
.bp-no .bp-later{background:var(--bs-amber-soft);color:var(--bs-ink);border:1.5px solid var(--bs-ink)}
.bp-keep .bp-list li{color:#fff}
.bp-keep .bp-list li::before{border-color:var(--bs-green)}
.bp-stop{margin-top:auto;background:#fff;border:2px solid var(--bs-green-ink);border-radius:12px;padding:12px 14px;font-size:15px;color:var(--bs-ink)}
.bp-stop b{color:var(--bs-green-ink)}
.bp-keep .hand{margin-top:auto;padding-top:10px;font-size:26px;color:var(--bs-green);transform:rotate(-2deg);transform-origin:left}

.bp-road{list-style:none;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-top:36px}
.bp-road::before{content:"";position:absolute;left:30px;right:0;top:12px;height:4px;border-radius:4px;background:var(--bs-ink)}
.bp-q{position:relative;display:flex;flex-direction:column;gap:10px;background:#fff;border:2px solid var(--bs-ink);border-radius:18px;padding:22px 20px 24px}
.bp-q::before{content:"";position:absolute;left:18px;top:-35px;width:20px;height:20px;border-radius:50%;background:var(--bs-blue-deep);border:3px solid var(--bs-paper-deep)}
.bp-q.bp-q1{background:var(--bs-blue-faint);border-color:var(--bs-blue-deep);box-shadow:6px 6px 0 var(--bs-blue-deep)}
.bp-qm{font:700 13.5px var(--bs-font-display);letter-spacing:1px;text-transform:uppercase;color:var(--bs-blue-deep)}
.bp-q h3{font-size:21px}
.bp-q p{font-size:15.5px;color:var(--bs-ink-soft)}
.bp-q .hand{margin-top:auto;font-size:24px;color:var(--bs-green-ink);transform:rotate(-2deg);transform-origin:left}
.bp-gate{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin-top:30px;background:#fff;border:2px dashed var(--bs-ink);border-radius:16px;padding:16px 22px;font-size:17px;color:var(--bs-ink)}
.bp-gate b{font-family:var(--bs-font-display);font-weight:700}

@media (max-width:1000px){
  .bp-sec{padding:72px 0}
  .bp-cover{transform:none;box-shadow:6px 6px 0 var(--bs-ink)}
  .bp-path{grid-template-columns:1fr;gap:14px}
  .bp-path li:not(:last-child)::after{right:auto;left:37px;top:auto;bottom:-16px;width:2px;height:14px}
  .bp-weeks,.bp-fig,.bp-dec,.bp-weeks-head{grid-template-columns:1fr}
  .bp-weeks-head{gap:30px}
  .bp-weeks-photo{width:min(100%,520px);transform:rotate(1deg);box-shadow:6px 6px 0 var(--bs-ink)}
  .bp-get{grid-template-columns:1fr 1fr}
  .bp-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bp-steps li:nth-child(6n)::after{display:block}
  .bp-steps li:nth-child(3n)::after{display:none}
  .bp-sum,.bp-keys{grid-template-columns:1fr}
  .bp-row{grid-template-columns:1fr 1fr;padding:18px 22px}
  .bp-row > div:first-child{grid-column:1/-1}
  .bp-road{grid-template-columns:1fr 1fr;padding-top:0}
  .bp-road::before,.bp-q::before{display:none}
}
@media (max-width:640px){
  .bp-label{padding:14px 16px}
  .bp-stamp{font-size:30px}
  .bp-cover{padding:20px 18px 18px}
  .bp-week-top,.bp-block{padding-left:18px;padding-right:18px}
  .bp-you,.bp-finish{margin-left:18px;margin-right:18px}
  .bp-key{padding:12px 16px}
  .bp-keys{gap:10px}
  .bp-get,.bp-road{grid-template-columns:1fr}
  .bp-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .bp-steps li:nth-child(3n)::after{display:block}
  .bp-steps li:nth-child(2n)::after{display:none}
  .bp-steps li:not(:last-child)::after{right:-14px;width:10px}
  .bp-bars{padding:20px 18px}
  .bp-bar-val{font-size:23px}
  .bp-assume li{grid-template-columns:1fr;gap:0}
  .bp-row{gap:12px 14px;padding:18px}
  .bp-row > div:last-child{grid-column:1/-1}
  .bp-dots{--d:11px;--r:3.8px}
  .bp-meter{gap:8px}
}
/* == end page css: pages_blueprint == */

/* == page css: pages_strategy (generated by build_pages.py) == */
.st-q{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.st-q .tile h3{font-size:20px}
.st-steps .stop > p{flex:none}
.st-steps .stop .price{margin-top:auto}
.st-steps .stop .kind{font-family:var(--bs-font-hand);font-weight:700;font-size:24px;color:var(--bs-blue-deep);line-height:1}
.st-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.st-two .col{background:#fff;border:2px solid var(--bs-ink);border-radius:18px;padding:26px 28px}
.st-two .col.never{background:var(--bs-ink);color:#fff}
.st-two .col.never h3{color:#fff}
.st-two ul{list-style:none;display:grid;gap:12px;margin-top:14px}
.st-two li{position:relative;padding-left:30px;font-size:17px}
.st-two .col li::before{content:"";position:absolute;left:2px;top:8px;width:14px;height:9px;border-left:2.5px solid var(--bs-green-ink);border-bottom:2.5px solid var(--bs-green-ink);transform:rotate(-45deg)}
.st-two .col.never li::before{width:12px;height:12px;border:0;top:7px;left:3px;border-radius:50%;background:var(--bs-amber);transform:none}
.st-two .col.never p{color:#d9dce3}
.st-tip{margin-top:22px;font-size:17px;color:var(--bs-ink-soft)}
.st-proof{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.st-proof .result{box-shadow:8px 8px 0 var(--bs-ink)}
.st-creds{list-style:none;display:grid;gap:14px}
.st-creds li{background:#fff;border:2px solid var(--bs-ink);border-radius:14px;padding:14px 18px;font-size:16px;color:var(--bs-ink-soft)}
.st-creds li b{display:block;font-family:var(--bs-font-display);font-size:18px;color:var(--bs-ink)}
.st-creds a{color:inherit;text-decoration:underline;text-decoration-color:var(--bs-green);text-decoration-thickness:2px;text-underline-offset:3px}
.st-read{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.st-read a.tile{text-decoration:none;color:var(--bs-ink)}
.st-read a.tile:hover{border-color:var(--bs-blue-deep)}
.st-read .k{font-family:var(--bs-font-hand);font-weight:700;font-size:22px;color:var(--bs-blue-deep);line-height:1}
@media (max-width:1000px){
  .st-q{grid-template-columns:1fr 1fr}
  .st-two,.st-proof{grid-template-columns:1fr}
  .st-read{grid-template-columns:1fr}
}
@media (max-width:560px){.st-q{grid-template-columns:1fr}}
/* == end page css: pages_strategy == */

/* == page css: pages_calc (generated by build_pages.py) == */
.cx-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* the industry switch: one joined control, four buttons; two rows of two on a phone */
.cx-pick{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--bs-paper-card);border:2px solid var(--bs-ink);border-radius:16px;box-shadow:0 4px 0 var(--bs-ink)}
.cx-pick button{min-height:44px;font:600 15.5px/1.2 var(--bs-font-body);color:var(--bs-ink);background:transparent;border:0;border-radius:10px;padding:8px 10px;cursor:pointer;transition:background .12s ease,color .12s ease}
.cx-pick button:hover{background:var(--bs-paper-deep)}
.cx-pick button[aria-checked="true"]{background:var(--bs-ink);color:var(--bs-paper-card)}
/* the global "pick one" marker line (.pick-cue, js/v4.js) is drawn under a free-standing button; in this joined control it runs along the foot of each button */
.cx-pick.pick-cue button.cue::after{left:16%;right:16%;bottom:4px;height:5px}

/* the total: always in view. It sticks under the menu (84px tall) while the fields scroll beneath it. */
.cx-calc{--cx-band:var(--bs-paper-card)}
.page-hero.compact + .band-white.cx-calc{border-top:0;padding-top:18px}
.cx-totalwrap{position:sticky;top:calc(var(--promo-h) + 84px);z-index:60;background:var(--cx-band);margin:0 -10px;padding:8px 10px 14px}
.cx-total{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;background:var(--bs-blue-deep);color:var(--bs-paper-card);border:2px solid var(--bs-ink);border-radius:16px;box-shadow:5px 5px 0 var(--bs-ink);padding:10px 14px}
.cx-total-main{flex:1 1 100%;display:flex;align-items:center;justify-content:space-between;gap:12px}
.cx-total-label{font:700 13px/1.25 var(--bs-font-display);letter-spacing:.07em;text-transform:uppercase}
.cx-total-big{font:800 clamp(1.9rem,8.4vw,2.3rem)/1 var(--bs-font-display);letter-spacing:-1px;white-space:nowrap;font-variant-numeric:tabular-nums}
.cx-total-parts{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 10px;font-size:13.5px;line-height:1.4}
.cx-plus{display:none}
.cx-part b{font:700 14.5px var(--bs-font-display);font-variant-numeric:tabular-nums;white-space:nowrap}

/* the two panels: stacked on a phone, side by side from 900px */
.cx-cols{display:grid;gap:24px;margin-top:4px}
.cx-panel{display:flex;flex-direction:column;gap:14px;min-width:0;background:var(--bs-paper-card);border:2px solid var(--bs-ink);border-radius:20px;box-shadow:6px 6px 0 var(--bs-ink);padding:22px 18px}
.cx-panel.cx-opp{background:var(--bs-blue-faint);border-color:var(--bs-blue-deep);box-shadow:6px 6px 0 var(--bs-blue-deep)}
.cx-note{font-size:25px;transform:rotate(-1.5deg);transform-origin:left;margin-bottom:-8px}
.cx-panel h2{font-size:clamp(1.9rem,2.9vw,2.4rem);letter-spacing:-1px}
.cx-lead{color:var(--bs-ink-soft);margin-top:-6px}
.cx-fields{display:flex;flex-direction:column}
.cx-field{padding:13px 0;border-top:1px solid var(--bs-rule)}
.cx-fields>.cx-field:first-child,.cx-src+.cx-field{border-top:0;padding-top:4px}
.cx-field label{display:block;font-weight:600;font-size:16px;line-height:1.4}
.cx-hint{display:block;font-size:14px;line-height:1.45;color:var(--bs-ink-soft);margin-top:2px}
.cx-ctl{display:flex;align-items:center;gap:14px;margin-top:4px}
.cx-ctl input[type=range]{flex:1;min-width:0;height:44px;margin:0;padding:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}
.cx-ctl input[type=range]::-webkit-slider-runnable-track{box-sizing:border-box;height:10px;background:var(--bs-paper-deep);border:2px solid var(--bs-ink);border-radius:999px}
.cx-ctl input[type=range]::-moz-range-track{height:6px;background:var(--bs-paper-deep);border:2px solid var(--bs-ink);border-radius:999px}
.cx-ctl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;margin-top:-11px;border-radius:50%;background:var(--bs-blue-deep);border:3px solid var(--bs-paper-card);box-shadow:0 0 0 2px var(--bs-ink)}
.cx-ctl input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--bs-blue-deep);border:3px solid var(--bs-paper-card);box-shadow:0 0 0 2px var(--bs-ink)}
.cx-opp .cx-ctl input[type=range]::-webkit-slider-thumb{background:var(--bs-green)}
.cx-opp .cx-ctl input[type=range]::-moz-range-thumb{background:var(--bs-green)}
.cx-box{flex:none;display:inline-flex;align-items:center;gap:3px;height:48px;padding:0 12px;background:var(--bs-paper-card);border:2px solid var(--bs-ink);border-radius:12px;font:700 17px var(--bs-font-display);color:var(--bs-ink)}
.cx-box input{width:4.3em;min-height:44px;font:inherit;color:inherit;text-align:right;background:transparent;border:0;padding:0;-moz-appearance:textfield;appearance:textfield;scroll-margin-top:230px;scroll-margin-bottom:24px}
.cx-box input::-webkit-outer-spin-button,.cx-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cx-box input:focus{outline:none}
.cx-box:focus-within{border-color:var(--bs-blue-deep);outline:3px solid var(--bs-blue-sky);outline-offset:2px}
.cx-freed{background:var(--bs-paper-card);border:2px solid var(--bs-blue-soft);border-radius:14px;padding:13px 16px;font-size:15.5px;line-height:1.5;color:var(--bs-ink-soft)}
.cx-freed b{color:var(--bs-blue-deep);font-weight:700}
.cx-src{font:700 13px var(--bs-font-display);letter-spacing:.07em;text-transform:uppercase;color:var(--bs-ink-soft);padding-top:13px;margin-bottom:6px;border-top:2px solid var(--bs-blue-soft)}
.cx-fields>.cx-src:first-child{border-top:0;padding-top:0}
.cx-field+.cx-src{margin-top:4px}
.cx-src span:first-child{color:var(--bs-blue-deep);margin-right:8px}
.cx-cap{font-size:14px;line-height:1.45;color:var(--bs-ink-soft);margin-top:4px}
.cx-cap b{color:var(--bs-ink);font-weight:600}
.cx-cap.cx-over{background:var(--bs-amber-soft);color:var(--bs-ink);border-radius:10px;padding:8px 12px}
.cx-out{margin-top:auto;background:var(--bs-paper-deep);border-radius:14px;padding:18px 18px 8px}
.cx-opp .cx-out{background:var(--bs-paper-card);border:2px solid var(--bs-blue-soft)}
.cx-out-label{font:700 13px var(--bs-font-display);letter-spacing:.07em;text-transform:uppercase;color:var(--bs-ink-soft)}
.cx-out-big{font:800 clamp(2.3rem,4vw,3rem)/1.05 var(--bs-font-display);letter-spacing:-1.2px;color:var(--bs-ink);margin:6px 0 4px;white-space:nowrap;font-variant-numeric:tabular-nums}
.cx-opp .cx-out-big{color:var(--bs-blue-deep)}
.cx-out-cap{font-size:14.5px;line-height:1.45;color:var(--bs-ink-soft)}
.cx-kv{list-style:none;margin-top:12px}
.cx-kv li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-top:1px solid var(--bs-rule);font-size:15px;line-height:1.4;color:var(--bs-ink-soft)}
.cx-kv b{font:700 17px var(--bs-font-display);color:var(--bs-ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.cx-kv li.cx-gap{margin-top:8px;border-top:2px solid var(--bs-ink)}

/* under the panels: what the number means, the working, the two buttons, who built it */
.cx-mean{font-size:19px;margin-top:38px}
.cx-mean b{font-family:var(--bs-font-display);font-weight:800;font-variant-numeric:tabular-nums}
details.cx-how{margin-top:18px;background:var(--bs-paper-card);border:2px solid var(--bs-ink);border-radius:16px;padding:0 20px}
.cx-how summary{font-size:18px;padding:15px 0}
.cx-how p{font-size:15.5px;margin:0 0 14px}
.cx-how pre{font:500 14px/1.75 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--bs-ink);background:var(--bs-paper);border:1px solid var(--bs-rule);border-radius:12px;padding:14px 16px;margin:0 0 14px;white-space:pre-wrap;overflow-wrap:anywhere}
.cx-go{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:30px}
.cx-built{margin-top:36px}
.cx-calc{padding-bottom:84px}

@media (min-width:760px){
  .cx-pick{display:inline-grid;grid-template-columns:repeat(4,auto)}
  .cx-pick button{font-size:16px;padding:8px 18px;white-space:nowrap}
}
@media (min-width:900px){
  .cx-totalwrap{padding:10px 10px 18px}
  .cx-total{flex-wrap:nowrap;justify-content:space-between;gap:28px;border-radius:20px;box-shadow:8px 8px 0 var(--bs-ink);padding:13px 28px}
  .cx-total-main{flex:0 1 auto;justify-content:flex-start;gap:20px}
  .cx-total-big{font-size:clamp(2.7rem,4.1vw,3.3rem);letter-spacing:-1.6px}
  .cx-total-parts{flex:0 1 auto;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:18px;font-size:14px}
  .cx-part{display:flex;flex-direction:column;gap:1px}
  .cx-part b{font-size:22px;letter-spacing:-.4px}
  .cx-plus{display:block;font:800 24px var(--bs-font-display)}
  .cx-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch}
  .cx-panel{gap:16px;padding:28px;box-shadow:8px 8px 0 var(--bs-ink)}
  .cx-panel.cx-opp{box-shadow:8px 8px 0 var(--bs-blue-deep)}
  .cx-box input{width:4.8em}
}
/* == end page css: pages_calc == */

/* motion: respect the setting everywhere */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* tablet and phone */
@media (max-width:1000px){
  :root{--pad:22px;--section-y:72px}
  .nav__toggle{display:flex}
  .nav__links{display:none;position:absolute;top:84px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bs-paper);border-bottom:1px solid var(--bs-rule);padding:8px 22px 22px}
  .nav__links.open{display:flex}
  .nav__links li{border-bottom:1px solid var(--bs-rule-soft)}
  .nav__links li a{display:block;padding:14px 0;font-size:18px}
  .nav__links li.cta-item{border:0;padding-top:14px}
  .nav__links li.cta-item a{display:inline-flex;justify-content:center;width:auto;padding:14px 22px}
  .nav .container{position:relative}
  .hero .container,.list .container,.proof .container,.hold .grid,.meet .container,.faq .container{grid-template-columns:1fr;gap:44px}
  .hero__photo{justify-self:center;width:min(100%,360px)}
  .hero__photo.cutout{width:min(100%,320px);margin-bottom:-64px}
  .route,.rv{grid-template-columns:1fr}
  .route .line{display:none}
  .path .head{grid-template-columns:1fr}
  .items{grid-template-columns:1fr}
  .awards{grid-template-columns:1fr 1fr;gap:30px 20px}
  .clients{grid-template-columns:1fr 1fr;gap:26px 24px;--k:.72}
  .footer__grid{grid-template-columns:1fr}
}
@media (max-width:1180px){
  .promo .full{display:none}
  .promo .short{display:inline}
}
@media (max-width:560px){
  body.has-promo{--promo-h:44px}
  .promo a{font-size:13.5px;gap:10px;padding:0 8px}
  .nav .btn{padding:10px 14px;font-size:14px}
  .picker__lead{width:100%}
  .picker button{font-size:15px;padding:8px 12px}
  .aw .frame{height:92px;min-width:92px}
  .aw .frame img{height:68px}
  .aw .frame.art img{height:92px}
  .aw .frame.square,.aw .frame.square img{width:92px}
  .aw b{font-size:18px}
  .clients{--k:.58}
  .pad{padding:24px 18px 56px 46px}
  .pad::before{left:30px}
  .pad li{font-size:16.5px;white-space:normal;height:auto;line-height:1.4;padding:10px 0}
  .pad li .t svg{display:none}
  .pad.done li .t{text-decoration:line-through;text-decoration-color:rgba(76,234,137,.95);text-decoration-thickness:6px}
}

/* ===== 7 Oct 2026 build (Bart's list): one icon style, the picker cue, two tracks, portraits, badges, places, picture slots ===== */
/* icons: one professional line set everywhere (was a hand-drawn blob behind each icon) */
.ico{width:48px;height:48px;flex:none;border-radius:13px;background:var(--bs-blue-faint);border:1px solid var(--bs-blue-soft)}
.ico .b{display:none}
.ico .i{inset:10px;stroke:var(--bs-blue-deep);stroke-width:2.2}
.tile .ico-row{display:flex;align-items:center;gap:14px}

/* the "pick one" cue: a green marker line travels across the choices, then stops for good at the first tap */
.pick-cue button{position:relative}
.pick-cue button.cue::after{content:"";position:absolute;left:8%;right:8%;bottom:-11px;height:7px;border-radius:7px;background:var(--bs-green);transform-origin:left center;animation:pickcue .95s ease both;pointer-events:none}
@keyframes pickcue{0%{transform:scaleX(0);opacity:1}55%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
.pick-note{font-family:var(--bs-font-hand);font-weight:700;font-size:23px;line-height:1;color:var(--bs-blue-deep);white-space:nowrap;display:inline-flex;align-items:center;gap:6px;margin-left:8px;transform:rotate(-2deg)}
.pick-note svg{width:30px;height:18px;flex:none}
.pick-cue.picked .pick-note{display:none}
@media (prefers-reduced-motion:reduce){.pick-cue button.cue::after{animation:none;opacity:0}}

/* recognition: seven tiles on one row */
.awards--7{grid-template-columns:repeat(7,1fr);gap:18px}
.awards--7 .aw p{font-size:14.5px}
.awards--7 .aw b{font-size:17.5px}
.aw .frame.badge{padding:0;border:0;background:none;min-width:0}
.aw .frame.badge picture{display:block;height:100%}
.aw .frame.badge img{height:110px;width:110px;max-width:none;object-fit:cover;border-radius:50%}

/* the two tracks */
.track-hand{font-size:28px;margin-bottom:6px;transform:rotate(-1.5deg);transform-origin:left}
.path .head .track-hand{grid-column:1/-1}
.track-tag{align-self:flex-start;display:inline-block;font:600 11.5px var(--bs-font-body);letter-spacing:.7px;text-transform:uppercase;color:var(--bs-blue-deep);background:var(--bs-blue-faint);border:1px solid var(--bs-blue-soft);border-radius:20px;padding:3px 10px}
.teach .container{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center}
.teach .lede{font-size:19px;color:var(--bs-ink-soft);margin:16px 0 22px}
.teach-list{list-style:none;display:grid;gap:14px;margin-bottom:28px}
.teach-list li{border-left:4px solid var(--bs-green);padding:2px 0 2px 16px}
.teach-list b{display:block;font-family:var(--bs-font-display);font-size:19px;line-height:1.2}
.teach-list span{color:var(--bs-ink-soft);font-size:16px}
.teach .actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.teach-photo{margin:0}
.teach-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:20px;border:2px solid var(--bs-ink);box-shadow:8px 8px 0 var(--bs-ink)}
.teach-photo figcaption{font-size:26px;margin-top:14px;text-align:right}

/* Pat and Donna: small portraits, always tagged as AI assistants */
.asst-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 8px}
.asst{display:flex;align-items:center;gap:12px;margin:0}
.asst img{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid #fff;flex:none}
.asst b{display:block;font-family:var(--bs-font-display);font-size:17px;line-height:1.2}
.asst .tag{display:inline-block;font:600 10.5px var(--bs-font-body);letter-spacing:.6px;text-transform:uppercase;background:rgba(255,255,255,.2);border-radius:20px;padding:2px 8px;margin-left:4px;vertical-align:2px;white-space:nowrap}
.asst .does{display:block;font-size:14.5px;opacity:.92}
.asst.light img{border-color:var(--bs-ink)}
.asst.light .tag{background:var(--bs-blue-faint);color:var(--bs-blue-deep);border:1px solid var(--bs-blue-soft)}
.asst.light .does{color:var(--bs-ink-soft);opacity:1}

/* a small picture of the real thing on a step card */
.stop .shot{display:block;border:1px solid var(--bs-rule);border-radius:12px;overflow:hidden;aspect-ratio:16/10;background:var(--bs-paper-deep)}
.stop .shot img{width:100%;height:100%;object-fit:cover;object-position:top center}

/* what we build: one story, six plain jobs */
.jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.job{display:flex;gap:14px;align-items:flex-start;background:#fff;border:2px solid var(--bs-ink);border-radius:16px;padding:18px 20px}
.job h3{font-size:19px;margin-bottom:4px}
.job p{font-size:15.5px;color:var(--bs-ink-soft)}

/* where we are: two places, Sunshine Coast first */
.places{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.place{background:#fff;border:2px solid var(--bs-ink);border-radius:18px;padding:20px 22px}
.place h3{font-size:20px;margin-bottom:6px}
.place p{color:var(--bs-ink-soft);font-size:16px}
.talk-to{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.talk-to img{width:64px;height:64px;border-radius:50%;border:2px solid var(--bs-ink);object-fit:cover;object-position:center top;flex:none}
.talk-to span{font-size:16px;color:var(--bs-ink-soft)}
.talk-to b{display:block;font-family:var(--bs-font-display);font-size:19px;color:var(--bs-ink)}

/* a picture still to come: shows its place, size and what goes there (review only; a real picture replaces it) */
.ph{display:grid;place-items:center;text-align:center;border:2px dashed var(--bs-blue-deep);border-radius:14px;background:repeating-linear-gradient(135deg,var(--bs-blue-faint) 0 14px,#fff 14px 28px);color:var(--bs-blue-deep);font:500 13.5px/1.4 var(--bs-font-body);padding:14px;aspect-ratio:var(--ar,16/10)}
.ph b{display:block;font-family:var(--bs-font-display);font-size:17px}

/* a top with a picture: tighter, and the page starts sooner under it */
.page-hero:not(.solo) + .band-white{padding-top:60px}

@media (max-width:1100px){
  .awards--7{grid-template-columns:repeat(4,1fr);gap:26px 18px}
}
@media (max-width:900px){
  .teach .container{grid-template-columns:1fr;gap:30px}
  .asst-pair{grid-template-columns:1fr}
  .awards--7{grid-template-columns:1fr 1fr}
  .aw .frame.badge img{height:92px;width:92px}
  .jobs,.places{grid-template-columns:1fr}
  .pick-note{font-size:21px;margin-left:0}

}
.asst-pic{flex:none}
.asst-pic img{display:block;width:60px;height:60px;border-radius:50%;border:2px solid var(--bs-ink);object-fit:cover}
.asst-name{display:block;font-size:14.5px;color:var(--bs-ink-soft);margin-top:2px}
.asst-name .tag,.tag--light{display:inline-block;font:600 10.5px var(--bs-font-body);letter-spacing:.6px;text-transform:uppercase;background:var(--bs-blue-faint);color:var(--bs-blue-deep);border:1px solid var(--bs-blue-soft);border-radius:20px;padding:2px 8px;margin-left:4px;vertical-align:1px;white-space:nowrap}
.section-head .track-hand{font-size:28px;color:var(--bs-blue-deep);margin-top:0}
.st-figs{display:flex;flex-wrap:wrap;gap:10px 34px;margin-top:22px;font-size:15.5px;color:var(--bs-ink-soft)}
.st-figs span{display:flex;align-items:baseline;gap:8px}
.st-figs b{font-family:var(--bs-font-display);font-weight:800;font-size:21px;letter-spacing:-.4px;color:var(--bs-ink);white-space:nowrap}
.page-hero.solo .hint{margin:0 0 8px}
.path .head{grid-template-columns:1fr;gap:14px}
.path .head .track-hand{font-size:28px;color:var(--bs-blue-deep);margin-bottom:-4px}
.place .ph{margin-bottom:14px}
.result .ph{margin-top:14px}
/* the calculator's long headline: one line on a desktop, and the tool starts straight under it */
.page-hero.compact{padding:22px 0 6px}
.page-hero.compact h1{font-size:clamp(1.75rem,2.95vw,2.4rem);letter-spacing:-1px;margin-bottom:8px}
.page-hero.compact .sub{font-size:18px;margin-bottom:16px}
@media (min-width:1001px){.page-hero.compact h1{white-space:nowrap}}

/* ===== 7 Oct 2026, second round (Bart) ===== */
/* the menu button: white on blue reads better than ink on blue (contrast 4.8 to 1, was 3.6 to 1) */
.nav__links a.btn{color:#fff}
/* a later sentence in a heading stays whole: it sits on the line if it fits, or moves down as one */
.snt{display:inline-block}
.price small a{color:var(--bs-blue-deep);font-weight:600}
.tile .meta a{font:600 15px var(--bs-font-body);color:var(--bs-blue-deep);margin-left:8px}

/* the three steps line up: picture, number, label, name, lead line, list, foot and link share the same rows */
@media (min-width:901px){
  .steps-detail{grid-template-rows:repeat(8,auto);row-gap:0}
  .steps-detail .stop{display:grid;grid-template-rows:subgrid;grid-row:span 8;row-gap:12px}
  .steps-detail .stop > .shot,.steps-detail .stop > .ph{grid-row:1}
  .steps-detail .stop > .num{grid-row:2}
  .steps-detail .stop > .track-tag{grid-row:3;justify-self:start}
  .steps-detail .stop > h3{grid-row:4}
  .steps-detail .stop > p{grid-row:5}
  .steps-detail .stop > ul{grid-row:6;align-self:start}
  .steps-detail .stop > .price,.steps-detail .stop > .promise{grid-row:7;align-self:end}
  .steps-detail .stop > .sample{grid-row:8}
}

/* Map, Score, Plan, Act: an icon each, arriving one after another the first time they are seen */
.method-grid .m-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.method-grid .m-top .n{margin-bottom:0}
.method-grid.anim .m-step{opacity:0;transform:translateY(16px)}
.method-grid.anim.in .m-step{opacity:1;transform:none;transition:opacity .55s ease,transform .55s ease}
.method-grid.anim.in .m-step:nth-child(2){transition-delay:.4s}
.method-grid.anim.in .m-step:nth-child(3){transition-delay:.8s}
.method-grid.anim.in .m-step:nth-child(4){transition-delay:1.2s}
@media (prefers-reduced-motion:reduce){.method-grid.anim .m-step{opacity:1;transform:none}}

/* member and sponsor: its own quiet strip, apart from the awards */
.backers{padding:46px 0;background:var(--bs-paper-deep);border-top:1px solid var(--bs-rule);border-bottom:1px solid var(--bs-rule)}
.backers .row{display:flex;flex-wrap:wrap;align-items:center;gap:26px 52px}
.backers .row a{display:inline-flex;align-items:center}
.backers .row img{height:54px;width:auto;object-fit:contain}
.backers .row .round img{height:86px;width:86px;border-radius:50%}
@media (min-width:1101px){.awards--7{grid-template-columns:repeat(6,1fr)}}

/* training: work we have built for others */
.tr-show{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;background:#fff;border:2px solid var(--bs-ink);border-radius:18px;padding:26px 28px}
.tr-show img{height:64px;width:auto}
.tr-show p{color:var(--bs-ink-soft);font-size:17px;margin:6px 0 10px}
@media (max-width:900px){
  .backers .row{gap:22px 30px}
  .backers .row img{height:42px}
  .backers .row .round img{height:68px;width:68px}
  .tr-show{grid-template-columns:1fr}
  .awards--7{grid-template-columns:1fr 1fr}
}

/* ===== 7 Oct 2026, round 2c: the credentials pills on inner pages, five review videos in a row, a credit under the workshop video ===== */
.built-by{padding:8px 0 46px;text-align:center}
.built-by .s4-pills-by{margin-top:0}
.built-by .s4-pills{justify-content:center}
.videos--row{grid-template-columns:repeat(4,1fr)}
.videos figcaption q{display:block;margin-top:6px;font-size:14px;line-height:1.4;quotes:"\201C" "\201D"}
.ab-room .vid-credit{margin:14px 0 0;font-size:14px;opacity:.75;text-align:center}
.result .res-vid{display:block;width:100%;aspect-ratio:16/9;margin-top:16px;border-radius:12px;border:2px solid var(--bs-ink);background:var(--bs-ink)}
@media (max-width:1000px){.videos--row{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.videos--row{gap:12px}}
@media (max-width:1000px){.ab-vid{justify-self:start}}

/* ===== 7 Oct 2026, round 3 (Bart): pills in a tidy grid from the left, sponsor marks balanced by eye, the Donna photo on Law firms ===== */
.built-by{text-align:left}
.built-by .s4-pills,.calc-trust .s4-pills,.fd-ready .s4-pills{display:grid;grid-template-columns:repeat(2,max-content);justify-content:start;justify-items:start;gap:10px 12px}
.backers .row{gap:28px 56px}
.backers .row img[alt="Maroochydore Chamber of Commerce"]{height:64px}
.backers .row img[alt="Business Chamber Queensland"]{height:68px}
.backers .row img[alt="FWD Fest"]{height:38px}
.backers .row .round img{height:124px;width:124px}
.law-live{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:center;margin:40px 0 0}
.law-live img{display:block;width:100%;height:auto;border-radius:20px;border:2px solid var(--bs-ink);box-shadow:8px 8px 0 var(--bs-ink)}
.law-live figcaption{font-size:19px;line-height:1.5;color:var(--bs-ink-soft)}
.law-live figcaption .hand{display:block;font-size:30px;line-height:1.2;color:var(--bs-blue-deep);margin-bottom:8px}
@media (max-width:900px){
  .built-by .s4-pills,.calc-trust .s4-pills,.fd-ready .s4-pills{grid-template-columns:1fr}
  .backers .row{gap:22px 34px}
  .backers .row img[alt="Maroochydore Chamber of Commerce"]{height:48px}
  .backers .row img[alt="Business Chamber Queensland"]{height:51px}
  .backers .row img[alt="FWD Fest"]{height:29px}
  .backers .row .round img{height:96px;width:96px}
  .law-live{grid-template-columns:1fr;gap:18px}
}
/* ===== 7 Oct 2026, round 3b: a picture on a result card ===== */
.result .res-pic{display:block;margin-top:16px}
.result .res-pic img{display:block;width:100%;height:auto;border-radius:14px;border:2px solid var(--bs-ink)}
a[data-cta="see_price"]{white-space:nowrap}

/* ===== 7 Oct 2026, round 4: the two pictures on the Contact place cards ===== */
.place .place-pic{display:block;margin-bottom:14px}
.place .place-pic img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border-radius:12px;border:2px solid var(--bs-ink)}

/* ===== 7 Oct 2026: Bluey, the website assistant (js/ask.js). Widths use min(), never a cap on text ===== */
.ask-launch{position:fixed;right:28px;bottom:44px;z-index:1200;display:inline-flex;align-items:center;gap:10px;padding:8px 20px 8px 8px;border:2px solid var(--bs-ink);border-radius:999px;background:var(--bs-blue-deep);color:#fff;font:700 16px var(--bs-font-body);box-shadow:0 5px 0 var(--bs-ink);cursor:pointer;transition:transform .25s ease,opacity .25s ease}
.ask-launch:hover{transform:translateY(-2px)}
.ask-launch.ask-away{transform:translateY(180%);opacity:0;pointer-events:none}
.ask-face{flex:none;width:40px;height:40px;border-radius:50%;background:#fff;padding:5px;box-sizing:border-box;border:2px solid var(--bs-ink);object-fit:contain}
.ask-face-s{width:28px;height:28px;padding:3px;border-width:1.5px;align-self:flex-end}
.ask-shade{position:fixed;inset:0;z-index:1199;background:rgba(20,20,22,.45)}
.ask-shade[hidden]{display:none}
.ask-panel{position:fixed;right:28px;bottom:112px;z-index:1200;width:min(392px,calc(100vw - 24px));height:min(600px,calc(100vh - 140px));display:flex;flex-direction:column;background:#fff;border:2px solid var(--bs-ink);border-radius:20px;box-shadow:8px 8px 0 var(--bs-ink);overflow:hidden;padding:0;margin:0}
.ask-panel[hidden]{display:none}
.ask-panel,.ask-panel *{box-sizing:border-box}
.ask-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;color:#fff;background:linear-gradient(115deg,var(--bs-blue-deep) 0%,var(--bs-blue-deep) 52%,var(--bs-teal) 100%)}
.ask-who{display:flex;align-items:center;gap:11px}
.ask-title b{display:block;font:800 19px/1.1 var(--bs-font-display)}
.ask-title span{display:block;font:500 12.5px/1.3 var(--bs-font-body);opacity:.92}
.ask-close{flex:none;width:32px;height:32px;border-radius:50%;border:0;background:rgba(20,20,22,.32);color:#fff;font:700 22px/1 var(--bs-font-body);cursor:pointer}
.ask-log{flex:1;overflow-y:auto;padding:14px 12px 6px;display:flex;flex-direction:column;gap:10px;background:var(--bs-paper)}
.ask-row{display:flex;gap:8px;align-items:flex-end}
.ask-row-me{justify-content:flex-end}
.ask-msg{font:500 15px/1.45 var(--bs-font-body);padding:9px 13px;border-radius:16px;overflow-wrap:anywhere}
.ask-bot{background:#fff;color:var(--bs-ink);border:1.5px solid var(--bs-rule);border-bottom-left-radius:4px;margin-right:8%}
.ask-me{background:var(--bs-blue-deep);color:#fff;font-weight:600;border-bottom-right-radius:4px;margin-left:16%}
.ask-bot a{color:var(--bs-blue-deep);font-weight:600}
.ask-wait .ask-msg{display:flex;gap:5px;padding:13px 14px}
.ask-wait i{width:7px;height:7px;border-radius:50%;background:var(--bs-blue-deep);opacity:.35;animation:ask-dot 1s infinite ease-in-out}
.ask-wait i:nth-child(2){animation-delay:.15s}
.ask-wait i:nth-child(3){animation-delay:.3s}
@keyframes ask-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.ask-starters{display:flex;flex-direction:column;gap:7px;padding:6px 12px 8px;background:var(--bs-paper)}
.ask-starters[hidden]{display:none}
.ask-starters button{text-align:left;font:600 14px var(--bs-font-body);background:var(--bs-blue-faint);border:1.5px solid var(--bs-blue-deep);border-radius:12px;padding:8px 12px;cursor:pointer;color:var(--bs-ink)}
.ask-lead{padding:9px 12px;background:var(--bs-green-soft);border-top:1.5px solid var(--bs-rule)}
.ask-lead[hidden]{display:none}
.ask-lead label{display:block;font:600 13px/1.35 var(--bs-font-body);color:var(--bs-ink);margin-bottom:6px}
.ask-lead-row{display:flex;gap:7px}
.ask-lead input{flex:1;min-width:0;font:500 16px var(--bs-font-body);border:1.5px solid var(--bs-ink);border-radius:10px;padding:7px 10px;background:#fff;color:var(--bs-ink)}
.ask-lead button{flex:none;font:700 14px var(--bs-font-body);border:0;border-radius:10px;padding:0 14px;background:var(--bs-ink);color:#fff;cursor:pointer}
.ask-lead-done{font:600 13.5px/1.4 var(--bs-font-body);color:var(--bs-green-ink);margin:0}
.ask-form{display:flex;gap:8px;padding:9px 12px;background:#fff;border-top:1.5px solid var(--bs-rule)}
.ask-input{flex:1;min-width:0;font:500 16px var(--bs-font-body);border:1.5px solid var(--bs-rule);border-radius:12px;padding:10px 12px;color:var(--bs-ink);background:#fff}
.ask-send{flex:none;width:42px;height:42px;border-radius:50%;border:0;background:var(--bs-blue-deep);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.ask-foot{font:400 11.5px/1.4 var(--bs-font-body);color:var(--bs-ink-soft);padding:0 12px 11px;margin:0;background:#fff}
.ask-foot a{color:inherit}
@media (max-width:760px){
  .ask-launch{right:14px;bottom:calc(18px + env(safe-area-inset-bottom,0px));padding:5px;gap:0;box-shadow:0 4px 0 var(--bs-ink)}
  .ask-launch-text{display:none}
  .ask-launch .ask-face{width:44px;height:44px;border:0}
  .ask-open .ask-launch{display:none}
  .ask-panel{left:8px;right:8px;bottom:8px;width:auto;height:min(620px,calc(100dvh - 64px));box-shadow:0 0 0 var(--bs-ink)}
}
@media (prefers-reduced-motion:reduce){.ask-launch{transition:none}.ask-wait i{animation:none;opacity:.7}}
@media print{.ask-launch,.ask-panel,.ask-shade{display:none!important}}

/* ===== 7 Oct 2026, round 6: a result card leads with the outcome in words, and the line under it is bold and bigger (Bart) ===== */
.result .num small{font-weight:700;font-size:20px;line-height:1.3;letter-spacing:-.1px;color:var(--bs-ink);margin-top:9px}
.result .num--words{font-size:38px;letter-spacing:-1px;line-height:1.06}
@media (max-width:760px){
  .result .num small{font-size:18px}
  .result .num--words{font-size:31px;letter-spacing:-.6px}
}

/* ===== 7 Oct 2026, round 7: fixes from the three pre-launch reviews ===== */
/* two cards side by side on a wide screen, one under the other on a phone (an inline style used to force two at every width) */
.cards3.two{grid-template-columns:1fr 1fr}
@media (max-width:760px){.cards3.two{grid-template-columns:1fr}}
/* a pair of buttons that wraps cleanly */
.btn-pair{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
/* the whole SC Tech logo is white, so its tile is dark */
.aw .frame.dark{background:var(--bs-ink);border-color:var(--bs-ink)}
/* About: nine tiles sit three by three, so none is left on a row of its own */
.ab-creds{grid-template-columns:repeat(3,1fr)}
@media (max-width:1000px){.ab-creds{grid-template-columns:1fr 1fr}.ab-creds .aw:last-child:nth-child(odd){grid-column:1/-1}}
@media (max-width:560px){
  .ab-creds{grid-template-columns:1fr}
  /* the crossed-off list: a thinner line, so the words under it can still be read */
  .pad.done li .t{text-decoration-thickness:3px;text-decoration-color:rgba(31,148,85,.8)}
}
/* Results: the two lead cards run the full width, words on the left and the picture or the people on the right */
.result.wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 48px;align-items:center}
.result .res-main{display:flex;flex-direction:column;gap:12px;align-self:stretch}
.result .res-side{display:flex;flex-direction:column;gap:14px}
.result.wide .res-pic{margin-top:0}
.res-asst{display:flex;gap:14px;align-items:center;background:var(--bs-paper);border:1.5px solid var(--bs-rule);border-radius:14px;padding:12px 16px}
.res-asst b{display:block;font-family:var(--bs-font-display);font-weight:800;font-size:19px;line-height:1.2}
.res-asst span{font-size:15px;color:var(--bs-ink-soft);line-height:1.4}
.res-asst b .tag{margin-left:6px;vertical-align:2px}
.result .res-rule{font-family:var(--bs-font-hand);font-weight:700;font-size:25px;line-height:1.2;color:var(--bs-ink);margin-top:4px}
.results-grid.one{grid-template-columns:1fr}
@media (max-width:1000px){.result.wide{display:flex}}
.res-next{margin-top:34px;padding-top:28px;border-top:2px solid var(--bs-ink)}
.res-next p{font-family:var(--bs-font-display);font-weight:800;font-size:26px;line-height:1.15;letter-spacing:-.4px}
.res-next .btn-pair{margin-top:16px}
/* the hand-kept last row of "What we're working on" lines up with the rows above it */
.pipeline .pipeline-dot{width:8px;height:8px;flex-shrink:0}
.pipeline .pipeline-pill{margin-left:auto;font-size:.75rem!important;font-weight:600;padding:.15rem .5rem;border-radius:60px;background:rgba(68,115,239,.1);color:var(--bs-ink);white-space:nowrap}
/* Bluey on a laptop: once the visitor is reading down the page the button is just the round picture */
.ask-launch.ask-mini{padding:7px;gap:0}
.ask-launch.ask-mini .ask-launch-text{display:none}

/* ===== 7 Oct 2026, round 7b: on a phone "Talk to us" sits in the header beside the menu button ===== */
.nav .nav__cta{display:none}
@media (max-width:1000px){
  .nav .container{gap:10px}
  .nav .nav__cta{display:inline-flex;margin-left:auto;padding:9px 14px;font-size:14px;white-space:nowrap}
  .nav__links li.cta-item{display:none}
}
@media (max-width:370px){
  .nav .nav__cta{display:none}
  .nav__links li.cta-item{display:block}
}

/* ===== 7 Oct 2026, round 7c: the blog list in two groups, law firms first ===== */
.bl-group{font-family:var(--bs-font-hand);font-weight:700;font-size:32px;line-height:1.1;color:var(--bs-blue-deep);margin:0 0 16px}
.bl-cards + .bl-group{margin-top:52px}
/* a filtered-out card stays hidden whatever its layout (the full-width cards set their own display) */
.results-grid .result[hidden]{display:none}
