/* Casewelt www visual layer (2026-09-28). Loaded after layout.css on every page.
   CSP: style-src 'self' — no inline styles; decoration is CSS only, no third-party assets. */

/* —— Type —— */
body{font-size:var(--body);line-height:1.65;font-feature-settings:"cv11","ss01","ss03";text-rendering:optimizeLegibility}
h1,h2,h3,h4{color:var(--ink);font-weight:700;letter-spacing:-.032em;line-height:1.12}
h1{font-weight:750;letter-spacing:-.04em}
h3{font-weight:650;letter-spacing:-.018em}
.lede{font-size:var(--body-lg);line-height:1.6;color:var(--muted)}
p{max-width:var(--measure)}
.section-kicker{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 var(--s4);padding:.34rem .75rem .34rem .6rem;border-radius:999px;background:var(--color-brand-soft);border:1px solid #d8e2ff;color:var(--color-brand-dark);font-family:var(--font);font-size:.75rem;font-weight:650;letter-spacing:.01em;text-transform:none}
.section-kicker::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--gradient-brand);box-shadow:0 0 0 3px rgb(35 82 240 / .14)}
.grad-text{background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent}

/* —— Sections —— */
.section{padding-block:var(--s9)}
.section-header{max-width:50rem;margin-bottom:var(--s7)}
.section-header h2{font-size:var(--h2)}
.section-tint,.section-cool,.section-warm{background:var(--color-surface-alt);border-block:1px solid #edf0f8}
.section-dark,.page-hero-dark,.page-hero-code{position:relative;background:var(--gradient-dark);color:var(--color-text-on-dark);border-block:0;overflow:hidden}
.section-dark::before,.page-hero-dark::before,.page-hero-code::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgb(255 255 255 / .045) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .045) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(70% 70% at 50% 30%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(70% 70% at 50% 30%,#000 30%,transparent 80%)}
.section-dark>.wrap,.page-hero-dark>.wrap,.page-hero-code>.wrap{position:relative;z-index:1}
.section-dark h2,.section-dark h3,.section-dark .section-header h2{color:#fff}
.section-dark .section-kicker,.page-hero-dark .section-kicker,.page-hero-code .section-kicker{background:rgb(255 255 255 / .07);border-color:rgb(255 255 255 / .14);color:#dfe6ff}
.section-dark .lede,.section-dark .section-header .lede{color:var(--color-text-muted-on-dark)}

/* —— Header —— */
.site-header{background:rgb(255 255 255 / .78);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid rgb(10 16 36 / .07);box-shadow:none}
.nav-list a,.nav-list .nav-parent{font-size:.9rem;font-weight:550;color:#2a3350;border-radius:10px}
.nav-list a:hover,.nav-list .nav-parent:hover,.nav-dd:focus-within .nav-parent{background:rgb(35 82 240 / .06);color:var(--ink)}
.nav-flyout{border-radius:16px;border-color:rgb(10 16 36 / .08);box-shadow:0 30px 60px -20px rgb(10 16 36 / .28),0 0 0 1px rgb(10 16 36 / .04);padding:.5rem}
.nav-flyout a{border-radius:10px;font-weight:550}
.nav-flyout a:hover,.nav-flyout a:focus-visible{background:var(--color-brand-soft);color:var(--color-brand-dark)}
.nav-flyout a[aria-current=page],.nav-list .nav-flyout a[aria-current=page]{background:var(--color-brand-soft);color:var(--color-brand-dark);box-shadow:none}
.nav-list > li > a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--brand);background:transparent}
.lang-switch__toggle,.nav-toggle summary{border-radius:10px;border-color:rgb(10 16 36 / .1)}

/* —— Buttons —— */
.btn{min-height:46px;padding:0 1.3rem;border-radius:999px;font-weight:650;font-size:.95rem;letter-spacing:-.005em}
.btn-sm{min-height:40px;padding-inline:1rem;font-size:.88rem}
.btn-primary,.header-actions .btn-primary{background:var(--gradient-brand);color:#fff;border:0;box-shadow:0 1px 0 rgb(255 255 255 / .25) inset,0 10px 24px -8px rgb(35 82 240 / .6)}
.btn-primary:hover{background:var(--gradient-brand);filter:brightness(1.08) saturate(1.05);color:#fff;box-shadow:0 1px 0 rgb(255 255 255 / .3) inset,0 16px 32px -10px rgb(35 82 240 / .7)}
.btn-secondary{border-radius:999px;border-color:rgb(10 16 36 / .12);box-shadow:var(--shadow-sm)}
.hero-home .btn-ghost,.page-hero:not(.page-hero-dark):not(.page-hero-code) .btn-ghost{background:#fff;color:var(--ink);border:1px solid rgb(10 16 36 / .12);box-shadow:var(--shadow-sm)}
.hero-home .btn-ghost:hover,.page-hero:not(.page-hero-dark):not(.page-hero-code) .btn-ghost:hover{border-color:rgb(35 82 240 / .4);color:var(--color-brand-dark);background:#fff}
.btn-light{border-radius:999px}
.text-link{color:var(--color-brand-dark);font-weight:650}
.text-link:hover{color:var(--color-brand)}

/* —— Home hero —— */
.hero-home{padding-block:clamp(3.5rem,7vw,6.5rem) clamp(3rem,6vw,5.5rem);background:
  radial-gradient(45% 55% at 88% 12%,rgb(116 69 245 / .16),transparent 70%),
  radial-gradient(40% 50% at 70% 60%,rgb(18 181 214 / .12),transparent 70%),
  radial-gradient(50% 60% at 0% 0%,rgb(35 82 240 / .10),transparent 70%),
  #fff}
.hero-home::before{background-image:linear-gradient(rgb(10 16 36 / .05) 1px,transparent 1px),linear-gradient(90deg,rgb(10 16 36 / .05) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(60% 70% at 70% 30%,#000 10%,transparent 75%);-webkit-mask-image:radial-gradient(60% 70% at 70% 30%,#000 10%,transparent 75%)}
.hero-home::after{display:none}
.hero-home .section-kicker{color:var(--color-brand-dark);font-weight:650}
.display{font-size:clamp(2.3rem,4vw,3.45rem);font-weight:780;letter-spacing:-.045em;line-height:1.04;max-width:20ch;color:var(--ink);margin-bottom:1.35rem}
@supports ((-webkit-background-clip:text) or (background-clip:text)){.display{background:none;color:var(--ink)}}
.display .grad-text{display:block}
.hero-home .lede{font-size:clamp(1.08rem,1.4vw,1.25rem);max-width:36rem}
.hero-actions{margin-top:2rem}
.hero-badge{display:inline-flex;align-items:center;gap:.6rem;margin:0 0 1.4rem;padding:.3rem .9rem .3rem .3rem;border-radius:999px;background:#fff;border:1px solid rgb(35 82 240 / .18);box-shadow:0 8px 24px -12px rgb(35 82 240 / .45);color:var(--ink-2);font-size:.86rem;font-weight:550;text-decoration:none;transition:border-color var(--motion) var(--ease),transform var(--motion) var(--ease)}
.hero-badge:hover{border-color:rgb(35 82 240 / .45);transform:translateY(-1px);color:var(--ink)}
.hero-badge__tag{padding:.2rem .6rem;border-radius:999px;background:var(--gradient-brand);color:#fff;font-size:.74rem;font-weight:700;letter-spacing:.02em}
.hero-badge__go{color:var(--color-brand)}
.hero-points{gap:.5rem;margin-top:2.2rem}
.hero-points li{padding:.38rem .8rem;border-radius:999px;background:rgb(255 255 255 / .85);border:1px solid rgb(10 16 36 / .08);box-shadow:none;font-size:.82rem;font-weight:550;color:#2a3350}
.hero-points li::before{width:.95rem;height:.95rem;border-radius:50%;background:var(--color-brand-soft) url("/img/ui/check.svg") center/70% no-repeat;box-shadow:none}
@media(min-width:980px){.hero-grid{grid-template-columns:.86fr 1.14fr;gap:3.5rem}.hero-home .wrap.hero-grid{width:min(calc(100% - 2rem),var(--wrap-wide))}}
.hero-home .section-kicker{background:none;border:0;padding:0;margin-bottom:.9rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--color-brand-dark)}
.hero-home .section-kicker::before{display:none}

/* Product frame: glass bezel + glow */
.product-frame{position:relative}
.product-frame .product-shot,.product-shot{border-radius:18px;border:1px solid rgb(10 16 36 / .08);box-shadow:var(--shadow-product);background:#fff}
.hero-home .product-frame::before{content:"";position:absolute;inset:-6% -4% -8% -4%;z-index:-1;border-radius:40px;background:radial-gradient(60% 60% at 60% 40%,rgb(35 82 240 / .28),transparent 70%),radial-gradient(50% 50% at 30% 80%,rgb(116 69 245 / .22),transparent 70%);filter:blur(24px)}
.hero-home .product-frame .product-shot{padding:10px;background:linear-gradient(180deg,rgb(255 255 255 / .9),rgb(255 255 255 / .6));backdrop-filter:blur(8px)}
.hero-home .product-frame .product-shot picture,.hero-home .product-frame .product-shot img{border-radius:10px;overflow:hidden}
.hero-chip{position:absolute;z-index:2;display:flex;align-items:center;gap:.65rem;padding:.6rem .85rem;border-radius:14px;background:rgb(255 255 255 / .92);border:1px solid rgb(10 16 36 / .08);box-shadow:0 18px 40px -14px rgb(10 16 36 / .35);backdrop-filter:blur(10px);font-size:.8rem;line-height:1.3;color:var(--ink-2);animation:cw-float 7s ease-in-out infinite}
.hero-chip strong{display:block;color:var(--ink);font-size:.84rem;font-weight:650}
.hero-chip small{color:var(--muted);font-size:.74rem}
.hero-chip__icon{flex:none;width:2rem;height:2rem;border-radius:10px;display:grid;place-items:center;background:var(--gradient-brand);color:#fff}
.hero-chip__icon svg{width:1.05rem;height:1.05rem}
.hero-chip--a{left:-1.4rem;bottom:14%}
.hero-chip--b{right:-1rem;top:9%;animation-delay:-3.5s}
.hero-chip--b .hero-chip__icon{background:linear-gradient(135deg,#12b5d6,#2352f0)}
@keyframes cw-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:979px){.hero-chip{display:none}}

/* —— Trust strip —— */
.trust-strip{background:#fff;border-block:1px solid #edf0f8;backdrop-filter:none}
.trust-grid p{padding:1.35rem 1.25rem;font-size:.86rem;border-color:#edf0f8}
.trust-grid strong{font-size:.95rem;font-weight:650}

/* —— Cards —— */
.card,.cap-map article,.integ-card,.trust-index article,.check-grid>div,.ctrl-item,.case-editorial article,.evidence-tile,.insight-card,.case-card,.api-op,.docs-toc,.path-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.card::before,.cap-map article::after,.path-card::before{display:none}
.card,.cap-map article,.integ-card,.ctrl-item,.case-editorial article,.path-card,.insight-card,.case-card{transition:transform var(--motion) var(--ease),box-shadow var(--motion) var(--ease),border-color var(--motion) var(--ease)}
.card:hover,.cap-map article:hover,.integ-card:hover,.ctrl-item:hover,.path-card:hover,.insight-card:hover,.case-card:hover{transform:translateY(-3px);border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--gradient-brand) border-box;box-shadow:0 24px 48px -24px rgb(35 82 240 / .45)}
.card h3,.cap-map article h3{font-size:1.1rem}
.card p,.cap-map article p,.integ-card ul,.path-card p{font-size:.95rem;color:var(--muted)}
.cap-map{gap:1.1rem}
.cap-map article{padding:1.5rem 1.45rem 1.4rem}
.cap-map article::before{position:static;order:-1;display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;margin-bottom:.5rem;border-radius:12px;background:var(--color-brand-soft);color:var(--color-brand-dark);font-family:var(--font);font-size:.8rem;font-weight:700}
.cap-map article a,.ctrl-item a{color:var(--color-brand-dark);font-weight:650}
.path-card{border:1px solid var(--line);padding:1.6rem}
.path-card .path-icon{background:var(--gradient-brand);color:#fff;font-family:var(--font);font-weight:700;border-radius:12px;box-shadow:0 10px 20px -10px rgb(35 82 240 / .7)}
.path-card .path-go{color:var(--color-brand-dark)}
.integ-card{border-top:1px solid var(--line)}
.integ-grid .integ-card h3{font-family:var(--font);font-size:.8rem;letter-spacing:.06em;color:var(--color-brand-dark)}
.step-grid{border-radius:var(--r-lg);border-color:var(--line);background:var(--line)}
.step-grid>div{padding:1.6rem}
.step-grid>div span{background:var(--gradient-brand);color:#fff;font-family:var(--font)}
.surface-stack div{border-left:0;border-radius:16px;box-shadow:var(--shadow-sm);position:relative;padding-left:1.4rem}
.surface-stack div::before{content:"";position:absolute;left:0;top:1rem;bottom:1rem;width:3px;border-radius:3px;background:var(--gradient-brand)}
.surface-stack span{color:var(--color-brand-dark)}
.case-editorial .idx{color:var(--color-brand-dark);font-weight:700}

/* Mock visuals */
.share-visual,.governance-object,.timeline,.decision-card,.region-card,.boundary-diagram{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-floating)}
.share-visual::before{display:none}
.timeline>div>span{background:var(--color-brand);box-shadow:0 0 0 4px rgb(35 82 240 / .14);border:0}
.pill{border-radius:999px;font-weight:650}
.pill.success{background:#e8f7ef;color:#0b7a4f;border-color:#bfe8d2}
.gov-file>span{background:linear-gradient(135deg,#e5484d,#c2323f)}
.avatar{background:var(--gradient-brand);color:#fff}

/* Dark section cards */
.fail-card{background:rgb(255 255 255 / .04);border:1px solid rgb(255 255 255 / .1);border-left-width:1px;border-radius:var(--r-lg);backdrop-filter:blur(6px);padding:1.4rem;position:relative;overflow:hidden}
.fail-card::after{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:var(--color-danger)}
.fail-card.st-blocked::after{background:#f59e0b}.fail-card.st-stopped::after{background:#fb7185}.fail-card.st-rejected::after{background:var(--color-violet)}
.security-layers .layer{background:rgb(255 255 255 / .05)}
.layer::before{background:var(--gradient-brand)}
.layer-index,.layer-icon{color:#aebdff}
.layer-icon{background:rgb(35 82 240 / .22)}

/* —— Inner page hero —— */
.page-hero{padding-block:clamp(3rem,6vw,5.5rem) var(--s8);background:
  radial-gradient(45% 70% at 100% 0%,rgb(116 69 245 / .12),transparent 70%),
  radial-gradient(40% 60% at 0% 100%,rgb(35 82 240 / .08),transparent 70%),
  #fff;border-bottom:1px solid #edf0f8}
.page-hero h1,.page-hero .hero-narrow h1{color:var(--ink);font-size:var(--h1)}
.page-hero .section-kicker{color:var(--color-brand-dark);font-weight:650}
.page-hero-dark h1,.page-hero-code h1,.page-hero-dark .hero-narrow h1,.page-hero-code .hero-narrow h1{color:#fff}
.page-hero-dark .section-kicker,.page-hero-code .section-kicker{color:#dfe6ff}

/* —— CTA band —— */
.cta-band{background:radial-gradient(50% 80% at 0% 0%,rgb(18 181 214 / .35),transparent 70%),radial-gradient(50% 90% at 100% 100%,rgb(116 69 245 / .55),transparent 70%),linear-gradient(120deg,#1737b8 0%,#2352f0 45%,#5a45f2 100%);padding-block:var(--s9)}
.cta-band::before{background-image:linear-gradient(rgb(255 255 255 / .06) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .06) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(60% 80% at 70% 50%,#000,transparent);-webkit-mask-image:radial-gradient(60% 80% at 70% 50%,#000,transparent);inset:0}
.cta-inner h2{font-size:clamp(1.75rem,3vw,2.6rem);color:#fff;max-width:20ch}
.cta-inner p{font-size:1.08rem}
.cta-band .section-kicker{background:rgb(255 255 255 / .12);border-color:rgb(255 255 255 / .22);color:#fff}
.cta-band .section-kicker::before{background:#fff;box-shadow:0 0 0 3px rgb(255 255 255 / .2)}
.cta-band .btn-light{box-shadow:0 14px 30px -10px rgb(10 16 36 / .5)}

/* —— Footer —— */
.site-footer{background:#050918;border-top:1px solid rgb(255 255 255 / .06)}
.footer-grid a{color:#c3cbe4}
.footer-grid a:hover{color:#fff}
.footer-grid h2{color:#8791b0;font-family:var(--font);letter-spacing:.08em}

/* —— Misc —— */
.code-panel{background:#0a1024;border-color:rgb(255 255 255 / .06);border-radius:16px}
.code-panel span{color:#8fb3ff}
.form-row input,.form-row select,.form-row textarea{border-radius:12px}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{box-shadow:0 0 0 4px rgb(35 82 240 / .16)}
.form-card{border-radius:var(--r-xl);box-shadow:var(--shadow-floating)}
.anno span{border-radius:999px}
.anno span.info{background:var(--color-brand-soft);border-color:#d8e2ff;color:var(--color-brand-dark)}
.insist{border-color:#d8e2ff;background:var(--color-brand-soft)}
.insist::before{background:var(--gradient-brand)}
.insist ol li::before{background:#fff;color:var(--color-brand-dark)}
.life-tabs button{border-radius:999px}
.life-tabs button[aria-selected=true]{background:var(--gradient-brand);box-shadow:0 10px 22px -10px rgb(35 82 240 / .7)}
.api-pager a:hover,.cap-map article a:hover{border-color:rgb(35 82 240 / .35)}
.docs-toc a[aria-current=page],.api-chapters a[aria-current=page]{background:var(--color-brand);border-color:var(--color-brand)}
.verb.post{background:#e8f7ef;color:#0b7a4f}
.cw-privacy-bar{background:linear-gradient(165deg,#0e1636 0%,#070b1f 100%)}
.cw-privacy-bar-kicker,.cw-privacy-bar a{color:#aebdff}
.cw-a11y-stub{background:#0e1636}
.cw-pref-switch input:focus-visible + .cw-pref-switch-ui,.cw-a11y-stub:focus-visible{outline-color:var(--color-accent)}

/* Scroll reveal (site.js adds .is-in; without JS everything stays visible). */
.js-reveal .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js-reveal .reveal.is-in{opacity:1;transform:none}

/* —— Content intelligence (home feature + page) —— */
.ci-feature{display:grid;gap:2.5rem;align-items:center}
@media(min-width:960px){.ci-feature{grid-template-columns:1fr 1.05fr;gap:4rem}}
.ci-list{list-style:none;margin:1.5rem 0 1.8rem;padding:0;display:grid;gap:.9rem}
.ci-list li{display:grid;grid-template-columns:2.3rem 1fr;gap:.85rem;align-items:start}
.ci-list li>span{width:2.3rem;height:2.3rem;border-radius:12px;display:grid;place-items:center;background:var(--color-brand-soft);color:var(--color-brand-dark)}
.ci-list svg{width:1.15rem;height:1.15rem}
.ci-list strong{display:block;font-size:1rem;color:var(--ink);font-weight:650}
.ci-list p{margin:.15rem 0 0;font-size:.93rem;color:var(--muted)}
.ci-visual{position:relative;display:grid;gap:1rem}
.ci-visual::before{content:"";position:absolute;inset:-8%;z-index:0;background:radial-gradient(50% 50% at 70% 30%,rgb(116 69 245 / .2),transparent 70%),radial-gradient(50% 50% at 20% 80%,rgb(18 181 214 / .18),transparent 70%);filter:blur(20px)}
.ci-visual>*{position:relative;z-index:1}
.ci-search{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;border-radius:14px;background:#fff;border:1px solid rgb(35 82 240 / .35);box-shadow:0 0 0 4px rgb(35 82 240 / .1),var(--shadow-floating);font-size:.95rem;color:var(--ink)}
.ci-search svg{width:1.1rem;height:1.1rem;color:var(--muted);flex:none}
.ci-search b{font-weight:600}
.ci-search .ci-caret{width:1px;height:1.1rem;background:var(--color-brand);animation:cw-blink 1.1s steps(1) infinite}
@keyframes cw-blink{50%{opacity:0}}
.ci-card{border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-floating);padding:1.2rem 1.25rem}
.ci-card__head{display:flex;align-items:center;gap:.75rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.ci-file{flex:none;width:2.3rem;height:2.7rem;border-radius:8px;display:grid;place-items:end center;padding-bottom:.35rem;background:linear-gradient(160deg,#e5484d,#b4232f);color:#fff;font-size:.6rem;font-weight:800;letter-spacing:.04em}
.ci-card__head strong{display:block;font-size:.95rem;color:var(--ink)}
.ci-card__head small{color:var(--muted);font-size:.8rem}
.ci-card__head .pill{margin-left:auto}
.ci-rows{display:grid;gap:.75rem;margin-top:.95rem}
.ci-row{display:grid;grid-template-columns:7.5rem 1fr;gap:.75rem;align-items:start;font-size:.85rem}
.ci-row>span{color:var(--muted);font-size:.78rem;padding-top:.2rem}
.ci-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.ci-tag{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;background:var(--color-surface-alt);border:1px solid var(--line);font-size:.78rem;font-weight:550;color:#2a3350}
.ci-tag--pii{background:#fff4e6;border-color:#ffd9ad;color:#9a4a07}
.ci-tag--brand{background:var(--color-brand-soft);border-color:#d8e2ff;color:var(--color-brand-dark)}
.ci-ocr{display:flex;align-items:center;gap:.7rem;margin-top:1rem;padding:.75rem .9rem;border-radius:12px;background:linear-gradient(120deg,var(--color-brand-soft),#f3efff);border:1px solid #dcd9ff;font-size:.84rem;color:var(--ink-2)}
.ci-ocr svg{width:1.1rem;height:1.1rem;color:var(--color-brand);flex:none}
.ci-ocr b{margin-left:auto;font-size:.76rem;color:var(--color-brand-dark);font-weight:650}
.ci-results{display:grid;gap:.5rem}
.ci-result{display:flex;align-items:center;gap:.7rem;padding:.65rem .85rem;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);font-size:.86rem}
.ci-result i{font-style:normal;flex:none;width:1.7rem;height:2rem;border-radius:6px;background:linear-gradient(160deg,#3d6bff,#1737b8);color:#fff;font-size:.52rem;font-weight:800;display:grid;place-items:end center;padding-bottom:.25rem}
.ci-result i.doc{background:linear-gradient(160deg,#4f8cff,#2352f0)}
.ci-result i.pdf{background:linear-gradient(160deg,#e5484d,#b4232f)}
.ci-result span{color:var(--muted);font-size:.78rem;margin-left:auto;white-space:nowrap}
.ci-result mark{background:#fff2b8;color:inherit;border-radius:3px;padding:0 .1em}

.feature-grid{display:grid;gap:1.1rem}
@media(min-width:760px){.feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.feature-grid{grid-template-columns:repeat(3,1fr)}}
.feature-grid article{padding:1.6rem;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.feature-grid article h3{font-size:1.1rem;margin:.9rem 0 .45rem}
.feature-grid article p{margin:0;color:var(--muted);font-size:.95rem;max-width:none}
.icon-badge{width:2.6rem;height:2.6rem;border-radius:13px;display:grid;place-items:center;background:var(--gradient-brand);color:#fff;box-shadow:0 12px 24px -12px rgb(35 82 240 / .8)}
.icon-badge svg{width:1.25rem;height:1.25rem}
.section-dark .feature-grid article{background:rgb(255 255 255 / .04);border-color:rgb(255 255 255 / .1);box-shadow:none}
.section-dark .feature-grid article h3{color:#fff}
.section-dark .feature-grid article p{color:var(--color-text-muted-on-dark)}

.ocr-steps{display:grid;gap:1rem;counter-reset:ocr}
@media(min-width:900px){.ocr-steps{grid-template-columns:repeat(4,1fr)}}
.ocr-steps li{list-style:none;position:relative;padding:1.5rem 1.4rem;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.ocr-steps li::before{counter-increment:ocr;content:counter(ocr,decimal-leading-zero);display:inline-grid;place-items:center;min-width:2.3rem;height:1.8rem;padding:0 .5rem;margin-bottom:.9rem;border-radius:999px;background:var(--gradient-brand);color:#fff;font-size:.78rem;font-weight:700}
.ocr-steps h3{font-size:1.05rem;margin-bottom:.4rem}
.ocr-steps p{margin:0;font-size:.93rem;color:var(--muted)}
.ocr-steps{padding:0;margin:0}

.plan-note{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.2rem;margin-top:1.5rem;padding:1.1rem 1.25rem;border-radius:16px;background:#fff;border:1px dashed #c9d5ff;color:var(--ink-2);font-size:.95rem}
.plan-note strong{color:var(--ink)}

.faq{display:grid;gap:.75rem;max-width:52rem}
.faq details{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);padding:0 1.25rem}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.1rem 0;font-weight:650;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:.6rem;height:.6rem;border-right:2px solid var(--color-brand);border-bottom:2px solid var(--color-brand);transform:rotate(45deg) translateY(-.15rem);transition:transform var(--motion) var(--ease)}
.faq details[open] summary::after{transform:rotate(-135deg) translateY(-.1rem)}
.faq details p{margin:0 0 1.15rem;color:var(--muted)}
.faq summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:6px}

@media(prefers-reduced-motion:reduce){.hero-chip,.ci-search .ci-caret{animation:none}.js-reveal .reveal{opacity:1;transform:none}}

/* Capability bento: ten cards fill a 3 × 4 grid with the first and last spanning two columns. */
@media(min-width:1080px){.cap-map article:first-child,.cap-map article:last-child{grid-column:span 2}}
@media(min-width:760px) and (max-width:1079px){.cap-map article:first-child,.cap-map article:last-child{grid-column:1/-1}}
.cap-map article:first-child,.cap-map article:last-child{background:linear-gradient(135deg,#fff 0%,#f4f6ff 100%)}
.fail-card.st-denied,.fail-card.st-blocked,.fail-card.st-stopped,.fail-card.st-rejected{border-left-color:rgb(255 255 255 / .1)}

/* Dark inner heroes win over the light .page-hero background above. */
.page-hero.page-hero-dark,.page-hero.page-hero-code{background:var(--gradient-dark);border-bottom:0}
.page-hero.page-hero-dark .lede,.page-hero.page-hero-code .lede{color:var(--color-text-muted-on-dark)}
/* Mock UI keeps light-surface colours even inside dark sections. */
.ci-card,.ci-result,.ci-search{color:var(--ink)}
.ci-card strong,.ci-result strong{color:var(--ink)}
.cta-band .cta-inner p.section-kicker{font-size:.75rem;margin-bottom:var(--s4)}
