:root{--bg-canvas:#f3f0fa;--bg-surface:#fff;--bg-surface-hover:#f9f6fc;--text-primary:#38333d;--text-muted:#645b69;--accent-primary:#63275e;--accent-secondary:#85477e;--border-subtle:#ded5e4;--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:0 12px 32px -4px rgba(56,33,60,.12);--glow-accent:0 0 24px -4px rgba(99,39,94,.12);--glass-backdrop:blur(16px) saturate(180%)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font:16px/1.75 system-ui,sans-serif;overflow-wrap:anywhere;hyphens:auto}h1,h2,h3,.eyebrow,.button,.brand,.step-label{font-family:"Arial Narrow","Helvetica Neue",sans-serif;text-transform:uppercase;letter-spacing:.1em;line-height:1.15}h1{font-size:clamp(2.5rem,5.4vw,5rem);margin:.4em 0}h2{font-size:clamp(1.5rem,2.6vw,2.2rem);margin:0 0 1rem}h3{font-size:1.05rem;margin:0 0 .8rem}p{margin:0 0 1.3rem}a{color:var(--accent-primary);text-decoration-thickness:1px;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--accent-primary);outline-offset:5px}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}figcaption{font-size:.85rem;color:var(--text-muted);padding:.7rem 0}.wrap{width:min(1200px,calc(100% - 56px));margin:0 auto}.site-header{position:relative;background:var(--bg-surface);padding:23px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:800;text-decoration:none;letter-spacing:.045em;flex-shrink:0}.brand-mark{display:grid;place-items:center;width:30px;height:30px;background:var(--accent-primary);color:#fff;font-size:18px}.site-nav{display:flex;gap:30px;align-items:center}.nav-group{display:flex;gap:22px}.site-nav a{font-size:.88rem;text-decoration:none;font-weight:650;white-space:nowrap}.site-nav a::after,.text-link::after{content:"";display:block;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-nav a:hover::after,.text-link:hover::after{transform:scaleX(1)}.site-nav a[aria-current=page]{text-decoration:underline}.menu-button{display:none;border:0;background:none;color:var(--accent-primary);font-size:30px;padding:0 12px}.skip{position:absolute;left:10px;top:-100px;background:#fff;padding:10px;z-index:10}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:40px;padding:80px 0 60px}.hero .intro{max-width:51ch}.eyebrow{font-size:.74rem;font-weight:750;color:var(--accent-primary);margin-bottom:20px}.hero-visual{position:relative;background:#fff;box-shadow:var(--shadow-elevation);aspect-ratio:4/3}.hero-visual img{object-fit:contain}.visual-label{position:absolute;bottom:0;left:0;background:#fff;padding:12px 18px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-primary)}.button{display:inline-block;background:var(--accent-primary);color:#fff;border:0;padding:16px 22px;font-size:.8rem;font-weight:700;text-decoration:none;transition:transform .3s var(--ease-kinetic),box-shadow .3s}.button:hover{transform:translateY(-3px);box-shadow:var(--shadow-elevation),var(--glow-accent)}.text-link{display:inline-block;font-weight:650;text-decoration:none}.section{padding:42px 0}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:baseline;margin-bottom:24px}.section-heading p{max-width:42ch;color:var(--text-muted)}.system-map{background:var(--bg-surface);padding:40px;box-shadow:var(--shadow-elevation)}.signal-chain{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:30px 0}.signal-node{padding:20px;background:var(--bg-canvas);position:relative}.signal-node:not(:last-child)::after{content:"→";position:absolute;right:-16px;top:35%;color:var(--accent-primary)}.signal-node strong{display:block;font-size:1rem}.signal-node span{font-size:.85rem;color:var(--text-muted)}.step-label{font-size:.7rem;color:var(--accent-primary);display:block;margin-bottom:14px}.block-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.fluid-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:24px}.card{background:#fff;padding:32px;box-shadow:var(--shadow-elevation);transition:transform .4s var(--ease-kinetic),box-shadow .4s}.card:hover{transform:translateY(-5px) scale(1.005);box-shadow:var(--shadow-elevation),var(--glow-accent)}.card p{color:var(--text-muted)}.component-image{aspect-ratio:4/3;margin:-32px -32px 28px;width:calc(100% + 64px);background:#fff}.component-image img{object-fit:contain}.horizontal-card{display:grid;grid-template-columns:140px 1fr;gap:25px;align-items:center}.thumbnail{aspect-ratio:1/1}.full-feature{position:relative;background:var(--accent-primary);color:#fff;padding:45px}.full-feature a,.full-feature .eyebrow{color:#fff}.full-feature p{color:#fff}.article-header{padding:65px 0 35px;max-width:960px}.article-header h1{font-size:clamp(2.4rem,5vw,4rem)}.deck{font-size:1.15rem;max-width:65ch;color:var(--text-muted)}.meta{font-size:.8rem;color:var(--text-muted)}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:44px;align-items:start}.prose{max-width:70ch;margin:0 auto;min-width:0}.prose h2{margin-top:2.5rem;font-size:1.6rem}.prose h3{margin-top:1.8rem}.prose li{margin-bottom:.6rem}.prose ul,.prose ol{padding-left:1.4rem}.article-banner{aspect-ratio:16/9;margin-bottom:8px}.side-note{padding:26px;background:#fff;box-shadow:var(--shadow-elevation);font-size:.9rem}.side-note ul{padding-left:18px}.data-label{display:inline-block;padding:5px 10px;background:var(--bg-canvas);color:var(--accent-primary);font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.table-scroll{overflow-x:auto;max-width:100%;margin:25px 0}table{border-collapse:collapse;width:100%;min-width:500px;background:#fff;font-size:.9rem}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--border-subtle);vertical-align:top}th{color:var(--accent-primary);font-size:.8rem}details{background:#fff;padding:20px 24px;margin:14px 0;box-shadow:0 4px 14px rgba(56,33,60,.05)}summary{cursor:pointer;font-weight:700;color:var(--accent-primary)}details p{margin:16px 0 0}.checklist{list-style:none;padding:0!important}.checklist li{padding:12px 16px;background:#fff}.checklist li::before{content:"□";color:var(--accent-primary);margin-right:12px}.callout{padding:26px;background:#fff;border-left:4px solid var(--accent-primary);margin:26px 0}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}label{display:block;font-weight:650;font-size:.9rem;margin-bottom:7px}input,textarea,select{width:100%;padding:12px;background:#fff;border:1px solid #a99bad;border-radius:0;color:var(--text-primary)}textarea{min-height:145px;resize:vertical}.field{margin-bottom:20px}.helper{font-size:.83rem;color:var(--text-muted)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font: .9rem/1.7 system-ui,sans-serif;background:var(--bg-canvas);padding:20px;min-height:200px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.link-button{border:0;padding:4px 0;color:var(--accent-primary);background:none;text-decoration:underline;text-underline-offset:5px;font-weight:650}.status{font-size:.9rem;color:var(--accent-primary);min-height:1.7em;margin-top:16px}.site-footer{background:#fff;margin-top:65px;padding:48px 0 25px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:36px}.footer-grid h2{font-size:.8rem}.footer-grid a{display:block;font-size:.9rem;margin-bottom:7px}.footer-grid address{font-style:normal;font-size:.88rem;color:var(--text-muted)}.footer-bottom{border-top:1px solid var(--border-subtle);margin-top:28px;padding-top:20px;font-size:.8rem;display:flex;justify-content:space-between;gap:20px}.footer-bottom a{font-weight:700}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease-kinetic),transform .7s var(--ease-kinetic)}.js .reveal-visible{opacity:1;transform:translateY(0)}.narrow-page{max-width:76ch;padding-top:55px}.narrow-page h1{font-size:clamp(2rem,4.5vw,3.4rem)}.narrow-page h2{font-size:1.5rem;margin-top:2.2rem}.legal-date{font-size:.85rem;color:var(--text-muted)}
@media(min-width:1025px){.hero{min-height:620px}.system-map{padding:48px}}
@media(min-width:769px) and (max-width:1024px){.site-header{gap:16px;padding:20px}.site-nav{gap:18px}.nav-group{gap:12px}.brand{font-size:.78rem}.site-nav a{font-size:.8rem}.hero{gap:25px;padding-top:55px}.article-layout{grid-template-columns:minmax(0,1fr) 220px;gap:25px}}
@media(min-width:481px) and (max-width:768px){.wrap{width:calc(100% - 40px)}.hero{padding:48px 0}.signal-chain{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-node::after{display:none}}
@media(max-width:768px){.site-header{padding:18px 20px}.menu-button{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:24px;background:#fff;box-shadow:var(--shadow-elevation);z-index:5}.site-nav.is-open{display:flex;align-items:stretch;flex-direction:column;gap:20px}.nav-group{flex-direction:column;gap:15px}.hero{grid-template-columns:1fr}.hero-visual{max-width:600px;width:100%}.block-grid,.article-layout,.contact-grid{grid-template-columns:1fr}.article-header{padding-top:45px}.side-note{margin-top:16px}.section-heading{display:block}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>section:last-child{grid-column:1/-1}.system-map{padding:26px}.full-feature{padding:30px}}
@media(max-width:480px){.wrap{width:calc(100% - 32px)}.site-header{padding:16px}.brand{font-size:.77rem;gap:7px;letter-spacing:.015em}.brand-mark{width:26px;height:26px}.hero{padding:36px 0;gap:28px}h1{font-size:2.5rem}.signal-chain{grid-template-columns:1fr}.signal-node::after{display:none}.card{padding:24px}.component-image{margin:-24px -24px 24px;width:calc(100% + 48px)}.horizontal-card{grid-template-columns:85px 1fr;gap:16px}.footer-grid{grid-template-columns:1fr}.footer-grid>section:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.section{padding:28px 0}.article-header h1{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}