:root{color-scheme:dark;--ink:#f4f1eb;--muted:#aaa7a3;--accent:#bc312c;--bg:#090909;font-family:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;padding:32px 4% 54px;isolation:isolate}
.scene{position:fixed;inset:0;z-index:-1;background:url('doorway.png') center center/cover no-repeat;pointer-events:none}
header{display:flex;align-items:center;justify-content:space-between}
a{color:inherit;text-decoration:none}
.brand{font-size:30px;letter-spacing:.28em}
button{font:inherit;color:inherit;cursor:pointer}
.nav-about{font-size:24px;border:0;background:none;padding:4px 0 4px 18px}
main{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:80px 0 120px;animation:arrive 900ms ease-out both}
h1{font-size:clamp(72px,8.8vw,136px);font-weight:400;line-height:.91;letter-spacing:-.05em;margin:0 0 32px}
main p{font-size:clamp(21px,1.8vw,28px);color:var(--muted);line-height:1.5;margin:0 0 34px;max-width:660px}
.primary{border:1px solid var(--accent);background:rgba(0,0,0,.15);font-size:23px;padding:14px 42px;transition:background .2s,border-color .2s}
.primary:hover{background:#601b19;border-color:#ef6c61}
.nav-about:hover{color:#efaaa1}
:focus-visible{outline:2px solid #f5b6a9;outline-offset:7px}
footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #77716c;padding-top:26px;color:#c7c2bd;font-size:20px}
dialog{background:#141110;color:var(--ink);border:1px solid #70413b;width:min(540px,calc(100% - 40px));padding:32px;box-shadow:0 30px 100px #000;line-height:1.65}
dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(5px)}
dialog form{text-align:right}dialog .close{background:none;border:1px solid #76534d;font-size:16px;padding:7px 14px}
dialog h2{font-size:34px;font-weight:400;line-height:1.2}dialog p{font-family:system-ui,sans-serif;color:#ccc6c1;font-size:16px}
@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1200px) and (min-height:850px){main{padding-bottom:140px}}
@media(max-width:650px){body{padding:26px 24px 28px}.brand{font-size:23px}.nav-about{font-size:19px}.scene{background-position:61% center}main{padding:95px 0 90px;min-height:65svh}h1{font-size:clamp(60px,13vw,82px);line-height:.98;margin-bottom:25px}main p{max-width:290px;font-size:20px;color:#c5bfba;text-shadow:0 1px 8px #000}.primary{font-size:19px;padding:13px 25px}footer{font-size:15px;flex-direction:column;gap:9px;padding-top:20px}}
@media(prefers-reduced-motion:reduce){main{animation:none}*{transition:none!important}}
