:root{
  color-scheme:light dark;
  --bg:#FFFFFF;--panel:#FFFFFF;--ink:#0B1020;--body:#404A63;--muted:#656F87;--line:#DDE3ED;--hover:#EDF0F6;
  --accent:#3D5AFE;--accent-hi:#2F4AE6;--on-accent:#FFFFFF;--shape:#3D5AFE;--on-shape:#FFFFFF;--focus:#3D5AFE;
  --bad:#C62828;--ok:#00764E;
  --tune:#3D5AFE;--tune-deep:#2122C4;--bezel:#1F2A44;
  --shadow:0 24px 50px -20px rgb(11 16 32 / .35);
  --mesh-1:#FFFFFF;--mesh-2:#E3E9F5;--mesh-dot:#3F4654;
  --weave:url("/main/weave.svg?v=95ef9e0f2f");
  --side:max(clamp(20px,5vw,120px),calc((100vw - 1200px) / 2));
  --f-head:"Playfair Display",Georgia,"Times New Roman",serif;
  --f-text:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0E1526;--panel:#152039;--ink:#E8ECF5;--body:#9AA5BD;--muted:#8892AC;--line:#27334F;--hover:#1D2A47;
    --accent:#6E86FF;--accent-hi:#8A9BFF;--on-accent:#05070F;--focus:#6E86FF;
    --bad:#FF6B6E;--ok:#2BD48A;
    --tune:#6E86FF;--tune-deep:#5B63DE;--bezel:#8892AC;
    --shadow:0 24px 50px -20px rgb(0 0 0 / .8);
    --mesh-1:#0E1526;--mesh-2:#16213A;--mesh-dot:#1E2A45;
    --weave:none;
  }
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-block-size:100vh;min-block-size:100dvh;display:flex;flex-direction:column;background:var(--bg) var(--weave);color:var(--body);font:400 16px/1.7 var(--f-text);-webkit-font-smoothing:antialiased;overflow-x:clip}
.sr{position:absolute;inline-size:1px;block-size:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
img,svg{display:block}
a{text-decoration:none}
[hidden]{display:none!important}

.mesh{position:fixed;inset:0;block-size:100lvh;z-index:-1;opacity:0;pointer-events:none}
.mesh.on{opacity:1}
.mesh canvas{inline-size:100%;block-size:100%}
.mesh::after{content:"";position:absolute;inset:0;background-image:var(--weave)}

.top{position:relative;z-index:3;display:flex;align-items:center;padding:max(14px,env(safe-area-inset-top)) var(--side) 0}
.mark{display:inline-flex;align-items:center;min-inline-size:44px;min-block-size:44px}
.glyph{inline-size:clamp(30px,2.5vw,38px);block-size:auto;fill:var(--ink)}
.drop{position:relative}
.drop summary{list-style:none}
.drop summary::-webkit-details-marker{display:none}
.chev{inline-size:12px;block-size:12px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.drop[open] .chev{rotate:180deg}
.drop-list{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;z-index:5;inline-size:max-content;min-inline-size:230px;margin:0;padding:6px;list-style:none;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}
.drop-list a{display:flex;align-items:center;gap:12px;min-block-size:48px;padding:6px 10px;border-radius:8px;font:600 16px/1.2 var(--f-text);color:var(--ink);text-decoration:none}
.drop-list a:hover{background:var(--hover)}
.drop-list .ico{inline-size:34px;block-size:28px;flex:none}
.drop-list .out{margin-inline-start:auto;inline-size:14px;block-size:14px;flex:none;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tune{fill:var(--tune)}
.tune-deep{fill:var(--tune-deep)}
.bezel{fill:var(--bezel)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-block-size:44px;padding:0 26px;border:1.5px solid transparent;border-radius:5px;font:600 16px/1 var(--f-text);text-decoration:none;cursor:pointer;white-space:nowrap}
.btn.fill{background:var(--accent);color:var(--on-accent)}
.btn.line{border-color:var(--ink);background:transparent;color:var(--ink)}
.btn:disabled{opacity:.6;cursor:progress}
.actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:13px;margin:0}
.actions .drop-list{inset-inline-start:0;inset-inline-end:auto}
h1{margin:0 0 24px;font:700 clamp(38px,4.45vw,64px)/1.17 var(--f-head);color:var(--ink)}
.lede{margin:0 0 16px;font-size:16px;line-height:1.75;color:var(--body);text-wrap:pretty}
.motto{margin:8px 0 28px;font:italic 400 15px/1.6 var(--f-text);color:var(--body)}

.home{--art-w:min(clamp(420px,48vw,880px),calc((100dvh - 12px) * 726 / 700))}
.masthead{position:relative;isolation:isolate;flex:1;display:flex;flex-direction:column}
.art-wide{position:absolute;inset-block-start:0;inset-inline-end:0;z-index:0;inline-size:var(--art-w);aspect-ratio:726 / 700;pointer-events:none}
.art-wide svg{inline-size:100%;block-size:auto}
.blob{fill:var(--shape)}
.city{opacity:.96}
.hero{--text:min(660px,calc(100vw - var(--art-w) - var(--side) - 28px));position:relative;z-index:2;padding:clamp(28px,7vh,72px) var(--side) 24px}
.hero > p,.hero > h1,.hero > .actions{max-inline-size:var(--text)}
.hero h1{margin-block-start:2.34em}
.hero .lede{max-inline-size:min(460px,var(--text));margin-block-end:32px}

.about{flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(32px,6vw,96px);padding:clamp(40px,8vw,120px) var(--side) clamp(40px,6vw,80px)}
.about h1{font-size:clamp(36px,3.35vw,48px);line-height:1.2}
.about .lede{max-inline-size:560px}
.avatar{inline-size:clamp(250px,34vw,470px);aspect-ratio:900 / 776}
.avatar svg{inline-size:100%;block-size:auto}

.reach{flex:1;padding:clamp(28px,5vw,64px) var(--side) clamp(32px,5vw,64px)}
.reach-text{margin-block-end:clamp(20px,3vw,30px)}
.reach h1{margin-block-end:16px;font-size:clamp(36px,3.35vw,48px);line-height:1.2}
.reach-text .lede{max-inline-size:none}
.reach-text .actions{margin-block-start:20px}
.reach-form{padding:clamp(22px,2.6vw,34px);border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.reach-form h2{margin:0 0 6px;font:700 clamp(24px,2.1vw,30px)/1.2 var(--f-head);color:var(--ink)}
.reach-form > .lede{margin-block-end:26px}
.contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(16px,2vw,24px)}
.contact .wide,.contact .hint,.contact > button,.contact .trap{grid-column:1 / -1}
.contact > button{justify-self:start}
.verify .fld{max-inline-size:300px}
.fld{display:grid;gap:7px;margin:0 0 18px}
.fld label{font:600 14px/1.4 var(--f-text);color:var(--ink)}
.fld .opt{font-weight:400;color:var(--muted)}
.fld input,.fld textarea{inline-size:100%;min-block-size:50px;padding:12px 14px;border:1.5px solid var(--line);border-radius:8px;background:var(--panel);font:400 16px/1.5 var(--f-text);color:var(--ink)}
.fld textarea{min-block-size:132px;resize:vertical}
.fld input:focus-visible,.fld textarea:focus-visible{outline-offset:1px}
.fld [aria-invalid="true"]{border-color:var(--bad)}
.err{margin:0;font-size:14px;line-height:1.5;color:var(--bad)}
.trap{position:absolute;inset-inline-start:-10000px;inline-size:1px;block-size:1px;overflow:hidden}
.hint{margin:0 0 18px;font-size:14px;line-height:1.5;color:var(--muted)}
.verify .row{display:flex;flex-wrap:wrap;gap:12px}
.status{margin:14px 0 0;font-size:15px;line-height:1.5;color:var(--body)}
.reach-form .note,.reach-form noscript .note{margin:0 0 22px;padding:14px 18px;border:1px solid var(--line);border-inline-start:3px solid var(--accent);border-radius:10px;font-size:15px;line-height:1.6;color:var(--ink)}
.reach-form .note.bad{border-inline-start-color:var(--bad)}
.reach-form .note.done{border-inline-start-color:var(--ok)}
.reach-form .note.done p{margin:0 0 14px}
.reach-form .note.privacy{margin:24px 0 0;color:var(--body)}
.reach-form .note a{color:var(--ink);font-weight:700}

.foot{margin-block-start:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 clamp(16px,3vw,40px);padding:clamp(20px,3vw,32px) var(--side) max(12px,env(safe-area-inset-bottom))}
.legal{display:flex;flex-wrap:wrap;align-items:center;gap:0 clamp(10px,1.8vw,22px);margin:0;padding:0}
.legal a{display:inline-flex;align-items:center;justify-content:center;min-inline-size:44px;min-block-size:44px;padding:0 2px;font:400 11px/1.6 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--body);text-decoration:none;white-space:nowrap}
.legal a:hover{color:var(--ink)}
.copy{margin:0;padding:0;font:400 11px/1.6 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--body)}

