:root{
  --paper:#F3EFE6;--ink:#17162B;--ink-2:#55547A;--ink-3:#8C8BA8;
  --gold:#A87F30;--hair:rgba(23,22,43,.16);--hair-2:rgba(23,22,43,.08);
  --field:#C7C0F1;--field-opacity:.55;
  --serif:"Spectral",Georgia,serif;
  --sans:"Inter",system-ui,sans-serif;
  --mono:"DM Mono",ui-monospace,Menlo,monospace;
  --logo:"Bodoni Moda",Didot,"Bodoni 72",serif;
  --bg:var(--paper);--fg:var(--ink);--fg-2:var(--ink-2);--fg-3:var(--ink-3);--rule:var(--gold);--line:var(--hair);
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0B0B19;--fg:#ECE7DA;--fg-2:#B9B5C9;--fg-3:#8F8DAD;--rule:#D6B36C;--line:rgba(236,231,218,.16);
    --field:#352C8C;--field-opacity:.5;
  }
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg)}
body{
  font-family:var(--sans);font-weight:300;color:var(--fg);background:var(--bg);
  line-height:1.5;-webkit-font-smoothing:antialiased;
  min-height:100svh;display:flex;flex-direction:column;
  position:relative;overflow-x:hidden;
}
body::before{
  content:"";position:fixed;left:-18vw;top:-22vh;width:64vw;height:64vw;max-width:720px;max-height:720px;
  border-radius:50%;background:var(--field);filter:blur(110px);opacity:var(--field-opacity);
  pointer-events:none;z-index:0;transform-origin:center;animation:pulse 8s ease-in-out infinite;
}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
a{color:inherit;text-decoration:none}
.micro{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);font-weight:400}
header,main,footer{position:relative;z-index:1;width:100%;max-width:1120px;margin:0 auto;padding-left:40px;padding-right:40px}
header{padding-top:32px;display:flex;justify-content:space-between;align-items:center}
header .home{display:flex;align-items:center;gap:12px;color:var(--fg)}
header .home svg{width:26px;height:26px}
header .home .wm{font-family:var(--logo);font-weight:600;font-size:22px;line-height:1;letter-spacing:-.01em}
nav{display:flex;gap:28px}
nav a{padding:6px 0;border-bottom:1px solid transparent}
nav a:hover{border-bottom-color:var(--rule);color:var(--fg)}
main{flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:64px;padding-bottom:64px}
.lockup{display:flex;align-items:center;gap:22px}
.lockup svg{width:72px;height:72px;flex:none}
.wordmark{font-family:var(--logo);font-weight:600;font-size:clamp(56px,9vw,88px);line-height:1;letter-spacing:-.01em}
.tag{margin-top:22px;letter-spacing:.24em}
h1{font-family:var(--serif);font-weight:300;font-size:clamp(28px,4.2vw,40px);line-height:1.25;margin-top:40px;max-width:24ch;letter-spacing:0}
h1.title{margin-top:0;font-size:clamp(36px,5vw,52px)}
.rule2{margin:44px 0 40px;max-width:360px}
.rule2 i{display:block;height:1px;background:var(--rule);opacity:.7}
.rule2 i+i{margin-top:3px;opacity:.35}
.contact{display:flex;flex-direction:column;gap:10px}
.contact a{font-family:var(--serif);font-weight:400;font-size:21px;color:var(--fg);border-bottom:1px solid var(--line);width:max-content;padding-bottom:2px}
.contact a:hover{border-bottom-color:var(--rule)}
.prose{max-width:58ch;margin-top:32px}
.prose p{font-family:var(--serif);font-weight:400;font-size:18px;line-height:1.55;margin-top:18px;color:var(--fg)}
.prose p:first-child{margin-top:0}
.prose a{border-bottom:1px solid var(--line)}
.prose a:hover{border-bottom-color:var(--rule)}
footer{padding-top:28px;padding-bottom:40px;display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);font-size:13px;color:var(--fg-2)}
footer a{color:var(--fg-2)}
footer a:hover{color:var(--fg)}
.mark path{stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round}
.mark polygon{fill:currentColor}
@keyframes tw{0%,100%{opacity:.35}50%{opacity:1}}
.tw{animation:tw 5s ease-in-out infinite}
.t2{animation-duration:7s;animation-delay:1.3s}
.t3{animation-duration:6s;animation-delay:2.6s}
@media (prefers-reduced-motion:reduce){
  .tw{animation:none;opacity:.7}
  body::before{animation:none}
}
@media (max-width:640px){
  header,main,footer{padding-left:24px;padding-right:24px}
  header{padding-top:24px}
  .lockup{gap:16px}
  .lockup svg{width:52px;height:52px}
  footer{flex-direction:column;gap:10px}
}
