/* Marketing compositions; shared tokens remain in main.css. */
.marketing { --wrap-max:1280px; --section-pad:clamp(56px,7vw,88px); }
.marketing [hidden] { display:none!important; }
.marketing main { overflow:clip; }
.marketing section[id] { scroll-margin-top:92px; }
.marketing .btn { min-height:48px; }
.marketing .btn-sm { min-height:40px; }
.marketing :is(a,button,summary,input,select,textarea):focus-visible { outline:3px solid var(--primary); outline-offset:4px; }
.skip-link { position:fixed; top:8px; left:16px; z-index:1000; transform:translateY(-160%); padding:12px 20px; border-radius:var(--r-sm); background:var(--ink); color:var(--bg); }
.skip-link:focus { transform:none; }
.marketing .reveal { opacity:1; transform:none; animation:none; }
.marketing .nav-links { gap:var(--sp-6); }
.marketing .nav-links>.btn { background:var(--primary); color:var(--primary-ink); border-color:var(--primary); }
.marketing .f-about { max-width:34ch; }
.marketing footer.site { padding-top:var(--sp-14); }
.kicker { display:flex; align-items:center; gap:var(--sp-2); color:var(--primary); font-size:var(--text-sm); font-weight:600; margin-bottom:var(--sp-5); }
.kicker::before { content:''; width:7px; height:7px; border-radius:50%; background:currentColor; }
.section-label { display:block; color:var(--primary); font:500 var(--text-xs) var(--font-mono); letter-spacing:.06em; text-transform:uppercase; margin-bottom:var(--sp-4); }
.text-link { display:inline-flex; align-items:center; gap:var(--sp-2); color:var(--primary); text-decoration:none; font-weight:560; min-height:44px; }
.text-link::after { content:'↗'; font-size:var(--text-lg); transition:transform 180ms ease; }
.text-link:hover::after { transform:translate(2px,-2px); }
.section-intro { display:flex; justify-content:space-between; align-items:end; gap:var(--sp-8); margin-bottom:var(--sp-10); }
.section-intro h2 { max-width:22ch; }
.section-intro>p { max-width:40ch; color:var(--muted); }
.status-tag { display:inline-flex; align-items:center; gap:6px; font-size:var(--text-xs); font-weight:550; padding:5px 9px; border-radius:var(--r-sm); background:var(--bg-alt); color:var(--muted); line-height:1.35; }
.status-tag--success { background:var(--success-dim); color:var(--success); }
.status-tag--warning { background:var(--warning-dim); color:var(--warning); }
.status-tag--blue { background:var(--primary-dim); color:var(--primary); }
.demo-caption { color:var(--faint); font-size:var(--text-xs); line-height:1.5; }
.product-window { border:1px solid var(--line); border-radius:var(--r-xl); background:var(--surface-card); box-shadow:var(--sh-3); overflow:hidden; }
.window-top { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); padding:var(--sp-4) var(--sp-5); border-bottom:1px solid var(--line-soft); font-size:var(--text-sm); }
.window-brand { display:flex; align-items:center; gap:var(--sp-2); font-weight:600; }
.window-brand img { width:22px; height:22px; object-fit:contain; }
.window-body { padding:var(--sp-6); }
.window-label { font-size:var(--text-xs); color:var(--faint); margin-bottom:var(--sp-1); }
.demo-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-3); margin-block:var(--sp-5); }
.demo-metric { border:1px solid var(--line-soft); border-radius:var(--r-md); padding:var(--sp-3); }
.demo-metric span { display:block; font-size:var(--text-xs); color:var(--muted); }
.demo-metric strong { display:block; margin-top:var(--sp-1); font:500 clamp(16px,1.5vw,22px) var(--font-mono); letter-spacing:-.05em; }
.demo-table { width:100%; border-collapse:collapse; font-size:var(--text-sm); }
.demo-table th { font-size:var(--text-xs); font-weight:450; color:var(--faint); text-align:left; }
.demo-table :is(td,th) { padding:12px 6px; border-bottom:1px solid var(--line-soft); }
.demo-table :is(td,th):first-child { padding-left:0; }
.demo-table :is(td,th):not(:first-child) { text-align:right; white-space:nowrap; }
.demo-table td:not(:first-child) { font-family:var(--font-mono); }
.demo-table .attention-row { color:var(--warning); }
.demo-chart { width:100%; height:auto; color:var(--primary); }
.demo-chart .chart-grid { stroke:var(--line-soft); stroke-width:1; }
.demo-chart .chart-line { fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.demo-chart .chart-fill { fill:var(--primary-dim); }
.chart-labels { display:flex; justify-content:space-between; color:var(--faint); font:var(--text-xs) var(--font-mono); margin-top:var(--sp-2); }
.finding-card { padding:var(--sp-5); background:var(--surface-card); border:1px solid var(--line); border-radius:var(--r-lg); }
.finding-card h3 { font-size:var(--text-lg); line-height:1.35; margin:var(--sp-3) 0 var(--sp-2); }
.finding-card p { font-size:var(--text-sm); color:var(--muted); }
.finding-card .finding-value { font:500 var(--text-2xl) var(--font-mono); color:var(--ink); margin-block:var(--sp-4); }
.finding-card .finding-value span { font:var(--text-sm) var(--font-sans); color:var(--muted); }
.change-row { display:grid; grid-template-columns:1fr auto 1fr; gap:var(--sp-3); align-items:center; margin:var(--sp-5) 0; }
.change-cell { padding:var(--sp-4); border:1px solid var(--line-soft); border-radius:var(--r-md); }
.change-cell:last-child { background:var(--primary-dim); border-color:var(--primary-line); }
.change-cell span { display:block; font-size:var(--text-xs); color:var(--muted); margin-bottom:var(--sp-1); }
.change-cell b { font-size:var(--text-base); font-weight:550; }
.chat-question { background:var(--bg-alt); padding:var(--sp-4); border-radius:var(--r-md) var(--r-md) 4px var(--r-md); font-size:var(--text-base); max-width:90%; margin-left:auto; }
.chat-answer { display:flex; align-items:start; gap:var(--sp-3); padding-top:var(--sp-6); }
.agent-spark { display:grid; place-items:center; flex:0 0 32px; height:32px; border-radius:var(--r-sm); color:var(--primary); background:var(--primary-dim); font-size:22px; }
.chat-answer p { font-size:var(--text-base); color:var(--muted); }
.chat-answer b { display:block; color:var(--ink); margin-bottom:var(--sp-2); }
.check-line { display:flex; gap:var(--sp-2); align-items:baseline; font-size:var(--text-sm); color:var(--muted); margin-top:var(--sp-3); }
.check-line::before { content:'✓'; color:var(--success); }
.steps-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-8); }
.step-card { border-top:1px solid var(--line); padding-top:var(--sp-5); }
.step-number { display:block; font:500 var(--text-sm) var(--font-mono); color:var(--primary); margin-bottom:var(--sp-5); }
.step-card h3 { font-size:var(--text-xl); margin-bottom:var(--sp-3); }
.step-card p { color:var(--muted); font-size:var(--text-base); }
.marketing .faq-list { max-width:none; }
.faq-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:var(--sp-16); }
.faq-layout .h2 { margin-bottom:var(--sp-4); }
.faq-layout>div>p { color:var(--muted); }
.marketing .faq-item summary { min-height:64px; font-size:var(--text-md); }
.closing { margin:var(--sp-6) auto var(--sp-16); }
.closing-inner { border:1px solid var(--primary-line); border-radius:var(--r-xl); padding:clamp(32px,5vw,64px); background:linear-gradient(115deg,var(--bg-alt),var(--primary-dim)); display:flex; align-items:center; justify-content:space-between; gap:var(--sp-8); }
.closing h2 { max-width:23ch; }
.closing p { color:var(--muted); margin-top:var(--sp-4); max-width:48ch; }
.closing-actions { flex-shrink:0; display:flex; flex-direction:column; align-items:center; gap:var(--sp-3); }
.closing-actions small { font-size:var(--text-xs); color:var(--muted); }
.detail-hero { padding-block:clamp(40px,5vw,72px); }
.detail-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-14); align-items:center; }
.detail-hero .h1 { font-size:clamp(34px,3.6vw,50px); max-width:20ch; }
.detail-hero .lede { font-size:var(--text-lg); margin-top:var(--sp-5); max-width:49ch; }
.detail-hero .hero-actions { margin-top:var(--sp-6); }
.detail-hero .product-window { box-shadow:var(--sh-2); }
.detail-visual { padding:var(--sp-5); border-radius:var(--r-xl); background:var(--bg-alt); }
.detail-visual>.demo-caption { margin-top:var(--sp-4); text-align:center; }
.detail-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-5); }
.detail-card { border:1px solid var(--line-soft); border-radius:var(--r-lg); padding:var(--sp-7); background:var(--surface-card); }
.detail-card h3 { font-size:var(--text-xl); margin-bottom:var(--sp-3); }
.detail-card p { color:var(--muted); font-size:var(--text-base); }
.detail-note { padding:var(--sp-5) var(--sp-6); background:var(--bg-alt); border-left:3px solid var(--primary); border-radius:0 var(--r-md) var(--r-md) 0; color:var(--muted); margin-top:var(--sp-8); font-size:var(--text-base); }
.integration-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-5); }
.integration-card { display:flex; align-items:start; flex-direction:column; gap:var(--sp-4); padding:var(--sp-7); border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface-card); }
.integration-card>img { height:27px; width:auto; max-width:100%; object-fit:contain; object-position:left; }
.integration-card h3 { font-size:var(--text-lg); }
.integration-card p { font-size:var(--text-base); color:var(--muted); }
.integration-card .text-link { margin-top:auto; }
.contact-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:var(--sp-14); }
.contact-options { display:grid; gap:var(--sp-5); align-content:start; }
.contact-option { padding:var(--sp-6); border:1px solid var(--line); border-radius:var(--r-lg); }
.contact-option h2 { font-size:var(--text-xl); margin-bottom:var(--sp-2); }
.contact-option p { color:var(--muted); font-size:var(--text-base); }
.contact-form { background:var(--bg-alt); border-radius:var(--r-xl); padding:var(--sp-8); }
.contact-form h2 { font-size:var(--text-2xl); margin-bottom:var(--sp-3); }
.contact-form>p { color:var(--muted); font-size:var(--text-base); margin-bottom:var(--sp-6); }
.contact-form .field-input { background:var(--surface-card); width:100%; }
.contact-form label { display:block; font-size:var(--text-sm); margin:var(--sp-4) 0 var(--sp-2); }
.contact-form textarea { min-height:140px; resize:vertical; }
.contact-form .btn { margin-top:var(--sp-5); }
.contact-form .form-feedback { margin:var(--sp-4) 0 0; color:var(--primary); }
.contact-legal { font-size:var(--text-sm); color:var(--muted); margin-top:var(--sp-8); }
@media(max-width:1000px) { .detail-hero-grid{gap:var(--sp-8)} .detail-cards{gap:var(--sp-3)} .detail-card{padding:var(--sp-5)} .marketing .nav-links{gap:var(--sp-4)} }
@media(max-width:800px) { .detail-hero-grid,.faq-layout,.contact-layout{grid-template-columns:1fr;gap:var(--sp-8)} .detail-hero .h1{max-width:22ch} .detail-visual{max-width:580px;width:100%;margin-inline:auto} .section-intro{display:block} .section-intro>p{margin-top:var(--sp-5)} .integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .closing-inner{flex-direction:column;align-items:start} .closing-actions{align-items:start} .steps-grid,.detail-cards{grid-template-columns:1fr;gap:var(--sp-6)} .step-number{margin-bottom:var(--sp-3)} }
@media(max-width:480px) { .marketing .wrap{padding-inline:var(--sp-5)} .integration-grid{grid-template-columns:1fr} .window-body{padding:var(--sp-4)} .window-top{padding:var(--sp-3) var(--sp-4);flex-wrap:wrap} .demo-metrics{gap:var(--sp-2)} .demo-metric{padding:var(--sp-2)} .demo-metric strong{font-size:17px} .demo-table{font-size:var(--text-xs)} .demo-table :is(td,th){padding:12px 3px} .change-cell{padding:var(--sp-3)} .change-cell b{font-size:var(--text-sm)} .contact-form{padding:var(--sp-5)} .contact-options .text-link{overflow-wrap:anywhere} }
@media(prefers-reduced-motion:reduce) { .marketing *,.marketing *::before,.marketing *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important} }

