/* AISearch Global theme (Nov 2026). The static twin of the journey site: same look and feel, without the heavy animation.
   Loaded LAST on every page. CSS only. Fonts: Space Grotesk (headings, buttons, nav), DM Sans (body).
   Journey tokens: cream #F6F3EE, ink #0B0D0E, teal #0ABAB5, link teal #047A76, rule #d9d4cb, muted #4a4742 / #5d5a55.
   The :not(#x) in selectors only raises specificity so this beats each page's own older inline CSS. */

html:root{
  --bg:#F6F3EE;--ink:#0B0D0E;--teal:#0ABAB5;--tealink:#047A76;--line:#d9d4cb;--muted:#5d5a55;
  /* variable names used by each page's own inline CSS, pointed at the journey palette */
  --bg2:#fff;--surface:#fff;--text:#0B0D0E;--border:#d9d4cb;--charcoal:#fff;--graphite:#0B0D0E;
  --accent:#047A76;--accent2:#047A76;--tiffany:#047A76;--silver:#5d5a55;
}
/* toolkit and calculator pages are bright teal cards with dark text, so they keep the bright accent */
html:root:has(link[href*="toolkit"]),html:root:has(link[href*="calculator"]){--accent:#0ABAB5;--accent2:#0ABAB5;--tiffany:#0ABAB5}

/* cream sits on <html>; body is transparent so the pointer-reveal layer (z-index:-1) can show through */
html{background:#F6F3EE linear-gradient(180deg,#F8F6F2 0%,#F6F3EE 45%,#F3EFE8 100%)}
html body{background:transparent;background-image:none;color:#0B0D0E;font-family:"DM Sans",system-ui,sans-serif}
html body :is(main,article),html body :is(main,article)#main{color:#0B0D0E}

/* ---------- header: cream, hairline rule, dark logo, muted nav, teal button ---------- */
html body header{background:#F6F3EE;color:#0B0D0E;border-bottom:1px solid rgba(11,13,14,.12);backdrop-filter:none}
html body header .brand{display:block;width:153px;height:46px}
html body header .brand img{display:block;width:153px;height:46px}
html body header .nav-links a{color:#4a4742;font-size:14px;letter-spacing:.01em}
html body header .nav-links a:hover,html body header .nav-links a:focus{color:#0B0D0E;text-decoration:underline;text-underline-offset:4px}
html body header .nav-links a.cta-link{background:#0ABAB5;color:#0B0D0E!important;border:1px solid #0ABAB5;border-radius:0;text-decoration:none;transition:box-shadow .3s ease,transform .3s ease}
html body header .nav-links a.cta-link:hover{box-shadow:0 0 0 4px rgba(10,186,181,.14),0 10px 30px rgba(10,186,181,.38);transform:translateY(-1px)}
html body header .nav-toggle{color:#0B0D0E;border:0;background:transparent;border-radius:0;padding:10px 0;font:600 12px "DM Sans",sans-serif;letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:12px}
@media (min-width:901px) and (max-width:1140px){
html body header .nav-toggle{display:none!important}
html body header .nav-links{display:flex!important;position:static;left:auto;right:auto;top:auto;flex-direction:row;background:transparent;border:0;padding:0;box-shadow:none}
}
@media (max-width:900px){
html body header .nav-toggle{display:inline-flex!important}
html body header .nav-toggle::after{content:"";width:24px;height:9px;background:linear-gradient(#0B0D0E,#0B0D0E) top/100% 1.5px no-repeat,linear-gradient(#0B0D0E,#0B0D0E) bottom/100% 1.5px no-repeat}
html body header .nav-links{left:0;right:0;top:100%;padding:6px clamp(24px,5vw,60px) 28px;background:#F6F3EE;border:0;border-bottom:1px solid rgba(11,13,14,.12);box-shadow:0 28px 40px rgba(11,13,14,.08);gap:0}
html body header .nav-links li{border-bottom:1px solid rgba(11,13,14,.12);list-style:none}
html body header .nav-links li a{display:block;padding:16px 0;font:600 22px/1.2 "Space Grotesk",sans-serif;letter-spacing:-.02em;color:#0B0D0E}
html body header .nav-links li:last-child{border-bottom:0;padding-top:20px}
html body header .nav-links li a.cta-link{display:inline-block;padding:15px 30px;font:600 15px "DM Sans",sans-serif;letter-spacing:0;text-align:center}
}

/* ---------- footer and cookie bar: cream, hairline rule, ink text ---------- */
html body footer,html body .site-footer,html body footer.site-footer{background:#F6F3EE;color:#0B0D0E;border-top:1px solid rgba(11,13,14,.12)}
html body footer.site-footer:not(#x) :is(p,li,span,div,h2,h3,h4,strong,em,.f-line,.f-legal span,.f-cta-title){color:#0B0D0E;opacity:1}
html body footer.site-footer:not(#x) :is(.f-title,.f-title-accent){color:#047A76;opacity:1}
html body footer.site-footer:not(#x) :is(a,.f-col a,.f-brand a,.f-band a){color:#4a4742;opacity:1}
html body footer.site-footer:not(#x) a:hover{color:#0B0D0E;text-decoration:underline;text-underline-offset:3px}
html body footer.site-footer:not(#x) .f-social a{color:#0B0D0E}
html body footer.site-footer .f-brand img{display:block;width:153px;height:46px;margin:0 0 .8rem}
html body footer.site-footer .f-band,html body footer.site-footer .f-legal,html body footer.site-footer .f-cta .f-wrap{border-color:rgba(11,13,14,.12)}
html body footer.site-footer:not(#x) .f-btn-primary{background:#0ABAB5;color:#0B0D0E;border:1px solid #0ABAB5;border-radius:0}
html body footer.site-footer:not(#x) .f-btn-ghost{background:transparent;color:#0B0D0E;border:1px solid #0B0D0E;border-radius:0}
html body #cookie-consent-banner{background:#F6F3EE;color:#0B0D0E;border-top:1px solid rgba(11,13,14,.12);box-shadow:none}
html body #cookie-consent-banner:not(#x) :is(p,a){color:#0B0D0E}
html body #cookie-consent-banner:not(#x) button{border-radius:0;border:1px solid #0B0D0E;background:transparent;color:#0B0D0E}
html body #cookie-consent-banner:not(#x) button:last-child{background:#0ABAB5;border-color:#0ABAB5;color:#0B0D0E}

/* ---------- type: journey scale and weight ---------- */
html body :is(main,article):not(#x) :is(h1,h2,h3,h4,h5){font-family:"Space Grotesk",system-ui,sans-serif;color:#0B0D0E}
html body :is(main,article):not(#x) h1{font-weight:700;font-size:clamp(2.4rem,6.8vw,5.8rem);line-height:1.02;letter-spacing:-.04em;max-width:15em;text-wrap:balance}
html body :is(main,article):not(#x) h2{font-weight:700;font-size:clamp(1.9rem,4.6vw,3.4rem);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
html body :is(main,article):not(#x) h3{font-weight:600;line-height:1.2;letter-spacing:-.02em}
html body :is(main,article):not(#x) :is(.eyebrow,.section-label,.kicker){display:block;font-family:"Space Grotesk",system-ui,sans-serif;font-weight:500;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#047A76}
html body :is(main,article):not(#x) :is(.eyebrow,.section-label,.kicker)::before{display:none}
html body :is(main,article):not(#x) :is(p,li,td,summary){color:#0B0D0E}
html body :is(main,article):not(#x) :is(.sub,.muted,.card p,details p,small){color:#4a4742}
html body :is(main,article):not(#x) .lead{font-size:clamp(1.05rem,1.5vw,1.25rem);color:#4a4742}
html body :is(strong,b):not(#x){color:inherit}

/* ---------- links ---------- */
html body :is(main,article) a:not([class*="btn"]):not([class*="cta"]):not(.card-cta){color:#047A76;text-underline-offset:3px}
html body :is(main,article) a:not([class*="btn"]):not([class*="cta"]):hover{color:#0B0D0E}
html body article a:visited:not([class*="btn"]):not([class*="cta"]),html body :is(main,article).article-page a:visited:not([class*="btn"]):not([class*="cta"]){color:#047A76!important}
html body :is(main,article):not(#x) p a:not([class*="btn"]):not([class*="cta"]){text-decoration:underline!important;text-underline-offset:3px}

/* ---------- sections, cards, tables, code ---------- */
html body :is(main,article) section{background:transparent;border-top:1px solid rgba(11,13,14,.12)}
html body :is(main,article) :is(.card,details,.insight-panel,.doc,.faq-item,.panel,.tile){background:#fff;border:1px solid #d9d4cb;border-radius:0;box-shadow:none;color:#0B0D0E}
html body :is(main,article) .card-summary{background:#fff;border:1px solid #d9d4cb;border-left:6px solid #0ABAB5;color:#0B0D0E}
html body :is(main,article) .card-summary strong{color:#047A76}
html body :is(main,article):not(#x) .badge{display:block;border:0;background:none;padding:0;margin:0 0 1rem;font-family:"Space Grotesk",system-ui,sans-serif;font-weight:500;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#5d5a55}
html body :is(main,article) hr{border:0;border-top:1px solid #d9d4cb}
html body :is(main,article) table{background:#fff;border-collapse:collapse}
html body :is(main,article) :is(th,td){border-color:#d9d4cb;color:#0B0D0E}
html body :is(main,article) thead th{background:#047A76;color:#fff}
html body :is(main,article) :is(code,pre){background:#fff;border:1px solid #d9d4cb;color:#0B0D0E}
html body :is(main,article) blockquote{border-left:3px solid #0ABAB5;color:#0B0D0E;background:transparent}

/* ---------- buttons: journey style. Teal fill with ink text; secondary is an ink outline; soft glow on hover ---------- */
html body :is(main,article) :is(.btn,.btn-primary,.btn-secondary,.btn-cta-primary,.cta-button,.card-cta,.service-cta,.btn-tiffany,.visited-fix-cta,.btn-submit){
  font:600 15px/1 "DM Sans",system-ui,sans-serif;min-height:52px;padding:0 30px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #0B0D0E;border-radius:0;text-decoration:none;transition:box-shadow .3s ease,background .3s ease,transform .3s ease;margin-left:0;margin-right:0}
html body :is(main,article):not(#x) :is(a,button):is(.btn,.btn-primary,.btn-cta-primary,.cta-button,.card-cta,.service-cta,.btn-tiffany,.visited-fix-cta,.btn-submit):not(.btn-secondary):not(.secondary),
html body :is(main,article):not(#x) :is(.lead-form,form) button[type=submit]{background:#0ABAB5!important;border:1px solid #0ABAB5!important;color:#0B0D0E!important}
html body :is(main,article):not(#x) :is(a,button).btn-secondary{background:transparent!important;border:1px solid #0B0D0E!important;color:#0B0D0E!important}
html body :is(main,article):not(#x) :is(a,button):is(.btn,.btn-primary,.btn-secondary,.btn-cta-primary,.cta-button,.card-cta,.service-cta,.btn-tiffany,.visited-fix-cta,.btn-submit):hover,
html body :is(main,article):not(#x) :is(.lead-form,form) button[type=submit]:hover{box-shadow:0 0 0 4px rgba(10,186,181,.14),0 10px 30px rgba(10,186,181,.38);transform:translateY(-1px);opacity:1}
html body :is(main,article):not(#x) :is(a,button).btn-secondary:hover{background:rgba(10,186,181,.08)!important;color:#0B0D0E!important}
html body :is(main,article) :focus-visible{outline:3px solid #047A76;outline-offset:2px}

/* ---------- forms ---------- */
html body :is(main,article):not(#x) :is(input,select,textarea){background:#fff;color:#0B0D0E;border:1px solid #bdb7ab;border-radius:0;font-family:"DM Sans",system-ui,sans-serif}
html body :is(main,article) :is(input,textarea)::placeholder{color:#5d5a55;opacity:1}
html body :is(main,article) .lead-form select:invalid{color:#5d5a55}
html body option{background:#fff;color:#0B0D0E}

/* ---------- leftovers from the old dark look ---------- */
html body article.article:not(#x) :is(p,li,span,div):not([class*="btn"]):not(.stat-src){color:#0B0D0E}
html body :is(main,article):not(#x) :is(.about-brand-tag,.form-brand-tag,.breadcrumb-sep,.stats-label,.loading-domain,.stat-src){color:#5d5a55}
html body :is(main,article):not(#x) :is(.hero-clock-title,.hero-clock-sub,.clock-card-title,.stat-num){color:#0B0D0E}
html body :is(main,article):not(#x) :is(.tool-eyebrow,.brand-banner span,.about-brand-tag span,.about-brand-tag,a.skip-link:not(:focus)){color:#047A76}
html body :is(main,article):not(#x) :is(.hero-gap-badge,.hero-gap-badge *,.peer-badge,.badge-peer,span[class*="peer"]){background-color:#047A76;color:#fff!important}
html body :is(main,article):not(#x) :is(span,div,a)[style*="background:var(--accent2)"]{color:#fff!important}
html body :is(main,article):not(#x) .card-header{background:#047A76;color:#fff}
html body :is(main,article):not(#x) :is(pre.output-code,pre.output-code *){background:#fff;color:#0B0D0E}
html body :is(main,article):not(#x) :is(.ticker-label,.ticker a,.ticker-link,.np-sub){color:#035F5C}
html body :is(main,article):not(#x) .gain-pill{color:#1a6b43}

@media (prefers-reduced-motion:reduce){html body header .nav-links a.cta-link,html body :is(main,article) :is(a,button){transition:none;transform:none}}

/* ---------- light animations (the only motion on the static site) ---------- */
/* 1. scroll reveal: each section fades and rises 16px over 400ms, once (assets/js/site-reveal.js adds .js, .rv, .in) */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .4s ease-out,transform .4s ease-out}
.js .rv.in{opacity:1;transform:none}
/* 2. pointer reveal: a layer of real markup shows through a soft square following the pointer, over empty background only (assets/js/site-cursor-reveal.js) */
.codelayer{position:fixed;inset:0;z-index:-1;margin:0;padding:8px 12px;overflow:hidden;pointer-events:none;user-select:none;white-space:pre;font:400 11px/1.55 ui-monospace,Consolas,monospace;color:rgba(10,186,181,.65);opacity:0;transition:opacity .4s ease-out;
  --mx:-999px;--my:-999px;--sz:160px;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 35%,#000 65%,transparent),linear-gradient(to bottom,transparent,#000 35%,#000 65%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 35%,#000 65%,transparent),linear-gradient(to bottom,transparent,#000 35%,#000 65%,transparent);
  -webkit-mask-size:var(--sz) var(--sz);mask-size:var(--sz) var(--sz);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:calc(var(--mx) - var(--sz) / 2) calc(var(--my) - var(--sz) / 2);mask-position:calc(var(--mx) - var(--sz) / 2) calc(var(--my) - var(--sz) / 2);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.codelayer.on{opacity:1;transition-duration:.12s}
@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.codelayer{display:none}}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}

/* contrast fixes */
html body footer.site-footer:not(#x) a.f-btn-primary{color:#0B0D0E!important}
html body article .callout:not(#x) a{color:#046661!important}

/* core-message line (Phase 1) */
html body .aeo-line{max-width:46rem;margin:.9rem 0 0;font-size:.95rem;line-height:1.55;color:#5d5a55}
html body .aeo-line:not(#x){text-align:inherit}
html body .cert-list{margin:.5rem 0 0;padding-left:1.1rem;list-style:disc}
html body .cert-list li{display:list-item;margin:.25rem 0;font-size:.95rem}

/* homepage flow (Phase 2) */
html body .hm-grid{display:grid;gap:1rem;margin-top:1.7rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
html body .hm-grid.wide{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
html body .hm-grid.four{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
html body .hm-grid .card h3{margin:0 0 .4rem;font-size:1.1rem;letter-spacing:-.01em}
html body .hm-grid .card p{margin:0 0 .6rem}
html body .hm-grid .card p.meta{font-size:.85rem;color:#5d5a55;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.4rem}
html body .step-num{color:#047A76;font:700 1.4rem "Space Grotesk",sans-serif;margin-bottom:.4rem}
html body .sub-head{margin:2.6rem 0 .4rem;font-size:1.35rem;letter-spacing:-.02em}
html body .hero-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin:1.6rem 0 1rem}
html body .hero-note{max-width:46rem;font-size:.95rem;color:#5d5a55}
html body .more{margin-top:1.4rem;font-weight:600}
html body .tbl-wrap{overflow-x:auto;margin-top:1.7rem}
html body .cmp-table{width:100%;min-width:720px;border-collapse:collapse;background:#fff}
html body .cmp-table th,html body .cmp-table td{padding:.8rem 1rem;text-align:left;vertical-align:top;border:1px solid #d9d4cb}
html body .cmp-table tbody th[scope=row]{font-family:"Space Grotesk",sans-serif;font-weight:700;white-space:nowrap}
html body .cmp-table tfoot td{background:#F6F3EE;font-size:1.05rem}
html body .sronly{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* journey choice (hero) and footer journey link */
html body .explore{margin:0 0 1rem;max-width:46rem}
html body .explore-head{margin:0 0 .4rem;font:600 12px "DM Sans",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#5d5a55}
html body .explore-list{margin:0;padding:0;list-style:none}
html body .explore-list li{margin:.25rem 0;font-size:1.05rem}
html body .explore-list a{font-weight:600}
html body footer.site-footer .f-journey a{font-weight:600;color:#047A76!important}

/* mobile: compact controls, stacked comparison table, smaller text */
@media (max-width:700px){
html body .tbl-wrap{overflow:visible}
html body .cmp-table{min-width:0;background:transparent;border:0}
html body .cmp-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
html body .cmp-table,html body .cmp-table tbody,html body .cmp-table tfoot,html body .cmp-table tr,html body .cmp-table th,html body .cmp-table td{display:block;width:auto}
html body .cmp-table tbody tr{background:#fff;border:1px solid #d9d4cb;margin:0 0 .8rem;padding:.2rem 0}
html body .cmp-table th,html body .cmp-table td{border:0;padding:.35rem .9rem;font-size:.9rem;line-height:1.45}
html body .cmp-table tbody th[scope=row]{font-size:1.1rem;padding-top:.7rem;border-bottom:1px solid #d9d4cb;margin-bottom:.3rem}
html body .cmp-table td[data-label]::before{content:attr(data-label);display:block;font:600 .68rem "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#047A76;margin-bottom:.1rem}
html body .cmp-table tfoot td{border:1px solid #d9d4cb;padding:.8rem .9rem;font-size:.95rem}
}
@media (max-width:600px){
html body{font-size:15px}
html body :is(main,article) h1:not(#x){font-size:clamp(1.75rem,8.2vw,2.3rem);line-height:1.05}
html body :is(main,article) h2:not(#x){font-size:clamp(1.4rem,6.2vw,1.8rem);line-height:1.1}
html body :is(main,article) h3:not(#x){font-size:1.05rem}
html body :is(main,article) p:not(#x),html body :is(main,article) li:not(#x){font-size:.94rem;line-height:1.55}
html body :is(main,article) .sub:not(#x){font-size:.98rem}
html body .hero-note,html body .aeo-line{font-size:.85rem}
html body .explore-list li{font-size:.95rem}
html body :is(.btn,.btn-primary,.btn-secondary):not(#x){min-height:46px;padding:0 22px;font-size:14px}
html body .hm-grid .card{padding:1rem}
}


/* ---------- Home: gated free research report form ---------- */
html body .gate-form,html body .gate-done{max-width:760px;margin:2.2rem 0 0;padding:1.4rem 1.5rem 1.5rem;background:#fff;border:1px solid #d9d4cb}
html body .gate-title{margin:0 0 .3rem;font:600 1.15rem "Space Grotesk",system-ui,sans-serif;color:#0B0D0E}
html body .gate-sub{margin:0 0 1rem;color:#5d5a55}
html body .gate-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
html body .gate-grid input{width:100%;box-sizing:border-box;padding:.8rem .9rem;border:1px solid #d9d4cb;border-radius:0;background:#fff;font:400 16px "DM Sans",system-ui,sans-serif;color:#0B0D0E}
html body .gate-check{display:flex;gap:.7rem;align-items:flex-start;margin:.9rem 0 0;font-size:15px;line-height:1.45;color:#0B0D0E}
html body .gate-check input{flex:0 0 auto;width:20px;height:20px;margin:2px 0 0;accent-color:#0ABAB5;border-radius:0}
html body .gate-form .btn{margin-top:1.2rem}
html body .gate-msg{margin:.8rem 0 0;color:#0B0D0E;font-weight:600}
@media (max-width:600px){html body .gate-grid{grid-template-columns:1fr}html body .gate-form,html body .gate-done{padding:1.2rem 1rem}}

/* ---------- Home hero: identical to the journey landing screen (no globe) ---------- */
html body main .hero-j:not(#x){text-align:center}
html body main .hero-j:not(#x) .container{display:flex;flex-direction:column;align-items:center;padding-top:clamp(2.5rem,6vw,5rem);padding-bottom:clamp(2.5rem,6vw,4.5rem)}
html body main .hero-j:not(#x) .kick{display:flex;justify-content:center;align-items:center;gap:14px;margin:0 0 34px;font:400 11px "DM Mono",ui-monospace,Consolas,monospace;letter-spacing:.26em;text-transform:uppercase;color:#047A76}
html body main .hero-j:not(#x) .kick i{display:block;width:30px;height:1px;background:#0ABAB5}
html body main .hero-j:not(#x) h1{max-width:900px;width:100%;margin:0 auto;text-align:center;font-family:"Space Grotesk",system-ui,sans-serif;font-weight:500;font-size:clamp(38px,5.4vw,78px);line-height:1.02;letter-spacing:-.035em;color:#0B0D0E;text-wrap:wrap}
html body main .hero-j:not(#x) h1 .scr{display:inline-block;text-align:center;color:#0ABAB5;font-style:italic;font-weight:400}
html body main .hero-j:not(#x) .ask{margin:40px auto 0;width:min(640px,100%);background:#fff;border:1px solid #d9d4cb;text-align:left;box-shadow:0 14px 40px rgba(11,13,14,.07)}
html body main .hero-j:not(#x) .ask .asklab{display:block;padding:10px 20px;border-bottom:1px solid #ece8e0;font:500 11px "Space Grotesk",system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#047A76}
html body main .hero-j:not(#x) .ask .askrow{display:block;position:relative;padding:18px 64px 18px 20px;min-height:3.3em;font:400 clamp(17px,2.2vw,22px)/1.4 "DM Sans",system-ui,sans-serif;color:#0B0D0E}
html body main .hero-j:not(#x) .ask .askph{color:#95A0AD}
html body main .hero-j:not(#x) .ask .askph.off{display:none}
html body main .hero-j:not(#x) .ask .asksend{position:absolute;right:12px;top:50%;margin-top:-17px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#ece8e0;color:#95A0AD;transition:background .2s,color .2s}
html body main .hero-j:not(#x) .ask .asksend.on{background:#0ABAB5;color:#fff}
html body main .hero-j:not(#x) .ask .caret{display:inline-block;width:2px;height:1.15em;background:#0ABAB5;margin-left:2px;vertical-align:-.2em;animation:cb 1s steps(2) infinite}
@keyframes cb{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){html body main .hero-j .ask .caret{animation:none}}
html body main .hero-j:not(#x) .hero-ctas{display:flex;flex-wrap:wrap;justify-content:center;margin:48px 0 0;gap:16px}
html body main .hero-j:not(#x) .hero-ctas .btn{font:600 15px "DM Sans",system-ui,sans-serif;min-height:52px;padding:0 30px;display:inline-flex;align-items:center;justify-content:center}
html body main .hero-j:not(#x) .hero-j-link{margin:22px 0 0}
html body main .hero-j:not(#x) .hero-j-link a{font:500 14px "DM Sans",system-ui,sans-serif;color:#047A76;text-underline-offset:4px}
@media (max-width:760px){html body main .hero-j:not(#x) h1{max-width:none;font-size:clamp(36px,10vw,52px)}html body main .hero-j:not(#x) .hero-ctas{flex-direction:column;align-items:center;width:100%}html body main .hero-j:not(#x) .hero-ctas .btn{width:min(100%,320px)}}
/* How-it-works cards: link on its own line, aligned along the bottom across cards */
html body .hm-grid .card:has(.card-link){display:flex;flex-direction:column}
html body .hm-grid .card .card-link{margin:auto 0 0;padding-top:1.1rem;font-weight:500}
html body .hm-grid .card .card-link a{display:inline-block}
/* Proof cards: 2x2 on wide screens (no orphan card) */
@media (min-width:760px){html body #proof .hm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Small "Free" tag on the Check your site nav link */
html body header .nav-links a .nav-free{display:inline-block;margin-left:6px;padding:2px 6px;font:500 10px/1.2 "DM Mono",ui-monospace,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:#047A76;border:1px solid #0ABAB5;vertical-align:2px;text-decoration:none}
/* Path cards: link pinned to the bottom so it aligns across cards */
html body #paths .card{display:flex;flex-direction:column}
html body #paths .card>a{margin-top:auto;padding-top:1.1rem;align-self:flex-start;font-weight:500}
/* Contact intro text matches the form width (no overhang) */
html body main #contact .contact-wrap .sub, html body main .contact-wrap .sub{max-width:640px!important}
/* Pulse band on home: light tiffany #BEE2D9 (Viv, 5 Nov 2026) */
html body #pulse{background:#BEE2D9;border-top:1px solid #a9d3c8;border-bottom:1px solid #a9d3c8}
html body #pulse .eyebrow{color:#035F5C}
html body #pulse :is(h2,h3){color:#0B0D0E}
html body #pulse p{color:#2c3a38}
html body #pulse .btn{background:#fff;border:1px solid #0B0D0E;color:#0B0D0E}
html body #pulse .container{padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(3rem,6vw,5rem)}
html body #pulse .pulse-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.4rem}
html body #pulse .pulse-ctas .btn{min-height:52px;padding:0 28px;display:inline-flex;align-items:center;font:600 15px "DM Sans",system-ui,sans-serif}
html body #pulse .pulse-ctas .pulse-buy{background:#0B0D0E;color:#fff;border:1px solid #0B0D0E}
html body #pulse .pulse-ctas .pulse-buy:hover{background:#047A76;border-color:#047A76}
@media (max-width:520px){html body #pulse .pulse-ctas{flex-direction:column}html body #pulse .pulse-ctas .btn{width:100%;justify-content:center}}
html body main #pulse .pulse-ctas a.pulse-buy.btn{background:#0B0D0E!important;color:#fff!important;border:1px solid #0B0D0E!important}
html body main #pulse .pulse-ctas a.pulse-buy.btn:hover{background:#047A76!important;border-color:#047A76!important}
html body #pulse .eyebrow{display:flex;align-items:center;gap:12px}
html body #pulse .pulse-new{display:inline-block;padding:4px 10px;background:#0B0D0E;color:#fff;font:600 11px/1.2 "DM Mono",ui-monospace,Consolas,monospace;letter-spacing:.2em;text-transform:uppercase}
html body #pulse .pulse-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:1.4rem 0 0;color:#0B0D0E}
html body #pulse .pulse-price strong{font:600 clamp(40px,6vw,64px)/1 "Space Grotesk",system-ui,sans-serif;letter-spacing:-.03em;color:#0B0D0E}
html body #pulse .pulse-price span{font:500 clamp(18px,2.4vw,24px) "Space Grotesk",system-ui,sans-serif;color:#0B0D0E}
html body #pulse .pulse-price em{flex-basis:100%;font:500 14px "DM Sans",system-ui,sans-serif;font-style:normal;color:#2c3a38}
html body #pulse .pulse-free{margin:1.1rem 0 0;font:500 15px "DM Sans",system-ui,sans-serif;color:#0B0D0E}
html body #pulse .pulse-free a{color:#035F5C;font-weight:600;text-underline-offset:4px}
/* Home FAQ: collapsed by default */
html body #faq .faq-list{margin-top:1.7rem;max-width:760px;display:flex;flex-direction:column;gap:10px}
html body #faq details{padding:0}
html body #faq details summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:1rem 1.2rem;cursor:pointer;list-style:none;font:600 17px/1.35 "Space Grotesk",system-ui,sans-serif;color:#0B0D0E}
html body #faq details summary::-webkit-details-marker{display:none}
html body #faq details summary::after{content:"+";flex:0 0 auto;font:400 24px/1 "DM Sans",system-ui,sans-serif;color:#047A76}
html body #faq details[open] summary::after{content:"\2212"}
html body #faq details summary:hover{background:#faf8f4}
html body #faq details p{margin:0;padding:0 1.2rem 1.2rem;font-size:16px;line-height:1.6}
/* Sage (#BEE2D9) for button fills; tiffany (#0ABAB5) stays on small accents only */
html body :is(main,header,footer,#cookie-consent-banner):not(#x) :is(.btn-primary,a.cta-link,.f-btn-primary){background:#BEE2D9!important;border:1px solid #BEE2D9!important;color:#0B0D0E!important}
html body :is(main,article):not(#x) :is(.lead-form,form) button[type=submit]{background:#BEE2D9!important;border:1px solid #BEE2D9!important;color:#0B0D0E!important}
html body #cookie-consent-banner:not(#x) button:last-child{background:#BEE2D9!important;border-color:#BEE2D9!important;color:#0B0D0E!important}
html body main .hero-j:not(#x) .ask .asksend.on{background:#BEE2D9;color:#0B0D0E}
html body :is(main,header,footer,#cookie-consent-banner):not(#x) :is(.btn-primary,a.cta-link,.f-btn-primary),html body :is(main,article):not(#x) :is(.lead-form,form) button[type=submit],html body #cookie-consent-banner:not(#x) button:last-child,html body .journey-band:not(#x) a.fj-cta{box-shadow:0 2px 6px rgba(11,13,14,.12),0 6px 16px rgba(11,13,14,.10)!important}
html body :is(main,header,footer,#cookie-consent-banner):not(#x) :is(.btn-primary,a.cta-link,.f-btn-primary):hover,html body :is(main,article):not(#x) :is(.lead-form,form) button[type=submit]:hover,html body .journey-band:not(#x) a.fj-cta:hover{box-shadow:0 4px 10px rgba(11,13,14,.16),0 10px 24px rgba(11,13,14,.14)!important}
/* Secondary buttons: black fill, light sage text, no outline */
html body :is(main,header,footer):not(#x) :is(a,button).btn-secondary{background:#BEE2D9!important;border:1px solid #BEE2D9!important;color:#0B0D0E!important;box-shadow:0 2px 6px rgba(11,13,14,.12),0 6px 16px rgba(11,13,14,.10)!important}
html body :is(main,header,footer):not(#x) :is(a,button).btn-secondary:hover,html body :is(main,header,footer):not(#x) :is(a,button).btn-secondary:focus{background:#BEE2D9!important;color:#0B0D0E!important;box-shadow:0 4px 10px rgba(11,13,14,.16),0 10px 24px rgba(11,13,14,.14)!important}
/* Pulse panel: Buy now black, See AISearch Pulse cream with the Pulse icon */
html body #pulse:not(#x):not(#y) :is(a,button).pulse-buy.btn{background:#0B0D0E!important;border:1px solid #0B0D0E!important;color:#BEE2D9!important}
html body #pulse:not(#x):not(#y) :is(a,button).pulse-buy.btn:hover{background:#0B0D0E!important;color:#BEE2D9!important}
html body #pulse :is(a,button).btn.pulse-see{background:#F6F3EE!important;border:1px solid #F6F3EE!important;color:#0B0D0E!important;gap:10px}
html body #pulse :is(a,button).btn.pulse-see:hover{background:#F6F3EE!important;color:#0B0D0E!important}
html body #pulse .pulse-see img{display:block;width:26px;height:26px}
/* Text links: regular weight, not bold (buttons keep their weight) */
html body main:not(#x):not(#y) a:not([class*="btn"]):not([class*="cta"]){font-weight:400!important}
html body main:not(#x):not(#y) :is(.more,.card-link,.pulse-free,.hero-j-link){font-weight:400!important}
/* Pulse "not ready to pay" line: more room, soft black */
html body main:not(#x):not(#y) #pulse .pulse-free{margin:1.75rem 0 0;padding-top:1.1rem;font-size:1rem;line-height:1.7;letter-spacing:.01em;color:#3a3c3e}
html body main:not(#x):not(#y) #pulse .pulse-free a{color:#3a3c3e!important;font-weight:400!important;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;margin-left:.2rem}
html body main:not(#x):not(#y) #pulse .pulse-free a:hover{color:#0B0D0E!important}
/* Tiffany sparingly: only the hero word, cursor, FREE tag, hero label and small dots. Links, eyebrows and step numbers use soft black. */
html body main:not(#x):not(#y) a:not([class*="btn"]):not([class*="cta"]){color:#3A3C3E!important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
html body main:not(#x):not(#y) a:not([class*="btn"]):not([class*="cta"]):hover{color:#0B0D0E!important}
html body main:not(#x):not(#y) :is(.eyebrow,.step-num){color:#5d5a55!important}
html body main:not(#x):not(#y) #pulse .eyebrow{color:#2c3a38!important}
/* Lighter type: medium (500) instead of bold for buttons, summaries and small labels */
html body:not(#x):not(#y) :is(.btn,a.btn,.cta-link,.fj-cta,button[type=submit],.sc-launch,.sc-input button,.nav-toggle){font-weight:500!important}
html body:not(#x):not(#y) :is(summary,.faq-item summary,.form-more summary){font-weight:500!important}
html body:not(#x):not(#y) :is(.f-title,.f-ai-note strong,.f-theme legend){font-weight:500!important}
html body:not(#x):not(#y) .f-brand .f-ai-note strong{font-weight:500!important}
/* Buttons use the site font (DM Sans), not the browser default */
html body:not(#x):not(#y) :is(button,input,select,textarea){font-family:"DM Sans",system-ui,sans-serif}
html body:not(#x):not(#y) :is(main,article) .lead-form button[type=submit]{font-size:15px;font-weight:500!important;letter-spacing:0}
html body:not(#x):not(#y) #cookie-consent-banner button{font-family:"DM Sans",system-ui,sans-serif;font-weight:500!important}
/* Hero intro: two balanced, centred lines */
html body main:not(#x):not(#y) .hero .lead{text-wrap:balance;max-width:40rem!important}
html body main:not(#x):not(#y) .hero .lead .lead-1{display:block;font-size:clamp(1.1rem,2vw,1.3rem);line-height:1.4;font-weight:500;color:#0B0D0E}
html body main:not(#x):not(#y) .hero .lead .lead-2{display:block;margin-top:.55rem;font-size:clamp(.95rem,1.6vw,1.05rem);line-height:1.55;color:#4a4742}
html body main:not(#x):not(#y) .hero .lead :is(.lead-1,.lead-2){text-align:center!important}
/* Hero line 1 on one line on wider screens; line 2 stays a narrower centred block */
@media (min-width:768px){html body main:not(#x):not(#y) .hero .lead .lead-1{white-space:nowrap}}
html body main:not(#x):not(#y) .hero .lead .lead-2{max-width:40rem;margin-left:auto;margin-right:auto}
/* Hero: search box and intro share one 680px column so everything lines up */
html body main:not(#x):not(#y) .hero-j .ask{max-width:680px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important}
html body main:not(#x):not(#y) .hero .lead .lead-1{font-size:17px;line-height:1.45}
html body main:not(#x):not(#y) .hero .lead .lead-2{max-width:34rem;margin-top:.7rem;font-size:15px;line-height:1.65}
html body main:not(#x):not(#y) .hero-j .hero-ctas{margin-top:2rem}
@media (max-width:767px){html body main:not(#x):not(#y) .hero .lead .lead-1{font-size:16px}}
html body main:not(#x):not(#y) .hero-j .hero-ctas{margin-top:1.6rem}
/* Hero intro: small, quiet type */
html body main:not(#x):not(#y) .hero .lead .lead-1{font-size:14px;line-height:1.5;font-weight:500}
html body main:not(#x):not(#y) .hero .lead .lead-2{font-size:12.5px;line-height:1.6;margin-top:.35rem;max-width:36rem}
html body main:not(#x):not(#y) .hero-j .ask + .lead{margin-top:1.1rem!important}
@media (max-width:767px){html body main:not(#x):not(#y) .hero .lead .lead-1{font-size:13.5px}}
/* clearer divider between page and footer */
html body footer.site-footer,html body .journey-band{border-top:1px solid rgba(11,13,14,.3)}
/* All action buttons: one sage style (pairs match), medium weight, soft shadow, no outline */
html body :is(main,article,section,.ladder-card):not(#x):not(#y) :is(a,button):is(.service-cta,.service-cta-ghost,.btn,.btn-primary,.btn-secondary,.btn-cta-primary,.btn-tiffany,.cta-button,.card-cta,.visited-fix-cta,.btn-submit,.primary,.secondary){background:#BEE2D9!important;border:1px solid #BEE2D9!important;color:#0B0D0E!important;font-weight:500!important;border-radius:0!important;box-shadow:0 2px 6px rgba(11,13,14,.12),0 6px 16px rgba(11,13,14,.10)!important;text-decoration:none}
html body :is(main,article,section,.ladder-card):not(#x):not(#y) :is(a,button):is(.service-cta,.service-cta-ghost,.btn,.btn-primary,.btn-secondary,.btn-cta-primary,.btn-tiffany,.cta-button,.card-cta,.visited-fix-cta,.btn-submit,.primary,.secondary):is(:hover,:focus){background:#BEE2D9!important;color:#0B0D0E!important;box-shadow:0 4px 10px rgba(11,13,14,.16),0 10px 24px rgba(11,13,14,.14)!important}
/* the one black button: Pulse "Buy now" */
html body #pulse:not(#x):not(#y) :is(a,button).pulse-buy.btn{background:#0B0D0E!important;border-color:#0B0D0E!important;color:#BEE2D9!important}
html body #pulse:not(#x):not(#y) :is(a,button).btn.pulse-see{background:#F6F3EE!important;border-color:#F6F3EE!important;color:#0B0D0E!important}
/* cards and tags: flat, no gradients, soft shadow */
html body :is(.ladder-card,.ladder-featured,.service-section.featured):not(#x){background-image:none!important}
html body .ladder-card.ladder-featured:not(#x){background:#fff!important;border:0!important;box-shadow:0 2px 6px rgba(11,13,14,.08),0 8px 22px rgba(11,13,14,.08)!important}
html body .service-tag.tag-primary:not(#x){background:#BEE2D9!important;color:#0B0D0E!important;border:0!important;font-weight:500}
/* Crawler-safe effects (7 Nov 2026): the pointer-reveal code and the headline scramble are painted by CSS, so they are never page text. */
.codelayer::before{content:attr(data-code)}
html body main .hero-j:not(#x) h1 .scr.fx{position:relative;color:transparent}
html body main .hero-j:not(#x) h1 .scr.fx::after{content:attr(data-fx);position:absolute;left:0;top:0;width:100%;text-align:center;color:#0ABAB5;font-style:italic;font-weight:400}