@media (max-width:899px){
  .home{--art-w:min(86vw,420px)}
  .hero{--text:100%;padding-block-start:calc(var(--art-w) * 680 / 726 - 44px)}
  .about{grid-template-columns:minmax(0,1fr)}
  .avatar{order:-1;justify-self:center;inline-size:min(86vw,320px)}
  .reach-text > *{display:none}
  .reach-text h1{position:absolute;inline-size:1px;block-size:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;display:block}
  .reach-text{margin-block-end:0}
}
@media (max-width:599px){
  .foot{gap:0 10px;padding:12px var(--side) max(8px,env(safe-area-inset-bottom))}
  .copy{font-size:10px;letter-spacing:.06em}
  .legal{gap:0 6px}
  .legal a{padding:0 4px;font-size:10px;letter-spacing:.06em}
  .hero .drop-list{inset-block-start:auto;inset-block-end:calc(100% + 8px)}
  h1{font-size:clamp(30px,9vw,38px)}
  .hero h1{margin-block-start:0}
}
@media (max-width:599px) and (max-height:700px){
  .home{--art-w:min(72vw,30dvh)}
  .hero .lede{margin-block-end:18px}
  h1{margin-block-end:12px}
}
@media (max-width:599px) and (max-height:600px){
  .home{--art-w:min(64vw,26dvh)}
  h1{font-size:28px;margin-block-end:10px}
  .hero .lede{font-size:15px;line-height:1.6;margin-block-end:16px}
}
@media (max-width:340px){
  :root{--side:16px}
  .copy{letter-spacing:.02em}
}
@media (max-width:899px){
  .contact{grid-template-columns:minmax(0,1fr)}
  .foot{flex-direction:column-reverse;align-items:center;gap:8px;text-align:center}
  .legal{justify-content:center}
}
@media (hover:hover){
  .btn.fill:hover{background:var(--accent-hi)}
  .btn.line:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}
}
@media (prefers-reduced-motion:no-preference){
  .mesh{transition:opacity .8s ease}
  .btn,.drop-list a,.legal a{transition:background-color .2s ease,color .2s ease}
  .chev{transition:rotate .2s ease}
}
