/* ============================================================
   KABS AI LABS — green page styles
   The ported homepage, service and industry pages. Every rule is scoped under
   .pg, the wrapper their <main> content sits in, so the preview base cannot
   reach the real header and footer that main.js paints, or any page that does
   not load this file. Same approach as lp.css under .lp.
   The fifteen :root tokens styles.css already defines identically are not
   repeated here; the rest ride on .pg. The homepage preview's dark theme is
   dropped: the rest of the site is light only, so honouring it would put a dark
   page under a light header.
   ============================================================ */

/* ---- keep styles.css out of the ported pages ----
   The two stylesheets share 27 class names. Scoping under .pg stops the preview
   CSS leaking out, but .pg X only outranks X for the properties it declares, so
   anything styles.css set and the preview never mentioned still landed, and the
   page stopped matching the preview it was signed off from: .kpi went
   position:absolute and stacked, .section-head went max-width:760px and centred,
   .chart went align-items:flex-end and collapsed its bar row, .wave i took
   flex:1 and grew from 3px to 27px.
   Generated by diffing the computed style of every shared element against the
   preview, so each line here is a measured difference, not a guess. Regenerate
   with scratchpad/genreset3.js.
   ---- */
.pg .ah{margin-top:0px}
.pg .btn{padding-top:0px;padding-bottom:0px}
.pg .btn-row{z-index:auto;position:static;top:auto;right:auto;bottom:auto;left:auto;text-align:inherit}
.pg .btn.accent{padding-top:0px;padding-bottom:0px;text-align:inherit}
.pg .btn.btn-ghost{min-height:auto;justify-content:normal}
.pg .btn.btn-mint{justify-content:normal}
.pg .btn.ghost{padding-top:0px;padding-bottom:0px;text-align:inherit}
.pg .chart{align-items:normal;gap:normal}
.pg .chip-eyebrow{font-weight:inherit;text-align:inherit}
.pg .cl{margin-top:0px}
.pg .cn{letter-spacing:inherit}
.pg .container.hero-grid{min-width:0px;min-height:0px}
.pg .cta-band{position:static;overflow:visible;top:auto;right:auto;bottom:auto;left:auto;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;text-align:inherit}
.pg .d{font-weight:inherit}
.pg .expect{z-index:auto;position:static;top:auto;right:auto;bottom:auto;left:auto;text-align:inherit}
.pg .eyebrow{font-size:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit}
.pg .faq{max-width:none;margin-top:0px}
.pg .faq-a{max-width:none;padding-bottom:0px;font-size:inherit}
.pg .hero{min-height:0px;align-items:normal}
.pg .hero-sub{font-size:inherit;line-height:inherit}
.pg .hero.hero-ag{min-height:0px;align-items:normal}
.pg .hero.hero-hc{min-height:0px;align-items:normal}
.pg .hero.hero-re{min-height:0px;align-items:normal}
.pg .hero.hero-sa{min-height:0px;align-items:normal}
.pg .hero.hero-tr{min-height:0px;align-items:normal}
.pg .hl{font-size:inherit;line-height:inherit;font-weight:inherit;letter-spacing:inherit}
.pg .kpi{position:static;top:auto;right:auto;bottom:auto;left:auto;min-width:auto;min-height:auto;font-size:inherit;line-height:inherit;font-weight:inherit}
.pg .l{font-weight:inherit}
.pg .lead{margin-right:0px;margin-left:0px;text-align:inherit}
.pg .note{margin-top:0px;padding-left:0px}
.pg .pl-hero{padding-top:0px;padding-bottom:0px}
.pg .pm{min-width:0px;min-height:0px;font-size:inherit;line-height:inherit;font-weight:inherit}
.pg .rec{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px}
.pg .section-head{max-width:none;text-align:inherit}
.pg .section-title{text-align:inherit}
.pg .sent{min-width:auto;min-height:auto;margin-top:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px}
.pg .sparkle{font-weight:inherit;text-align:inherit}
.pg .v.up{margin-bottom:0px;font-weight:inherit;letter-spacing:inherit}
/* styles.css sets h1-h4{color:var(--ink)} on the bare tags. The previews never set a
   colour on a heading: they let it inherit, so a heading inside a dark band came out
   light with the band. That explicit rule beat inheritance once the pages were on the
   real site, putting ink headings on the homepage proof and booking bands. Restoring
   inheritance is what the previews actually do. */
.pg h1,.pg h2,.pg h3,.pg h4,.pg h5,.pg h6{color:inherit}

/* ---- end reset ---- */

