/* Rocketball — the racquetball pages (2026-10-28). Same palette and type as the film's homepage. */
:root { --cream:#f5f0e8; --ink:#0d0b08; --gold:#c9a84c; --gold-light:#e8c97a; --rust:#8b3a2a; --sage:#4a5c4e; --warm-gray:#888070; --parchment:#ede7d8; }
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body { background:var(--ink); color:var(--cream); font-family:'DM Sans',sans-serif; font-weight:300; overflow-x:hidden; line-height:1.6; }
a { color:var(--gold-light); }
nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; justify-content:space-between; align-items:center; padding:0.8rem 5vw;
  background:rgba(13,11,8,0.97); backdrop-filter:blur(12px); border-bottom:1px solid rgba(201,168,76,0.15); }
.nav-logo { font-family:'Bebas Neue',sans-serif; font-size:1.6rem; letter-spacing:0.12em; color:var(--gold); text-decoration:none; }
.nav-links { display:flex; gap:1.6rem; list-style:none; }
.nav-links a { font-family:'Bebas Neue',sans-serif; font-size:0.85rem; letter-spacing:0.18em; color:var(--cream); text-decoration:none; opacity:0.85; transition:color 0.3s; }
.nav-links a:hover, .nav-links a.here { color:var(--gold); opacity:1; }
@media (max-width:760px) { .nav-links { display:none; } }
main { padding:7.5rem 6vw 4rem; max-width:1100px; margin:0 auto; }
.section-label { font-family:'Bebas Neue',sans-serif; font-size:0.75rem; letter-spacing:0.35em; color:var(--gold); margin-bottom:1rem; display:flex; align-items:center; gap:1rem; }
.section-label::after { content:''; display:block; width:40px; height:1px; background:var(--gold); opacity:0.5; }
h1.section-title, h2.section-title { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(2.2rem,5vw,4rem); line-height:1.1; margin-bottom:1.2rem; }
h1 em, h2 em { font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--gold-light); }
h2.sub { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:1.9rem; margin:3rem 0 0.8rem; color:var(--gold-light); }
h3 { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.35rem; margin:1.6rem 0 0.4rem; }
p.lead { font-size:1.1rem; max-width:720px; color:#d9d2c4; margin-bottom:1.6rem; }
p { max-width:760px; }
.btn-primary { display:inline-block; font-family:'Bebas Neue',sans-serif; font-size:1rem; letter-spacing:0.15em; color:var(--ink); background:var(--gold); padding:0.75em 2.2em; text-decoration:none; transition:background 0.3s, transform 0.2s; }
.btn-primary:hover { background:var(--gold-light); transform:translateY(-2px); }
.btn-ghost { display:inline-block; font-family:'Bebas Neue',sans-serif; font-size:1rem; letter-spacing:0.15em; color:var(--cream); border:1px solid rgba(245,240,232,0.4); padding:0.75em 2.2em; text-decoration:none; transition:border-color 0.3s, transform 0.2s; }
.btn-ghost:hover { border-color:var(--gold); color:var(--gold); transform:translateY(-2px); }
.actions { display:flex; gap:0.8rem; flex-wrap:wrap; margin:1.2rem 0 2rem; }
.doors { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; margin:2rem 0; }
.door { display:block; text-decoration:none; color:var(--cream); border:1px solid rgba(245,240,232,0.15); padding:1.6rem 1.4rem; transition:border-color 0.3s, transform 0.2s; background:rgba(245,240,232,0.03); }
.door:hover { border-color:var(--gold); transform:translateY(-3px); }
.door .k { font-family:'Bebas Neue',sans-serif; font-size:1.3rem; letter-spacing:0.12em; color:var(--gold); display:block; margin-bottom:0.4rem; }
.door .d { font-size:0.92rem; color:#cfc7b8; }
.cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1rem; margin:1rem 0 2rem; }
.card { border:1px solid rgba(245,240,232,0.14); padding:1.2rem 1.2rem 1rem; background:rgba(245,240,232,0.03); }
.card .name { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.3rem; line-height:1.2; }
.card .biz { color:var(--gold-light); font-size:0.95rem; }
.card .where { color:var(--warm-gray); font-size:0.85rem; margin:0.25rem 0 0.6rem; }
.card .blurb { font-size:0.9rem; color:#d9d2c4; margin-bottom:0.7rem; }
.card .links { display:flex; gap:0.6rem; flex-wrap:wrap; }
.card .links a { font-family:'Bebas Neue',sans-serif; font-size:0.8rem; letter-spacing:0.18em; color:var(--cream); border:1px solid rgba(245,240,232,0.2); padding:0.45em 1em; text-decoration:none; transition:border-color 0.3s, color 0.3s; }
.card .links a:hover { border-color:var(--gold); color:var(--gold); }
.tag { display:inline-block; font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink); background:var(--gold); padding:0.15em 0.6em; margin-left:0.4em; vertical-align:middle; }
.note { border-left:2px solid var(--gold); padding:0.6rem 1rem; color:#d9d2c4; font-size:0.95rem; margin:1.4rem 0; max-width:760px; background:rgba(201,168,76,0.06); }
.muted { color:var(--warm-gray); font-size:0.85rem; }
.search { width:100%; max-width:480px; background:rgba(245,240,232,0.06); border:1px solid rgba(245,240,232,0.15); color:var(--cream); padding:0.85em 1.2em; font-family:'DM Sans',sans-serif; font-size:1rem; outline:none; margin:0.5rem 0 1.5rem; }
.search:focus { border-color:var(--gold); }
.signup-form { display:flex; flex-direction:column; gap:0.75rem; max-width:620px; }
.form-row { display:flex; gap:0.75rem; }
@media (max-width:540px) { .form-row { flex-direction:column; } }
.signup-form input, .signup-form textarea, .signup-form select { flex:1; background:rgba(245,240,232,0.06); border:1px solid rgba(245,240,232,0.15); color:var(--cream); padding:0.85em 1.2em; font-family:'DM Sans',sans-serif; font-size:0.9rem; outline:none; transition:border-color 0.3s; width:100%; }
.signup-form select option { color:var(--ink); }
.signup-form input::placeholder, .signup-form textarea::placeholder { color:var(--warm-gray); }
.signup-form input:focus, .signup-form textarea:focus, .signup-form select:focus { border-color:var(--gold); }
.signup-form textarea { resize:vertical; min-height:110px; }
.signup-form button { background:var(--gold); color:var(--ink); border:none; padding:0.9em 2.5em; font-family:'Bebas Neue',sans-serif; font-size:1.05rem; letter-spacing:0.15em; cursor:pointer; transition:background 0.3s, transform 0.2s; align-self:flex-start; min-width:180px; }
.signup-form button:hover { background:var(--gold-light); transform:translateY(-2px); }
.signup-form label { font-size:0.8rem; color:var(--warm-gray); letter-spacing:0.05em; }
footer { background:#070605; padding:3rem 6vw 2rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1.5rem; border-top:1px solid rgba(201,168,76,0.12); margin-top:3rem; }
.footer-logo { font-family:'Bebas Neue',sans-serif; font-size:1.8rem; color:var(--gold); letter-spacing:0.08em; }
.footer-links { display:flex; gap:1.5rem; list-style:none; flex-wrap:wrap; }
.footer-links a { font-family:'Bebas Neue',sans-serif; font-size:0.8rem; letter-spacing:0.18em; color:var(--warm-gray); text-decoration:none; transition:color 0.3s; }
.footer-links a:hover { color:var(--gold); }
.footer-contact { font-size:0.8rem; color:var(--warm-gray); width:100%; }
.footer-copy { font-size:0.72rem; color:#444; width:100%; }
