:root{--paper: #f4efe1;--paper-bright: #fcfbf6;--paper-deep: #eae3d2;--panel: rgba(255, 253, 247, .94);--panel-tint: rgba(238, 245, 237, .9);--ink: #132016;--muted: #5a6659;--accent: #1b5e20;--accent-strong: #123d16;--accent-soft: #356a3b;--accent-faint: rgba(27, 94, 32, .08);--line: rgba(19, 32, 22, .12);--line-strong: rgba(27, 94, 32, .28);--shadow: 0 22px 48px rgba(43, 52, 44, .08);--shadow-soft: 0 12px 30px rgba(43, 52, 44, .06);--radius-lg: 1.25rem;--radius-md: .92rem;--font-display: "Cormorant Garamond", Georgia, serif;--font-serif: "Source Serif 4", Georgia, serif;--font-ui: "Libre Franklin", "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(53,106,59,.14),transparent 24%),radial-gradient(circle at top right,rgba(27,94,32,.08),transparent 18%),linear-gradient(180deg,var(--paper-bright) 0%,var(--paper) 55%,var(--paper-deep) 100%);color:var(--ink);font-family:var(--font-serif);font-size:clamp(17px,.18vw + 16.3px,19px);line-height:1.65;text-rendering:optimizeLegibility;position:relative}body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1}body:before{background:repeating-linear-gradient(180deg,rgba(19,32,22,.028) 0,rgba(19,32,22,.028) 1px,transparent 1px,transparent 24px),repeating-linear-gradient(90deg,rgba(27,94,32,.02) 0,rgba(27,94,32,.02) 1px,transparent 1px,transparent 32px);opacity:.55}body:after{background:radial-gradient(circle at 50% 0,rgba(27,94,32,.06),transparent 36%),linear-gradient(180deg,rgba(255,255,255,.34),transparent 22%)}::selection{background:#1b5e202e}a,a:visited{color:inherit;text-decoration-color:#1b5e204d;text-underline-offset:.2em;text-decoration-thickness:1px;transition:color .16s ease,text-decoration-color .16s ease,transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}a:hover{color:inherit;text-decoration-color:#1b5e20b3}p,ul,ol{margin:0}ul,ol{padding-left:1.2rem}li+li{margin-top:.45rem}h1,h2,h3{margin:0;font-family:var(--font-serif);font-weight:600;letter-spacing:-.026em;line-height:1.05;color:var(--ink)}.shell{max-width:1500px;margin:0 auto;padding:0 clamp(1rem,2.8vw,1.9rem) 3rem}.utility-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem 1.5rem;padding:.95rem 0 .8rem;border-bottom:1px solid var(--line-strong);font-family:var(--font-ui);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.utility-copy,.utility-links{display:flex;flex-wrap:wrap;gap:.65rem 1.35rem;align-items:center}.utility-links a,.utility-links a:visited{color:var(--accent-strong);text-decoration:none}.utility-links a:hover{color:var(--accent)}.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:1rem;padding:1.35rem 0 1.05rem;border-bottom:3px double var(--line-strong)}.masthead-side{display:grid;gap:.3rem;font-family:var(--font-ui);font-size:.82rem;color:var(--muted)}.masthead-side-right{justify-items:end;text-align:right}.masthead-kicker{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.masthead-center{display:grid;gap:.35rem;text-align:center}.site-name{color:var(--accent-strong);font-family:var(--font-display);font-size:clamp(4.1rem,8vw,6.4rem);line-height:.8;letter-spacing:-.04em;text-decoration:none}.site-name:visited{color:var(--accent-strong)}.site-tagline{max-width:38rem;margin-inline:auto;font-family:var(--font-ui);font-size:.92rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.site-nav{display:flex;justify-content:center;flex-wrap:wrap;border-bottom:1px solid var(--line-strong)}.nav-link{position:relative;padding:1rem 1.25rem .95rem;color:var(--ink);font-family:var(--font-ui);font-size:.9rem;font-weight:600;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.nav-link:visited{color:var(--ink)}.nav-link:after{content:"";position:absolute;left:1.2rem;right:1.2rem;bottom:.45rem;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:center;transition:transform .16s ease}.nav-link:hover:after,.nav-link:focus-visible:after,.nav-link.is-active:after{transform:scaleX(1)}.nav-link.is-active,.nav-link.is-active:visited{color:var(--accent-strong)}main{display:grid;gap:1.8rem;padding:clamp(1.5rem,3vw,2.35rem) 0 3.5rem}main>*{width:min(100%,1360px);margin-inline:auto}.page-intro,.section-shell{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.page-intro{display:grid;gap:1rem;padding:clamp(1.7rem,3vw,2.5rem)}.page-intro:before,.section-shell:before{content:"";position:absolute;inset:0 0 auto;background:linear-gradient(90deg,rgba(27,94,32,.98) 0,rgba(27,94,32,.22) 48%,transparent 100%)}.page-intro:before{height:6px}.section-shell{padding:clamp(1.35rem,2.6vw,1.85rem);box-shadow:var(--shadow-soft)}.section-shell:before{height:4px}.section-shell>*+*{margin-top:1.2rem}.eyebrow{color:var(--accent);font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.page-intro h1{max-width:12ch;font-size:clamp(3rem,6vw,4.85rem)}.page-intro h2,.section-heading h2{max-width:16ch;font-size:clamp(1.95rem,3vw,2.8rem)}.page-intro p{max-width:54rem}.lede{max-width:52rem;color:#223326;font-size:clamp(1.12rem,1.45vw,1.34rem);line-height:1.6}.section-heading{display:grid;gap:.75rem;max-width:52rem}.stack-grid{display:grid;gap:1rem}.stack-grid.compact{gap:.42rem}.feature-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{display:grid;gap:.78rem;min-height:100%;padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(180deg,#fffffffa,#f5f8f3f0);box-shadow:var(--shadow-soft)}a.card,a.card:visited{color:inherit}.card h2,.card h3{font-size:clamp(1.35rem,2.2vw,1.8rem);color:var(--ink)}.meta,.meta-line{color:var(--muted);font-family:var(--font-ui);font-size:.88rem;line-height:1.5}.meta{color:var(--accent);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.cta-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}.button-link,.ghost-link,.back-link{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:999px;font-family:var(--font-ui);font-size:.9rem;font-weight:700;line-height:1;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,color .16s ease,border-color .16s ease}.button-link{padding:.95rem 1.25rem;background:var(--accent);color:#f7fbf5;box-shadow:0 12px 24px #123d1629}.button-link:visited{color:#f7fbf5}.button-link:hover,.ghost-link:hover,.back-link:hover{transform:translateY(-1px)}.button-link:hover{background:var(--accent-strong);color:#f7fbf5}.ghost-link,.back-link{padding:.9rem 1.1rem;border:1px solid var(--line-strong);background:#ffffffbd;color:var(--accent-strong)}.ghost-link:visited,.back-link:visited{color:var(--accent-strong)}.ghost-link:hover,.back-link:hover{border-color:var(--accent-soft);background:#eef5edf5}.empty-state{padding:1.15rem 1.2rem;border:1px dashed var(--line-strong);background:var(--panel-tint);font-family:var(--font-ui);color:var(--muted)}footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem 1.25rem;padding-top:1rem;border-top:3px double var(--line-strong);border-radius:0 0 var(--radius-lg) var(--radius-lg);font-family:var(--font-ui);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.reveal{opacity:0;transform:translateY(16px);animation:reveal-up .62s cubic-bezier(.18,.7,.2,1) forwards;animation-delay:var(--delay, 0ms)}@keyframes reveal-up{to{opacity:1;transform:translateY(0)}}@media(max-width:1040px){.site-header{grid-template-columns:1fr;align-items:start}.masthead-center,.masthead-side-right{text-align:left;justify-items:start}.site-tagline{margin-inline:0}}@media(max-width:720px){.shell{padding-inline:.9rem}.utility-bar,.site-nav{justify-content:flex-start}.nav-link{padding-inline:.9rem}.nav-link:after{left:.9rem;right:.9rem}.page-intro h1{max-width:100%}footer{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
