@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap");
:root{--ink:#071014;--volt:#c8f542;--ice:#e8f4f2;--line:#1c3a40;--muted:#7fa3a8}
*{box-sizing:border-box}
body{margin:0;background:var(--ink);color:#f4fbfa;font:16px/1.5 "IBM Plex Sans",system-ui,sans-serif}
a{color:inherit}
img{max-width:100%;display:block}
.demo-banner{background:var(--volt);color:#071014;text-align:center;padding:.5rem 1rem;font-size:.75rem;font-weight:700}
.demo-banner a{color:#071014}
.nav{display:flex;align-items:center;gap:1rem;padding:1rem 6%;position:sticky;top:0;background:#071014f2;z-index:5}
.logo{font-family:"Space Grotesk",sans-serif;font-weight:700;letter-spacing:-.04em;text-decoration:none;font-size:1.2rem}
.nav nav{margin-left:auto;display:flex;gap:1.1rem;font-size:.85rem}
.book{background:var(--volt);color:#071014;text-decoration:none;padding:.7rem 1rem;font-weight:700;border-radius:999px}
.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:72vh}
.hero-copy{padding:clamp(2rem,6vw,4.5rem) 8%}
.kicker{color:var(--volt);letter-spacing:.16em;text-transform:uppercase;font-size:.7rem;font-weight:700}
h1,h2{font-family:"Space Grotesk",sans-serif;letter-spacing:-.04em;line-height:.95;margin:.4rem 0 1rem}
h1{font-size:clamp(2.6rem,7vw,4.6rem);max-width:12ch}
.hero-photo{background:#123 center/cover}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 6% 4rem}
.card{border:1px solid var(--line);padding:1.1rem;background:#0c1c20;border-radius:14px}
.staff{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 6% 4rem}
.staff article{background:#0c1c20;padding:1rem;border-radius:14px;border:1px solid var(--line)}
.avatar{width:48px;height:48px;border-radius:50%;background:var(--volt);color:#071014;display:grid;place-items:center;font-weight:800;margin-bottom:.6rem}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.slot,.day{border:1px solid var(--line);background:#0c1c20;color:#f4fbfa;padding:.7rem .3rem;text-align:center;border-radius:8px;font:inherit;cursor:pointer}
.slot[aria-pressed="true"],.day[aria-pressed="true"]{background:var(--volt);color:#071014}
.slot:disabled{opacity:.35;cursor:not-allowed}
.panel{padding:0 6% 4rem;max-width:920px}
.ok{display:none;margin-top:1rem;padding:1rem;background:var(--volt);color:#071014;font-weight:700}
footer{padding:2rem 6%;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}
@media(max-width:800px){.hero,.grid,.staff{grid-template-columns:1fr}.hero-photo{min-height:240px}.nav nav{display:none}}
