:root { --ink:#ede8dc; --mute:#9a9284; --gold:#c9a15a; --paper:#0a0c0b; --card:#121614; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: Inter, system-ui, sans-serif; background:var(--paper); color:var(--ink); line-height:1.65; }
a { color:var(--gold); }
.studio-hub { font-family: ui-monospace, "IBM Plex Mono", monospace; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; background:#0a0c0b; color:#c4bba8; border-bottom:1px solid rgba(237,232,220,0.12); }
.studio-hub-inner { max-width:52rem; margin:0 auto; padding:10px 24px; display:flex; justify-content:space-between; gap:16px; }
.studio-hub a { color:#c9a15a; text-decoration:none; }
.wrap { max-width:52rem; margin:0 auto; padding:2.5rem 1.4rem 4rem; }
.display { font-family: "Playfair Display", Georgia, serif; font-weight:700; letter-spacing:-0.02em; line-height:1.15; }
.kicker { font-family: ui-monospace, "IBM Plex Mono", monospace; font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); }
h1.display { font-size:clamp(2rem,5vw,3.1rem); margin:0.4rem 0 1rem; }
h2 { font-family:"Playfair Display", Georgia, serif; font-size:1.45rem; margin:2.2rem 0 0.7rem; }
p.lede { color:#c4bba8; font-size:1.08rem; }
.muted { color:var(--mute); }
.cards { display:grid; gap:1rem; margin:1.6rem 0 2rem; }
@media (min-width:720px) { .cards { grid-template-columns:1fr 1fr; } }
.card { display:block; background:var(--card); border:1px solid rgba(237,232,220,0.1); border-radius:16px; padding:1.2rem 1.3rem; text-decoration:none; color:inherit; }
.card:hover { border-color:rgba(201,161,90,0.5); }
.card h3 { margin:0.2rem 0 0.4rem; font-family:"Playfair Display", Georgia, serif; font-size:1.25rem; color:var(--ink); }
.card p { margin:0; color:var(--mute); font-size:0.95rem; }
.crumb { font-size:0.82rem; color:var(--mute); margin-bottom:1rem; }
.crumb a { color:var(--gold); text-decoration:none; }
article ul { padding-left:1.2rem; }
article li { margin:0.35rem 0; }
.shot { border:1px solid rgba(237,232,220,0.12); border-radius:16px; overflow:hidden; margin:1.2rem 0; background:#161a18; }
.shot img { width:100%; display:block; height:220px; object-fit:cover; }
.shot figcaption { padding:0.7rem 1rem; font-size:0.85rem; color:var(--mute); }
footer.page { border-top:1px solid rgba(237,232,220,0.1); margin-top:3rem; padding-top:1.2rem; font-size:0.85rem; color:var(--mute); }
.cta { display:inline-block; margin-top:0.6rem; padding:0.7rem 1.1rem; background:#c9a15a; color:#0a0c0b; border-radius:999px; text-decoration:none; font-weight:600; }