/* Compact evidence widgets shared by the detail pages. */
.audit-check{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--line);font-size:var(--text-sm)}
.audit-check:last-child{border-bottom:0}
.monitor-alert{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-5)}
.monitor-alert b{display:block;margin:var(--sp-3) 0 var(--sp-2)}
.monitor-alert p{color:var(--muted);font-size:var(--text-sm)}

.detail-hero--simple{padding-block:var(--sp-10) var(--sp-8)}
.detail-hero--simple .h1{max-width:26ch;font-size:clamp(34px,3.4vw,46px)}
.detail-hero--simple .lede{max-width:66ch;font-size:var(--text-lg)}
.detail-hero--simple+.band{padding-top:var(--sp-8)}
@media(max-width:480px){.detail-hero--simple .lede{font-size:var(--text-md)}}

/* Allow nested product cards and legal links to shrink on small phones. */
.marketing .footer-legal{flex-wrap:wrap;row-gap:var(--sp-2)}
.detail-hero-grid>*,.trust-panel>*,.walk-panel-grid>*,.chat-answer>*,.change-row>*{min-width:0}
@media(max-width:800px){.detail-hero-grid,.trust-panel,.walk-panel-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.change-row{grid-template-columns:minmax(0,1fr);gap:var(--sp-2)}.change-row>span{text-align:center;transform:rotate(90deg)}.change-cell b{font-size:var(--text-base)}}
