*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Trebuchet MS",system-ui,sans-serif;font-size:1rem;line-height:1.65}a{color:inherit;text-underline-offset:.25em}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.04;letter-spacing:-.045em}h1{font-size:clamp(3rem,7.7vw,7.8rem);font-weight:800;max-width:13ch}h2{font-size:clamp(2.2rem,4.5vw,4.6rem);max-width:17ch}h3{font-size:1.65rem;max-width:25ch}p{max-width: sixty;max-width:64ch}p+p{margin-top:1rem}button{cursor:pointer}main{min-height:60vh}section,.section{padding:6rem max(1.25rem,5vw)}.eyebrow,.folio{font-size:.875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.lede{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.5;max-width:44ch}.fine,figcaption{font-size:.8125rem;line-height:1.6}figcaption{padding:.8rem 0;opacity:.85}.skip{position:absolute;top:-8rem;left:1rem;padding:1rem;background:var(--paper);z-index:5}.skip:focus{top:1rem}.masthead{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem max(1.25rem,5vw);flex-wrap:wrap}.wordmark{font-size:1.35rem;font-weight:900;line-height:1.05;letter-spacing:-.045em;text-decoration:none}.wordmark small{display:block;font-size:.72rem;letter-spacing:.13em;line-height:1.7}.masthead nav,.footer-top nav{display:flex;flex-wrap:wrap;gap:.45rem 1.4rem}.masthead nav a,.footer-top nav a{font-size:.9375rem;text-decoration:none;padding:.5rem 0}.masthead a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}.concept-label{display:flex;justify-content:space-between;gap:1rem;padding:.5rem max(1.25rem,5vw);font-size:.8125rem;background:var(--ink);color:var(--paper)}.concept-label a{text-decoration:none}.hero{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:5vw;padding-top:4rem}.hero-copy{display:grid;gap:1.8rem}.hero-media{margin:0;padding:.4rem;background:var(--tray);border-radius:2rem}.hero-media img{aspect-ratio:4/5;object-fit:cover;border-radius:1.65rem}.hero-media figcaption{padding:.8rem 1rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:3.25rem;width:fit-content;border:0;border-radius:999px;background:var(--accent);color:var(--button-ink,var(--ink));padding:.85rem 1.3rem;text-decoration:none;font-weight:700;transition:transform .35s cubic-bezier(.32,.72,0,1)}.button:hover{transform:translateY(-3px)}.button:active{transform:scale(.98)}.button .arrow{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:rgba(0,0,0,.08)}.button.secondary{background:var(--tray);color:var(--ink)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.duo{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}.stack{display:grid;gap:1.5rem}.number{font-size:4rem;line-height:1;font-weight:800;letter-spacing:-.07em}.chapter{display:grid;grid-template-columns:.25fr .8fr 1fr;gap:3rem;border-top:2px solid var(--rule);padding:3rem 0}.chapter p{max-width:50ch}.dark{background:var(--ink);color:var(--paper)}.accent{background:var(--accent);color:var(--button-ink,var(--ink))}.wide-image img{max-height:34rem;object-fit:cover;aspect-ratio:16/8}.wide-image{padding-top:0}.feature-panel{padding:.45rem;background:var(--tray);border-radius:2rem}.feature-panel>div{padding:2rem;background:var(--panel,var(--paper));border-radius:1.6rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}.rule{border-top:2px solid var(--rule);padding-top:1.5rem}.two-links{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.two-links a{padding:2rem;border-block:2px solid var(--rule);text-decoration:none;display:grid;gap:1rem}.two-links a:hover h3{text-decoration:underline}.page-head{display:grid;gap:1.5rem;padding-bottom:3rem}.page-head h1{font-size:clamp(3rem,6vw,6rem);max-width:16ch}.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding-top:1rem}form{display:grid;gap:1.4rem;align-content:start}label{display:grid;gap:.5rem;font-weight:700}input,select,textarea{min-width:0;max-width:100%;width:100%;padding:.9rem 1rem;color:var(--ink);background:var(--paper);border:2px solid var(--rule);border-radius:.7rem}input[type=range]{padding:.8rem 0;accent-color:var(--accent)}textarea{resize:vertical;min-height:7rem}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-weight:700;margin-bottom:.75rem}.choices{display:flex;gap:.75rem;flex-wrap:wrap}.choices label{display:flex;align-items:center;border:2px solid var(--rule);padding:.6rem .9rem;border-radius:999px;font-weight:400}.choices input{width:auto;accent-color:var(--ink)}.result{padding:2rem;border-radius:1.6rem;background:var(--ink);color:var(--paper);min-height:16rem}.result h2{font-size:2rem;margin-bottom:1rem}.result pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.result .button{margin-top:1rem}.result[hidden]{display:none}.demo-note{font-size:.875rem;padding-top:1rem}.faq{max-width: sixty;max-width:60rem}details{border-top:2px solid var(--rule);padding:1.5rem 0}summary{font-size:1.125rem;font-weight:700;cursor:pointer}details p{margin-top:1rem}.checklist{padding-left:1.5rem}.checklist li{padding:.5rem 0}.reveal{transition:opacity .7s cubic-bezier(.32,.72,0,1),transform .7s cubic-bezier(.32,.72,0,1)}.reveal.pending{opacity:0;transform:translateY(1.5rem)}footer{padding:4rem max(1.25rem,5vw) 2rem;background:var(--ink);color:var(--paper)}.footer-top{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding-bottom:3rem}.footer-top .wordmark{font-size:1.7rem}footer>p{font-size:.875rem;max-width:90ch}.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem;font-size:.875rem}.photo-note{max-width:70ch}.inline-link{font-weight:700}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding-top:3rem}.timeline>div{border-top:4px solid var(--accent);padding-top:1.5rem}.timeline h3{margin:.75rem 0}.timeline .number{font-size:2.6rem}
@media(max-width:760px){section,.section{padding:3rem 1.25rem}.masthead{padding:1.2rem;gap:1.2rem}.masthead nav{gap:.4rem 1rem}.concept-label{padding:.6rem 1.25rem}.concept-label span{display:none}.hero,.duo,.form-layout{grid-template-columns:1fr;gap:2rem}.hero{padding-top:2.5rem}.hero-media img{aspect-ratio:5/4}.chapter{grid-template-columns:1fr;gap:1rem}.chapter .number{font-size:2.5rem}.two-links,.timeline{grid-template-columns:1fr}.page-head h1{font-size:clamp(2.6rem,10vw,5rem)}.result{padding:1.5rem}.feature-panel>div{padding:1.5rem}.footer-top{display:grid}.wide-image{padding-top:0}h1{overflow-wrap:normal}.masthead nav a{min-height:2.75rem;display:flex;align-items:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.pending{opacity:1;transform:none}}
@media print{.masthead,.concept-label,.actions,.button,footer,.wide-image,.hero-media{display:none}section,.section{padding:1rem 0}.result{background:white!important;color:black!important}.form-layout,.duo{display:block}.reveal.pending{opacity:1;transform:none}}

:root{--paper:#f7f2e9;--ink:#263a45;--accent:#f39758;--tray:#e2e4df;--rule:#a1adb0;--focus:#943a0b}.rarig h1,.rarig h2{font-family:Georgia,serif;font-weight:400}.rarig .masthead{margin:1.2rem 3vw;padding:1rem 2rem;border-left:8px solid #f39758;background:#e9e9e0;border-radius:0 1.5rem 1.5rem 0}.rarig .wordmark{font-size:2rem;letter-spacing:.06em}.structure-hero{display:grid;grid-template-columns:7rem 1fr;gap:3rem;padding-top:3rem}.structure-side{font-size:.75rem;letter-spacing:.11em;display:flex;flex-direction:column;justify-content:space-between;border-left:3px solid #f39758;padding-left:1rem}.structure-title h1{max-width:15ch;font-size:clamp(3.3rem,8vw,8rem);margin-top:1.5rem}.structure-title em{font-style:normal;color:#51707b}.structure-intro{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-top:3rem}.architecture-image{padding-top:0;padding-left:calc(5vw + 10rem)}.architecture-image img{aspect-ratio:16/7;object-fit:cover;object-position:center;border-radius:1.5rem}.rarig .chapter{grid-template-columns:.2fr .9fr 1fr}.rarig .chapter .number{color:#af5420;font-size:2rem;font-family:monospace}.rarig .dark .actions{margin-top:2rem}@media(max-width:760px){.structure-hero{grid-template-columns:1fr;gap:1.5rem}.structure-side{flex-direction:row;gap:1rem}.structure-side span{font-size:.75rem}.structure-intro{display:grid;gap:1.5rem}.architecture-image{padding-left:1.25rem}.architecture-image img{aspect-ratio:4/3}.rarig .chapter{grid-template-columns:1fr}.rarig .masthead{margin:.75rem;padding:1rem}}
/* Intrinsic sizing keeps long names and enlarged text inside the viewport. */
main,section,article,aside,figure,form,nav,header,footer,section>div{min-width:0}
button:disabled{opacity:.55;cursor:not-allowed}
.button{max-width:100%;text-align:left;overflow-wrap:anywhere}
.wordmark{overflow-wrap:anywhere}
.sector-links{display:grid;gap:1rem;margin-top:2.5rem;font-size:1.25rem}
.surface-swatch{background:#d4d1c4;grid-column:1/-1;height:5rem}
@media(max-width:360px){h1,h2,h3{overflow-wrap:anywhere}.game-board{display:block}.game-board>*{margin-bottom:1rem}}
/* Control borders and a two-tone keyboard ring work on light and dark brand surfaces. */
input,select,textarea,.choices label{border-color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #111;outline-offset:5px;box-shadow:0 0 0 5px #fff}
