/* ECITE platform: product compositions and editorial sections */
:root { --container: 1240px; --text-muted: #95a3b9; --radius-md: 10px; --radius-lg: 14px; }
body { background: var(--bg-deep); background-attachment: scroll; }
.container { width: min(100% - 4rem, var(--container)); }
.section { padding: clamp(4rem, 7vw, 6.5rem) 0; }
.section-alt { background: #0c1420; }
.section-title { font-size: clamp(2rem, 3.2vw, 2.9rem); max-width: 23ch; line-height: 1.18; }
.section-lead { font-size: 1.06rem; line-height: 1.8; }
.eyebrow { color: var(--accent); font-size: .71rem; letter-spacing: .15em; }
.btn { border-radius: 6px; background: var(--accent); font-size: .85rem; min-height: 3rem; }
.btn-secondary { background: transparent; }
.btn-secondary:hover { background: #182333; color: white; }
.text-link { display: inline-flex; align-items: center; gap: .7rem; font-size: .9rem; font-weight: 600; text-decoration: none; padding-block: .5rem; }
.micro-label { display: block; font-size: .65rem; font-weight: 500; letter-spacing: .11em; text-transform: uppercase; color: var(--text-muted); }
.small-tag { display: inline-block; width: fit-content; font-size: .67rem; padding: .2rem .55rem; color: #a6b6c9; background: #192532; border: 1px solid #304051; border-radius: 4px; line-height: 1.5; }
.small-tag--amber { background: #30291a; color: #efc778; border-color: #655130; margin-bottom: .8rem; }
.status-dot { display: inline-block; width: 6px; height: 6px; background: var(--teal); border-radius: 50%; flex-shrink: 0; }
.section-header--split { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; }
.section-header--split .section-title { margin-bottom: 0; }
.feature-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 5rem; }
.feature-grid > *, .section-header--split > * { min-width: 0; }
.visual-caption { color: var(--text-muted); font-size: .72rem; margin: .8rem 0 0; line-height: 1.5; }
.window-bar { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .8rem 1rem; background: #152130; border-bottom: 1px solid #2a394b; color: #b2c0d2; font-size: .65rem; letter-spacing: .04em; }
.window-dots { color: #64788d; font-size: .5rem; letter-spacing: .2em; }
.window-bar > :last-child { color: #9aafc3; font-size: .59rem; }
.site-header { height: 5rem; --header-height: 5rem; background: #070b14ed; border-bottom-color: var(--border-subtle); }
:root { --header-height: 5rem; }
.site-header .brand__text { display: none; }
.site-header .brand__logo { height: 1.85rem; }
.nav-desktop a { font-size: .8rem; padding: .6rem .55rem; }
.header-cta { font-size: .76rem; min-height: 2.6rem; padding: .5rem 1rem; }
.nav-drawer__panel { overflow-y: auto; }
.nav-drawer__links { gap: .05rem; }
.nav-drawer__links a { padding-block: .65rem; }
.nav-drawer .nav-toggle { display: inline-grid; flex-shrink: 0; }
/* Hero: real workspace, field device, shared record preview */
.hero { padding: 5rem 0 0; position: relative; background: radial-gradient(ellipse at 80% 30%, #12304280, transparent 55%); }
.hero__grid { display: grid; grid-template-columns: .95fr 1.15fr; gap: 2.5rem; align-items: center; min-height: 510px; }
.hero h1 { font: 600 clamp(2.6rem, 4.5vw, 4.1rem)/1.1 var(--font-display); letter-spacing: -.055em; margin: .35rem 0 1.5rem; }
.hero h1 span { color: #a7bbcd; }
.hero h1:focus { outline: none; }
.hero__lead { max-width: 46ch; color: var(--text-secondary); font-size: 1.07rem; line-height: 1.75; }
.hero__byline { color: var(--text-muted); font-size: .77rem; line-height: 1.7; margin: 1.6rem 0 0; }
.hero .btn-group { gap: .7rem; margin-top: 1.7rem; }
.ecosystem-preview { position: relative; padding: 2.8rem 0 5rem; min-height: 510px; }
.ecosystem-preview__label { position: absolute; top: 0; left: 0; display: flex; align-items: center; gap: .6rem; font-size: .57rem; letter-spacing: .16em; color: #91a8bc; }
.ecosystem-preview__desktop { width: 100%; border: 1px solid #425165; border-radius: 9px; overflow: hidden; box-shadow: 0 35px 70px #0007; }
.dashboard-image { width: 100%; height: auto; }
.ecosystem-preview__phone { position: absolute; width: 190px; right: -12px; top: 114px; z-index: 2; }
.ecosystem-preview__record { position: absolute; left: 1.6rem; bottom: 2rem; display: flex; gap: .85rem; align-items: center; background: #101e2b; border: 1px solid #367b83; border-left: 3px solid var(--teal); border-radius: 7px; padding: .9rem 1.1rem; box-shadow: 0 16px 36px #0007; }
.ecosystem-preview__record > svg { color: var(--teal); }
.ecosystem-preview__record strong { display: block; font: 600 1.15rem/1.5 var(--font-display); letter-spacing: .1em; }
.ecosystem-preview__record strong span { font: 500 .6rem var(--font-body); color: var(--teal); margin-left: .5rem; }
.ecosystem-preview__record small { display: block; font-size: .62rem; color: #b0c0cf; }
.ecosystem-preview > .visual-caption { position: absolute; bottom: -.1rem; left: 1.6rem; }
.capability-strip { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 3.5rem; border-top: 1px solid var(--border-subtle); }
.capability-strip a { padding: 1.65rem 1.1rem; display: flex; align-items: center; gap: .75rem; text-decoration: none; color: #c1cfdb; font-size: .8rem; }
.capability-strip a:first-child { padding-left: 0; }
.capability-strip a > svg { color: var(--accent); flex-shrink: 0; width: 18px; }
.capability-strip a > :last-child { margin-left: auto; color: #7290a4; }
.capability-strip a:hover { background: #102131; color: white; }
/* Responsive product device */
.device { position: relative; width: 280px; background: #0d1824; border: 5px solid #354556; border-radius: 32px; padding: 9px; box-shadow: 0 25px 55px #0008, inset 0 0 0 1px #05080c; text-align: left; color: #e5edf4; }
.device__status { display: flex; justify-content: space-between; align-items: center; padding: 1px 9px 12px; font-size: 9px; }
.device__speaker { width: 57px; height: 9px; border-radius: 9px; background: #020509; }
.device__brand { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #293846; padding: 6px 8px 14px; }
.device__brand img { width: 78px; height: auto; }
.device__brand > span { font-size: 8px; letter-spacing: .15em; color: #91a8b7; }
.device__body { padding: 15px 6px 0; }
.device__heading strong { display: block; font-size: 16px; font-weight: 600; margin-top: 3px; }
.device__heading .micro-label { font-size: 8px; color: #8aa0b3; }
.device__steps { display: flex; justify-content: space-between; border-bottom: 1px solid #283746; font-size: 9px; color: #a8b7c4; margin-block: 13px; }
.device__steps span { padding-bottom: 7px; }
.device__steps .active { color: var(--accent); border-bottom: 2px solid var(--accent); }
.mobile-plate { background: #152b36; border: 1px solid #355868; border-radius: 6px; padding: 12px; }
.mobile-plate > span { display: block; color: #80cec7; font-size: 8px; letter-spacing: .14em; }
.mobile-plate strong { font: 600 25px/1.8 var(--font-display); letter-spacing: .06em; display: block; }
.mobile-plate small { display: block; color: #acbeca; font-size: 9px; }
.device__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-block: 11px; }
.device__fields > div { padding: 8px; border: 1px solid #2b3b4a; border-radius: 4px; }
.device__fields span { display: block; color: #9caec1; font-size: 8px; }
.device__fields strong { font-size: 10px; font-weight: 500; }
.device__location { display: flex; gap: 8px; align-items: center; padding: 12px 2px; color: #9db1c4; }
.device__location .micro-label { font-size: 8px; }
.device__location strong { display: block; font-size: 10px; color: #d0dee8; }
.device__note { display: flex; align-items: center; gap: 6px; font-size: 9px; color: #75d6c8; border-top: 1px solid #293b47; padding-block: 12px; }
.device__action { display: flex; justify-content: space-between; padding: 10px; background: #199ac8; color: #051923; font-size: 10px; font-weight: 600; border-radius: 4px; margin-top: 6px; }
.device__draft { display: block; text-align: center; font-size: 8px; color: #9eb0c0; padding-top: 9px; }
.device__home { width: 70px; height: 3px; background: #afbfcb; border-radius: 3px; margin: 13px auto 3px; }
.device--compact { width: 100%; border-width: 4px; border-radius: 24px; padding: 7px; }
.device--compact .device__body { padding: 10px 3px 0; }
.device--compact .device__heading strong { font-size: 12px; }
.device--compact .device__steps { font-size: 7px; margin-block: 9px; }
.device--compact .mobile-plate { padding: 8px; }
.device--compact .mobile-plate strong { font-size: 21px; }
.device--compact .mobile-plate small { font-size: 8px; }
.device--compact .device__fields { gap: 4px; margin-block: 8px; }
.device--compact .device__fields > div { padding: 5px; }
.device--compact .device__fields strong { font-size: 8px; }
.device--compact .device__brand img { width: 60px; }
.device--compact .device__action { padding: 8px; font-size: 8px; }
/* Platform */
.workflow-track { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; list-style: none; padding: 0; margin: 0; border-top: 1px solid #344757; }
.workflow-track li { padding: 1.7rem 1.4rem 0 0; position: relative; }
.workflow-track li::before { content: ""; position: absolute; top: -3px; left: 0; width: 5px; height: 5px; background: var(--accent); }
.workflow-index { display: flex; justify-content: space-between; color: #8b9fb2; font: .7rem var(--font-display); }
.workflow-index svg { color: var(--accent); margin-right: 1rem; }
.workflow-track h3 { font: 500 1.15rem var(--font-display); margin: 1.3rem 0 .7rem; }
.workflow-track p { color: var(--text-secondary); font-size: .89rem; line-height: 1.7; margin: 0 0 .8rem; }
.platform-foundation { margin-top: 2.5rem; padding: 1.4rem 1.6rem; background: #101f2c; border-left: 2px solid #3fabbc; }
.platform-foundation p { font-size: .9rem; margin: .5rem 0; }
.platform-foundation p span { color: #496a7f; margin-inline: .6rem; }
.platform-foundation > span:last-child { font-size: .8rem; color: var(--text-muted); }
/* Mobile */
.mobile-stage { position: relative; padding: 4.2rem 0 2.5rem; min-height: 640px; display: grid; justify-items: center; background: radial-gradient(ellipse at 50% 40%, #17374588, transparent 65%); }
.mobile-stage__grid { position: absolute; inset: 0; border: 1px solid #203442; border-radius: 12px; background-image: linear-gradient(#19344240 1px, transparent 1px),linear-gradient(90deg,#19344240 1px,transparent 1px); background-size: 36px 36px; mask-image: linear-gradient(black, transparent); pointer-events: none; }
.mobile-stage__label { position: absolute; top: 1.2rem; left: 1.4rem; display: flex; gap: 1rem; font-size: .68rem; color: #859bac; }
.mobile-stage .device { transform: rotate(-3deg); }
.mobile-callout { display: flex; align-items: center; gap: .8rem; position: absolute; z-index: 2; padding: .9rem 1.1rem; background: #132330; border: 1px solid #355164; border-radius: 6px; box-shadow: 0 15px 30px #0005; }
.mobile-callout strong, .mobile-callout span { display: block; }
.mobile-callout strong { font-size: .76rem; font-weight: 500; }
.mobile-callout span { font-size: .63rem; color: #a9bdcc; }
.mobile-callout svg { color: var(--teal); width: 18px; }
.mobile-callout--capture { left: -5px; top: 175px; }
.mobile-callout--reuse { right: -12px; bottom: 105px; }
.mobile-stage > .visual-caption { margin-top: 2rem; }
.feature-list { list-style: none; padding: 0; margin: 1.8rem 0; }
.feature-list li { display: flex; gap: 1rem; margin-top: 1.25rem; }
.feature-list li > svg { flex-shrink: 0; color: var(--accent); margin-top: .3rem; }
.feature-list h3 { margin: 0 0 .3rem; font-size: 1rem; font-weight: 500; }
.feature-list p { margin: 0; color: var(--text-secondary); font-size: .91rem; line-height: 1.7; }
.availability-note { display: flex; gap: .8rem; background: #101c28; border: 1px solid #273b4d; padding: 1rem; border-radius: 6px; }
.availability-note > svg { color: #9fb0c2; flex-shrink: 0; margin-top: .2rem; }
.availability-note p { margin: 0; font-size: .75rem; color: #9eafc2; }
.availability-note strong { display: block; color: #d3dfe8; font-size: .76rem; font-weight: 500; margin-bottom: .4rem; }
.feature-copy > .text-link { margin-top: 1rem; }
/* Citation and crash */
.citation-workspace { display: grid; grid-template-columns: 1.9fr 1fr; border: 1px solid #31465b; border-radius: 10px; overflow: hidden; background: #0f1c2a; }
.citation-workspace__image { align-self: center; min-width: 0; }
.product-shot { margin: 0; }
.product-shot img { width: 100%; height: auto; }
.product-shot__caption { color: var(--text-muted); font-size: .75rem; }
.citation-focus { padding: 1.6rem; border-left: 1px solid #304455; }
.citation-focus h3 { font: 500 1.2rem/1.4 var(--font-display); margin: .6rem 0 1.2rem; }
.record-preview { border: 1px solid #38505f; border-radius: 6px; background: #142635; }
.record-preview__heading { display: flex; align-items: center; gap: .6rem; font-size: .78rem; padding: .85rem; background: #1e3444; color: #c1d6e5; }
.record-preview dl { margin: .65rem .85rem; }
.record-preview dl div { display: flex; justify-content: space-between; gap: .5rem; padding: .4rem 0; font-size: .73rem; }
.record-preview dt { color: #a0b8cb; }
.record-preview dd { margin: 0; }
.record-preview__footer { display: flex; align-items: center; gap: .5rem; font-size: .67rem; color: #82dccb; padding: .8rem; border-top: 1px solid #314652; }
.validation-preview { display: flex; gap: .65rem; margin-top: 1.2rem; }
.validation-preview > svg { color: var(--accent); flex-shrink: 0; }
.validation-preview strong { display: block; font-size: .76rem; font-weight: 500; }
.validation-preview span { color: #a1b4c5; font-size: .72rem; display: block; margin-top: .3rem; }
.citation-focus .text-link { font-size: .7rem; margin-top: .7rem; }
.editorial-features { display: grid; grid-template-columns: repeat(3,1fr); gap: 2.5rem; margin-top: 2rem; }
.editorial-features article { position: relative; padding: .5rem 0 0 2.1rem; }
.editorial-features article > span { position: absolute; left: 0; top: .7rem; color: #7bb9d3; font-size: .66rem; }
.editorial-features h3 { font-size: 1rem; font-weight: 500; margin: 0 0 .5rem; }
.editorial-features p { margin: 0; font-size: .89rem; line-height: 1.7; color: #a1b3c6; }
.crash-workspace { border: 1px solid #304b5c; border-radius: 10px; overflow: hidden; background: #101f2c; }
.crash-workspace__body { display: grid; grid-template-columns: 1fr 1.25fr; }
.crash-outline { padding: 2rem; }
.crash-outline h3 { font: 500 1.45rem/1.4 var(--font-display); margin: .7rem 0; }
.crash-outline ol { list-style: none; padding: 0; margin: 1.8rem 0; }
.crash-outline li { display: flex; align-items: center; gap: .75rem; font-size: .8rem; padding: .8rem; margin: .3rem -.8rem; color: #adbfce; }
.crash-outline li > span { color: #859bab; font-size: .66rem; }
.crash-outline li > svg { margin-left: auto; color: #76c7be; }
.crash-outline li.active { color: #79d7f4; border-left: 2px solid var(--accent); background: #183546; }
.crash-outline__context { display: grid; gap: .4rem; border-top: 1px solid #2a4150; padding-top: 1.2rem; font-size: .75rem; color: #a0b5c6; }
.crash-outline__context strong { font-weight: 500; color: #d3e3ed; }
.crash-map { position: relative; margin: 1rem; min-height: 470px; overflow: hidden; border: 1px solid #3b5261; border-radius: 5px; }
.crash-map img { display: block; width: 100%; height: auto; }
.crash-map__tools { display: flex; align-items: center; justify-content: space-between; gap: .7rem; position: relative; z-index: 1; padding: .85rem 1rem; font-size: .73rem; background: #142735; border-bottom: 1px solid #385365; }
.crash-map__tools > span:first-child { display: flex; gap: .6rem; align-items: center; }
.crash-map__tools > span:last-child { color: #9db4c5; font-size: .65rem; }
.crash-map figcaption { background: #10202f; padding: .65rem 1rem; font-size: .65rem; color: #afc6d6; }
/* Integrations */
.integration-note { font-size: .78rem; color: var(--text-muted); border-top: 1px solid #263847; padding-top: 1rem; }
.connection-map { padding: 1.7rem; background: #0e1b27; border: 1px solid #2f4657; border-radius: 9px; }
.connection-map__label { display: flex; gap: .7rem; color: #9fb6c7; font-size: .6rem; letter-spacing: .12em; margin-bottom: .9rem; }
.connection-map__label > span { color: #5facc4; }
.field-nodes { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; }
.field-nodes > span { padding: .8rem .4rem; display: grid; justify-items: center; gap: .6rem; background: #162a39; border: 1px solid #2b485b; border-radius: 5px; font-size: .72rem; color: #c3d6e3; }
.field-nodes svg { color: var(--accent); width: 17px; }
.connection-spine { height: 32px; width: 1px; background: #4b8799; margin: 0 auto; position: relative; }
.connection-spine::after { content: ""; width: 5px; height: 5px; border-right: 1px solid #65c4d8; border-bottom: 1px solid #65c4d8; transform: rotate(45deg); position: absolute; bottom: 4px; left: -2px; }
.connection-core { border: 1px solid #397f90; border-left: 3px solid var(--accent); padding: 1.4rem; background: #143041; text-align: center; }
.connection-core img { margin: 0 auto 1rem; width: 105px; height: auto; }
.connection-core strong { display: block; font-size: .86rem; font-weight: 500; }
.connection-core span { display: block; font-size: .68rem; color: #a2bece; margin-top: .3rem; }
.agency-nodes { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.agency-nodes span { display: flex; align-items: center; gap: .6rem; padding: .8rem; border: 1px solid #2d4556; border-radius: 4px; font-size: .75rem; }
.agency-nodes svg { color: #72c9c1; width: 16px; }
.hardware-node { display: flex; align-items: center; gap: .6rem; border-top: 1px solid #304453; margin-top: 1.2rem; padding-top: 1rem; font-size: .73rem; }
.hardware-node > svg { color: #90aebd; width: 16px; }
.hardware-node .micro-label { margin-left: auto; font-size: .52rem; }
.connection-map .visual-caption { font-size: .62rem; margin-top: 1.3rem; }
/* Company and demo */
.why-section { background: #111d29; border-block: 1px solid #293b4a; }
.why-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
.why-signature { display: flex; gap: .9rem; margin-top: 2rem; color: #d1dce5; font-size: .8rem; }
.signature-line { width: 2px; background: var(--accent); }
.why-signature strong { font-size: .72rem; font-weight: 400; color: #96aabd; }
.why-principles article { display: flex; gap: 1.3rem; border-bottom: 1px solid #2f404e; padding: 1.4rem 0; }
.why-principles article:first-child { padding-top: 0; }
.why-principles article > span { color: var(--accent); font-size: .7rem; padding-top: .2rem; }
.why-principles h3 { margin: 0 0 .6rem; font: 500 1.1rem var(--font-display); }
.why-principles p { margin: 0; color: #9fb3c5; font-size: .9rem; }
.demo-section { background: radial-gradient(ellipse at 0 35%,#15324755,transparent 50%); }
.demo-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 6rem; align-items: start; }
.demo-copy { padding-top: 1rem; }
.demo-copy .section-title { font-size: clamp(2.2rem,3.3vw,3rem); }
.demo-copy .section-title > span { color: #9bb8cc; }
.demo-agenda { list-style: none; padding: 0; margin: 2rem 0; }
.demo-agenda li { display: flex; gap: 1rem; padding-block: .7rem; font-size: .85rem; color: #bfd0de; border-bottom: 1px solid #233747; }
.demo-agenda li span { color: var(--accent); font-size: .7rem; }
.demo-contact { display: grid; gap: .4rem; }
.demo-contact a { width: fit-content; text-decoration: none; }
.demo-contact a:first-of-type { color: #ebf3f9; font-size: 1.45rem; font-family: var(--font-display); margin-top: .5rem; }
.demo-contact a:last-child { font-size: .86rem; }
.demo-form-wrap { border: 1px solid #334a5f; border-radius: 10px; background: #111e2d; overflow: hidden; }
.demo-form-heading { padding: 1.6rem 1.8rem 0; }
.demo-form-heading h3 { margin: 0 0 .5rem; font: 500 1.2rem var(--font-display); }
.demo-form-heading p { font-size: .78rem; color: #a1b5c7; margin: 0; }
.demo-form { border: 0; background: none; border-radius: 0; padding: 1.5rem 1.8rem 1.8rem; }
.form-field label { font-size: .77rem; }
.form-field input,.form-field select,.form-field textarea { border-radius: 5px; font-size: .88rem; padding: .55rem .7rem; }
.consent-field { font-size: .78rem; }
.consent-field input { flex-shrink: 0; }
.form-actions .btn { width: 100%; }
.site-footer { padding-top: 3rem; }
.site-footer .brand__logo { height: 1.9rem; }
.site-footer p, .footer-links { font-size: .85rem; }
.site-footer .brand__name { font-size: .7rem; }
.site-footer .brand__product { font-size: .6rem; }
.footer-bottom { font-size: .74rem; }
/* Content is visible without JavaScript; reveals are a progressive enhancement. */
.reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
 .reveal.is-visible { animation: reveal-in 500ms ease both; }
 @keyframes reveal-in { from { opacity: .35; transform: translateY(12px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 1100px) {
 .hero__grid { gap: 1.5rem; grid-template-columns: 1fr 1fr; }
 .ecosystem-preview__phone { width: 165px; right: 0; }
 .ecosystem-preview__record { left: 0; bottom: 2rem; padding: .75rem; }
 .ecosystem-preview__record strong { font-size: 1rem; }
 .feature-grid { gap: 3rem; }
 .why-layout,.demo-layout { gap: 3rem; }
 .mobile-callout--capture { left: -8px; top: 135px; }
 .mobile-callout--reuse { right: -5px; bottom: 65px; }
 .capability-strip a { font-size: .7rem; padding-inline: .8rem; gap: .5rem; }
 .citation-workspace { grid-template-columns: 1.4fr 1fr; }
 .citation-focus { padding: 1.2rem; }
}
@media (max-width: 979px) {
 .header-cta { display: inline-flex; margin-left: auto; }
 .hero { padding-top: 3.5rem; }
 .hero__grid { grid-template-columns: 1fr; gap: 3rem; }
 .hero__copy { max-width: 650px; }
 .hero h1 { font-size: clamp(2.8rem,6.8vw,4.5rem); }
 .desktop-break { display: none; }
 .hero__lead { max-width: 58ch; }
 .ecosystem-preview { width: 100%; max-width: 650px; margin-inline: auto; min-height: 520px; padding-right: 35px; }
 .ecosystem-preview__phone { width: 190px; right: 0; top: 110px; }
 .ecosystem-preview__record { bottom: 2.2rem; left: 1rem; }
 .ecosystem-preview > .visual-caption { bottom: 0; }
 .capability-strip { margin-top: 2rem; }
 .capability-strip a { font-size: .73rem; flex-wrap: wrap; }
 .capability-strip a > :last-child { display: none; }
 .section-header--split { gap: 2rem; }
 .feature-grid { gap: 2.5rem; }
 .mobile-stage { min-height: 640px; }
 .mobile-callout { position: relative; inset: auto; justify-self: center; margin-top: 1rem; }
 .mobile-callout--capture { display: none; }
 .mobile-stage .device { transform: none; }
 .mobile-stage__label > span:last-child { display: none; }
 .workflow-track { grid-template-columns: repeat(2,1fr); row-gap: 1.2rem; }
 .workflow-track li:nth-child(n+3) { border-top: 1px solid #344757; }
 .crash-workspace__body { grid-template-columns: .9fr 1.3fr; }
 .crash-outline { padding: 1.5rem; }
 .demo-layout { grid-template-columns: .8fr 1.2fr; gap: 2rem; }
 .demo-form-heading { padding: 1.4rem 1.2rem 0; }
 .demo-form { padding: 1.2rem; }
 .demo-form .form-grid.two { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
 .container { width: min(100% - 2.5rem, var(--container)); }
 .section-header--split,.feature-grid,.why-layout,.demo-layout { grid-template-columns: 1fr; gap: 2rem; }
 .feature-copy { order: 0; }
 .mobile-stage { order: 1; max-width: 540px; width: 100%; margin-inline: auto; min-height: 620px; padding-bottom: 1.5rem; }
 .mobile-stage .device { transform: rotate(-2deg); }
 .mobile-callout--reuse { position: absolute; right: 0; bottom: 80px; }
 .mobile-stage__label > span:last-child { display: block; }
 .mobile-stage > .visual-caption { margin-top: 2.5rem; }
 .feature-list { margin-bottom: 1.5rem; }
 .citation-workspace { grid-template-columns: 1fr; }
 .citation-workspace__image { display: none; }
 .citation-focus { border-left: 0; padding: 1.5rem; }
 .record-preview dl div { font-size: .85rem; }
 .record-preview__heading { font-size: .9rem; }
 .validation-preview span { font-size: .8rem; }
 .citation-focus .text-link { font-size: .8rem; }
 .editorial-features { gap: 1.5rem; }
 .crash-workspace__body { grid-template-columns: 1fr; }
 .crash-outline { padding: 1.4rem; }
 .crash-outline h3 br { display: none; }
 .crash-outline h3 { font-size: 1.3rem; }
 .crash-outline ol { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1rem 0 0; }
 .crash-outline li { display: none; }
 .crash-outline li.active { display: flex; margin: 0; width: 100%; }
 .crash-outline__context { display: none; }
 .crash-map { min-height: 0; margin-top: 0; }
 .demo-form .form-grid.two { grid-template-columns: 1fr 1fr; }
 .why-layout { gap: 2.5rem; }
 .why-principles article:last-child { border-bottom: 0; }
 .footer-grid { grid-template-columns: 1.5fr 1fr; }
 .footer-grid > div:first-child { grid-column: 1/-1; }
 .site-footer .brand__text { display: flex; }
}
@media (max-width: 480px) {
 .hero { padding-top: 2.75rem; }
 .hero h1 { font-size: clamp(2.55rem,10.2vw,3.1rem); }
 .hero__lead { font-size: 1rem; }
 .hero .btn-group { flex-direction: column; align-items: stretch; }
 .hero__byline { font-size: .72rem; }
 .ecosystem-preview { min-height: 510px; padding-top: 2.2rem; padding-right: 0; }
 .ecosystem-preview__desktop { margin-top: 1rem; }
 .ecosystem-preview__phone { width: 176px; top: 80px; right: 0; }
 .ecosystem-preview__label { font-size: .52rem; }
 .ecosystem-preview__record { left: 0; bottom: 1.4rem; z-index: 3; padding: .7rem .85rem; }
 .ecosystem-preview__record > svg { width: 17px; }
 .ecosystem-preview > .visual-caption { font-size: .6rem; bottom: 0; left: 0; }
 .capability-strip { grid-template-columns: 1fr; margin-top: 2.5rem; }
 .capability-strip a { flex-wrap: nowrap; padding: 1.1rem .55rem; border-bottom: 1px solid #263647; font-size: .72rem; }
 .capability-strip a:nth-child(odd) { padding-left: 0; }
 .capability-strip a > svg { width: 16px; }
 .header-cta { font-size: .65rem; padding-inline: .65rem; }
 .site-header__inner { gap: .65rem; }
 .site-header .brand__logo { height: 1.5rem; }
 .nav-toggle { width: 2.5rem; height: 2.5rem; }
 .section-title { font-size: 2rem; }
 .workflow-track { grid-template-columns: 1fr; border-top: 0; }
 .workflow-track li { border-top: 1px solid #344757; padding: 1.2rem 0 0 2.5rem; }
 .workflow-track li::before { top: 1.6rem; }
 .workflow-index { position: absolute; left: 0; top: 2.6rem; }
 .workflow-index svg { display: none; }
 .workflow-track h3 { margin: 0 0 .5rem; }
 .platform-foundation { padding: 1rem; }
 .platform-foundation p span { margin-inline: .25rem; }
 .mobile-stage .device { width: 265px; }
 .mobile-callout--reuse { bottom: 65px; padding: .75rem; }
 .mobile-stage__label { left: .8rem; gap: .6rem; }
 .mobile-stage__label > span:last-child { font-size: .6rem; }
 .editorial-features { grid-template-columns: 1fr; }
 .crash-map__tools { padding-inline: .6rem; }
 .crash-map__tools > span:last-child { font-size: .55rem; }
 .window-bar > :last-child { display: none; }
 .connection-map { padding: 1.2rem; }
 .hardware-node .micro-label { display: none; }
 .agency-nodes span { font-size: .7rem; padding: .6rem; }
 .demo-form .form-grid.two { grid-template-columns: 1fr; }
 .demo-layout { gap: 2.5rem; }
 .footer-grid { gap: 2rem 1rem; }
 .site-footer .brand__name { white-space: normal; }
 .site-footer .brand__logo { height: 1.6rem; }
}
