:root{--bg:#F4EEE5;--fg:#4A2C20;--muted:#7A5E50;--line:#D9CBB9;
--serif:"Playfair Display","Bodoni 72",Didot,"Bodoni Moda",Georgia,"Times New Roman",serif;
--sans:"DM Sans","Avenir Next",Avenir,"Helvetica Neue",system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}
@media (prefers-color-scheme: dark){:root{--bg:#3A2116;--fg:#F4EEE5;--muted:#CDBBA8;--line:#5C3E30;color-scheme:dark}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.55}
.wrap{max-width:30rem;margin:0 auto;padding-block:56px 64px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:grid;gap:40px}
.logo{display:block;width:min(220px,66%);height:auto;margin:0 auto}
a{color:inherit}
header{display:grid;gap:20px;text-align:center}
.thesis{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(2.2rem,9vw,3rem);line-height:1.1;margin:0;text-wrap:balance}
.kicker{line-height:2}
.kicker,.label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0}
.label{margin-bottom:8px}
ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
li{border-bottom:1px solid var(--line)}
.row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px;text-decoration:none}
.t{display:grid;gap:2px;min-width:0}
.name{font-family:var(--serif);font-size:1.25rem;line-height:1.3}
.meta{font-size:.82rem;color:var(--muted)}
.arrow{font-size:1.1rem;flex:none;transition:transform .2s ease}
a.row:hover .arrow{transform:translateX(4px)}
a:focus-visible,button:focus-visible{outline:2px solid var(--fg);outline-offset:4px}
.soon{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line);padding:3px 8px;color:var(--muted);flex:none}
.mail{user-select:all;word-break:break-all}
button{font:inherit;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg);background:transparent;border:1px solid var(--line);padding:4px 10px;cursor:pointer;flex:none}
.legal{padding-top:8px;display:grid;gap:10px;font-size:.88rem;color:var(--muted)}
.legal h1,.legal h2{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--fg);margin:0}
.legal h1{font-size:2rem}.legal h2{font-size:1.15rem;margin-top:10px}
.legal p,.legal address{margin:0;font-style:normal}
.foot{display:flex;justify-content:center;gap:24px;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
@media (prefers-reduced-motion: reduce){.arrow{transition:none}}
.note{margin:0;font-size:.85rem;color:var(--muted);font-style:italic;text-align:center;text-wrap:balance}