/* Velvet Meridian — provisional brand (JJ to approve name)
   House register: black, champagne gold, warm ivory. Serif display.
   No photography of people — texture, type and the emblem carry the site. */
:root{
  --black:#0b0b0d; --black2:#131316; --ink:#ece7db; --muted:#b7b0a1;
  --gold:#c9a24d; --gold-bright:#e8c87a; --gold-dim:#8a6d2a;
  --paper:#f6f2e9; --paper-ink:#1c1a17; --paper-muted:#5d574c; --line:#ddd3ba;
  --serif:Georgia,"Times New Roman",Times,serif;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);background:var(--black);color:var(--ink);font-size:17px;line-height:1.65;overflow-x:clip}
::selection{background:var(--gold);color:var(--black)}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}
h1,h2,h3{font-family:var(--serif);font-weight:normal;line-height:1.22;margin:0 0 .8rem}
h2{font-size:1.95rem}
h3{font-size:1.22rem;color:var(--gold-bright)}
p{margin:0 0 1rem}
a{color:var(--gold-bright)}
.wrap{max-width:1120px;margin:0 auto;padding:0 1.4rem}
.wrap.narrow{max-width:780px}
.eyebrow{letter-spacing:.26em;text-transform:uppercase;font-size:.74rem;font-weight:600;color:var(--gold);margin-bottom:1rem}
.eyebrow::before{content:"";display:inline-block;width:2.4rem;height:1px;background:var(--gold);vertical-align:middle;margin-right:.75rem}

