:root{--bg-canvas:#fbf1f0;--bg-surface:#fffaf8;--bg-surface-hover:#f6e8ed;--text-primary:#1c1917;--text-muted:#6e5e66;--accent-primary:#6b2155;--accent-secondary:#8b466f;--border-subtle:#ddc6d1;--border-highlight:#9c6589;--font-sans:"Trebuchet MS","Segoe UI",sans-serif;--font-serif:var(--font-sans);--font-mono:ui-monospace,monospace;--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:0 12px 28px -20px #6b215544;--shadow-inner:inset 0 1px 0 #ffffff99;--glow-accent:0 0 22px -14px #6b215544;--glass-backdrop:blur(20px) saturate(110%)}
*{box-sizing:border-box;overflow-wrap:anywhere;hyphens:auto}html{scroll-behavior:smooth}body{margin:20px;background:var(--bg-canvas);color:var(--text-primary);font:16px/1.75 var(--font-sans);border:1px solid var(--border-highlight);min-height:calc(100vh - 40px)}a{color:var(--accent-primary);text-underline-offset:5px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent-primary);outline-offset:4px}img{display:block;width:100%;height:100%;object-fit:cover;border-radius:4px}figure{margin:0;min-width:0}figcaption{font-size:.85rem;color:var(--text-muted);margin-top:10px}h1,h2,h3{font-weight:500;line-height:1.2;letter-spacing:-.035em;margin:0 0 22px}h1{font-size:clamp(2.5rem,5vw,4.8rem);max-width:16ch}h2{font-size:clamp(1.65rem,3vw,2.45rem)}h3{font-size:1.3rem;letter-spacing:-.02em}p{margin:0 0 20px}ul,ol{padding-left:25px}li{margin-bottom:9px}.wrap{width:min(1240px,calc(100% - 72px));margin:0 auto}.site-header{position:relative;border-bottom:1px solid var(--border-subtle);padding:22px 28px;display:flex;align-items:center;gap:25px}.brand{display:flex;gap:9px;align-items:center;color:var(--text-primary);text-decoration:none;white-space:nowrap;hyphens:none;font-size:1rem;flex-shrink:0}.brand-mark{color:var(--accent-primary);font-size:1.5rem;line-height:1}.site-nav{display:flex;gap:22px;align-items:center;margin-left:auto}.nav-group{display:flex;gap:15px;align-items:center}.nav-group+.nav-group{border-left:1px solid var(--border-subtle);padding-left:20px}.site-nav a{position:relative;text-decoration:none;font-size:.78rem;white-space:nowrap;hyphens:none}.site-nav a:after,.text-link:after{content:"";position:absolute;height:1px;bottom:-4px;left:0;width:0;background:var(--accent-primary);transition:width .35s var(--ease-kinetic)}.site-nav a:hover:after,.site-nav a[aria-current=page]:after,.text-link:hover:after{width:100%}.menu-button{display:none;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--accent-primary);border-radius:4px;font-size:1.8rem;line-height:1;padding:8px 15px;margin-left:auto}.skip-link{position:absolute;left:24px;top:-100px;z-index:20;background:var(--bg-surface);padding:10px}.skip-link:focus{top:10px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding:78px 0 65px;position:relative;background:radial-gradient(ellipse at 12% 30%,#ead3df77,transparent 65%);background-size:150% 150%;animation:meshDrift 15s ease infinite alternate}.eyebrow{display:block;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:bold;margin-bottom:20px}.lead{font-size:1.15rem;color:var(--text-muted);max-width:58ch}.hero-image{aspect-ratio:4/3}.banner-image{aspect-ratio:16/9}.square-image{aspect-ratio:1}.primary-button{display:inline-block;background:var(--accent-primary);border:1px solid var(--accent-primary);color:var(--bg-surface);padding:12px 21px;border-radius:4px;text-decoration:none;margin-top:8px;transition:transform .35s var(--ease-kinetic),box-shadow .35s,border-color .35s}.primary-button:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-elevation),var(--glow-accent);border-color:var(--border-highlight)}.text-link{position:relative;display:inline-block;text-decoration:none;font-weight:bold}.notebook-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:65px}.section{padding:42px 0;border-top:1px solid var(--border-subtle);min-width:0}.section-wide{grid-column:1/-1}.project-row{display:grid;grid-template-columns:34px 1fr;gap:15px;border-top:1px solid var(--border-subtle);padding:22px 0;transition:background .35s,transform .35s var(--ease-kinetic),border-color .35s}.project-row:hover{background:var(--bg-surface);border-color:var(--border-highlight);transform:translateY(-2px)}.project-row h3{margin:0 0 7px}.project-row p{margin-bottom:8px;font-size:.95rem;color:var(--text-muted)}.mechanism-icon{font-size:1.45rem;color:var(--accent-primary)}.feature{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.callout,blockquote{margin:26px 0;padding:18px 22px;border-left:4px solid var(--accent-primary);border-radius:4px;background:var(--bg-surface);backdrop-filter:var(--glass-backdrop)}blockquote{font-style:italic}blockquote p:last-child,.callout p:last-child{margin-bottom:0}.check-list{list-style:none;padding:0}.check-list li{padding-left:25px;position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--accent-primary)}details{border-top:1px solid var(--border-subtle);padding:18px 0}details:last-child{border-bottom:1px solid var(--border-subtle)}summary{cursor:pointer;color:var(--accent-primary);font-weight:bold;padding-right:15px}details p{padding-top:14px;margin-bottom:4px}.article-header{padding:66px 0 42px}.article-header h1{max-width:20ch}.article-layout{padding-bottom:60px}.prose{max-width:70ch;margin:0 auto}.prose h2{margin-top:42px}.prose h3{margin-top:30px}.prose .section{padding-top:32px}.article-meta{font-size:.88rem;color:var(--text-muted)}.fit-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0}.fit-pair .photo{aspect-ratio:4/3}.table-wrap{max-width:100%;margin:25px 0}table{border-collapse:collapse;width:100%;font-size:.92rem;min-width:470px}caption{text-align:left;font-weight:bold;padding:0 0 12px;color:var(--accent-primary)}th,td{text-align:left;padding:12px 15px;border-bottom:1px solid var(--border-subtle);vertical-align:top}th{background:var(--bg-surface)}.assembly{list-style:none;counter-reset:steps;padding:0}.assembly li{counter-increment:steps;border-top:1px solid var(--border-subtle);padding:20px 0 20px 45px;position:relative}.assembly li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;color:var(--accent-primary);font-weight:bold}.assembly strong{display:block;margin-bottom:5px}.page-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding-bottom:65px}.fluid-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:28px}.form-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);padding:28px;border-radius:4px}label{display:block;font-weight:bold;margin-bottom:7px}input,textarea{width:100%;border:1px solid var(--border-highlight);border-radius:4px;padding:11px 13px;background:var(--bg-canvas);color:var(--text-primary);margin-bottom:18px;min-width:0}textarea{resize:vertical;min-height:180px}.outline-button{border:1px solid var(--accent-primary);border-radius:4px;background:transparent;color:var(--accent-primary);padding:10px 18px;transition:background .3s,transform .3s}.outline-button:hover{background:var(--bg-surface-hover);transform:translateY(-2px)}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.small{font-size:.87rem;color:var(--text-muted)}pre{white-space:pre-wrap;word-break:break-word;font: .9rem/1.7 var(--font-sans);background:var(--bg-canvas);padding:18px;border:1px solid var(--border-subtle);border-radius:4px}.status{color:var(--accent-primary);min-height:1.75em;margin-top:15px}.site-footer{border-top:1px solid var(--border-subtle);padding:30px 36px;display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;font-size:.85rem;color:var(--text-muted)}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.site-footer p{margin:0}.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease-kinetic),transform .8s var(--ease-kinetic)}.reveal-ready.is-visible{opacity:1;transform:translateY(0)}[hidden]{display:none!important}@keyframes meshDrift{from{background-position:0% 0%}to{background-position:100% 90%}}
@media(min-width:1201px){.hero{gap:72px}.site-header{padding-left:36px;padding-right:36px}}
@media(min-width:769px) and (max-width:1200px){.site-header{gap:14px;padding:20px}.brand{font-size:.86rem}.site-nav{gap:10px}.nav-group{gap:9px}.nav-group+.nav-group{padding-left:10px}.site-nav a{font-size:.69rem}.hero{gap:30px}.notebook-grid{column-gap:35px}.wrap{width:calc(100% - 56px)}}
@media(min-width:481px) and (max-width:768px){body{margin:12px}.wrap{width:calc(100% - 44px)}.hero{gap:30px;padding-top:45px}.notebook-grid{column-gap:30px}.feature{gap:25px}}
@media(max-width:768px){.site-header{padding:16px 20px;flex-wrap:wrap;gap:10px}.brand{font-size:.95rem}.menu-button{display:block}.site-nav{width:100%;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--border-subtle);padding:12px 0 0;margin:5px 0 0;animation:menuDown .3s var(--ease-kinetic)}.js .site-nav:not(.is-open){display:none}.nav-group{display:grid;grid-template-columns:1fr 1fr;gap:0}.nav-group+.nav-group{border-left:0;padding-left:0}.site-nav a{font-size:.9rem;padding:8px 0;white-space:normal}.site-nav a:after{bottom:6px}.hero,.notebook-grid,.feature,.page-grid{grid-template-columns:1fr}.hero{gap:30px}.hero-image{aspect-ratio:16/9}.section-wide{grid-column:auto}.article-header{padding:45px 0 30px}.page-grid{gap:25px}.site-footer{padding:25px 22px}.hero h1{max-width:18ch}@keyframes menuDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:480px){body{margin:7px;min-height:calc(100vh - 14px)}.wrap{width:calc(100% - 32px)}.site-header{padding:14px 15px}.brand{font-size:.82rem;gap:6px}.brand-mark{font-size:1.25rem}.menu-button{padding:6px 11px}.hero{padding:40px 0 36px}h1{font-size:2.6rem}.section{padding:30px 0}.fit-pair{grid-template-columns:1fr}.form-panel{padding:19px}.site-footer{padding:23px 16px}.article-header{padding-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}}