/* ---- ai-automation (107 rules) ---- */
.pg{--ink-2:#163A30;--ink-3:#1F4A3D;--paper:#F1F3EE;--paper-2:#E3E8E1;--text:#0F2B24;--body:#1B3B32;--rule:#D8E0D9;--rule-2:#C3CFC6;--rule-dark:rgba(241,243,238,.16);--display:'Fraunces',Georgia,serif;--sans:'Instrument Sans',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;--gutter:clamp(20px,5vw,64px);--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px)}
.pg *{box-sizing:border-box;margin:0;padding:0}
.pg{font-family:var(--sans);font-size:17px;line-height:1.55;color:var(--body);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
/* Ten of the eleven previews set this colour on their base headings; the homepage
   preview is the one that does not, and leaves them inheriting so a heading inside a
   dark band comes out light with the band. Excluding .pg-home keeps every other page
   exactly as its preview declared it. */
.pg:not(.pg-home) h1,.pg:not(.pg-home) h2,.pg:not(.pg-home) h3,.pg:not(.pg-home) h4{font-family:var(--display);font-weight:400;letter-spacing:-.015em;line-height:1.04;color:var(--text);font-variation-settings:"opsz" 144,"SOFT" 40}
.pg-home h1,.pg-home h2,.pg-home h3,.pg-home h4{font-family:var(--display);font-weight:400;letter-spacing:-.015em;line-height:1.04;font-variation-settings:"opsz" 144,"SOFT" 40}
.pg h3,.pg h4{font-variation-settings:"opsz" 30,"SOFT" 40;line-height:1.2}
.pg p{max-width:64ch}
.pg a{color:inherit;text-decoration:none}
.pg img{max-width:100%;display:block}
.pg button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.pg :focus-visible{outline:2px solid var(--coral);outline-offset:3px;border-radius:2px}
.pg .container{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.pg .container.narrow{max-width:820px}
.pg .section{padding-block:clamp(56px,8vw,104px)}
.pg .tint{background:linear-gradient(180deg,#EDF0EA,#E3E8E1)}
.pg .eyebrow,.pg .chip-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-2)}
.pg .chip-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--rule);padding:6px 14px;border-radius:100px;margin-bottom:16px;text-transform:none;letter-spacing:0;font-family:var(--sans);color:var(--muted);font-size:13px}
.pg .chip-eyebrow .sparkle{color:var(--brand)}
.pg .section-title{font-size:clamp(2rem,5vw,3.1rem);max-width:18ch}
.pg .lead{color:var(--muted);font-size:clamp(1rem,2vw,1.15rem);max-width:60ch;margin-top:14px}
.pg .hl{color:var(--brand)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .pg .hl{background:linear-gradient(96deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
}
.pg .dark .hl{color:var(--mint);-webkit-text-fill-color:var(--mint)}
.pg .section-head{margin-bottom:8px}
.pg .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border-radius:999px;font-weight:600;font-size:1.02rem;background:var(--ink);color:var(--paper);transition:transform .15s ease,background .18s ease;-webkit-tap-highlight-color:transparent;white-space:nowrap}
.pg .btn:hover{transform:translateY(-1px);background:var(--ink-3)}
.pg .btn.accent{background:var(--mint);color:var(--ink)}
.pg .btn.accent:hover{background:var(--mint-2)}
.pg .btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--rule-2)}
.pg .btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;align-items:center}
@media (max-width:480px){
  .pg .btn-row .btn{flex:1 1 100%}
}
.pg .dark .btn.ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28)}
.pg .hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;isolation:isolate}
.pg .hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(50% 46% at 78% 40%,rgba(124,207,160,.16),transparent 70%)}
.pg .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:32px;align-items:center;padding-block:clamp(40px,7vw,76px)}
@media (min-width:940px){
  .pg .hero-grid{grid-template-columns:1fr 1fr;gap:44px}
}
@media (min-width:1200px){
  .pg .hero-grid{grid-template-columns:0.95fr 1.05fr 0.62fr;gap:40px}
}
@media (max-width:1199px){
  .pg .hero-side{display:none}
}
.pg .hero .crumb{font-family:var(--mono);font-size:12px;color:#8FB0A2;margin-bottom:14px}
.pg .hero .crumb a{color:#8FB0A2}
.pg .hero .chip-eyebrow{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#C9D6CD}
.pg .hero h1{color:#fff;font-size:clamp(2.5rem,5.6vw,3.9rem);max-width:15ch}
.pg .hero-sub{color:#C9D6CD;margin-top:18px;max-width:46ch}
.pg .hero .fine{color:#8FB0A2;font-size:.92rem;margin-top:16px}
.pg .win{position:relative;background:linear-gradient(180deg,#12352B,#0E2A22);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden}
.pg .win-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.pg .win-bar i{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.18)}
.pg .win-bar .t{margin-left:auto;font-family:var(--mono);font-size:11px;color:#8FB0A2;display:inline-flex;gap:7px;align-items:center}
.pg .win-bar .t .p{width:8px;height:8px;border-radius:50%;background:var(--mint-2);animation:beat 1.8s infinite}
@keyframes beat{0%{box-shadow:0 0 0 0 rgba(124,207,160,.5)}70%{box-shadow:0 0 0 8px rgba(124,207,160,0)}100%{box-shadow:0 0 0 0 rgba(124,207,160,0)}}
.pg .scene{position:relative;aspect-ratio:1/.82;overflow:hidden}
@media (max-width:520px){
  .pg .scene{aspect-ratio:1/.92}
}
.pg .scene canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.pg .scene .cap{position:absolute;left:16px;bottom:14px;font-family:var(--mono);font-size:11px;color:#9FBBAE;z-index:2}
.pg .scene .cap b{color:#fff;font-weight:500}
.pg .scene .chips{position:absolute;inset:0;pointer-events:none;z-index:3}
.pg .node-chip{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:9px;background:#fff;border:1px solid rgba(255,255,255,.7);display:grid;place-items:center;box-shadow:0 6px 16px -8px rgba(0,0,0,.5);opacity:.5;transition:opacity .25s ease,box-shadow .25s ease,transform .25s ease;will-change:transform,opacity}
.pg .node-chip img{width:20px;height:20px;object-fit:contain}
.pg .node-chip .txt{font-family:var(--mono);font-size:9px;color:#0F2B24;font-weight:600;text-align:center;line-height:1}
.pg .node-chip.lit{opacity:1;box-shadow:0 8px 20px -6px rgba(124,207,160,.6),0 0 0 2px var(--mint-2)}
.pg .node-chip .nm{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:10px;color:#9FBBAE;white-space:nowrap}
.pg .node-chip.lit .nm{color:#BFE9CF}
.pg .hero-side{display:flex;flex-direction:column;gap:12px}
.pg .hero-side .fh{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#8FB0A2;display:flex;align-items:center;gap:8px}
.pg .hero-side .fh .p{width:8px;height:8px;border-radius:50%;background:var(--mint-2);animation:beat 1.8s infinite}
.pg .feed{display:flex;flex-direction:column;gap:10px}
.pg .feed .row{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 14px;opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}
.pg .feed .row.show{opacity:1;transform:none}
.pg .feed .trg{color:#C9D6CD;font-size:.95rem;display:flex;gap:8px;align-items:flex-start}
.pg .feed .trg .d{color:var(--mint-2);flex:none}
.pg .feed .res{color:#8FB0A2;font-size:.85rem;margin-top:6px;padding-left:16px;display:flex;gap:7px;align-items:center}
.pg .feed .res .c{color:var(--mint);flex:none}
.pg .feed .res .tool{font-family:var(--mono);font-size:11px;color:#BFE9CF}
.pg .explain{display:grid;gap:16px;margin-top:36px;grid-template-columns:1fr}
@media (min-width:760px){
  .pg .explain{grid-template-columns:repeat(4,1fr)}
}
.pg .xcell{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:22px 20px;position:relative}
.pg .xcell .k{font-family:var(--mono);font-size:12px;color:var(--brand-2);margin-bottom:10px}
.pg .xcell h3{font-size:1.15rem;margin-bottom:6px}
.pg .xcell p{font-size:.95rem;color:var(--muted)}
.pg .xflow{margin-top:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}
.pg .xflow .node{display:inline-flex;align-items:center;gap:6px;background:var(--paper-2);border-radius:8px;padding:6px 10px}
.pg .xflow .arr{color:var(--brand)}
.pg .note{margin-top:22px;font-size:.92rem;color:var(--muted);border-left:3px solid var(--mint-2);padding-left:16px;max-width:70ch}
.pg .pricing{display:grid;gap:18px;margin-top:36px;grid-template-columns:1fr}
@media (min-width:820px){
  .pg .pricing{grid-template-columns:repeat(3,1fr)}
}
.pg .tier{background:#fff;border:1px solid var(--rule);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column}
.pg .tier.feature{border-color:var(--brand);box-shadow:0 24px 50px -34px rgba(31,107,78,.5);position:relative}
.pg .tier.feature .flag{position:absolute;top:-12px;left:24px;background:var(--ink);color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:.08em;padding:5px 12px;border-radius:100px}
.pg .tier .nm{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-2);margin-bottom:12px}
.pg .tier .price{font-family:var(--display);font-weight:400;font-size:2.6rem;line-height:1;font-variation-settings:"opsz" 72,"SOFT" 0;color:var(--ink)}
.pg .tier .price small{font-size:1rem;color:var(--muted);font-family:var(--sans)}
.pg .tier .who{color:var(--muted);font-size:.95rem;margin:10px 0 18px}
.pg .tier ul{list-style:none;display:grid;gap:10px;margin-bottom:22px}
.pg .tier li{display:flex;gap:10px;font-size:.95rem;color:var(--body)}
.pg .tier li .c{color:var(--brand);flex:none}
.pg .tier .btn{margin-top:auto;width:100%}
.pg .pricing-fine{margin-top:18px;font-size:.9rem;color:var(--muted)}
.pg .case-band{background:var(--ink);color:#fff;border-radius:20px;padding:clamp(28px,4vw,48px);position:relative;overflow:hidden}
.pg .case-band::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 85% 10%,rgba(124,207,160,.16),transparent 60%);pointer-events:none}
.pg .case-band>*{position:relative}
.pg .case-band .chip-eyebrow{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#BFE9CF}
.pg .case-band h2{color:#fff;font-size:clamp(1.6rem,3.4vw,2.4rem);margin:4px 0 10px}
.pg .case-band p{color:#C9D6CD;max-width:60ch}
.pg .case-stats{display:flex;flex-wrap:wrap;gap:32px;margin:24px 0}
.pg .case-stat .cn{font-family:var(--display);font-weight:400;font-size:2.2rem;font-variation-settings:"opsz" 72,"SOFT" 0;color:var(--mint)}
.pg .case-stat .cl{color:#9FBBAE;font-size:.9rem}
/* The band figures are modelled, so the strip says so directly underneath rather than
   burying it in a sentence a reader has to find. Quieter than the body copy above it. */
.pg .case-band .case-note{font-family:var(--mono);font-size:12px;line-height:1.5;color:#8FA99C;max-width:70ch;margin:-8px 0 20px}
@media (prefers-reduced-motion:reduce){
  .pg *{animation:none!important;transition:none!important;scroll-behavior:auto}
}

/* ---- workflow-automation (30 rules) ---- */
@media (min-width:940px){
  .pg .hero-grid{grid-template-columns:1fr 1.05fr;gap:44px}
}
.pg .port{display:flex;flex-direction:column;gap:14px}
.pg .port-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pg .port-head .ph-l{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:8px}
.pg .port-head .ph-l .p{width:8px;height:8px;border-radius:50%;background:var(--mint-2);animation:beat 1.8s infinite}
.pg .port-head .ph-all{font-size:13px;font-weight:600;color:var(--brand)}
.pg .port-head .ph-all:hover{text-decoration:underline;text-underline-offset:3px}
/* The gallery head was written for the dark band it sits in on workflow-automation.
   On the seven pages where it sits on paper those mint tones were unreadable, so the
   readable pair is the default and the light tones come back only on a dark surface. */
.pg .hero .port-head .ph-l,.pg .dark .port-head .ph-l,.pg .band-dark .port-head .ph-l,.pg .pl-dark .port-head .ph-l{color:#8FB0A2}
.pg .hero .port-head .ph-all,.pg .dark .port-head .ph-all,.pg .band-dark .port-head .ph-all,.pg .pl-dark .port-head .ph-all{color:var(--mint)}
.pg .port-glass{position:relative;height:clamp(360px,52vh,480px);border:1px solid rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(180deg,#12352B,#0E2A22);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;box-shadow:var(--shadow-lg);-webkit-mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent)}
@media (max-width:560px){
  .pg .port-glass{grid-template-columns:1fr;height:clamp(320px,60vh,440px)}
  .pg .port-col.rev{display:none}
}
.pg .port-col{display:flex;flex-direction:column;gap:12px;animation:pscroll var(--dur) linear infinite;will-change:transform}
.pg .port-col.rev{animation-direction:reverse}
.pg .port-glass:hover .port-col{animation-play-state:paused}
@keyframes pscroll{to{transform:translateY(-50%)}}
@media (prefers-reduced-motion:reduce){
  .pg .port-col{animation:none}
}
.pg .pcard{display:flex;flex-direction:column;gap:8px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:15px 15px 13px;color:#fff;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.pg .pcard:hover{background:rgba(191,233,207,.08);border-color:rgba(124,207,160,.4);transform:translateY(-2px)}
.pg .pc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.pg .pc-tag{font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#BFE9CF;background:rgba(191,233,207,.12);padding:4px 9px;border-radius:100px}
.pg .pc-thumb{color:#5E8A78;flex:none}
.pg .pc-thumb svg{width:30px;height:30px}
.pg .pcard h3{font-family:var(--display);font-weight:500;font-size:1.02rem;line-height:1.18;color:#fff;font-variation-settings:"opsz" 30,"SOFT" 40}
.pg .pcard p{font-size:.82rem;line-height:1.4;color:#9FBBAE;margin:0}
.pg .pc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.pg .pc-chips .pc{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#C9D6CD;background:rgba(255,255,255,.06);border-radius:7px;padding:3px 8px}
.pg .pc-chips .pc img{width:13px;height:13px}
.pg .pc-go{font-size:12px;font-weight:600;color:var(--mint-2);margin-top:2px}
.pg .port-cta{align-self:flex-start;display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:999px;background:var(--mint);color:var(--ink);font-weight:600;font-size:.95rem}
.pg .port-cta:hover{background:var(--mint-2)}

/* ---- rag-knowledge-base (49 rules) ---- */
.pg .ragscene{position:relative;padding:18px 18px 20px;min-height:clamp(320px,46vh,420px);display:flex;flex-direction:column;gap:14px;font-family:var(--sans)}
.pg .rag-q{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 14px;min-height:48px}
.pg .rag-q .qk{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink);background:var(--mint);border-radius:6px;width:20px;height:20px;display:grid;place-items:center;flex:none;margin-top:1px}
.pg .rag-q .qt{color:#EAF3EC;font-size:.98rem;line-height:1.4}
.pg .rag-q .qt::after{content:"▍";color:var(--mint-2);animation:cur 1s steps(1) infinite}
.pg .rag-q.done .qt::after{content:""}
@keyframes cur{50%{opacity:0}}
.pg .rag-docs{display:flex;flex-direction:column;gap:8px}
.pg .doc{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:9px 12px}
.pg .doc .dh{font-family:var(--mono);font-size:10.5px;color:#8FB0A2;display:block;margin-bottom:7px}
.pg .doc i{display:block;height:5px;border-radius:3px;background:rgba(255,255,255,.09);margin:5px 0;width:100%}
.pg .doc i:nth-child(3){width:82%}
.pg .doc i:nth-child(4){width:66%}
.pg .doc i:nth-child(5){width:74%}
.pg .doc i.hit{background:rgba(124,207,160,.18)}
.pg .scanning .doc i{animation:scan 1.4s ease-in-out}
.pg .scanning .doc i.hit{background:linear-gradient(90deg,var(--mint-2),var(--brand));box-shadow:0 0 0 1px rgba(124,207,160,.5);animation:hit .6s ease forwards .8s}
@keyframes scan{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes hit{to{transform:translateX(2px)}}
.pg .rag-a{background:linear-gradient(180deg,rgba(191,233,207,.08),rgba(191,233,207,.03));border:1px solid rgba(124,207,160,.25);border-radius:12px;padding:12px 14px;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}
.pg .rag-a.show{opacity:1;transform:none}
.pg .rag-a .ah{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.pg .rag-a .ak{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink);background:var(--mint-2);border-radius:6px;width:20px;height:20px;display:grid;place-items:center;flex:none}
.pg .rag-a .src{font-family:var(--mono);font-size:10.5px;color:var(--mint);display:inline-flex;align-items:center;gap:5px}
.pg .rag-a .src::before{content:"⌖";font-size:12px}
.pg .rag-a .at{color:#EAF3EC;font-size:.95rem;line-height:1.45;margin:0}
.pg .rag-gallery{margin-top:8px}
.pg .rag-gallery .port-head{margin-bottom:16px}
.pg .rag-gallery .ph-l{color:var(--muted)}
.pg .rag-gallery .ph-l .p{background:var(--brand-2)}
.pg .rag-gallery .ph-all{color:var(--brand)}
.pg .gcard-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:640px){
  .pg .gcard-grid{grid-template-columns:1fr 1fr}
}
@media (min-width:1000px){
  .pg .gcard-grid{grid-template-columns:repeat(3,1fr)}
}
.pg .gcard{display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid var(--rule);border-radius:14px;padding:20px 18px 18px;color:var(--text);box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.pg .gcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--rule-2)}
.pg .gcard .pc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.pg .gcard .pc-tag{font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--brand);background:var(--brand-soft);padding:4px 9px;border-radius:100px}
.pg .gcard .pc-thumb{color:var(--faint);flex:none}
.pg .gcard .pc-thumb svg{width:30px;height:30px}
.pg .gcard h3{font-family:var(--display);font-weight:500;font-size:1.12rem;line-height:1.16;color:var(--ink);font-variation-settings:"opsz" 30,"SOFT" 40}
.pg .gcard p{font-size:.9rem;line-height:1.45;color:var(--muted);margin:0}
.pg .gcard .pc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.pg .gcard .pc-chips .pc{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--body);background:var(--paper-2);border-radius:7px;padding:3px 8px}
.pg .gcard .pc-chips .pc img{width:13px;height:13px}
.pg .gcard .pc-go{font-size:12px;font-weight:600;color:var(--brand);margin-top:4px}
.pg .port-wide .port-glass{height:clamp(420px,58vh,520px)}
@media (min-width:760px){
  .pg .port-wide .port-glass{grid-template-columns:1fr 1fr}
}
@media (min-width:1100px){
  .pg .port-wide{max-width:none}
  .pg .port-wide .port-glass{grid-template-columns:1fr 1fr 1fr}
  .pg .port-wide .port-col:nth-child(3){display:flex}
}

/* ---- voice-ai-trades (47 rules) ---- */
.pg .hero-tr .hero-sub{color:#C9D6CD}
.pg .flow{display:grid;gap:12px;margin-top:36px;grid-template-columns:1fr}
@media(min-width:820px){
  .pg .flow{grid-template-columns:repeat(5,1fr);align-items:stretch}
}
.pg .fstep{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:18px 16px;position:relative;display:flex;flex-direction:column;gap:6px}
.pg .fstep .fi{width:32px;height:32px;border-radius:9px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:15px}
.pg .fstep h3{font-size:1rem}
.pg .fstep p{font-size:.85rem;color:var(--muted)}
.pg .fstep .far{position:absolute;right:-13px;top:50%;transform:translateY(-50%);color:var(--brand);font-size:18px;z-index:2}
@media(max-width:819px){
  .pg .fstep .far{right:auto;left:22px;top:auto;bottom:-15px;transform:rotate(90deg)}
}
.pg .voices{display:grid;gap:16px;margin-top:34px;grid-template-columns:1fr}
@media(min-width:720px){
  .pg .voices{grid-template-columns:repeat(3,1fr)}
}
.pg .vcard{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:20px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow);transition:border-color .18s,transform .18s}
.pg .vcard:hover{border-color:var(--brand);transform:translateY(-2px)}
.pg .vcard .av{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--mint-2));display:grid;place-items:center;color:#fff;font-size:20px;flex:none}
.pg .vcard .vn{font-family:var(--display);font-weight:500;font-size:1.1rem}
.pg .vcard .vm{font-size:.85rem;color:var(--muted)}
.pg .vcard .wave{display:flex;gap:3px;align-items:center;height:22px;margin-top:6px}
.pg .vcard .wave i{width:3px;border-radius:2px;background:var(--mint-2);height:5px;animation:wv 1.1s ease-in-out infinite}
@keyframes wv{0%,100%{height:5px}50%{height:18px}}
.pg .vcard .wave i:nth-child(2){animation-delay:.1s}
.pg .vcard .wave i:nth-child(3){animation-delay:.2s}
.pg .vcard .wave i:nth-child(4){animation-delay:.3s}
.pg .vcard .wave i:nth-child(5){animation-delay:.15s}
.pg .vcard .wave i:nth-child(6){animation-delay:.25s}
.pg .cap-list{display:grid;gap:10px}
.pg .cap-row{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 14px}
.pg .cap-row .c{color:var(--mint-2);font-weight:700;flex:none}
.pg .cap-row .k{font-weight:600;color:#EAF3EC}
.pg .cap-row .v{margin-left:auto;font-family:var(--mono);font-size:12px;color:#8FB0A2}
.pg .putlive{display:grid;gap:14px;margin-top:34px;grid-template-columns:1fr}
@media(min-width:700px){
  .pg .putlive{grid-template-columns:repeat(3,1fr)}
}
.pg .pl-item{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:18px}
.pg .pl-item .fic{width:34px;height:34px;border-radius:9px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin-bottom:10px}
.pg .pl-item h3{font-size:1rem}
.pg .pl-item p{font-size:.85rem;color:var(--muted);margin-top:4px}
.pg .cta-band{background:var(--ink);color:#fff;border-radius:20px;padding:clamp(40px,5vw,60px) 28px;text-align:center;position:relative;overflow:hidden}
.pg .cta-band::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 50% 0,rgba(124,207,160,.18),transparent 60%);pointer-events:none}
.pg .cta-band>*{position:relative}
.pg .cta-band h2{color:#fff;max-width:22ch;margin:0 auto}
.pg .cta-band p{color:#C9D6CD;margin:12px auto 0}
.pg .faq{max-width:760px;margin:24px auto 0;border-top:1px solid var(--rule)}
.pg .faq details{border-bottom:1px solid var(--rule)}
.pg .faq summary{list-style:none;cursor:pointer;padding:18px 0;font-family:var(--sans);font-weight:500;font-size:1.08rem;color:var(--ink);display:flex;justify-content:space-between;gap:16px}
.pg .faq summary::-webkit-details-marker{display:none}
.pg .faq .pm{color:var(--brand);font-size:1.4rem;transition:transform .2s}
.pg .faq details[open] .pm{transform:rotate(45deg)}
.pg .faq-a{color:var(--muted);font-size:.95rem;padding-bottom:20px;max-width:70ch}

/* ---- plumbers (49 rules) ---- */
.pg .pl-hero{background:var(--ink);color:#fff;overflow:hidden;position:relative;isolation:isolate}
.pg .pl-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 46% at 80% 30%,rgba(124,207,160,.14),transparent 70%);pointer-events:none}
.pg .pl-hero .container{position:relative;padding-block:clamp(44px,7vw,80px)}
.pg .pl-hero .crumb{font-family:var(--mono);font-size:12px;color:#8FB0A2;margin-bottom:14px}
.pg .pl-hero h1{color:#fff;font-size:clamp(2.3rem,5.2vw,3.7rem);max-width:16ch}
.pg .pl-hero .sub{color:#C9D6CD;margin-top:16px;max-width:52ch;font-size:clamp(1rem,2vw,1.15rem)}
.pg .calc{background:#fff;border:1px solid var(--rule);border-radius:18px;box-shadow:var(--shadow-lg);padding:clamp(22px,3vw,34px);display:grid;gap:26px;grid-template-columns:1fr;margin-top:34px}
@media(min-width:820px){
  .pg .calc{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px}
}
.pg .calc .field{margin-bottom:18px}
.pg .calc label{display:flex;justify-content:space-between;font-weight:600;color:var(--ink);font-size:.95rem;margin-bottom:8px}
.pg .calc label b{font-family:var(--display);color:var(--brand);font-variation-settings:"opsz" 30}
.pg .calc input[type=range]{width:100%;accent-color:var(--brand);height:6px}
.pg .calc .out{background:var(--ink);color:#fff;border-radius:14px;padding:26px;text-align:center;position:relative;overflow:hidden}
.pg .calc .out::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 50% 0,rgba(124,207,160,.2),transparent 60%);pointer-events:none}
.pg .calc .out>*{position:relative}
.pg .calc .out .l{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8FB0A2}
.pg .calc .out .big{font-family:var(--display);font-weight:400;font-size:clamp(2.6rem,7vw,3.6rem);line-height:1;color:var(--mint);font-variation-settings:"opsz" 72,"SOFT" 0;margin:8px 0}
.pg .calc .out .yr{color:#C9D6CD;font-size:.9rem}
.pg .calc .foot{font-size:.82rem;color:var(--muted);margin-top:14px}
.pg .plflow{display:grid;gap:12px;margin-top:34px;grid-template-columns:1fr}
@media(min-width:900px){
  .pg .plflow{grid-template-columns:repeat(5,1fr)}
}
.pg .plstep{background:var(--paper-2);border-radius:12px;padding:18px 16px}
.pg .plstep .n{font-family:var(--display);color:var(--brand);font-size:1.6rem;font-variation-settings:"opsz" 72,"SOFT" 0}
.pg .plstep h3{font-size:1rem;margin:4px 0 4px}
.pg .plstep p{font-size:.85rem;color:var(--muted)}
.pg .pl-dark{background:var(--ink);color:#fff}
.pg .pl-dark h2{color:#fff}
.pg .pl-dark .lead{color:#C9D6CD}
.pg .sheet{background:#12352B;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:clamp(20px,3vw,30px);max-width:560px;margin-top:28px}
.pg .sheet .sh{font-family:var(--mono);font-size:11px;color:var(--mint-2);letter-spacing:.06em;margin-bottom:16px;display:flex;justify-content:space-between}
.pg .srow{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.pg .srow:last-child{border-bottom:none}
.pg .srow .k{font-family:var(--mono);font-size:11px;color:#8FB0A2;text-transform:uppercase;letter-spacing:.04em}
.pg .srow .v{color:#EAF3EC;font-size:.95rem}
.pg .srow .v small{display:block;color:#8FB0A2;font-size:.8rem;margin-top:2px}
.pg .tape{background:#fff;border:1px solid var(--rule);border-radius:16px;padding:22px;max-width:560px;margin-top:28px;box-shadow:var(--shadow)}
.pg .tape .th{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.pg .tape .th .dot{width:10px;height:10px;border-radius:50%;background:var(--coral)}
.pg .tape .th .dot.on{background:var(--brand);animation:beat 1.4s infinite}
.pg .tape .th .nm{font-weight:600;color:var(--ink)}
.pg .tape .th .st{font-family:var(--mono);font-size:11px;color:var(--muted);margin-left:auto}
.pg .tline{display:flex;gap:10px;margin:10px 0;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}
.pg .tline.show{opacity:1;transform:none}
.pg .tline .who{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;flex:none;width:54px;padding-top:3px}
.pg .tline.ai .who{color:var(--brand)}
.pg .tline.caller .who{color:var(--muted)}
.pg .tline .tx{background:var(--paper-2);border-radius:10px;padding:9px 13px;font-size:.92rem;color:var(--body)}
.pg .tline.ai .tx{background:var(--brand-soft)}
.pg .tape .replay{margin-top:14px;font-size:13px;font-weight:600;color:var(--brand);background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}

/* ---- marketing-agencies (98 rules) ---- */
.pg .hero-ag .hero-sub{color:#C9D6CD}
.pg .hero-ag .fine{color:#93A99C;font-size:.92rem;margin-top:14px}
.pg .report{position:relative;padding:18px 18px 16px;min-height:clamp(360px,50vh,460px);display:flex;flex-direction:column;gap:12px}
.pg .rp-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pg .rp-head .cl{font-family:var(--display);font-weight:500;color:#fff;font-size:1.05rem;font-variation-settings:"opsz" 30,"SOFT" 40}
.pg .rp-head .cl small{display:block;font-family:var(--mono);font-size:10.5px;color:#8FB0A2;font-weight:400;margin-top:2px}
.pg .rp-src{display:flex;gap:6px}
.pg .rp-src .s{width:26px;height:26px;border-radius:7px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;font-family:var(--mono);font-size:9px;color:#C9D6CD;opacity:.35;transition:opacity .3s,box-shadow .3s}
.pg .rp-src .s.on{opacity:1;box-shadow:0 0 0 2px rgba(124,207,160,.5)}
.pg .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pg .kpi{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 12px;opacity:0;transform:translateY(8px);transition:opacity .45s,transform .45s}
.pg .kpi.show{opacity:1;transform:none}
.pg .kpi .l{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#8FB0A2}
.pg .kpi .v{font-family:var(--display);font-weight:400;font-size:1.5rem;color:#fff;font-variation-settings:"opsz" 72,"SOFT" 0;margin-top:2px;line-height:1.1}
.pg .kpi .d{font-size:11px;color:var(--mint-2);margin-top:2px}
.pg .chart{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 12px 10px;display:flex;flex-direction:column}
.pg .chart .ct{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#8FB0A2;margin-bottom:8px}
.pg .bars{display:flex;align-items:flex-end;gap:6px;height:110px}
.pg .bars i{flex:1;background:linear-gradient(180deg,var(--mint-2),var(--brand));border-radius:4px 4px 2px 2px;height:0;transition:height .7s cubic-bezier(.2,.8,.2,1)}
.pg .bars i:last-child{background:linear-gradient(180deg,var(--mint),var(--mint-2))}
.pg .rp-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:11px;color:#8FB0A2;min-height:20px}
.pg .rp-foot .st{color:#EAF3EC;display:flex;align-items:center;gap:7px}
.pg .rp-foot .st .p{width:7px;height:7px;border-radius:50%;background:var(--mint-2)}
.pg .rp-foot .sent{color:var(--mint);opacity:0;transition:opacity .4s}
.pg .rp-foot .sent.show{opacity:1}
.pg .onb{display:grid;gap:22px;margin-top:36px;grid-template-columns:1fr}
@media(min-width:900px){
  .pg .onb{grid-template-columns:1fr 1fr;gap:36px;align-items:center}
}
.pg .onb .col{background:#fff;border:1px solid var(--rule);border-radius:16px;padding:24px;box-shadow:var(--shadow)}
.pg .onb .col h3{font-size:1.1rem;margin-bottom:4px}
.pg .onb .col .t{font-family:var(--display);font-size:2.2rem;font-variation-settings:"opsz" 72,"SOFT" 0;line-height:1;margin:6px 0 14px}
.pg .onb .col.manual .t{color:var(--coral)}
.pg .onb .col.auto .t{color:var(--brand)}
.pg .onb ul{list-style:none;display:grid;gap:8px}
.pg .onb li{display:flex;justify-content:space-between;gap:12px;font-size:.92rem;color:var(--body);padding:8px 0;border-bottom:1px solid var(--rule)}
.pg .onb li:last-child{border-bottom:0}
.pg .onb li b{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--muted)}
.pg .onb .auto li b{color:var(--brand)}
.pg .onb .bar{height:8px;border-radius:4px;background:var(--paper-2);overflow:hidden;margin-top:14px}
.pg .onb .bar i{display:block;height:100%;width:0;border-radius:4px;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.pg .onb .manual .bar i{background:var(--coral)}
.pg .onb .auto .bar i{background:var(--brand)}
.pg .onb.go .manual .bar i{width:100%}
.pg .onb.go .auto .bar i{width:15%}
.pg .wl{display:grid;gap:26px;margin-top:36px;grid-template-columns:1fr}
@media(min-width:900px){
  .pg .wl{grid-template-columns:1fr 1fr;align-items:center;gap:48px}
}
.pg .flip{perspective:1200px;max-width:460px}
.pg .flip .inner{position:relative;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,.8,.2,1);height:300px}
.pg .flip.on .inner{transform:rotateY(180deg)}
.pg .face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-lg)}
.pg .face.b{transform:rotateY(180deg)}
.pg .face .fh{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pg .face .brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:1.05rem;font-variation-settings:"opsz" 30,"SOFT" 40}
.pg .face .brand .mk{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:600;flex:none}
.pg .face .rep{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.pg .face .fk{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pg .face .fk div{border-radius:9px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.pg .face .fk .l{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.pg .face .fk .v{font-family:var(--display);font-size:1.3rem;line-height:1.1;font-variation-settings:"opsz" 72,"SOFT" 0}
.pg .face .fb{display:flex;align-items:flex-end;gap:5px;height:64px;padding:6px 8px 0;border-radius:9px}
.pg .face .fb i{flex:1;border-radius:3px 3px 1px 1px}
.pg .face .ff{font-family:var(--mono);font-size:10px;opacity:.65;margin-top:auto}
.pg .face.a{background:var(--ink);color:#fff}
.pg .face.a .mk{background:var(--mint);color:var(--ink)}
.pg .face.a .fk div{background:rgba(255,255,255,.06)}
.pg .face.a .fb{background:rgba(255,255,255,.04)}
.pg .face.a .fb i{background:linear-gradient(180deg,var(--mint-2),var(--brand))}
.pg-agencies .face.b{background:#fff;color:var(--ink);border:1px solid var(--rule)}
.pg .face.b .mk{background:#1C3D8F;color:#fff}
.pg .face.b .fk div{background:#EEF2FA}
.pg .face.b .fb{background:#F4F6FB}
.pg .face.b .fb i{background:linear-gradient(180deg,#5B8AE8,#1C3D8F)}
.pg .flipbtn{margin-top:14px;font-size:13px;font-weight:600;color:var(--brand);background:none;border:0;cursor:pointer}
.pg .hb{background:#fff;border:1px solid var(--rule);border-radius:18px;box-shadow:var(--shadow-lg);padding:clamp(22px,3vw,34px);display:grid;gap:26px;grid-template-columns:1fr;margin-top:34px}
@media(min-width:820px){
  .pg .hb{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px}
}
.pg .hb .field{margin-bottom:18px}
.pg .hb label{display:flex;justify-content:space-between;font-weight:600;color:var(--ink);font-size:.95rem;margin-bottom:8px}
.pg .hb label b{font-family:var(--display);color:var(--brand)}
.pg .hb input[type=range]{width:100%;accent-color:var(--brand)}
.pg .hb .out{background:var(--ink);color:#fff;border-radius:14px;padding:26px;text-align:center;position:relative;overflow:hidden}
.pg .hb .out::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 50% 0,rgba(124,207,160,.2),transparent 60%);pointer-events:none}
.pg .hb .out>*{position:relative}
.pg .hb .out .l{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8FB0A2}
.pg .hb .out .big{font-family:var(--display);font-size:clamp(2.4rem,6vw,3.4rem);line-height:1;color:var(--mint);font-variation-settings:"opsz" 72,"SOFT" 0;margin:8px 0}
.pg .hb .out .yr{color:#C9D6CD;font-size:.9rem}
.pg .hb .foot{font-size:.82rem;color:var(--muted);margin-top:14px}
.pg .ag3{display:grid;gap:16px;margin-top:34px;grid-template-columns:1fr}
@media(min-width:820px){
  .pg .ag3{grid-template-columns:repeat(3,1fr)}
}
.pg .agc{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.pg .agc .ic{width:36px;height:36px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin-bottom:12px;font-size:16px}
.pg .agc h3{font-size:1.1rem;margin-bottom:6px}
.pg .agc p{font-size:.9rem;color:var(--muted)}
.pg .agc ul{list-style:none;margin-top:12px;display:grid;gap:6px}
.pg .agc li{font-size:.88rem;color:var(--body);display:flex;gap:8px}
.pg .agc li::before{content:"✓";color:var(--brand);font-weight:700}
.pg-agencies .cta-band p{color:#C9D6CD;margin:12px auto 0;max-width:52ch}
.pg .expect{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin-top:18px;font-size:.9rem;color:#C9D6CD}
.pg .expect span::before{content:"✓ ";color:var(--mint-2)}
@media(prefers-reduced-motion:reduce){
  .pg .kpi{opacity:1;transform:none}
  .pg .bars i{transition:none}
  .pg .flip .inner{transition:none}
  .pg .onb .bar i{transition:none}
}

/* ---- real-estate (75 rules) ---- */
.pg .hero-re .hero-sub{color:#C9D6CD}
.pg .hero-re .fine{color:#93A99C;font-size:.92rem;margin-top:14px}
.pg .race{position:relative;padding:16px 16px 14px;min-height:clamp(380px,52vh,470px);display:flex;flex-direction:column;gap:12px}
.pg .race .top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pg .race .inq{font-family:var(--mono);font-size:11px;color:#8FB0A2}
.pg .race .inq b{color:#fff;font-weight:500}
.pg .clocks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pg .clk{border-radius:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.1)}
.pg .clk .l{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#8FB0A2}
.pg .clk .t{font-family:var(--display);font-size:1.9rem;line-height:1.1;font-variation-settings:"opsz" 72,"SOFT" 0;margin-top:3px}
.pg .clk .s{font-size:11px;margin-top:3px}
.pg .clk.us{background:rgba(191,233,207,.08);border-color:rgba(124,207,160,.35)}
.pg .clk.us .t{color:var(--mint)}
.pg .clk.us .s{color:var(--mint-2)}
.pg .clk.avg{background:rgba(255,255,255,.04)}
.pg .clk.avg .t{color:#C9D6CD}
.pg .clk.avg .s{color:#8FB0A2}
.pg .thread{display:flex;flex-direction:column;gap:8px;flex:1}
.pg .msg{max-width:88%;padding:9px 12px;border-radius:12px;font-size:.9rem;line-height:1.35;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}
.pg .msg.show{opacity:1;transform:none}
.pg .msg.in{align-self:flex-start;background:rgba(255,255,255,.07);color:#EAF3EC;border-bottom-left-radius:4px}
.pg .msg.out{align-self:flex-end;background:rgba(191,233,207,.14);color:#EAF3EC;border:1px solid rgba(124,207,160,.3);border-bottom-right-radius:4px}
.pg .msg .who{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:#8FB0A2;margin-bottom:3px}
.pg .msg.out .who{color:var(--mint-2)}
.pg .route{display:flex;flex-wrap:wrap;gap:6px;min-height:26px}
.pg .tagp{font-family:var(--mono);font-size:10.5px;color:var(--mint);background:rgba(191,233,207,.12);border:1px solid rgba(124,207,160,.3);padding:4px 9px;border-radius:100px;opacity:0;transform:scale(.9);transition:opacity .3s,transform .3s}
.pg .tagp.show{opacity:1;transform:none}
.pg .ah{display:grid;gap:24px;margin-top:36px;grid-template-columns:1fr}
@media(min-width:900px){
  .pg .ah{grid-template-columns:1fr 1fr;align-items:center;gap:48px}
}
.pg .ring{position:relative;width:min(320px,80vw);aspect-ratio:1;margin:0 auto}
.pg .ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.pg .ring .base{stroke:var(--rule-2);stroke-width:14;fill:none}
.pg .ring .off{stroke:var(--brand);stroke-width:14;fill:none;stroke-linecap:butt;stroke-dasharray:0 1000;transition:stroke-dasharray 1.4s cubic-bezier(.2,.8,.2,1)}
.pg .ring .peak{stroke:var(--coral);stroke-width:14;fill:none;stroke-dasharray:0 1000;transition:stroke-dasharray 1.4s cubic-bezier(.2,.8,.2,1) .4s}
.pg .ring .c{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.pg .ring .c .n{font-family:var(--display);font-size:2.6rem;line-height:1;color:var(--ink);font-variation-settings:"opsz" 72,"SOFT" 0}
.pg .ring .c .l{font-size:.85rem;color:var(--muted);max-width:14ch;margin-top:4px}
.pg .ring.go .off{stroke-dasharray:calc(0.62 * 879) 1000}
.pg .ring.go .peak{stroke-dasharray:calc(0.125 * 879) 1000;stroke-dashoffset:calc(-0.75 * 879)}
.pg .leg{display:grid;gap:10px;margin-top:8px}
.pg .leg div{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--body)}
.pg .leg i{width:12px;height:12px;border-radius:3px;flex:none;margin-top:5px}
.pg .board{display:grid;grid-template-columns:1fr;gap:12px;margin-top:34px}
@media(min-width:820px){
  .pg .board{grid-template-columns:repeat(4,1fr)}
}
.pg .lane{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:14px;min-height:190px;display:flex;flex-direction:column;gap:8px}
.pg .lane .lh{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-bottom:8px;border-bottom:1px solid var(--rule)}
.pg .lane .lh b{color:var(--brand);font-weight:500}
.pg .tk{background:var(--paper-2);border-radius:8px;padding:8px 10px;font-size:.85rem;color:var(--body);opacity:0;transform:translateY(-6px);transition:opacity .35s,transform .35s}
.pg .tk.show{opacity:1;transform:none}
.pg .tk small{display:block;font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:2px}
.pg .inbox{background:var(--ink);color:#fff;border-radius:12px;padding:14px;margin-top:14px;font-family:var(--mono);font-size:12px;display:flex;justify-content:space-between;align-items:center}
.pg .inbox b{color:var(--mint);font-weight:500}
.pg .lc{background:#fff;border:1px solid var(--rule);border-radius:18px;box-shadow:var(--shadow-lg);padding:clamp(22px,3vw,34px);display:grid;gap:26px;grid-template-columns:1fr;margin-top:34px}
@media(min-width:820px){
  .pg .lc{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px}
}
.pg .lc .field{margin-bottom:18px}
.pg .lc label{display:flex;justify-content:space-between;font-weight:600;color:var(--ink);font-size:.95rem;margin-bottom:8px}
.pg .lc label b{font-family:var(--display);color:var(--brand)}
.pg .lc input[type=range]{width:100%;accent-color:var(--brand)}
.pg .lc .out{background:var(--ink);color:#fff;border-radius:14px;padding:26px;text-align:center;position:relative;overflow:hidden}
.pg .lc .out::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 50% 0,rgba(124,207,160,.2),transparent 60%);pointer-events:none}
.pg .lc .out>*{position:relative}
.pg .lc .out .l{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8FB0A2}
.pg .lc .out .big{font-family:var(--display);font-size:clamp(2.4rem,6vw,3.4rem);line-height:1;color:var(--mint);font-variation-settings:"opsz" 72,"SOFT" 0;margin:8px 0}
.pg .lc .out .yr{color:#C9D6CD;font-size:.9rem}
.pg .lc .foot{font-size:.82rem;color:var(--muted);margin-top:14px}
.pg .re3{display:grid;gap:16px;margin-top:34px;grid-template-columns:1fr}
@media(min-width:820px){
  .pg .re3{grid-template-columns:repeat(3,1fr)}
}
.pg .rec{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.pg .rec .ic{width:36px;height:36px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin-bottom:12px;font-size:16px}
.pg .rec h3{font-size:1.1rem;margin-bottom:6px}
.pg .rec p{font-size:.9rem;color:var(--muted)}
.pg .rec ul{list-style:none;margin-top:12px;display:grid;gap:6px}
.pg .rec li{font-size:.88rem;color:var(--body);display:flex;gap:8px}
.pg .rec li::before{content:"✓";color:var(--brand);font-weight:700}
@media(prefers-reduced-motion:reduce){
  .pg .msg,.pg .tagp,.pg .tk{opacity:1;transform:none}
  .pg .ring .off,.pg .ring .peak{transition:none}
}

/* ---- saas (61 rules) ---- */
.pg .hero-sa .hero-sub{color:#C9D6CD}
.pg .hero-sa .fine{color:#93A99C;font-size:.92rem;margin-top:14px}
.pg .dun{position:relative;padding:16px 16px 14px;min-height:clamp(380px,52vh,470px);display:flex;flex-direction:column;gap:12px}
.pg .dun .mrr{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px}
.pg .dun .mrr .l{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8FB0A2}
.pg .dun .mrr .v{font-family:var(--display);font-size:2.1rem;line-height:1;color:#fff;font-variation-settings:"opsz" 72,"SOFT" 0;margin-top:3px}
.pg .dun .mrr .v.dip{color:#F08A6F}
.pg .dun .mrr .v.up{color:var(--mint)}
.pg .dun .mrr .d{font-family:var(--mono);font-size:11px;color:#8FB0A2;text-align:right}
.pg .dun .mrr .d b{display:block;font-size:13px;color:var(--mint-2);font-weight:500}
.pg .steps-d{display:flex;flex-direction:column;gap:8px;flex:1}
.pg .sd{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);opacity:.35;transition:opacity .35s,background .35s,border-color .35s}
.pg .sd.on{opacity:1}
.pg .sd.ok{background:rgba(191,233,207,.09);border-color:rgba(124,207,160,.35)}
.pg .sd.bad{background:rgba(228,85,46,.1);border-color:rgba(240,138,111,.35)}
.pg .sd .ic{width:22px;height:22px;border-radius:6px;flex:none;display:grid;place-items:center;font-family:var(--mono);font-size:10px;font-weight:600;background:rgba(255,255,255,.08);color:#C9D6CD}
.pg .sd.ok .ic{background:var(--mint-2);color:var(--ink)}
.pg .sd.bad .ic{background:#F08A6F;color:var(--ink)}
.pg .sd .t{font-size:.9rem;color:#EAF3EC;line-height:1.35}
.pg .sd .t small{display:block;font-family:var(--mono);font-size:10px;color:#8FB0A2;margin-top:2px}
.pg .dun .foot{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:#8FB0A2}
.pg .dun .foot .rec{color:var(--mint);opacity:0;transition:opacity .4s}
.pg .dun .foot .rec.show{opacity:1}
.pg .funnel{display:grid;gap:22px;margin-top:36px;grid-template-columns:1fr}
@media(min-width:900px){
  .pg .funnel{grid-template-columns:1.1fr .9fr;align-items:center;gap:44px}
}
.pg .fstage{display:grid;gap:10px}
.pg .fs{display:grid;grid-template-columns:120px 1fr 64px;align-items:center;gap:12px;font-size:.92rem;color:var(--body)}
.pg .fs .nm{font-weight:600;color:var(--ink)}
.pg .fs .bar{height:22px;background:var(--paper-2);border-radius:6px;overflow:hidden;position:relative}
.pg .fs .bar i{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,var(--mint-2),var(--brand));transition:width 1.1s cubic-bezier(.2,.8,.2,1)}
.pg .fs .bar b{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:10px;color:#fff;opacity:0;transition:opacity .4s .7s}
.pg .fs .n{font-family:var(--display);font-size:1.15rem;color:var(--ink);text-align:right;font-variation-settings:"opsz" 30,"SOFT" 0}
.pg .fs .leak{font-family:var(--mono);font-size:10.5px;color:var(--coral);grid-column:2;margin-top:-4px;opacity:0;transition:opacity .4s .9s}
.pg .funnel.go .fs .bar i{width:var(--w)}
.pg .funnel.go .fs .bar b,.pg .funnel.go .fs .leak{opacity:1}
.pg .fnote{display:grid;gap:10px}
.pg .fnote div{display:flex;gap:10px;font-size:.95rem;color:var(--body)}
.pg .fnote i{width:12px;height:12px;border-radius:3px;flex:none;margin-top:5px}
.pg .sa3{display:grid;gap:16px;margin-top:34px;grid-template-columns:1fr}
@media(min-width:820px){
  .pg .sa3{grid-template-columns:repeat(3,1fr)}
}
.pg .sac{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.pg .sac .ic{width:36px;height:36px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin-bottom:12px;font-size:16px}
.pg .sac h3{font-size:1.1rem;margin-bottom:6px}
.pg .sac p{font-size:.9rem;color:var(--muted)}
.pg .sac ul{list-style:none;margin-top:12px;display:grid;gap:6px}
.pg .sac li{font-size:.88rem;color:var(--body);display:flex;gap:8px}
.pg .sac li::before{content:"✓";color:var(--brand);font-weight:700}
.pg .mc{background:#fff;border:1px solid var(--rule);border-radius:18px;box-shadow:var(--shadow-lg);padding:clamp(22px,3vw,34px);display:grid;gap:26px;grid-template-columns:1fr;margin-top:34px}
@media(min-width:820px){
  .pg .mc{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px}
}
.pg .mc .field{margin-bottom:18px}
.pg .mc label{display:flex;justify-content:space-between;font-weight:600;color:var(--ink);font-size:.95rem;margin-bottom:8px}
.pg .mc label b{font-family:var(--display);color:var(--brand)}
.pg .mc input[type=range]{width:100%;accent-color:var(--brand)}
.pg .mc .out{background:var(--ink);color:#fff;border-radius:14px;padding:26px;text-align:center;position:relative;overflow:hidden}
.pg .mc .out::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 50% 0,rgba(124,207,160,.2),transparent 60%);pointer-events:none}
.pg .mc .out>*{position:relative}
.pg .mc .out .l{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8FB0A2}
.pg .mc .out .big{font-family:var(--display);font-size:clamp(2.4rem,6vw,3.4rem);line-height:1;color:var(--mint);font-variation-settings:"opsz" 72,"SOFT" 0;margin:8px 0}
.pg .mc .out .yr{color:#C9D6CD;font-size:.9rem}
.pg .mc .foot{font-size:.82rem;color:var(--muted);margin-top:14px}
@media(prefers-reduced-motion:reduce){
  .pg .sd{opacity:1}
  .pg .fs .bar i{transition:none}
}

/* ---- healthcare (64 rules) ---- */
.pg .hero-hc .hero-sub{color:#C9D6CD}
.pg .hero-hc .fine{color:#93A99C;font-size:.92rem;margin-top:14px}
.pg .desk{position:relative;padding:14px;min-height:clamp(380px,52vh,470px);display:grid;grid-template-columns:1.15fr .85fr;gap:12px}
@media(max-width:520px){
  .pg .desk{grid-template-columns:1fr}
}
.pg .desk .call{display:flex;flex-direction:column;gap:8px}
.pg .desk .ch{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:10.5px;color:#8FB0A2;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}
.pg .desk .ch b{color:#fff;font-weight:500}
.pg .desk .ch .busy{color:#F08A6F}
.pg .dl{max-width:92%;padding:8px 11px;border-radius:11px;font-size:.86rem;line-height:1.35;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}
.pg .dl.show{opacity:1;transform:none}
.pg .dl.pt{align-self:flex-start;background:rgba(255,255,255,.07);color:#EAF3EC;border-bottom-left-radius:4px}
.pg .dl.ag{align-self:flex-end;background:rgba(191,233,207,.14);color:#EAF3EC;border:1px solid rgba(124,207,160,.3);border-bottom-right-radius:4px}
.pg .dl .who{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:#8FB0A2;margin-bottom:2px}
.pg .dl.ag .who{color:var(--mint-2)}
.pg .sched{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px}
.pg .sched .sh{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#8FB0A2;display:flex;justify-content:space-between}
.pg .slot{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;font-size:.78rem;background:rgba(255,255,255,.03);color:#8FB0A2}
.pg .slot .tm{font-family:var(--mono);font-size:10px;width:44px;flex:none}
.pg .slot.b{background:rgba(255,255,255,.07);color:#C9D6CD}
.pg .slot.new{background:rgba(191,233,207,.14);color:#fff;border:1px solid rgba(124,207,160,.4)}
.pg .slot .rem{margin-left:auto;font-family:var(--mono);font-size:9px;color:var(--mint-2);opacity:0;transition:opacity .4s}
.pg .slot .rem.show{opacity:1}
.pg .hc3{display:grid;gap:16px;margin-top:34px;grid-template-columns:1fr}
@media(min-width:820px){
  .pg .hc3{grid-template-columns:repeat(3,1fr)}
}
.pg .hcc{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.pg .hcc .ic{width:36px;height:36px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin-bottom:12px;font-size:16px}
.pg .hcc h3{font-size:1.1rem;margin-bottom:6px}
.pg .hcc p{font-size:.9rem;color:var(--muted)}
.pg .hcc ul{list-style:none;margin-top:12px;display:grid;gap:6px}
.pg .hcc li{font-size:.88rem;color:var(--body);display:flex;gap:8px}
.pg .hcc li::before{content:"✓";color:var(--brand);font-weight:700}
.pg .day{display:grid;gap:22px;margin-top:36px;grid-template-columns:1fr}
@media(min-width:900px){
  .pg .day{grid-template-columns:1.1fr .9fr;align-items:center;gap:44px}
}
.pg .strip{display:grid;grid-template-columns:repeat(24,1fr);gap:3px;align-items:end;height:150px;padding:0 0 26px;position:relative}
.pg .strip i{display:block;border-radius:3px 3px 1px 1px;background:var(--rule-2);height:0;transition:height .9s cubic-bezier(.2,.8,.2,1)}
.pg .strip i.miss{background:var(--coral)}
.pg .strip i.ok{background:var(--brand)}
.pg .strip .lab{position:absolute;bottom:0;font-family:var(--mono);font-size:10px;color:var(--muted)}
.pg .day.go .strip i{height:var(--h)}
.pg .dnote{display:grid;gap:10px}
.pg .dnote div{display:flex;gap:10px;font-size:.95rem;color:var(--body)}
.pg .dnote i{width:12px;height:12px;border-radius:3px;flex:none;margin-top:5px}
.pg .safe{background:var(--ink);color:#fff;border-radius:20px;padding:clamp(28px,4vw,44px);margin-top:34px;display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:860px){
  .pg .safe{grid-template-columns:1fr 1fr;gap:40px;align-items:start}
}
.pg .safe h2{color:#fff;font-size:clamp(1.6rem,3.4vw,2.3rem)}
.pg .safe p{color:#C9D6CD}
.pg .safe ul{list-style:none;display:grid;gap:10px}
.pg .safe li{display:flex;gap:10px;color:#EAF3EC;font-size:.95rem}
.pg .safe li::before{content:"✓";color:var(--mint-2);font-weight:700;flex:none}
.pg .safe .caveat{font-size:.85rem;color:#93A99C;border-left:3px solid var(--mint-2);padding-left:14px;margin-top:6px}
.pg .hcalc{background:#fff;border:1px solid var(--rule);border-radius:18px;box-shadow:var(--shadow-lg);padding:clamp(22px,3vw,34px);display:grid;gap:26px;grid-template-columns:1fr;margin-top:34px}
@media(min-width:820px){
  .pg .hcalc{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px}
}
.pg .hcalc .field{margin-bottom:18px}
.pg .hcalc label{display:flex;justify-content:space-between;font-weight:600;color:var(--ink);font-size:.95rem;margin-bottom:8px}
.pg .hcalc label b{font-family:var(--display);color:var(--brand)}
.pg .hcalc input[type=range]{width:100%;accent-color:var(--brand)}
.pg .hcalc .out{background:var(--ink);color:#fff;border-radius:14px;padding:26px;text-align:center;position:relative;overflow:hidden}
.pg .hcalc .out::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 50% 0,rgba(124,207,160,.2),transparent 60%);pointer-events:none}
.pg .hcalc .out>*{position:relative}
.pg .hcalc .out .l{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8FB0A2}
.pg .hcalc .out .big{font-family:var(--display);font-size:clamp(2.4rem,6vw,3.4rem);line-height:1;color:var(--mint);font-variation-settings:"opsz" 72,"SOFT" 0;margin:8px 0}
.pg .hcalc .out .yr{color:#C9D6CD;font-size:.9rem}
.pg .hcalc .foot{font-size:.82rem;color:var(--muted);margin-top:14px}
@media(prefers-reduced-motion:reduce){
  .pg .dl{opacity:1;transform:none}
  .pg .strip i{transition:none}
}

/* ---- white-label (52 rules) ---- */
.pg .hero-wl .hero-sub{color:#C9D6CD}
.pg .hero-wl .fine{color:#93A99C;font-size:.92rem;margin-top:14px}
.pg .rebrand{position:relative;padding:18px;min-height:clamp(360px,50vh,440px);display:flex;flex-direction:column;gap:14px}
.pg .rb-eng{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;color:#8FB0A2}
.pg .rb-eng .core{width:32px;height:32px;border-radius:9px;background:var(--ink-3);border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;font-family:var(--display);color:var(--mint);font-size:.9rem}
.pg .rb-eng .lbl b{color:#fff;font-weight:500}
.pg .rb-report{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 18px 40px -24px rgba(0,0,0,.5);flex:1;display:flex;flex-direction:column;transition:box-shadow .5s}
.pg .rb-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;color:#fff;transition:background .6s}
.pg .rb-bar .bd{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:500;font-size:1.05rem}
.pg .rb-bar .mk{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:600;transition:background .6s,color .6s}
.pg .rb-bar .rep{font-family:var(--mono);font-size:10px;opacity:.75;letter-spacing:.05em;text-transform:uppercase}
.pg .rb-body{padding:18px;display:grid;gap:12px;background:#fff}
.pg .rb-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pg .rb-kpis div{background:var(--paper-2);border-radius:9px;padding:10px}
.pg .rb-kpis .l{font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.pg .rb-kpis .v{font-family:var(--display);font-size:1.35rem;color:var(--ink);font-variation-settings:"opsz" 72,"SOFT" 0;margin-top:2px}
.pg .rb-chart{display:flex;align-items:flex-end;gap:5px;height:70px;background:var(--paper-2);border-radius:9px;padding:8px}
.pg .rb-chart i{flex:1;border-radius:3px 3px 1px 1px;transition:background .6s}
.pg .rb-foot{padding:0 18px 16px;font-family:var(--mono);font-size:10.5px;color:var(--muted);display:flex;justify-content:space-between}
.pg .rb-note{font-family:var(--mono);font-size:11px;color:#8FB0A2;text-align:center}
.pg .rb-note b{color:var(--mint)}
.pg .rb-dots{display:flex;gap:6px;justify-content:center}
.pg .rb-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.25);transition:background .3s}
.pg .rb-dots i.on{background:var(--mint-2)}
.pg .split{display:grid;gap:22px;margin-top:34px;grid-template-columns:1fr}
@media(min-width:820px){
  .pg .split{grid-template-columns:1fr 1fr;gap:40px}
}
.pg .sp{background:#fff;border:1px solid var(--rule);border-radius:16px;padding:26px;box-shadow:var(--shadow)}
.pg .sp h3{font-size:1.15rem;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.pg .sp.you h3::before{content:"";width:12px;height:12px;border-radius:3px;background:var(--brand)}
.pg .sp.us h3::before{content:"";width:12px;height:12px;border-radius:3px;background:var(--mint-2)}
.pg .sp ul{list-style:none;display:grid;gap:10px}
.pg .sp li{display:flex;gap:10px;font-size:.95rem;color:var(--body)}
.pg .sp li::before{content:"✓";color:var(--brand);font-weight:700;flex:none}
.pg .wlc{background:#fff;border:1px solid var(--rule);border-radius:18px;box-shadow:var(--shadow-lg);padding:clamp(22px,3vw,34px);display:grid;gap:26px;grid-template-columns:1fr;margin-top:34px}
@media(min-width:820px){
  .pg .wlc{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px}
}
.pg .wlc .field{margin-bottom:18px}
.pg .wlc label{display:flex;justify-content:space-between;font-weight:600;color:var(--ink);font-size:.95rem;margin-bottom:8px}
.pg .wlc label b{font-family:var(--display);color:var(--brand)}
.pg .wlc input[type=range]{width:100%;accent-color:var(--brand)}
.pg .wlc .out{background:var(--ink);color:#fff;border-radius:14px;padding:26px;text-align:center;position:relative;overflow:hidden}
.pg .wlc .out::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 50% 0,rgba(124,207,160,.2),transparent 60%);pointer-events:none}
.pg .wlc .out>*{position:relative}
.pg .wlc .out .l{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8FB0A2}
.pg .wlc .out .big{font-family:var(--display);font-size:clamp(2.4rem,6vw,3.4rem);line-height:1;color:var(--mint);font-variation-settings:"opsz" 72,"SOFT" 0;margin:8px 0}
.pg .wlc .out .yr{color:#C9D6CD;font-size:.9rem}
.pg .wlc .foot{font-size:.82rem;color:var(--muted);margin-top:14px}
.pg .wl3{display:grid;gap:16px;margin-top:34px;grid-template-columns:1fr}
@media(min-width:820px){
  .pg .wl3{grid-template-columns:repeat(3,1fr)}
}
.pg .wlk{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.pg .wlk .ic{width:36px;height:36px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin-bottom:12px;font-size:16px}
.pg .wlk h3{font-size:1.1rem;margin-bottom:6px}
.pg .wlk p{font-size:.9rem;color:var(--muted)}

/* ---- homepage (142 rules) ---- */
.pg-home{--bottle:#0E3A2C;--deep:#082419;--paper:#EEF3EC;--paper-2:#E1E9E2;--line:#C9D6CC;--mint-ink:#1E6B4C;--ink-soft:#4A6659;--card:#F7FAF6;--bg:var(--paper);--fg:var(--ink);--display:"Fraunces", Georgia, "Times New Roman", serif;--body:"Instrument Sans", "Helvetica Neue", Arial, sans-serif;--gutter:clamp(18px, 5vw, 64px);--measure:62ch}
.pg-home *{box-sizing:border-box}
.pg{margin:0;background:var(--bg);color:var(--fg); font-family:var(--body);font-size:17px;line-height:1.55; overflow-x:hidden;}
.pg img,.pg svg,.pg canvas{max-width:100%;display:block}
.pg-home a{color:inherit}
.pg h1,.pg h2,.pg h3{font-family:var(--display);font-weight:400;line-height:1.05;margin:0;letter-spacing:-0.01em}
.pg h2{font-size:clamp(2rem,5.2vw,3.6rem);font-variation-settings:"opsz" 96,"SOFT" 50}
.pg h3{font-size:clamp(1.35rem,2.6vw,1.75rem);font-variation-settings:"opsz" 32,"SOFT" 50}
.pg-home p{margin:0}
.pg .lede{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--ink-soft);max-width:var(--measure)}
.pg-home :focus-visible{outline:3px solid var(--mint);outline-offset:3px}
.pg .wrap{padding-left:var(--gutter);padding-right:var(--gutter);max-width:1240px;margin:0 auto}
.pg section{padding:clamp(64px,9vw,128px) 0}
.pg .stack img{height:22px;width:auto;opacity:.85;filter:brightness(0) invert(1)}
.pg .stack .tool{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-weight:600;color:#EAF4EC}
.pg .links{display:none;gap:28px;font-size:.95rem}
.pg .links a{text-decoration:none;opacity:.85}
.pg .links a:hover{opacity:1;text-decoration:underline;text-underline-offset:5px}
.pg-home .btn{display:inline-flex;align-items:center;gap:10px; padding:12px 20px;border-radius:999px;border:1.5px solid transparent; font:600 .95rem/1 var(--body);text-decoration:none;cursor:pointer; transition:transform .15s,background .2s,color .2s; -webkit-tap-highlight-color:transparent;}
.pg .btn:active{transform:scale(.97)}
.pg .btn-mint{background:var(--mint);color:var(--deep)}
.pg .btn-mint:hover{background:#B4F0CF}
.pg .btn-ghost{border-color:rgba(234,244,236,.35);color:#EAF4EC;background:transparent}
.pg .btn-ghost:hover{border-color:#EAF4EC}
.pg .btn-ink{background:var(--ink);color:var(--paper)}
@media (min-width:900px){
  .pg .links{display:flex}
}
.pg-home .hero{position:relative;min-height:100svh;background:var(--deep);color:#EAF4EC; display:flex;align-items:flex-end;overflow:hidden;padding:0;}
.pg #field{position:absolute;inset:0;width:100%;height:100%}
.pg .hero-veil{position:absolute;inset:0;pointer-events:none; background: linear-gradient(180deg,rgba(8,36,25,.6) 0%,rgba(8,36,25,0) 26%,rgba(8,36,25,.15) 50%,rgba(8,36,25,.9) 80%,rgba(8,36,25,.97) 100%);}
.pg .hero-inner{position:relative;z-index:2;width:100%; padding:120px var(--gutter) clamp(48px,8vw,96px); max-width:1240px;margin:0 auto;}
.pg-home .hero h1{font-size:clamp(2.3rem,5.8vw,5rem); max-width:16ch; font-variation-settings:"opsz" 144,"SOFT" 50; font-weight:350;}
.pg .hero h1 em{font-style:italic;font-weight:300}
.pg .hero .lede{color:rgba(234,244,236,.78);margin-top:22px;max-width:52ch}
.pg .hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.pg .hero-foot{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:clamp(36px,6vw,72px); font-size:.86rem;color:rgba(234,244,236,.62);}
.pg .hero-foot span{white-space:nowrap}
.pg .scroll-hint{position:absolute;right:var(--gutter);bottom:28px;z-index:2; width:1px;height:56px;background:linear-gradient(180deg,rgba(155,231,191,0),var(--mint)); animation:drip 2.2s ease-in-out infinite;}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (prefers-reduced-motion:reduce){
  .pg .scroll-hint{animation:none}
}
.pg .stack{background:var(--bottle);color:#CFE4D6;padding:18px 0;border-top:1px solid rgba(155,231,191,.15)}
.pg .stack .wrap{display:flex;flex-wrap:nowrap;align-items:baseline;gap:10px 26px;font-size:.9rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pg .stack .wrap::-webkit-scrollbar{display:none}
.pg .stack b{white-space:nowrap}
@media (min-width:900px){
  .pg .stack .wrap{flex-wrap:wrap;overflow:visible}
}
.pg .stack .k{color:rgba(207,228,214,.55);font-size:.8rem;margin-right:6px}
.pg-home .stack b{font-weight:600;color:#EAF4EC}
.pg .sec-head{display:grid;gap:18px;max-width:var(--measure);margin-bottom:clamp(32px,5vw,56px)}
.pg .gaps{display:grid;gap:22px}
.pg .gap-list{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px; scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding-left:var(--gutter);padding-right:var(--gutter);}
.pg .gap-list::-webkit-scrollbar{display:none}
.pg .gap-list button{scroll-snap-align:start;flex:0 0 auto; padding:12px 16px;border-radius:999px;border:1.5px solid var(--line); background:transparent;color:var(--ink);font:500 .92rem var(--body);cursor:pointer; white-space:nowrap;-webkit-tap-highlight-color:transparent;}
.pg .gap-list button[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pg .gap-panel{display:grid;gap:22px;padding:clamp(22px,4vw,40px); background:var(--card);border:1px solid var(--line);border-radius:22px; min-height:280px;}
.pg .gap-panel .cols{display:grid;gap:22px}
.pg .gap-panel h3{margin-bottom:8px}
.pg .gap-panel dt{font-size:.8rem;color:var(--ink-soft);margin-bottom:6px}
.pg .gap-panel dd{margin:0 0 18px 0}
.pg .gap-panel dd:last-child{margin-bottom:0}
.pg .leak{color:var(--coral);font-family:var(--display);font-size:clamp(1.9rem,4vw,2.8rem);line-height:1;font-variation-settings:"opsz" 72,"SOFT" 50}
.pg .leak small{display:block;font-family:var(--body);font-size:.85rem;color:var(--ink-soft);margin-top:8px;line-height:1.4}
@media (min-width:760px){
  .pg .gaps{grid-template-columns:1fr}
  .pg .gap-panel{grid-template-columns:1.1fr 1.5fr;align-items:start}
  .pg .gap-panel .cols{grid-template-columns:1fr 1fr}
}
@media (min-width:1000px){
  .pg .gaps{grid-template-columns:260px 1fr;align-items:start}
  .pg .gap-list{flex-direction:column;overflow:visible;margin:0;padding:0}
  .pg .gap-list button{white-space:normal;text-align:left;border-radius:14px;padding:14px 16px}
}
.pg .receipt-sec{background:var(--paper-2)}
.pg .receipt{display:grid;gap:28px}
.pg .dials{display:grid;gap:26px}
.pg .dial label{display:flex;justify-content:space-between;align-items:baseline;font-size:.95rem;margin-bottom:10px}
.pg .dial output{font-family:var(--display);font-size:1.5rem;font-variation-settings:"opsz" 32,"SOFT" 50}
.pg input[type=range]{width:100%;height:44px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer;}
.pg input[type=range]::-webkit-slider-runnable-track{height:4px;background:var(--line);border-radius:2px}
.pg input[type=range]::-moz-range-track{height:4px;background:var(--line);border-radius:2px}
.pg input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:var(--ink); border:4px solid var(--paper);margin-top:-13px;box-shadow:0 0 0 1.5px var(--ink);}
.pg input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--ink);border:4px solid var(--paper);box-shadow:0 0 0 1.5px var(--ink)}
.pg .slip{background:var(--card);border:1px solid var(--line);border-radius:6px; padding:26px 26px 22px;font-family:var(--body);position:relative; box-shadow:0 18px 40px -30px rgba(8,36,25,.45);}
.pg .slip::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:10px; background:radial-gradient(circle at 8px -2px,transparent 7px,var(--card) 7.5px) repeat-x; background-size:16px 10px;}
.pg .slip .row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.95rem}
.pg .slip .row span:last-child{font-variant-numeric:tabular-nums;font-weight:600}
.pg .slip .total{border-bottom:0;padding-top:16px;align-items:baseline}
.pg .slip .total span:last-child{font-family:var(--display);font-size:clamp(2rem,5vw,2.8rem);font-weight:500;font-variation-settings:"opsz" 72,"SOFT" 50;line-height:1}
.pg .verdict{margin-top:16px;padding:14px 16px;border-radius:10px;font-size:.95rem;line-height:1.45; border:1.5px solid;transition:background .25s,border-color .25s,color .25s;}
.pg .verdict.no{border-color:var(--coral);color:var(--coral);background:rgba(229,98,63,.07)}
.pg .verdict.yes{border-color:var(--mint-ink);color:var(--mint-ink);background:rgba(155,231,191,.16)}
.pg .verdict b{display:block;font-family:var(--display);font-size:1.25rem;margin-bottom:4px;font-weight:500}
@media (min-width:860px){
  .pg .receipt{grid-template-columns:1.2fr 1fr;gap:56px;align-items:start}
}
.pg .ind{display:grid;gap:0;border-top:1px solid var(--line)}
.pg .ind a{display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center; padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none;}
.pg .ind a h3{grid-column:1}
.pg .ind a p{grid-column:1;color:var(--ink-soft);font-size:.95rem;max-width:48ch}
.pg .ind a .arrow{grid-column:2;grid-row:1 / span 2;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;transition:background .2s,border-color .2s}
.pg .ind a:hover .arrow,.pg .ind a:focus-visible .arrow{background:var(--mint);border-color:var(--mint);color:var(--deep)}
@media (min-width:860px){
  .pg .ind{grid-template-columns:1fr 1fr;column-gap:56px}
}
.pg .proof-sec{background:var(--deep);color:#EAF4EC}
.pg .proof-sec .lede{color:rgba(234,244,236,.72)}
.pg .builds{display:grid;gap:14px;margin-top:8px}
.pg .build{border:1px solid rgba(155,231,191,.18);border-radius:18px;padding:22px; background:rgba(14,58,44,.55);display:grid;gap:10px;}
.pg .build h3{font-size:1.25rem}
.pg .build p{color:rgba(234,244,236,.72);font-size:.95rem}
.pg .build .meta{font-size:.82rem;color:var(--mint);display:flex;flex-wrap:wrap;gap:6px 14px}
.pg .proof-foot{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pg .proof-foot .note{font-size:.9rem;color:rgba(234,244,236,.6);max-width:44ch}
@media (min-width:860px){
  .pg .builds{grid-template-columns:repeat(3,1fr)}
}
.pg .stance ul{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.pg .stance li{padding:22px 0;border-bottom:1px solid var(--line);display:grid;gap:8px}
.pg .stance li b{font-family:var(--display);font-weight:500;font-size:1.3rem;line-height:1.2}
.pg .stance li span{color:var(--ink-soft);max-width:52ch}
@media (min-width:860px){
  .pg .stance ul{grid-template-columns:1fr 1fr;column-gap:56px}
}
.pg .steps{display:grid;gap:0;counter-reset:step;border-top:1px solid var(--line)}
.pg .step{display:grid;grid-template-columns:52px 1fr;gap:14px;padding:22px 0;border-bottom:1px solid var(--line);}
.pg .step::before{counter-increment:step;content:counter(step); font-family:var(--display);font-size:2rem;line-height:1;color:var(--mint-ink); font-variation-settings:"opsz" 72,"SOFT" 50;}
.pg .step h3{margin-bottom:6px}
.pg .step p{color:var(--ink-soft);max-width:48ch}
.pg .step .t{font-size:.85rem;color:var(--ink);margin-top:8px;font-weight:600}
@media (min-width:860px){
  .pg .steps{grid-template-columns:1fr 1fr;column-gap:56px}
}
.pg .book{background:var(--bottle);color:#EAF4EC}
.pg .book .lede{color:rgba(234,244,236,.72)}
.pg .form{display:grid;gap:14px;margin-top:28px;max-width:560px}
.pg .f{display:grid;gap:6px}
.pg .f label{font-size:.88rem;color:rgba(234,244,236,.8)}
.pg .f input,.pg .f textarea{width:100%;padding:14px 16px;border-radius:12px;border:1.5px solid rgba(234,244,236,.22); background:rgba(8,36,25,.55);color:#EAF4EC;font:1rem var(--body);}
.pg .f input:focus,.pg .f textarea:focus{outline:none;border-color:var(--mint)}
.pg .f textarea{min-height:110px;resize:vertical}
.pg .form .btn{justify-self:start;margin-top:6px}
.pg .sent{display:none;margin-top:16px;padding:14px 16px;border-radius:12px;background:rgba(155,231,191,.16);border:1.5px solid var(--mint);color:var(--mint)}
.pg .book-grid{display:grid;gap:40px}
.pg .book aside{display:grid;gap:18px;align-content:start;font-size:.95rem;color:rgba(234,244,236,.78)}
.pg .book aside b{color:#EAF4EC;display:block;font-weight:600;margin-bottom:2px}
@media (min-width:900px){
  .pg .book-grid{grid-template-columns:1.3fr 1fr;gap:72px}
}
.pg .sticky-cta{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:39; display:flex;justify-content:center; transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.8,.2,1);}
.pg .sticky-cta.on{transform:translateY(0)}
.pg .sticky-cta .btn{width:100%;justify-content:center;padding:16px;font-size:1rem;box-shadow:0 12px 30px -10px rgba(8,36,25,.7)}
@media (min-width:900px){
  .pg .sticky-cta{display:none}
}
.pg .testimonials{padding:64px 0;overflow:hidden}
.pg .tm-marquee{margin-top:32px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.pg .tm-track{display:flex;gap:16px;width:max-content;animation:tm-scroll 52s linear infinite}
.pg .tm-marquee:hover .tm-track{animation-play-state:paused}
@keyframes tm-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .pg .tm-track{animation:none;flex-wrap:wrap;justify-content:center}
}
.pg .tm-card{flex:0 0 300px;background:var(--paper,#fff);border:1px solid var(--rule,#D8E0D9);border-radius:14px;padding:20px;box-shadow:0 1px 2px rgba(15,43,36,.05),0 8px 20px -12px rgba(15,43,36,.2)}
.pg .tm-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.pg .tm-av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--brand,#1F6B4E),var(--mint-2,#7CCFA0));color:#fff;display:grid;place-items:center;font-family:var(--display,Fraunces,serif);font-size:1.1rem;flex:none}
.pg .tm-nm{font-family:var(--display,Fraunces,serif);font-weight:500;font-size:1rem;color:var(--ink,#0F2B24);line-height:1.15}
.pg .tm-tag{font-family:var(--mono,monospace);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#587067);margin-top:3px}
.pg .tm-what{font-size:.92rem;color:var(--muted,#587067);line-height:1.4}

/* ---- pseudo elements styles.css paints on shared class names ----
   getComputedStyle on an element cannot see ::before, so the generated reset
   further down misses these and they are listed by hand. styles.css blurs and
   oversizes .hero::before into a pale aurora, which washes out a dark hero, and
   marks the .cta-band and .impact-big overlays !important, which no amount of
   specificity beats. */
.pg-home .hero::before{height:auto;filter:none;inset:0;z-index:0}
.pg .cta-band::before{background-image:none!important}
.pg-home .cta-band::after{background:none!important}
.pg .impact-big::after{background:none!important}

/* ---- ghost buttons on dark surfaces ----
   .btn.ghost is ink on paper. On a dark band that reads as ink on green, so it
   has to flip to white. One rule here means no page repeats it.

   Every class listed is a surface that is always dark, .hero included: it is
   background:var(--ink) on every ported page. It briefly measured as paper
   because the homepage .hero rule was overriding it with a token no other page
   defines; that is fixed at the page-block level, not here. */
.pg .dark .btn.ghost,
.pg .hero .btn.ghost,
.pg .hero-tr .btn.ghost,
.pg .hero-ag .btn.ghost,
.pg .cta-band .btn.ghost,
.pg .case-band .btn.ghost,
.pg .pl-hero .btn.ghost,
.pg .pl-dark .btn.ghost,
.pg .band-dark .btn.ghost,
.pg .book .btn.ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.34);background:transparent}
.pg .dark .btn.ghost:hover,
.pg .hero .btn.ghost:hover,
.pg .hero-tr .btn.ghost:hover,
.pg .hero-ag .btn.ghost:hover,
.pg .cta-band .btn.ghost:hover,
.pg .case-band .btn.ghost:hover,
.pg .pl-hero .btn.ghost:hover,
.pg .pl-dark .btn.ghost:hover,
.pg .band-dark .btn.ghost:hover,
.pg .book .btn.ghost:hover{background:rgba(255,255,255,.10);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}

/* ---- a tier whose figure is not settled yet ---- */
.pg .tier .price.tbd{font-family:var(--mono);font-size:.95rem;line-height:1.35;color:var(--coral);letter-spacing:.02em;padding:6px 0 2px}

/* ---- the proof hub on /case-studies ----
   Every build as a card, with a chip row that filters by industry. The chips
   are real buttons so they keyboard and announce; the count line is the live
   region that tells a screen reader what the filter did. */
.pg .cs-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.pg .cs-chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);font-size:.88rem;font-weight:500;color:var(--muted);background:#fff;border:1px solid var(--rule);border-radius:999px;padding:8px 15px;cursor:pointer;transition:background .16s,border-color .16s,color .16s}
.pg .cs-chip:hover{border-color:var(--rule-2);color:var(--ink)}
.pg .cs-chip .n{font-family:var(--mono);font-size:.74rem;color:var(--faint)}
.pg .cs-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.pg .cs-chip.on .n{color:var(--mint)}
.pg .cs-count{font-family:var(--mono);font-size:12px;color:var(--faint);margin:0 0 18px}
.pg .cs-item{display:contents}
.pg .cs-item[hidden]{display:none}

/* ---- pricing strip + /pricing ----
   The strip is the one-line version of the tiers, carried near the closing CTA on every
   service and industry page. The detail lives on /pricing, so this stays to one row of
   three and a link out. The three service pages that already show the full tiers get the
   link on its own rather than a second copy of the numbers. */
.pg .price-strip{border:1px solid var(--rule);border-radius:18px;padding:clamp(20px,3vw,30px);background:#fff}
.pg .ps-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:18px}
.pg .ps-lead{color:var(--muted);font-size:.95rem;margin:0;max-width:62ch}
.pg .ps-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pg .ps-t{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--rule);border-radius:12px;background:var(--paper)}
.pg .ps-n{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.pg .ps-p{font-family:var(--display);font-weight:400;font-size:1.5rem;line-height:1.1;color:var(--ink);font-variation-settings:"opsz" 48,"SOFT" 0}
.pg .ps-p small{font-family:var(--sans);font-size:.8rem;font-weight:500;color:var(--faint)}
.pg .ps-w{color:var(--muted);font-size:.9rem}
.pg .ps-all{display:inline-flex;align-items:center;margin-top:18px;font-weight:600;font-size:.95rem;color:var(--brand)}
.pg .ps-all:hover{text-decoration:underline;text-underline-offset:3px}
.pg .pricing-more{margin:10px 0 0}
@media (max-width:820px){
  .pg .ps-tiers{grid-template-columns:1fr}
}

/* the four "what the price covers" notes on /pricing */
.pg .pricing-notes{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:26px}
.pg .pn{border:1px solid var(--rule);border-radius:14px;padding:22px 24px;background:#fff}
.pg .pn h3{font-family:var(--display);font-weight:500;font-size:1.12rem;margin:0 0 8px;font-variation-settings:"opsz" 30,"SOFT" 40}
.pg .pn p{color:var(--muted);font-size:.95rem;margin:0}
@media (max-width:820px){
  .pg .pricing-notes{grid-template-columns:1fr}
}
