:root{--paper:#f4f1ea;--paper-2:#ece7dc;--paper-3:#e4dece;--ink:#17150f;--ink-soft:#39352b;--dim:#6f6a5c;--faint:#928c7c;--hair:rgba(23,21,15,.14);--hair-2:rgba(23,21,15,.24);--disp:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:radial-gradient(130% 100% at 78% 8%,var(--paper) 0%,var(--paper-2) 58%,var(--paper-3) 100%);color:var(--ink);font-family:var(--sans);overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;display:block}.grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(105deg,rgba(244,241,234,.86) 0%,rgba(244,241,234,.34) 44%,transparent 66%)}.shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;padding:clamp(24px,4.4vw,58px)}.row{display:flex;align-items:center;justify-content:space-between;gap:20px}.lab{font-family:var(--mono);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--dim)}header .mark{font-family:var(--disp);font-weight:600;font-size:18px;letter-spacing:.01em;color:var(--ink);text-decoration:none}header .mark b{font-weight:600}nav.top{display:flex;gap:22px}nav.top a{position:relative;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);text-decoration:none;padding-bottom:4px;transition:color .3s}nav.top a:hover{color:var(--ink)}nav.top a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--ink);transition:width .35s cubic-bezier(.65,0,.35,1)}nav.top a.active{color:var(--ink)}nav.top a.active:after{width:100%}main{flex:1;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:clamp(20px,3vw,36px) 0}.col{max-width:min(60ch,680px);width:100%}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:26px;height:1px;background:var(--hair-2)}h1{font-family:var(--disp);font-weight:600;font-optical-sizing:auto;font-size:clamp(52px,11vw,128px);line-height:.92;letter-spacing:-.02em;margin:.22em 0 .12em;color:var(--ink)}.page h1{font-size:clamp(44px,8vw,92px)}.tagline{font-family:var(--disp);font-weight:500;font-style:italic;font-size:clamp(20px,3.1vw,30px);line-height:1.3;color:var(--ink-soft);max-width:24ch}.zone{margin-top:clamp(30px,4vw,48px)}.bio{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3vw,40px);max-width:640px}.bio .k{font-family:var(--mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint);margin-bottom:12px;display:flex;align-items:center;gap:9px}.bio .k:before{content:"";width:16px;height:1px;background:var(--hair-2)}.bio p{font-size:14px;line-height:1.7;color:var(--ink-soft);letter-spacing:.005em}.links{margin-top:clamp(30px,4vw,42px);display:flex;flex-wrap:wrap;gap:14px 30px}.links a{position:relative;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding-bottom:5px}.links a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--hair-2);transition:background .3s,height .3s}.links a:hover:after{background:var(--ink);height:1.5px}.links a .arw{display:inline-block;margin-left:7px;color:var(--dim);transition:transform .3s,color .3s}.links a:hover .arw{transform:translate(2px,-2px);color:var(--ink)}.page{padding:clamp(8px,2vw,20px) 0}.page .intro{font-size:15px;line-height:1.72;color:var(--ink-soft);max-width:66ch;margin-top:clamp(18px,2.5vw,26px)}.section{margin-top:clamp(30px,4vw,46px)}.entry{padding:clamp(16px,2.4vw,24px) 0;border-top:1px solid var(--hair)}.entry:first-child{border-top:0}.entry .head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 20px}.entry .org{font-family:var(--disp);font-weight:600;font-size:clamp(21px,3vw,28px);color:var(--ink);letter-spacing:-.01em}.entry .meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);white-space:nowrap}.entry .role{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-top:5px}.entry ul{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:11px}.entry li{position:relative;padding-left:20px;font-size:13.5px;line-height:1.66;color:var(--ink-soft)}.entry li:before{content:"";position:absolute;left:2px;top:.62em;width:5px;height:5px;border:1px solid var(--hair-2);transform:rotate(45deg)}.creds{margin-top:clamp(30px,4vw,44px);border-top:1px solid var(--hair);padding-top:clamp(22px,3vw,30px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.6vw,28px)}.creds .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);margin-bottom:7px}.creds p{font-size:13px;line-height:1.6;color:var(--ink-soft)}.closing{margin-top:clamp(26px,3.4vw,38px);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);line-height:1.8}footer{color:var(--faint);flex:none}footer .row{align-items:flex-end}.rise{opacity:0;transform:translateY(18px);animation:rise 1s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--d,0s)}@keyframes rise{to{opacity:1;transform:none}}@media (max-width:720px){.veil{background:linear-gradient(180deg,#f4f1ea80,#f4f1ead1)}.bio{grid-template-columns:1fr;gap:20px}.creds{grid-template-columns:1fr;gap:16px}nav.top{gap:16px}footer .lab.hide-sm{display:none}.entry .meta{white-space:normal}}@media (prefers-reduced-motion:reduce){*{animation-duration:1ms!important;transition-duration:.2s!important}.rise{opacity:1;transform:none}}#lock{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background:radial-gradient(130% 100% at 50% 12%,var(--paper) 0%,var(--paper-2) 60%,var(--paper-3) 100%);transition:opacity .7s ease}#lock form{width:min(300px,72vw)}#lock .field{position:relative;display:flex;align-items:center;gap:10px}#lock input{flex:1;min-width:0;background:transparent;border:0;border-bottom:1px solid var(--hair-2);color:var(--ink);font-family:var(--mono);font-size:18px;letter-spacing:.5em;text-align:center;padding:12px 2px 12px 12px;outline:none;transition:border-color .35s}#lock input::placeholder{color:#17150f33;letter-spacing:.5em}#lock .field:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--ink);transition:width .45s cubic-bezier(.65,0,.35,1)}#lock .field:focus-within:after{width:100%}#lock button{flex:none;width:38px;height:38px;display:grid;place-items:center;background:transparent;border:1px solid var(--hair-2);border-radius:50%;color:var(--ink);cursor:pointer;font-size:15px;transition:background .3s,color .3s,border-color .3s,transform .25s}#lock button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}#lock button:active{transform:scale(.94)}#lock.shake{animation:shk .42s cubic-bezier(.36,.07,.19,.97)}#lock.wrong input{border-bottom-color:var(--ink)}@keyframes shk{10%,90%{translate:-1px 0}20%,80%{translate:2px 0}30%,50%,70%{translate:-4px 0}40%,60%{translate:4px 0}}#lock.hidden{opacity:0;pointer-events:none}main>*{margin-block:auto;width:100%}.entry p{font-size:13.5px;line-height:1.66;color:var(--ink-soft);margin-top:10px;max-width:64ch}.quiet{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--dim);padding:6px 0}a.entry-link{display:block;text-decoration:none;color:inherit;transition:opacity .3s}a.entry-link .org{transition:color .3s}a.entry-link:hover .org{color:var(--ink)}a.entry-link:hover p{color:var(--ink-soft)}a.entry-link .meta{color:var(--faint)}.backlink{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);text-decoration:none;margin-bottom:clamp(14px,2.5vw,22px);transition:color .3s}.backlink:hover{color:var(--ink)}.prose{max-width:66ch;margin-top:clamp(20px,3vw,30px);font-size:15px;line-height:1.75;color:var(--ink-soft)}.prose h2{font-family:var(--disp);font-weight:600;font-size:clamp(26px,4vw,36px);line-height:1.1;letter-spacing:-.01em;color:var(--ink);margin:1.4em 0 .4em}.prose h3{font-family:var(--disp);font-weight:600;font-size:clamp(20px,3vw,26px);line-height:1.15;color:var(--ink);margin:1.3em 0 .35em}.prose h4{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:1.4em 0 .3em}.prose p{margin:0 0 1.05em}.prose ul,.prose ol{margin:0 0 1.05em;padding-left:1.4em}.prose li{margin:.3em 0;line-height:1.7}.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--hair-2);text-underline-offset:2px;transition:text-decoration-color .3s}.prose a:hover{text-decoration-color:var(--ink)}.prose blockquote{margin:1.2em 0;padding:.1em 0 .1em 1.1em;border-left:1px solid var(--hair-2);color:var(--dim);font-style:italic}.prose code{font-family:var(--mono);font-size:.86em;background:#17150f0f;padding:.12em .38em;border-radius:3px;color:var(--ink)}.prose pre{margin:1.2em 0;padding:14px 16px;background:#17150f0d;border:1px solid var(--hair);border-radius:4px;overflow-x:auto}.prose pre code{background:none;padding:0;font-size:12.5px;line-height:1.6}.prose hr{border:0;border-top:1px solid var(--hair);margin:1.8em 0}.prose img{max-width:100%;height:auto;border-radius:4px}.prose strong{color:var(--ink);font-weight:600}.admin-top{align-items:flex-start}.mono-btn{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--hair-2);border-radius:3px;padding:9px 16px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}.mono-btn:hover{border-color:var(--ink)}.mono-btn.full{width:100%;margin-bottom:10px}.mono-btn.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.mono-btn.solid:hover{opacity:.88}.mono-btn.danger{color:#8a2b1f;border-color:#8a2b1f66}.mono-btn.danger:hover{background:#8a2b1f;color:var(--paper);border-color:#8a2b1f}.mono-btn:disabled{opacity:.5;cursor:default}.admin-grid{display:grid;grid-template-columns:220px 1fr;gap:clamp(18px,3vw,34px);margin-top:clamp(22px,3vw,32px)}.admin-list{display:flex;flex-direction:column;gap:2px}.admin-item{text-align:left;background:transparent;border:0;border-top:1px solid var(--hair);padding:10px 4px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:background .2s}.admin-item:hover{background:#17150f0a}.admin-item.on{background:#17150f12}.admin-item-title{font-family:var(--disp);font-size:16px;color:var(--ink);line-height:1.15}.admin-item-slug{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--faint)}.admin-form{display:flex;flex-direction:column;gap:16px;min-width:0}.fld{display:flex;flex-direction:column;gap:7px;min-width:0}.fld .k{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}.fld input,.fld textarea{background:#ffffff59;border:1px solid var(--hair-2);border-radius:3px;color:var(--ink);font-family:var(--sans);font-size:14px;padding:10px 12px;outline:none;transition:border-color .25s;width:100%}.fld input:focus,.fld textarea:focus{border-color:var(--ink)}.fld textarea{font-family:var(--mono);font-size:13px;line-height:1.6;min-height:340px;resize:vertical}.fld-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.editor-panes{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.preview-pane{margin-top:0;background:#ffffff40;border:1px solid var(--hair);border-radius:3px;padding:14px 16px;min-height:340px;max-height:520px;overflow-y:auto;font-size:14px}.admin-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:4px}.save-status{font-family:var(--mono);font-size:11px;letter-spacing:.06em}.save-status.ok{color:#3a6b33}.save-status.err{color:#8a2b1f}@media (max-width:820px){.admin-grid,.editor-panes,.fld-row{grid-template-columns:1fr}.preview-pane{min-height:200px}}
