:root{--bg-canvas:#f3e9d8;--bg-surface:rgba(255,250,240,.85);--bg-surface-hover:#fffaf0;--text-primary:#262626;--text-muted:#57594c;--accent-primary:#49643b;--accent-secondary:#76613e;--border-subtle:rgba(73,100,59,.25);--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:0 12px 32px -4px rgba(38,38,38,.16);--glow-accent:0 0 24px -4px rgba(73,100,59,.25);--glass-backdrop:blur(16px) saturate(180%)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font:1rem/1.75 system-ui,sans-serif;overflow-wrap:anywhere;hyphens:auto}a{color:var(--accent-primary);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,textarea{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--accent-secondary);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover;border-radius:20px}figure{margin:0}figcaption,.caption{font-size:.85rem;color:var(--text-muted);margin-top:.65rem}h1,h2,h3{line-height:1.16;text-wrap:balance;overflow-wrap:anywhere}h1{font-size:clamp(2.6rem,5.7vw,4.9rem);font-weight:600;letter-spacing:-.055em;margin:.5rem 0 1.5rem}h2{font-size:clamp(1.65rem,3vw,2.5rem);letter-spacing:-.035em}h3{font-size:1.13rem}p{margin:0 0 1.25rem}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.tagline{padding:10px 0;background:var(--accent-primary);color:#fffaf0;font: .75rem/1.5 ui-monospace,Consolas,monospace;letter-spacing:.04em}.site-header{position:relative;padding:23px 0;border-bottom:1px solid var(--border-subtle)}.header-row{display:flex;justify-content:space-between;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:10px;font-weight:750;letter-spacing:-.04em;color:var(--text-primary);text-decoration:none;font-size:1.13rem;white-space:nowrap}.brand-mark{font-family:ui-monospace,monospace;font-size:1.9rem;color:var(--accent-primary)}.nav{display:flex;gap:20px;align-items:center}.nav a{font-size:.83rem;font-weight:650;text-decoration:none;white-space:nowrap}.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.menu-toggle{display:none;background:transparent;border:1px solid var(--border-subtle);color:var(--accent-primary);font-size:1.9rem;line-height:1;width:44px;height:44px}.skip{position:absolute;left:15px;top:-100px;z-index:20;background:#fffaf0;padding:12px}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:55px;padding:70px 0 60px}.hero p{max-width:48ch;font-size:1.1rem}.eyebrow,.number,.setting,.small-heading{font: .76rem/1.6 ui-monospace,Consolas,monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-primary)}.hero-photo{aspect-ratio:4/5;position:relative}.hero-photo:before{content:"";position:absolute;inset:12% -12px -12px 15%;border:1px solid var(--border-subtle);border-radius:20px;z-index:-1}.hero-image{height:100%;filter:saturate(.75)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--accent-primary);background:transparent;color:var(--accent-primary);padding:13px 20px;text-decoration:none;text-transform:uppercase;font: .75rem/1.5 ui-monospace,Consolas,monospace;letter-spacing:.09em;cursor:pointer;border-radius:0;transition:transform .35s var(--ease-kinetic),box-shadow .35s,background .35s}.button:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent);background:var(--bg-surface-hover)}.button.solid{background:var(--accent-primary);color:#fffaf0}.button.solid:hover{background:#374d2c}.section{padding:65px 0}.section-intro{max-width:65ch;margin-bottom:35px}.field-note{padding:24px;border:1px solid var(--border-subtle);background:var(--bg-surface);backdrop-filter:var(--glass-backdrop);border-radius:20px}.field-note p:last-child{margin-bottom:0}.thread{position:relative;margin:15px 0 50px;padding-left:56px}.thread:before{content:"";position:absolute;left:17px;top:20px;bottom:24px;width:1px;background:var(--border-subtle)}.stop{position:relative;padding:34px 0;border-bottom:1px solid var(--border-subtle);display:grid;grid-template-columns:1.15fr 1fr;gap:45px;align-items:center}.stop:before{content:attr(data-step);position:absolute;left:-55px;top:40px;width:35px;height:35px;display:grid;place-items:center;background:var(--bg-canvas);border:1px solid var(--accent-primary);border-radius:50%;font:.75rem ui-monospace,monospace;color:var(--accent-primary)}.stop h2{margin:5px 0 15px}.stop-media{aspect-ratio:4/3}.card{padding:28px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:20px;backdrop-filter:var(--glass-backdrop);transition:transform .4s var(--ease-kinetic),box-shadow .4s,background .4s}.card:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent);background:var(--bg-surface-hover)}.card p:last-child{margin-bottom:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}.moss-block{background:var(--accent-primary);color:#fffaf0;position:relative;background-image:radial-gradient(ellipse at 15% 20%,rgba(243,233,216,.12),transparent 60%),linear-gradient(120deg,#49643b,#3e5532,#536e43);background-size:200% 200%;animation:gradientShift 12s ease infinite}.moss-block a,.moss-block .eyebrow,.moss-block .setting{color:#fffaf0}.moss-block .button{border-color:#fffaf0;color:#fffaf0}.moss-block .button:hover{background:rgba(255,250,240,.12)}.moss-block .field-note{background:rgba(255,250,240,.08);border-color:rgba(255,250,240,.35)}.page-head{padding:65px 0 30px;max-width:900px}.page-head h1{font-size:clamp(2.5rem,5.5vw,4.5rem)}.lead{font-size:1.2rem;max-width:65ch;color:var(--text-muted)}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:55px;align-items:start;padding-bottom:65px}.prose{max-width:70ch;margin:0 auto;min-width:0}.prose h2{font-size:1.7rem;margin-top:2.1rem}.prose h3{margin-top:1.8rem}.prose li{margin-bottom:.6rem}.prose figure{margin:28px 0}.banner-image{aspect-ratio:16/9}.side-note{position:sticky;top:24px}.side-note ul{padding-left:20px}.small-heading{font-size:.8rem}.diagram{display:grid;gap:12px;padding:25px;border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:20px}.diagram div{padding:13px;border-left:3px solid var(--accent-primary);background:rgba(73,100,59,.07)}.diagram strong{display:block}.diagram .arrow{padding:0;text-align:center;border:0;background:none;color:var(--accent-primary)}.checklist{padding-left:22px}.research-summary{border-left:3px solid var(--accent-primary)}details{border:1px solid var(--border-subtle);border-radius:20px;background:var(--bg-surface);padding:20px 24px;margin-bottom:14px}summary{cursor:pointer;font-weight:650;color:var(--accent-primary)}details p{margin:15px 0 0}.faq-list{max-width:78ch;margin:0 auto 65px}.utility-links{display:flex;gap:20px;flex-wrap:wrap}.site-footer{border-top:1px solid var(--border-subtle);padding:38px 0;font-size:.85rem}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:24px;margin-bottom:18px}.footer-brand{font-weight:700}.site-footer p{margin:0 0 10px}.legal{max-width:70ch;margin:0 auto;padding-bottom:65px}.legal h2{font-size:1.5rem;margin-top:2rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-bottom:65px}label{display:block;font-weight:600;margin:15px 0 6px}input,textarea{width:100%;padding:12px;border:1px solid var(--accent-primary);border-radius:8px;color:var(--text-primary);background:#fffaf0}textarea{resize:vertical;min-height:145px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.status{min-height:1.8em;margin-top:14px;font-size:.9rem}.output{min-height:260px;font-family:ui-monospace,Consolas,monospace;font-size:.85rem}.muted{color:var(--text-muted)}.compact-media{display:flex;align-items:center;gap:20px}.compact-media img{width:95px;height:95px;flex-shrink:0}.compact-media p{margin:0}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease-kinetic),transform .7s var(--ease-kinetic)}.motion-ready .reveal-visible{opacity:1;transform:translateY(0)}@keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(min-width:1025px){.hero{min-height:650px}.hero-photo{max-height:590px}}
@media(min-width:769px) and (max-width:1024px){.wrap{width:calc(100% - 44px)}.nav{gap:12px}.nav a{font-size:.75rem}.brand{font-size:.95rem}.hero{gap:30px}.article-layout{grid-template-columns:minmax(0,1fr) 220px;gap:28px}}
@media(max-width:768px){.wrap{width:calc(100% - 36px)}.menu-toggle{display:block}.nav{display:none;position:absolute;left:18px;right:18px;top:calc(100% + 4px);z-index:10;background:var(--bg-surface-hover);border:1px solid var(--border-subtle);border-radius:20px;padding:20px;box-shadow:var(--shadow-elevation);flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex;animation:menuEnter .25s var(--ease-kinetic)}.nav a{padding:10px;font-size:.95rem}.hero{grid-template-columns:1fr;gap:32px;padding:45px 0}.hero-photo{aspect-ratio:16/10}.hero-photo:before{inset:12px -5px -8px 15%}.stop{grid-template-columns:1fr;gap:20px}.article-layout{grid-template-columns:1fr;gap:25px}.side-note{position:static}.contact-grid{grid-template-columns:1fr}.footer-top{flex-direction:column}.section{padding:45px 0}.page-head{padding-top:45px}.thread{padding-left:44px}.thread:before{left:13px}.stop:before{left:-45px;width:29px;height:29px}.grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}}
@media(max-width:480px){.wrap{width:calc(100% - 28px)}.brand{font-size:.96rem;gap:5px}.brand-mark{font-size:1.5rem}.tagline{font-size:.65rem}.hero h1{font-size:2.8rem}.card,.field-note{padding:21px}.compact-media{align-items:start;gap:12px}.compact-media img{width:70px;height:70px}.button{padding:12px 14px;font-size:.7rem}.thread{padding-left:38px}.stop:before{left:-39px}.thread:before{left:13px}.stop{padding:28px 0}.hero-photo{aspect-ratio:4/3}}
@keyframes menuEnter{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.card:hover,.button:hover{transform:none}}