/* Header — brand never clipped or overlapped at any width */
.site-header{background:linear-gradient(180deg,#101013,var(--black));border-bottom:1px solid rgba(201,162,77,.45);position:sticky;top:0;z-index:80}
.header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:78px;padding:.55rem 0}
.brand{display:flex;align-items:center;gap:.85rem;text-decoration:none;min-width:0;flex:1 1 auto}
.brand-emblem{width:48px;height:48px;flex:none}
.brand-lines{display:flex;flex-direction:column;min-width:0}
.brand-name{font-family:var(--serif);font-size:1.32rem;letter-spacing:.06em;color:#fff;white-space:nowrap}
.brand-sub{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:.22rem;white-space:nowrap}
.nav-toggle{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;height:44px;padding:0 1.05rem;display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--ink);border:1px solid rgba(201,162,77,.55);border-radius:2px;cursor:pointer}
.nav-toggle:hover,.nav-toggle[aria-expanded="true"]{background:var(--gold);color:var(--black);border-color:var(--gold)}
.nav-caret{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor}
.main-nav{position:absolute;right:0;top:calc(100% + 8px);width:min(88vw,320px);z-index:60;display:flex;flex-direction:column;background:linear-gradient(180deg,#16161a,var(--black));border:1px solid rgba(201,162,77,.55);box-shadow:0 26px 50px rgba(0,0,0,.6);padding:.45rem 0}
.main-nav[hidden]{display:none}
.main-nav a{color:var(--ink);text-decoration:none;font-family:var(--serif);font-size:1.02rem;padding:.66rem 1.35rem;border-bottom:1px solid rgba(236,231,219,.08)}
.main-nav a:last-child{border-bottom:none}
.main-nav a:hover{background:rgba(201,162,77,.13);color:#fff}
.main-nav a[aria-current="page"]{color:var(--gold-bright);box-shadow:inset 3px 0 0 var(--gold)}
@media(max-width:640px){.header-inner{flex-wrap:wrap}.brand{flex:1 1 100%}.brand-name{white-space:normal}}

/* Hero */
.hero{position:relative;padding:5.2rem 0 4.6rem;text-align:center;background:radial-gradient(ellipse 80% 60% at 50% 0%,#1d1a14 0%,var(--black) 62%);border-bottom:1px solid rgba(201,162,77,.45);overflow:hidden}
.hero::before,.hero::after{content:"";position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(201,162,77,.35),transparent)}
.hero::before{left:6%}.hero::after{right:6%}
.hero .emblem-lg{width:118px;height:118px;margin:0 auto 1.4rem}
.hero h1{font-size:2.9rem;color:#fff;max-width:22ch;margin-left:auto;margin-right:auto}
.hero .lede{font-size:1.14rem;color:var(--muted);max-width:60ch;margin:0 auto 1rem}
.hero-actions{margin:1.8rem 0 .6rem;display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
.page-hero{padding:3.6rem 0 3rem;text-align:left}
.page-hero h1{font-size:2.35rem;color:#fff}
.page-hero .lede{color:var(--muted);max-width:62ch}
.btn{display:inline-block;text-decoration:none;padding:.85rem 1.6rem;border-radius:2px;font-size:.8rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;transition:background .2s,color .2s,border-color .2s}
.btn-primary{background:var(--gold);color:var(--black);border:1px solid var(--gold-dim)}
.btn-primary:hover{background:var(--gold-bright)}
.btn-ghost{border:1px solid rgba(236,231,219,.4);color:var(--ink)}
.btn-ghost:hover{border-color:#fff;color:#fff}
.btn-dark{background:var(--black);color:var(--gold-bright);border:1px solid var(--black)}
.btn-dark:hover{background:#232327}

/* Sections */
.section{padding:4.2rem 0}
.section-paper{background:var(--paper);color:var(--paper-ink)}
.section-paper h2{color:var(--paper-ink)}
.section-paper h3{color:#7a5f22}
.section-paper a{color:#7a5f22}
.section-alt{background:var(--black2)}
.section-intro{max-width:62ch;color:var(--muted)}
.section-paper .section-intro{color:var(--paper-muted)}
.rule{width:64px;height:1px;background:var(--gold);margin:1.2rem 0 1.6rem;border:0}
.center{text-align:center}
.center .rule{margin-left:auto;margin-right:auto}

/* Cards / rows */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin-top:1.6rem}
.card{border:1px solid rgba(201,162,77,.35);border-top:3px solid var(--gold);background:#101013;padding:1.5rem 1.5rem .8rem}
.card p{color:var(--muted);font-size:.97rem}
.section-paper .card{background:#fff;border-color:var(--line);border-top-color:var(--gold)}
.section-paper .card p{color:var(--paper-muted)}
.pos-eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;color:var(--gold);font-weight:600;margin-bottom:.5rem}
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;margin-top:1.6rem}
.step{border:1px solid rgba(201,162,77,.3);padding:1.4rem}
.step .num{font-family:var(--serif);font-size:1.7rem;color:var(--gold)}
.step p{color:var(--muted);font-size:.96rem}
.trust-strip{border-top:1px solid rgba(201,162,77,.3);border-bottom:1px solid rgba(201,162,77,.3);padding:1rem 0}
.trust-strip .wrap{display:flex;flex-wrap:wrap;gap:.5rem 2.2rem;justify-content:center;font-family:var(--serif);font-size:.97rem}
.trust-strip b{color:var(--gold-bright);font-weight:normal;margin-right:.4rem}

/* Rates */
.rate-table{width:100%;border-collapse:collapse;margin-top:1.4rem;background:#101013}
.rate-table th,.rate-table td{border:1px solid rgba(201,162,77,.3);padding:1rem 1.1rem;text-align:left;vertical-align:top}
.rate-table th{font-family:var(--serif);color:var(--gold-bright);font-weight:normal;font-size:1.05rem}
.rate-table td{color:var(--muted)}
.rate-table td strong{color:#fff;font-family:var(--serif);font-size:1.25rem;font-weight:normal}
.note{font-size:.92rem;color:var(--muted)}
.section-paper .note{color:var(--paper-muted)}

/* Form */
.assign-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem;margin-top:1.4rem}
.assign-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.assign-form .wide{grid-column:1/-1}
.assign-form input,.assign-form select,.assign-form textarea{font-family:var(--sans);font-size:1rem;letter-spacing:normal;text-transform:none;padding:.7rem .8rem;background:#101013;border:1px solid rgba(201,162,77,.4);color:var(--ink);border-radius:2px}
.assign-form textarea{resize:vertical}
.form-actions{grid-column:1/-1;display:flex;gap:.8rem;flex-wrap:wrap}
.checkline{flex-direction:row !important;align-items:flex-start;gap:.6rem !important;text-transform:none !important;letter-spacing:normal !important;font-size:.95rem !important;color:var(--muted) !important}
.checkline input{margin-top:.25rem}
@media(max-width:640px){.assign-form{grid-template-columns:1fr}}

/* Age gate */
.age-gate{position:fixed;inset:0;z-index:200;background:rgba(5,5,7,.94);display:flex;align-items:center;justify-content:center;padding:1.2rem}
.age-gate[hidden]{display:none}
.age-card{max-width:520px;text-align:center;border:1px solid rgba(201,162,77,.55);background:var(--black);padding:2.4rem 2rem}
.age-card img{width:84px;height:84px;margin:0 auto 1rem}
.age-card h2{color:#fff}
.age-card p{color:var(--muted);font-size:.97rem}

/* Footer */
.site-footer{border-top:1px solid rgba(201,162,77,.45);background:#080809;padding:2.6rem 0 2rem;margin-top:0}
.site-footer .cols{display:flex;flex-wrap:wrap;gap:1.6rem 3rem;justify-content:space-between}
.site-footer nav{display:flex;flex-direction:column;gap:.35rem}
.site-footer nav a{color:var(--muted);text-decoration:none;font-size:.95rem}
.site-footer nav a:hover{color:var(--gold-bright)}
.fine{font-size:.85rem;color:#8d8676;max-width:75ch;margin-top:1.6rem}
.footer-brand{font-family:var(--serif);font-size:1.15rem;color:#fff;letter-spacing:.05em}
.reveal{opacity:1}
