/* SPQR October 2026 tune-up. Extends the supplied visual system. */
:root { --tune-focus:#a53f2e; }
html { scroll-padding-top:110px; }
body { overflow-x:clip; }
.site-header { background:rgba(244,241,233,.97); border-bottom:1px solid var(--line); }
.nav-inner { gap:18px; }
.brand-word { font-size:15px; white-space:nowrap; }
.nav-links { gap:19px; }
.nav-links > a { white-space:nowrap; }
.nav-links a[aria-current="page"] { color:var(--seal); text-decoration:underline; text-underline-offset:6px; }
.nav-cta { padding-inline:17px; font-size:12px; }
:focus-visible { outline:3px solid var(--seal); outline-offset:5px; }
.tune-breadcrumb { position:relative; top:95px; display:flex; flex-wrap:wrap; gap:9px; font-size:12px; color:var(--slate); z-index:2; }
.tune-breadcrumb a { text-underline-offset:4px; }
.tune-page-hero { padding:155px 0 62px; }
.tune-page-hero h1 { font-size:clamp(43px,6.1vw,84px); max-width:1040px; }
.tune-page-hero .hero-lede { max-width:820px; }
.tune-section .section-header { margin-bottom:30px; }
.tune-intro { max-width:850px; font-size:19px; line-height:1.65; color:var(--slate); margin-bottom:30px; }
.tune-grid { display:grid; gap:20px; }
.tune-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.tune-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tune-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.tune-card { padding:28px; border:1px solid var(--line); border-radius:20px; background:var(--surface); min-width:0; }
.tune-card h3 { font-size:29px; line-height:1.12; margin:0 0 17px; }
.tune-card p { color:var(--slate); font-size:15px; line-height:1.7; margin-bottom:18px; }
.tune-card p:last-child { margin-bottom:0; }
.tune-card .button { font-size:13px; line-height:1.3; text-align:center; }
.tune-index { display:block; color:var(--seal); font-family:var(--mono); font-size:12px; font-weight:700; margin-bottom:26px; }
.tune-link { font-size:14px; font-weight:650; color:var(--seal); text-underline-offset:5px; }
.tune-link::after { content:' ↗'; }
.tune-note { color:var(--slate); font-size:13px; line-height:1.65; margin:24px 0 0; max-width:930px; }
.tune-note a,.tune-callout a { text-underline-offset:4px; }
.tune-note + .button { margin-top:22px; }
.tune-callout { background:var(--paper-deep); border-left:4px solid var(--seal); border-radius:0 16px 16px 0; padding:25px 30px; margin-top:26px; }
.tune-callout h3 { font-size:29px; margin-bottom:12px; }
.tune-callout p { color:var(--slate); max-width:970px; margin-bottom:12px; }
.tune-callout p:last-child { margin-bottom:0; }
.tune-faq { display:grid; gap:12px; max-width:980px; }
.tune-faq details { border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.tune-faq summary { cursor:pointer; font-size:18px; font-weight:650; padding:22px; }
.tune-faq details > div { padding:0 22px 16px; color:var(--slate); }
.tune-faq details p { margin-bottom:8px; }
.tune-faq details[open] { border-color:var(--seal); }
.tune-evidence-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.tune-evidence-grid .eyebrow { font-size:10px; line-height:1.5; }
.tune-evidence-grid h3 { font-size:26px; }
.tune-stat { font-family:var(--serif); font-size:clamp(48px,5.2vw,74px); line-height:1.2; color:var(--ink); margin:4px 0 22px; letter-spacing:-.04em; }
.tune-stat small { font-family:var(--sans); font-size:22px; color:var(--slate); letter-spacing:0; white-space:nowrap; }
.tune-boundary { background:var(--ink); color:#fff; border-radius:24px; padding:28px; }
.boundary-top { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-family:var(--mono); font-size:11px; color:#ccd3df; margin-bottom:26px; }
.tune-flow { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.tune-flow li { border:1px solid rgba(255,255,255,.24); border-radius:12px; padding:18px 14px; position:relative; }
.tune-flow li:not(:last-child)::after { content:'→'; position:absolute; right:-16px; top:40%; color:#ddd; }
.tune-flow li.focus { border-color:#c4a45f; background:rgba(196,164,95,.12); }
.tune-flow b { display:block; font:10px/1.6 var(--mono); color:#e4d2a7; margin-bottom:15px; }
.tune-flow strong { display:block; font-size:17px; line-height:1.3; margin-bottom:12px; }
.tune-flow span { display:block; font-size:12px; line-height:1.6; color:#c8d0dc; }
.tune-boundary .tune-note { color:#c8d0dc; }
.tune-code { margin-top:28px; border-radius:18px; background:var(--ink); color:#e2e8f0; padding:24px; }
.tune-code pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.8; margin:0; }
.tune-example-label { font:10px/1.6 var(--mono); letter-spacing:.04em; color:var(--slate); padding-bottom:12px; }
.tune-code .tune-example-label { color:#e4d2a7; }
.tune-table-wrap { overflow:auto; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.tune-table-wrap table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:15px; }
.tune-table-wrap caption { text-align:left; padding:17px 22px; color:var(--slate); font-size:13px; }
.tune-table-wrap th { text-align:left; background:var(--ink); color:white; font-weight:600; }
.tune-table-wrap th,.tune-table-wrap td { padding:19px 22px; vertical-align:top; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.tune-assurance { margin-top:25px; padding:22px; border:1px solid var(--line); border-radius:14px; display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.tune-assurance strong { font-size:14px; }
.tune-assurance a { font-size:13px; color:var(--seal); text-underline-offset:5px; }
.tune-steps { counter-reset:steps; list-style:none; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.tune-steps li { counter-increment:steps; border:1px solid var(--line); border-radius:18px; padding:28px; background:var(--surface); }
.tune-steps li::before { content:'0' counter(steps); font:12px var(--mono); color:var(--seal); display:block; margin-bottom:20px; }
.tune-steps h3 { font-size:29px; }
.tune-steps p { color:var(--slate); margin-bottom:0; }
.tune-resource-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.tune-resource-list article { padding:26px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.tune-resource-list h3 { font-size:25px; }
.tune-resource-list h3 a { text-decoration:none; }
.tune-resource-list p { color:var(--slate); font-size:14px; }
.tune-embed { padding:26px; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.tune-embed button { cursor:pointer; margin:0 14px 18px 0; font-family:inherit; }
.tune-embed iframe { width:100%; height:760px; border:1px solid var(--line); border-radius:14px; display:block; margin-top:22px; background:white; }
.footer-links { flex-wrap:wrap; }
.tune-text-button { font:inherit; border:0; background:transparent; color:inherit; cursor:pointer; padding:0; text-align:left; text-decoration:underline; text-underline-offset:4px; }
.tune-privacy-panel { position:fixed; bottom:18px; right:18px; width:min(460px,calc(100% - 36px)); background:var(--surface); color:var(--ink); border:1px solid var(--line); border-radius:18px; box-shadow:0 12px 45px rgba(0,0,0,.18); z-index:160; padding:22px; }
.tune-privacy-panel h2 { font-family:var(--sans); font-size:18px; letter-spacing:0; line-height:1.3; margin-bottom:10px; }
.tune-privacy-panel p { font-size:13px; line-height:1.5; color:var(--slate); margin-bottom:15px; }
.tune-privacy-actions { display:flex; gap:9px; flex-wrap:wrap; }
.tune-privacy-actions button { font:600 12px var(--sans); padding:11px 14px; border:1px solid var(--ink); border-radius:10px; background:var(--ink); color:white; cursor:pointer; min-height:42px; }
.tune-privacy-actions button[data-consent="no"] { background:transparent; color:var(--ink); }
[hidden] { display:none!important; }
.hero h1 { font-size:clamp(48px,6.9vw,90px); }
.page-company .company-v3-hero h1,.company-v3-hero h1 { font-size:clamp(46px,6.5vw,88px); }
.research-v3-hero h1 { font-size:clamp(46px,6.2vw,82px); }
.platform-hero h1 { font-size:clamp(46px,6.3vw,88px); }
.hero-panel .tune-note,.runtime-panel .tune-note,.runtime-card .tune-note { color:#d0d6e1; }
.section-dark .tune-example-label { color:#d6dce7; }
@media(max-width:1100px) {
 .nav-links { gap:12px; }.brand-word { font-size:13px; }.nav-cta { font-size:11px; padding-inline:12px; }
 .tune-grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tune-flow { grid-template-columns:1fr;gap:18px; }
 .tune-flow li:not(:last-child)::after { content:'↓';right:50%;top:auto;bottom:-21px; }
 .tune-flow li { display:grid; grid-template-columns:170px 1fr 1fr; gap:15px; align-items:center; }
 .tune-flow b,.tune-flow strong { margin:0; }
}
@media(max-width:960px) {
 .menu-button {display:flex;}
 .nav-links {display:none;position:fixed;top:74px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 74px);overflow:auto;border-bottom:1px solid var(--line);}
 .nav-links.open {display:flex;}
 .nav-links > a {padding:14px 10px;white-space:normal;}
 .nav-links .nav-cta {margin-top:10px;}
 .tune-grid.three,.tune-evidence-grid {grid-template-columns:1fr;}
 .tune-stat {font-size:62px;}
}
@media(min-width:961px) { .menu-button {display:none;} }
@media(max-width:650px) {
 .wrap {width:calc(100% - 36px);}
 .tune-page-hero {padding-top:135px;}
 .tune-page-hero h1 {font-size:45px;}
 .tune-grid.two,.tune-grid.four,.tune-steps,.tune-resource-list {grid-template-columns:1fr;}
 .tune-card {padding:24px;}
 .tune-intro {font-size:17px;}
 .tune-flow li {display:block;}
 .tune-flow b {margin-bottom:10px;}.tune-flow strong{margin-bottom:10px;}
 .tune-table-wrap th,.tune-table-wrap td {padding:13px 10px;font-size:12px;}
 .tune-callout {padding:22px;}
 .tune-embed {padding:18px;}.tune-embed .button {width:100%;margin-right:0;}
 .tune-embed iframe {height:600px;}
 .hero-actions {flex-wrap:wrap;}.hero-actions .button{line-height:1.3;text-align:center;}
 .tune-breadcrumb {font-size:11px;top:88px;}
 .footer-links {gap:13px;}.footer-links a {font-size:13px;}
}
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto;} *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;} }
@media print { .site-header,.tune-privacy-panel,footer,.tune-breadcrumb{display:none!important;} .section,.tune-page-hero{padding:25px 0!important;} .tune-grid,.tune-evidence-grid{display:block;} .tune-card{break-inside:avoid;margin:12px 0;} h1{font-size:36px!important;} h2{font-size:27px!important;} .tune-boundary{background:white!important;color:black!important;} .tune-flow span,.tune-flow b,.tune-boundary .tune-note{color:black!important;} }
/* Fit long page headlines to the retained two-column design. */
.platform-hero h1 { font-size:clamp(43px,5.1vw,70px); line-height:1.02; }
.research-v3-hero h1 { font-size:clamp(43px,5.1vw,70px); line-height:1.02; }
.product-shell .tune-example-label { color:#d0d6e1; }
.tune-privacy-panel[hidden] { display:none!important; }
.page-brief .tune-card h2 { font-size:30px; }
@media print {
 @page { size:A4; margin:12mm; }
 .page-brief .tune-page-hero { padding:0 0 10px!important; }
 .page-brief .tune-page-hero h1 { font-size:29px!important; }
 .page-brief .tune-page-hero p { font-size:12px; margin:5px 0; }
 .page-brief .button { display:none; }
 .page-brief .section { padding:0!important; }
 .page-brief .tune-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
 .page-brief .tune-card { padding:12px;margin:0; }
 .page-brief .tune-card h2 { font-size:19px!important; margin-bottom:8px; }
 .page-brief .tune-card p {font-size:10px;line-height:1.5;margin-bottom:7px;}
 .page-brief .tune-note {font-size:9px;margin-top:12px;}
}
