/*
 * AI Platforms / Rain
 * Original palette sampled from the owner's Rain Benchmark screenshots:
 * canvas #1E262C, panels #272F34, controls #333C44.
 * The existing CSS retains page structure; this file owns the visual theme.
 */
html { color-scheme: dark; scroll-padding-top: 90px; scroll-behavior: auto; }
html body { font-size: 16px; line-height: 1.65; }
html h1, html h2, html h3, html h4, html h5 {
    font-family: var(--font-sans); font-variation-settings: normal;
    color: var(--text); font-weight: 400; letter-spacing: 0;
    line-height: 1.2; hyphens: none;
}
html h1 { font-size: clamp(2.25rem, 4.5vw, 3.6rem); font-weight: 300; }
html h2 { font-size: clamp(1.8rem, 3.1vw, 2.5rem); font-weight: 300; }
html h3 { font-size: 1.35rem; }
html :is(h1,h2,h3,h4) :is(em,.italic,.accent),
html .manifesto__quote em {
    font-family: inherit; font-weight: inherit; font-style: normal;
    color: inherit; background: none; -webkit-text-fill-color: currentColor;
}
html .eyebrow { color: var(--text-muted); font-size: 14px; letter-spacing: .025em; text-transform: none; margin-bottom: 18px; }
html .eyebrow::before { display: none; }
html :is(a,button,summary,[tabindex]):focus-visible { outline: 2px solid #C4D4E0; outline-offset: -2px !important; box-shadow: none !important; }
html ::selection { background: #607888; color: #fff; }
html .reveal { opacity: 1; transform: none; transition: none; }
html :is(.blob,.hero__grid,.cw-hero__glow) { display: none; }
html .section { padding-top: 72px; padding-bottom: 72px; }
html .section__head { margin-bottom: 32px; }
html .section__head--split { gap: 36px; align-items: end; }
html .section__head--split > p { max-width: 440px; font-size: 16px; }
html .section__head--center { text-align: left; margin-left: 0; }
html .section--dark :is(h2,h3), html .bento__cell--dark :is(h3,.bento__title) { color: var(--text); }

/* Square, quiet controls. */
html .btn {
    min-height: 44px; padding: 12px 20px; border-radius: 2px;
    font-weight: 400; font-size: 15px; line-height: 1.25;
    white-space: normal; text-align: center; justify-content: center;
    box-shadow: none; transition: background .16s, border-color .16s, color .16s;
}
html .btn--sm { min-height: 38px; padding: 9px 15px; font-size: 14px; }
html .btn--lg { min-height: 48px; padding: 13px 23px; font-size: 16px; }
html :is(.btn--primary,.btn--accent) { background: #B8C6D1; color: #1E262C; border-color: #B8C6D1; box-shadow: none; }
html :is(.btn--primary,.btn--accent):hover { background: #D0DAE2; border-color: #D0DAE2; box-shadow: none; transform: none; }
html .btn--primary::before { display: none; }
html :is(.btn--ghost,.btn--ghost-dark) { color: var(--text); border-color: var(--line-strong); background: transparent; }
html :is(.btn--ghost,.btn--ghost-dark):hover { color: #E2E8ED; background: var(--bg-soft); border-color: #82939F; }
html :is(.chip,.chip--static,.chip--brand,.tags li,.tag,.topic-chip span) { border-radius: 2px; box-shadow: none; }
html .chip { padding: 8px 11px; font-size: 14px; }
html .chip:hover { color: var(--text); background: var(--bg-soft); box-shadow: none; transform: none; }
html .link-arrow { color: var(--text); font-weight: 400; }
html .link-arrow:hover { color: #E2E8ED; }

/* Shared header and footer. */
html .site-header, html .site-header.is-scrolled { background: #272F34; border-bottom: 1px solid #46545E; box-shadow: none; }
html .site-header__inner { height: 84px; gap: 24px; }
html .brand { gap: 12px; color: #73848F; }
html .brand__name { font-size: 21px; font-weight: 400; letter-spacing: .01em; }
html .brand__mark svg rect { rx: 0; fill: #333C44; }
html .brand__mark svg path { stroke: #BDC7CF; stroke-width: 4px; }
html .site-header .brand { gap: 12px; }
html .site-header .brand__mark { width: 40px; height: 40px; border: 1px solid #647783; align-items: center; justify-content: center; }
html .site-header .brand__mark svg { width: 34px; height: 34px; }
html .site-header .brand__mark svg rect { fill: transparent; }
html .site-header .brand__mark svg path { stroke: #CFDCE5; }
html .site-header .brand__name { font-family: var(--font-sans); font-size: 22px; font-weight: 500; line-height: 1.15; letter-spacing: -.025em; }
.site-header__identity { display: flex; flex-direction: column; gap: 5px; }
.site-header__descriptor { color: #A7B5BF; font: 11px/1.25 var(--font-sans); white-space: nowrap; letter-spacing: .01em; }
html .site-header .site-nav { align-self: stretch; gap: 0; margin-left: auto; }
html .site-header .site-nav a {
    position: relative; display: flex; align-items: center; justify-content: space-between;
    padding: 0 11px; min-height: 44px; height: 100%; border-radius: 0;
    font-size: 15px; font-weight: 400; color: #B9C5CE;
    transition: color .16s, background .16s;
}
html .site-header .site-nav a::after {
    content: ''; position: absolute; left: 11px; right: 11px; bottom: -1px; height: 2px;
    background: transparent;
}
html .site-header .site-nav a:hover { background: #2F3941; color: #E1E8ED; }
html .site-header .site-nav a.is-active { background: transparent; color: #E1E8ED; }
html .site-header .site-nav a.is-active::after { background: #B8CDD9; }
html .site-header .site-nav a:focus-visible { outline-offset: -5px; }
.site-nav__arrow { display: none; }
html .site-header__cta { padding-left: 20px; border-left: 1px solid #46545E; }
html .site-header__cta .btn {
    min-height: 42px; padding: 10px 15px; gap: 14px;
    background: #B8C6D1; color: #1E262C; border-color: #B8C6D1;
    white-space: nowrap; font-size: 14px;
}
html .site-header__cta .btn:hover { background: #D0DAE2; border-color: #D0DAE2; }
html .nav-toggle { border-radius: 2px; width: auto; min-width: 44px; padding: 0 13px; flex-direction: row; gap: 13px; color: var(--text); background: transparent; border-color: #586A77; }
.nav-toggle__label { font: 14px/1 var(--font-sans); }
.nav-toggle__icon { display: flex; flex-direction: column; gap: 5px; }
html .site-footer { background: #1A2228; border-top: 1px solid var(--line); padding-top: 48px; }
html .site-footer :is(h4,.brand__name) { color: var(--text); }
html .site-footer :is(p,a,li,.muted,.brand__sub) { color: var(--text-muted); }
html .site-footer a:hover { color: #DFE7ED; }
html .site-footer__bottom { border-color: var(--line); color: var(--text-muted); }

/* Homepage: restrained typography alongside a working application panel. */
html .hero { background: var(--bg); padding: 62px 0 64px; }
html .page--home .hero__inner { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 68px; align-items: center; }
html .hero__badge { padding: 0; margin-bottom: 25px; background: none; border: 0; border-radius: 0; font-size: 14px; color: var(--text-muted); backdrop-filter: none; }
html .hero__badge .pulse { display: none; }
html .hero__title { margin-bottom: 25px; font-size: clamp(2.5rem, 4.35vw, 3.75rem); line-height: 1.13; letter-spacing: -.02em; }
html .hero__lead { font-size: 17px; line-height: 1.65; max-width: 530px; margin-bottom: 28px; }
html .hero__cta { gap: 12px; margin-bottom: 27px; }
html .hero__bullets { gap: 19px; font-size: 13px; color: var(--text-muted); }
html .hero__bullets svg { width: 14px; height: 14px; color: #9CADB9; }
html .hero__demo { width: 100%; }
html .demo-chat { min-height: 395px; padding: 0; background: #1E262C; border: 1px solid #44515B; border-radius: 2px; box-shadow: none; }
html .demo-chat::before { display: none; }
html .demo-chat__head { margin: 0; padding: 17px 21px; gap: 13px; background: #272F34; border-bottom: 1px solid #333C44; font-size: 13px; }
html .demo-chat__head strong { font-size: 20px; font-weight: 400; letter-spacing: .015em; }
html .demo-chat__head .dots { display: none; }
html .demo-chat__log { min-height: 206px; max-height: 360px; padding: 24px 21px 20px; gap: 14px; }
html .msg__bubble { border-radius: 2px; font-size: 15px; line-height: 1.65; padding: 13px 15px; }
html .msg--bot .msg__bubble { background: #272F34; color: var(--text); border-radius: 2px; }
html .msg--user .msg__bubble { background: #394852; color: #E0E7EC; border-radius: 2px; }
html .msg--err .msg__bubble { background: #422F32; color: #EDBFC1; }
html .demo-chat__form { margin: 0 20px; padding: 4px 4px 4px 13px; background: #272F34; border-color: #48555F; border-radius: 2px; }
html .demo-chat__form:focus-within { border-color: #B8C6D1; box-shadow: none; }
html .demo-chat__form input { font-size: 14px; }
html input::placeholder, html textarea::placeholder { color: #98A6B0; opacity: 1; }
html .demo-chat__form .btn { min-width: 40px; min-height: 40px; padding: 10px; background: #3E4D57; color: #CED9E1; border-color: transparent; }
html .demo-chat__form .btn:hover { background: #566C7B; }
html .demo-chat__hints { margin: 12px 20px 19px; gap: 6px; }
html .demo-chat__hints .chip { background: #333C44; border: 0; font-size: 13px; padding: 7px 10px; }
.model-strip { background: #272F34; border-block: 1px solid #333C44; }
.model-strip__inner { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px 20px; padding-block: 19px; }
.model-strip__label { font-size: 13px; color: #D0D8DF; margin-right: 8px; }
.model-strip__item { font-size: 13px; color: #98A7B2; white-space: nowrap; }

/* The benchmark's numbered rows, adapted to a catalogue of services. */
.solutions-section { background: var(--bg); }
.solution-list { border-top: 1px solid #46535E; }
.solution-row { display: grid; grid-template-columns: 36px minmax(210px, .9fr) minmax(0,1.5fr) 24px; gap: 24px; align-items: center; padding: 25px 20px; border-bottom: 1px solid #39434B; background: #272F34; transition: background .16s; }
.solution-row:nth-child(even) { background: #242C32; }
.solution-row:hover { background: #333C44; }
.solution-row__number { align-self: start; padding-top: 3px; color: #8F9EAA; font: 14px/1.6 Consolas, monospace; }
html .solution-row h3 { margin: 0 0 9px; font-size: 21px; line-height: 1.3; }
.solution-row__name > span { color: #95A4AF; font-size: 13px; }
html .solution-row p { margin: 0; color: #ACB8C2; font-size: 15px; line-height: 1.65; }
.solution-row__arrow { color: #AABCC9; font-size: 23px; }

/* Product and engineering credentials share the original panel palette. */
html .cw-home-product { background: #272F34; color: var(--text); border-block: 1px solid #39434B; }
html .cw-home-product__grid { gap: 56px; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
html .cw-home-product > .container { max-width: var(--container); }
html .cw-home-product::before { display: none; }
html .cw-home-product h2 { color: var(--text); font-size: 40px; line-height: 1.2; }
html .cw-home-product p { color: var(--text-soft); }
html .cw-home-product .eyebrow { color: var(--text-muted); }
html .cw-home-product__facts { display: grid; gap: 8px; margin: 24px 0; }
html .cw-home-product__facts span { padding: 0 0 0 14px; border: 0; border-left: 2px solid #607380; border-radius: 0; font-size: 14px; color: var(--text-soft); }
html .cw-home-product__visual { border-radius: 2px; border-color: #495660; background: #1E262C; box-shadow: none; }
html .cw-home-product__visual img { filter: none; }
html .cw-home-product__visual figcaption { background: #333C44; color: #BDC8D1; font-size: 12px; justify-content: flex-start; padding: 11px 14px; }
html .cw-home-product__visual figcaption span { background: #91A7AF; }
html .company-proof { background: #333C44; border-block: 1px solid #485762; }
html .company-proof__story > .eyebrow { color: var(--text-soft); }
html .company-proof::before, html .company-proof__card::after { display: none; }
html .company-proof__grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 56px; }
html .company-proof__lead { font-size: 17px; }
html .company-proof__card { min-height: 0; padding: 28px; background: #272F34; border-color: #44515B; border-radius: 2px; box-shadow: none; }
html .company-proof__mark { border-radius: 0; background: #333C44; color: #BAC7D0; box-shadow: none; font-weight: 400; }
html .company-proof__overline { font-size: 12px; text-transform: none; letter-spacing: 0; }
html .company-proof__identity strong { font-size: 23px; font-weight: 400; }
html .company-proof__product-mark { background: #7E929F; transform: none; border-radius: 0; }
html .company-proof__relation-line { background: #566671; }
html .company-proof__facts { border-color: #45525C; border-radius: 0; background: #232B31; }
html .company-proof__facts :is(dt,dd) { color: var(--text); }
html .company-proof__facts dd { color: var(--text-muted); }
html .company-proof__facts dt { font-weight: 300; }

/* Supporting sections: flat surfaces and consistent type, no decorative glow. */
html .bento { gap: 16px; }
html .bento__cell, html .bento__cell--accent, html .bento__cell--dark { background: #272F34; border: 1px solid #39434B; color: var(--text); border-radius: 2px; box-shadow: none; }
html .bento__cell:hover { transform: none; box-shadow: none; border-color: #6D808E; }
html .bento__title { font-size: 25px; line-height: 1.25; }
html .bento__lead { font-size: 16px; }
html .bento__art, html .bento__cell--split-art { display: none; }
html .bento__icon { background: #333C44; color: #BCCBD6; border-radius: 2px; }
html .bento__cell--accent :is(h3,p,.bento__lead,.bento__bullets li) { color: var(--text); }
html .timeline { gap: 24px; padding-top: 0; }
html .timeline--continued { margin-top: 26px; }
html .timeline::before, html .timeline__step::before, html .timeline__step::after, html .timeline__num::after { display: none; }
html .timeline__step { padding: 22px 0 0; border-top: 1px solid #4A5964; }
html .timeline__num { font: 14px/1.5 Consolas, monospace; color: #97AAB8; margin-bottom: 18px; }
html .timeline__step h3 { font-size: 21px; margin-bottom: 12px; }
html .timeline__step p { font-size: 15px; line-height: 1.65; }
html .case__head h2 { max-width: 750px; }
html .case__metrics { gap: 1px; background: #44515B; border: 1px solid #44515B; border-radius: 0; }
html .case__metric, html .case__metric:hover { background: #272F34; border-radius: 0; box-shadow: none; transform: none; }
html .case__metric strong { color: var(--text); font-weight: 300; font-size: 36px; }
html .case__body { gap: 36px; }
html .case__col { background: transparent; border: 0; border-top: 1px solid #485760; border-radius: 0; padding: 24px 0 0; box-shadow: none; }
html .case__col::before { display: none; }
html .case__col:hover { transform: none; box-shadow: none; }
html .manifesto { text-align: left; max-width: 100%; }
html .manifesto__quote { color: var(--text); max-width: 940px; font-size: clamp(1.6rem,3vw,2.35rem); font-weight: 300; line-height: 1.4; }
html .manifesto__sign, html .manifesto__sign strong { color: var(--text-muted); }
html .big-metrics { background: #39434B; border: 1px solid #39434B; border-radius: 0; gap: 1px; }
html .big-metric { background: #1E262C; padding: 27px 24px; }
html .big-metric strong { color: var(--text); font-size: 42px; font-weight: 300; }
html .big-metric :is(span,small) { color: var(--text-muted); }
html .art-card { background: #272F34; border: 1px solid #44515B; border-radius: 2px; box-shadow: none; }
html .art-card:hover { background: #2D373F; border-color: #687D8C; transform: none; box-shadow: none; }
html .art-card h3 { font-size: 22px; line-height: 1.4; }
html .art-card--feature { background: #232B31; }
html .art-card--feature h3 { font-size: 29px; line-height: 1.35; }
html .art-card__cover { background: #333C44; }
html .art-card__cover::before { display: none; }
html .art-card p { font-size: 15px; line-height: 1.65; }
html .art-featured__cover { background: #333C44; }
html .art-featured__cover svg { opacity: .15; }
html .art-featured__body { background: #272F34; }
html .page--home .magazine { display: block; border-top: 1px solid #566671; }
html .page--home .magazine .art-card { display: grid; grid-template-columns: 165px minmax(0,1fr); gap: 12px 30px; padding: 26px 22px; border: 0; border-bottom: 1px solid #45535E; background: transparent; }
html .page--home .magazine .art-card:hover { background: #2D373F; }
html .page--home .magazine .art-card__meta { grid-column: 1; grid-row: 1 / 4; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 2px; padding-top: 4px; }
html .page--home .magazine .art-card__meta span:nth-child(2) { display: none; }
html .page--home .magazine :is(h3,p,.tags) { grid-column: 2; }
html .page--home .magazine h3 { font-size: 23px; line-height: 1.35; }
html .page--home .magazine .tags { margin-top: 4px; }
/* CTA layout is shared by all templates in style.css, including narrow articles. */

/* Forms, contact brief, shared tools and reading surfaces. */
html :is(.brand-card,.info-card,.value-card,.contact-card,.form,.faq__item,.brief-studio,.brief-review,.brief-facts,.tools-hero__panel,.tool-card) { background: #272F34; border-color: #44515B; border-radius: 2px; box-shadow: none; backdrop-filter: none; }
html :is(.brand-card--accent,.contact-hero__panel,.brief-studio__head,.brief-chat__head,.brief-card,.brief-chat,.brief-submit,.brief-review__head,.brief-review__body,.brief-facts__item) { background: #272F34; color: var(--text); border-color: #44515B; border-radius: 2px; box-shadow: none; }
html .brand-card::before, html .brand-card::after { display: none; }
html .brand-card--accent p { color: var(--text-soft); }
html :is(.brief-status,.brief-chat__form,.brief-chat__bubble,.brief-review__field,.brief-facts__list li) { background: #333C44; color: var(--text); border-color: #52616C; border-radius: 2px; box-shadow: none; }
html .brief-success { background: #293B36; color: #C6D8D0; border-color: #567B6D; border-radius: 2px; }
html :is(.form,.brief-studio,.brief-review) :is(input,textarea,select) { background: #1E262C; color: var(--text); border-color: #56656F; border-radius: 2px; }
html :is(.article__body,.prose) { color: var(--text-soft); }
html :is(.article__body,.prose) :is(h2,h3,h4) { color: var(--text); }
html :is(.article__body,.prose) code { background: #333C44; color: #C6D5E0; }
html :is(.article__body,.prose) pre { background: #192127; color: #C6D5E0; border-color: #44515B; }
html .tool-card__icon { color: #B8C6D1; background: #333C44; border-radius: 2px; }
html .tool-card:hover { transform: none; box-shadow: none; }
html .tool-card::before { display: none; }
html .chat-status { background: #91A7AF; box-shadow: none; }

/* Product pages keep their content and genuine software screenshots. */
html .page--cowork, html .page--cowork-guide {
    --cw-dark: #1E262C; --cw-panel: #272F34; --cw-panel-2: #333C44;
    --cw-cream: #CCD3D9; --cw-dim: #AAB7C1; --cw-orange: #B8C6D1;
    --cw-orange-deep: #D5E0E8; --cw-olive: #94AFAA;
}
html :is(.cw-hero,.cw-download,.cw-home-product,.cw-guide-hero) { background: #1E262C; }
html .cw-hero { padding: 34px 0 64px; }
html .cw-hero h1 { font-size: clamp(2.2rem,3.7vw,3.4rem); line-height: 1.15; letter-spacing: -.015em; color: var(--text); }
html .cw-hero h1 em { color: inherit; font-style: normal; }
html :is(.cw-guide-hero h1,.cw-download h2,.cw-home-product h2) { color: var(--text); }
html :is(.cw-language,.cw-guide-hero p,.cw-hero__lead) { color: var(--text-soft); }
html :is(.cw-language a,.cw-guide-meta span,.cw-tag,.cw-chip) { border-radius: 2px; color: var(--text-soft); }
html :is(.cw-guide-callout--warning,.cw-guide-callout--secure) { background: #303B40; }
html .cw-guide-content code { background: #333C44; color: #C6D5E0; border-radius: 2px; }
html .cw-guide-content pre { background: #192127; color: #C6D5E0; border-color: #44515B; border-radius: 2px; }
html .cw-guide-content pre code { background: none; }

/* Remaining legacy accents in the contact, research and tool templates. */
html .contact-primary { background: #1E262C; border: 1px solid #485762; }
html .contact-primary__number { color: var(--text); font-weight: 300; }
html .contact-primary__label { color: var(--text-muted); }
html .contact-primary__status { border-radius: 2px; }
html .contact-primary__dot { background: #91A7AF; box-shadow: none; }
html .contact-tile__icon { border-radius: 2px; }
html .contact-tile:hover { transform: none; box-shadow: none; }
html .contact-intake__points span, html .brief-facts__chip { background: #333C44; border-radius: 2px; }
html .brief-chat__form:focus-within { box-shadow: none; }
html .brief-chat__form .btn { border-radius: 2px; }
html .brief-chat__form textarea { background: transparent; }
html .brief-studio__stage { padding: 5px 9px; border: 1px solid var(--line); line-height: 1.4; }
html .brief-facts__chip { overflow-wrap: anywhere; max-width: 100%; }
html .brief-review__head h3 { font-size: 20px; line-height: 1.35; }
html .brief-success > div:last-child { min-width: 0; }
html :is(.art-featured__badge,.blk-hero-features__icon) { border-radius: 2px; }
html .brief-studio__stage { background: var(--bg-soft); border-color: var(--line); border-radius: 2px; color: var(--text-soft); font-size: 12px; letter-spacing: 0; text-transform: none; }
html .contacts-hero__art { filter: grayscale(1); opacity: .5; }
html :is(.blk-hero-features li,.blk-card,.blk-card__icon,.blk-stats,.blk-table-wrap,.blk-figure,.blk-faq__item) { border-radius: 2px; }
html .blk-card:hover, html .blk-hero-features li:hover { transform: none; box-shadow: none; }
html .blk-card::after { display: none; }
html .blk-card:hover .blk-card__icon { background: #445560; color: #D3E0EA; }
html .blk-prose a { border-bottom-color: #7C939F; }
html .blk-prose ol li::before, html .blk-step__num { font-family: Consolas, monospace; font-style: normal; }
html .blk-callout--success .blk-callout__icon { color: #A0B9AF; }
html .tool-card__visual { background: #1E262C; }
html .tool-preview { background: #272F34; border-color: #4B5B68; border-radius: 2px; box-shadow: none; }
html .tool-card__checks span { border-radius: 2px; }
html .design-warning { color: var(--d-text, var(--text)); }
html .tool-card--featured h3 { font-size: clamp(1.8rem,3vw,2.6rem); line-height: 1.2; }
html :is(.cw-proof,.cw-real-ui,.cw-compare,.cw-scenario-grid article,.cw-download__panel) { background: #272F34; border-color: #45545F; color: var(--text); box-shadow: none; }
html .cw-download__panel { border-radius: 2px; }
html .cw-download__panel::after, html .cw-control::before { display: none; }
html :is(.cw-proof__grid strong,.cw-compare h3,.cw-checkpoint strong,.cw-provider--local h3,.cw-release dd) { color: var(--text); font-weight: 400; }
html :is(.cw-proof__grid span,.cw-compare > p,.cw-compare small,.cw-hero__facts,.cw-control__head > p,.cw-modes p,.cw-checkpoint p,.cw-provider--local p,.cw-provider--local li,.cw-download__copy > p,.cw-release dt,.cw-version-control span) { color: var(--text-soft); }
html :is(.cw-version-control strong,.cw-release code) { color: #B5C9CA; }
html .cw-compare__points li { color: var(--text-soft); border-color: #52636F; border-radius: 2px; font-size: 13px; }
html .cw-modes article.is-active { background: #333C44; border-color: #758D9C; }
html .cw-checkpoint { background: #2C3B3D; border-color: #577370; }
html .cw-checkpoint__icon { color: #B3CDCA; border-color: #718E8B; }
html .cw-feature-card:hover { transform: none; box-shadow: none; }
html .cw-feature-card__code { border-radius: 2px; font-size: 12px; color: #C0D0DC; }
html .cw-provider li { border-radius: 2px; font-size: 13px; }
html :is(.cw-screenshot,.cw-hero-shot) { border-radius: 2px; border-color: #4E606D; box-shadow: none; }
html :is(.cw-screenshot figcaption,.cw-hero-shot figcaption) { background: #333C44; color: var(--text-soft); font-size: 12px; }
html .cw-product-mark > i { background: #617885; box-shadow: none; border-radius: 2px; }
html .cw-release dt { font-size: 12px; }
html .cw-copy { font-size: 12px; border-radius: 2px; color: var(--text); }
html .cw-guide-meta span { font-size: 13px; }

/* Complete tool surfaces, including empty and generated result states.
   User-rendered DESIGN.md themes and actual PDF paper remain self-contained. */
html :is(.design-file-card,.design-panel,.design-preview,.mcp-drop-card,.mcp-input-panel,.mcp-scanbox,.mcp-report,.md-pdf-panel,.md-pdf-preview) {
    background: var(--bg-card); color: var(--text); border-color: var(--line);
    border-radius: 2px; box-shadow: none; backdrop-filter: none;
}
html :is(.design-panel__head,.mcp-input-panel__head,.mcp-scanbox__head,.md-pdf-panel__head,.md-pdf-preview__bar) {
    background: var(--bg-card); color: var(--text); border-color: var(--line);
}
html :is(.design-dropzone,.mcp-dropzone,.md-pdf-dropzone),
html .mcp-scanbox .mcp-dropzone {
    position: relative; background: var(--bg); border-color: #687C8B;
    border-radius: 2px; box-shadow: none; transform: none;
    transition: background .16s, border-color .16s;
}
html :is(.design-dropzone,.mcp-dropzone,.md-pdf-dropzone):hover,
html :is(.design-dropzone,.mcp-dropzone,.md-pdf-dropzone).is-dragover {
    background: #2E3A43; border-color: #B8C6D1; box-shadow: none; transform: none;
}
html :is(.design-dropzone__icon,.mcp-dropzone__icon,.md-pdf-dropzone__icon),
html .mcp-scanbox .mcp-dropzone__icon,
html :is(.design-empty__mark,.mcp-empty__mark,.md-pdf-empty__mark) {
    background: #333C44; color: #C5D2DB; border: 1px solid #4D606D;
    border-radius: 2px; box-shadow: none; font-family: var(--font-sans); font-weight: 400;
}
html :is(.design-dropzone__title,.mcp-dropzone__title,.md-pdf-dropzone__title) { line-height: 1.35; }
html :is(.design-empty,.mcp-empty,.md-pdf-empty) { min-height: 310px; align-content: center; gap: 16px; padding: 32px 18px; }
html :is(.design-empty,.mcp-empty,.md-pdf-empty) > * { margin: 0; }
html :is(.design-empty,.mcp-empty,.md-pdf-empty) h2 { font-size: clamp(1.6rem,3vw,2.2rem); line-height: 1.25; color: var(--text); }
html :is(.design-empty,.mcp-empty,.md-pdf-empty) p { color: var(--text-muted); font-size: 15px; line-height: 1.65; max-width: 580px; }
html .design-preview:has(> .design-empty) { min-height: 0; }
html :is(.design-live,.d-showcase) { box-shadow: none; }
html .d-showcase__metric { background: var(--d-surface-alt); }
html .md-pdf-paper:has(> .md-pdf-empty) { min-height: 0; margin: 0 auto; padding: 24px; background: transparent; border: 0; border-radius: 0; box-shadow: none; color: var(--text); }
html .md-pdf-document:not(:has(> .md-pdf-empty)) { --text: #181715; --text-soft: #383C40; --text-muted: #59616A; color-scheme: light; }
html .md-pdf-document:not(:has(> .md-pdf-empty)) p { color: inherit; }
html :is(.mcp-scanbox__head strong,.md-pdf-panel__head strong,.md-pdf-options select) { border-radius: 2px; background: var(--bg-soft); color: var(--text); font-weight: 400; }
html #designSource, html #mcpSource, html .mcp-scanbox #mcpSource, html #mdPdfSource {
    background: var(--bg); color: var(--text); border: 1px solid #687C8B;
    border-radius: 2px; box-shadow: none; font-size: 14px; line-height: 1.6;
}
html :is(.mcp-stat,.mcp-finding,.mcp-rec,.mcp-tool,.mcp-signal,.mcp-severity,.mcp-chip,.mcp-tag,.mcp-score__meter,.mcp-code-snippet) { border-radius: 2px; box-shadow: none; }
html .mcp-score__meter { background: var(--bg-soft); border-color: #576C7B; }
html :is(.mcp-score__meter-label,.mcp-score__meter-value span,.mcp-score__scale) { color: var(--text-muted); }
html .mcp-score__track { background: #1E262C; border-radius: 0; }
html .mcp-score__track i { border-radius: 0; box-shadow: none; }
html .mcp-code-snippet { background: var(--bg); color: var(--text); }
html :is(.mcp-severity,.mcp-chip,.mcp-tag) { font-size: 12px; }

/* Remove remaining inverted text, button glow and decorative card accents. */
html .brand-card--accent { background: var(--bg-soft); border-color: #667D8D; }
html .brand-card--accent h3, html .brand-card--accent h3 a { color: var(--text); }
html :is(.tool-card--mcp,.tool-card--pdf) .tool-card__visual { background: var(--bg); }
html :is(.tool-risk-preview,.tool-risk-preview__score) { background: var(--bg-card); border: 1px solid var(--line-strong); border-radius: 2px; box-shadow: none; }
html :is(.tool-risk-preview__shield,.tool-pdf-preview__arrow,.tool-preview__button) { background: var(--bg-soft); color: var(--text); border-radius: 2px; box-shadow: none; }
html .tool-pdf-preview__page { background: #E1E3E6; color: #1E262C; border-radius: 2px; box-shadow: none; transform: none; }
html .tool-pdf-preview__page span { background: #CCD3D9; color: #273A48; border-radius: 2px; }
html .tool-pdf-preview__page i { background: #A8B4BE; border-radius: 0; }
html .tool-preview__swatches i { border-radius: 0; }
html .tool-preview__swatches i:nth-child(1) { background: #AABBC7; }
html .tool-preview__swatches i:nth-child(2) { background: #788E9C; }
html .tool-preview__swatches i:nth-child(3) { background: #4A5D6B; }
html .tool-preview__swatches i:nth-child(4) { background: #333C44; }
html .cw-product-mark__icon { background: #6F8898; box-shadow: none; border-radius: 2px; transform: none; }
html .cw-product-mark small { border-radius: 2px; }
html .art-card__num { color: var(--text-muted); }
html :is(.svc-cat__icon,.svc-card__icon,.blk-related__icon) { border-radius: 2px; }
html :is(.svc-card,.blk-related__item):hover { transform: none; box-shadow: none; }
html .faq__item[open] { border-color: var(--line-strong); box-shadow: none; }
html .tool-risk-preview__score :is(span,small) { color: var(--text-muted); }
html .tool-risk-preview__score strong { color: var(--text); }
html .tool-risk-preview__score i { border-radius: 0; box-shadow: none; }
html .tool-risk-preview__rows span { background: var(--bg-soft); color: var(--text-soft); border-color: var(--line); border-radius: 2px; }
html .tool-risk-preview__rows span::after { border-radius: 0; }
html .alert--ok { background: #283C36; border-color: #648A78; color: #BDD9C8; }
html .alert--err { background: #402F33; border-color: #956970; color: #E7BDC4; }

/* Shared focus contract, including fields in stylesheets loaded after the theme.
   Fields use their existing border; composite chat fields use only the wrapper.
   Keep these declarations authoritative so new tools cannot add a second ring. */
html :is(input,textarea,select):is(:focus,:focus-visible) {
    outline: none !important; box-shadow: none !important;
    border-color: #C4D4E0 !important;
}
html :is(.demo-chat__form,.brief-chat__form):focus-within {
    border-color: var(--line-strong) !important; box-shadow: none !important; outline: none !important;
}
html :is(.demo-chat__form,.brief-chat__form):has(:is(input,textarea):focus) { border-color: #C4D4E0 !important; }
html :is(.demo-chat__form,.brief-chat__form) :is(input,textarea):focus {
    border: 0 !important;
}
html :is(.design-dropzone,.mcp-dropzone,.md-pdf-dropzone):has(input:focus-visible) {
    border-color: #C4D4E0; border-style: solid; outline: none !important; box-shadow: none !important;
}
html input:is([type="checkbox"],[type="radio"]):focus-visible { outline: 2px solid #C4D4E0 !important; outline-offset: -2px !important; }
html .topic-chip input:focus-visible { outline: none !important; }
html .topic-chip input:focus-visible + span { border-color: #C4D4E0; outline: none; box-shadow: none; }

@media (max-width: 1100px) {
    html .page--home .hero__inner { gap: 34px; }
    html .hero__title { font-size: 48px; }
    html .hero__cta .btn { padding-inline: 15px; }
    html .hero__bullets { gap: 10px 16px; }
    html .company-proof__grid { gap: 32px; }
    html .cw-home-product__grid { gap: 32px; }
    .solution-row { grid-template-columns: 30px minmax(190px,.9fr) minmax(0,1.4fr) 20px; gap: 18px; }
}
@media (max-width: 1180px) {
    html .site-header__inner { height: 72px; gap: 16px; }
    html .site-header .site-nav, html .site-header__cta { display: none; }
    html .site-header .nav-toggle { display: inline-flex; position: relative; z-index: 125; }
    html .site-header.is-menu-open { position: sticky; top: 0; z-index: 120; }
    html .site-header.is-menu-open .site-nav {
        display: flex; position: fixed; inset: 72px 0 0; min-height: 0; height: auto;
        flex-direction: column; align-items: stretch; gap: 0; margin: 0;
        padding: 16px max(24px, calc((100vw - 850px) / 2)) calc(124px + env(safe-area-inset-bottom));
        background: #272F34; border-top: 1px solid #46545E; z-index: 110;
        overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; touch-action: pan-y; animation: none;
    }
    html .site-header.is-menu-open .site-nav a {
        flex: 0 0 auto; height: auto; min-height: 64px; padding: 16px 16px;
        border: 0; border-bottom: 1px solid #3D4A54; border-radius: 0;
        font-size: 21px; font-weight: 400; color: #BECBD5;
    }
    html .site-header.is-menu-open .site-nav a.is-active { background: #333F48; color: #E1E8ED; }
    html .site-header.is-menu-open .site-nav a:hover { background: #333F48; }
    html .site-header.is-menu-open .site-nav a::after { display: none; }
    html .site-header.is-menu-open .site-nav a.is-active::after { display: block; inset: 16px auto 16px 0; width: 2px; height: auto; }
    html .site-header.is-menu-open .site-nav::after { display: none; }
    html .site-header.is-menu-open .site-nav__arrow { display: inline; color: #92A8B7; font-size: 20px; margin-left: 20px; }
    html .site-header.is-menu-open .site-header__cta {
        display: flex; position: fixed; inset: auto 0 0; z-index: 115;
        padding: 20px max(24px, calc((100vw - 850px) / 2)) calc(20px + env(safe-area-inset-bottom));
        background: #272F34; border: 0; border-top: 1px solid #46545E;
    }
    html .site-header.is-menu-open .site-header__cta .btn { width: 100%; min-height: 48px; padding: 13px 18px; justify-content: space-between; font-size: 16px; }
    html:has(body.has-open-menu), body.has-open-menu { overflow: hidden; overscroll-behavior: none; }
    body.has-open-menu { touch-action: none; }
    body.has-open-menu .site-main { pointer-events: none; }
    body.has-open-menu .chat-widget { visibility: hidden; pointer-events: none; }
}
@media (max-width: 380px) {
    html .site-header .brand__mark { width: 34px; height: 36px; }
    html .site-header .brand { gap: 9px; }
    html .site-header .brand__name { font-size: 20px; }
    .site-header__descriptor { font-size: 10px; }
    html .nav-toggle { padding: 0 10px; }
    .nav-toggle__label { display: none; }
}
@media (max-width: 850px) {
    html .page--home .hero__inner { grid-template-columns: 1fr; gap: 36px; }
    html .hero__copy { max-width: 650px; }
    html .hero__title { font-size: clamp(2.3rem,6.6vw,3.3rem); }
    html .hero__lead { max-width: 650px; }
    html .hero__demo { max-width: 650px; }
    html .demo-chat { min-height: 350px; }
    html .demo-chat__log { min-height: 165px; }
    html .company-proof__grid, html .cw-home-product__grid { grid-template-columns: 1fr; gap: 34px; }
    html .company-proof__story { max-width: 100%; }
    html .section__head--split { flex-direction: column; align-items: flex-start; gap: 10px; }
    html .section__head--split > p { max-width: 650px; }
    html .cw-home-product__visual { max-width: 750px; }
    .solution-row { grid-template-columns: 28px minmax(0,1fr) 20px; gap: 8px 16px; padding: 22px 16px; }
    .solution-row__number { grid-column: 1; grid-row: 1 / 3; }
    .solution-row__name { grid-column: 2; }
    .solution-row p { grid-column: 2; }
    .solution-row__arrow { grid-column: 3; grid-row: 1; }
}
@media (max-width: 760px) {
    html .section { padding-block: 48px; }
    html .hero { padding-block: 38px 42px; }
    html .hero__badge { font-size: 13px; margin-bottom: 23px; }
    html .hero__lead { font-size: 16px; }
    html .hero__title .stroke { white-space: normal; }
    html .hero__bullets { font-size: 13px; }
    html .section__head { margin-bottom: 24px; }
    html .timeline--continued { margin-top: 24px; }
    html .timeline__step { padding-top: 18px; }
    html .case__body { gap: 24px; }
    html .case__metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
    html .case__metric strong { font-size: 30px; }
    html .manifesto__quote { font-size: 26px; }
    html .art-card--feature h3 { font-size: 25px; }
    html .page--home .magazine .art-card { grid-template-columns: minmax(0,1fr); padding: 22px 4px; gap: 12px; }
    html .page--home .magazine .art-card__meta { grid-column: 1; grid-row: auto; flex-direction: row; flex-wrap: wrap; gap: 12px; padding-top: 0; }
    html .page--home .magazine :is(h3,p,.tags) { grid-column: 1; }
    html .page--home .magazine h3 { font-size: 21px; }
    html .cw-home-product h2 { font-size: 34px; }
    html .company-proof__card { padding: 22px; }
    html .company-proof__facts > div { padding: 17px 14px; min-height: 88px; }
    .model-strip__inner { gap: 6px 16px; padding-block: 16px; }
    .model-strip__label { flex-basis: 100%; margin-bottom: 4px; }
    .model-strip__item { font-size: 12px; }
}
@media (max-width: 420px) {
    html .container { padding-inline: 20px; }
    html .brand__name { font-size: 20px; }
    html .hero__title { font-size: 37px; }
    html .hero__cta { gap: 10px; }
    html .hero__cta .btn { width: 100%; }
    html .demo-chat__head { gap: 8px; padding: 15px; }
    html .demo-chat__head .muted { font-size: 12px; }
    html .demo-chat__log { padding: 18px 14px; }
    html .demo-chat__form { margin-inline: 14px; }
    html .demo-chat__hints { margin-inline: 14px; }
    html .demo-chat__hints .chip { font-size: 12px; padding-inline: 8px; min-height: 36px; }
    html .msg__bubble { max-width: 100%; }
    html .solution-row h3 { font-size: 20px; }
    .solution-row { padding-inline: 12px; gap: 10px; }
    html .big-metric { padding: 22px 16px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
