/* 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:15px;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) .badge{border:1px solid #d9d4cb;background:#fff;color:#047A76}
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) :is(.card-header,.sc-head){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}
html body .sc-root{--sc-bg:#fff;--sc-panel:#F6F3EE;--sc-text:#0B0D0E;--sc-muted:#5d5a55;--sc-line:#d9d4cb}
html body .sc-panel{background:#fff;color:#0B0D0E;border:1px solid #d9d4cb;border-radius:0}
html body .sc-panel .sc-head{background:#047A76;color:#fff}
html body .sc-panel :is(.sc-title,.sc-head *){color:#fff}
html body .sc-panel input{background:#fff;color:#0B0D0E;border:1px solid #bdb7ab;border-radius:0}
html body .sc-panel .sc-launch-dot{background:#0B0D0E}

@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}
