
:root{--bg:#2B2A28;--text:#F2EDE4;--muted:#8A97A8;--accent:#D4A5A0;--font:'Inter',ui-sans-serif,system-ui,sans-serif;--mono:ui-monospace,'SF Mono',Menlo,monospace}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--text)}
::selection{background:rgba(212,165,160,.28)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@keyframes beam{0%{transform:translateX(-120%)}100%{transform:translateX(420%)}}
@keyframes haze{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
.page{min-height:100vh;overflow-x:hidden}
.wrap{position:relative;max-width:1000px;margin:0 auto;padding:0 28px}
.glow{position:absolute;top:-220px;left:8%;width:640px;height:420px;pointer-events:none;background:radial-gradient(ellipse at center,rgba(212,165,160,.20),rgba(138,151,168,.10) 45%,transparent 72%);filter:blur(28px);animation:haze 9s ease-in-out infinite}
nav{position:relative;display:flex;gap:26px;align-items:center;padding:28px 0 0;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
nav a{color:var(--muted)}
nav .here{color:var(--text)}
nav .spacer{flex:1}
.hero{position:relative;padding:clamp(70px,13vh,140px) 0 0}
.kicker{margin:0 0 18px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
h1{font-weight:600;font-size:clamp(38px,6.4vw,68px);line-height:1.02;letter-spacing:-0.035em;margin:0;max-width:15ch;text-wrap:balance}
.rule{position:relative;height:1px;margin:44px 0 0;background:rgba(242,237,228,.12);overflow:hidden}
.rule i{position:absolute;inset:0;width:26%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:beam 5.5s linear infinite}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));gap:12px;padding:36px 0 0}
.card{display:flex;flex-direction:column;gap:9px;padding:20px;border:1px solid rgba(242,237,228,.11);border-radius:8px;background:linear-gradient(158deg,rgba(242,237,228,.05),rgba(242,237,228,.014));color:var(--text);transition:border-color .2s ease,background .2s ease,transform .2s ease}
.card:hover{border-color:rgba(212,165,160,.55);background:linear-gradient(158deg,rgba(212,165,160,.10),rgba(242,237,228,.02));transform:translateY(-2px);color:var(--text)}
.card .kind{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.card .title{font-size:19px;font-weight:500;letter-spacing:-0.02em;line-height:1.2}
.card .note{font-size:13px;line-height:1.5;color:var(--muted);text-wrap:pretty}
.card .book{display:flex;align-items:center;gap:7px;margin-top:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.notice{margin:20px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;line-height:1.6;color:var(--muted)}
.contact{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:baseline;margin:44px 0 0;padding-top:22px;border-top:1px solid rgba(242,237,228,.09);font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.contact .spacer{flex:1}
.fine{display:flex;flex-direction:column;gap:6px;margin:22px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;line-height:1.6;color:var(--muted)}
.fine .gap{height:12px}
.tail{height:70px}
