/* ============================================================
   Regina Monae · RM Ransom Productions — shared design system
   Stage black · Gold · Burgundy roses · Cream
   ============================================================ */
:root{
  --black:#0F0B0C; --black-2:#171012; --black-3:#1F1517;
  --gold:#D9B45B; --gold-bright:#EDD389; --gold-dim:#9C7F3C;
  --burgundy:#71182A; --burgundy-bright:#92263C; --burgundy-deep:#3E0D18;
  --cream:#F3EADB; --muted:#B3A091; --line:rgba(217,180,91,.22);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Albert Sans',sans-serif;background:var(--black);color:var(--cream);font-size:16px;line-height:1.65;overflow-x:hidden;}
h1,h2,h3,h4,.serif{font-family:'Young Serif',Georgia,serif;font-weight:400;}
.mono{font-family:'IBM Plex Mono',monospace;}
a{color:inherit;}
img{max-width:100%;}
.wrap{max-width:1100px;margin:0 auto;padding:0 26px;}
section{padding:80px 0;position:relative;}

/* ---- nav ---- */
nav.site{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(15,11,12,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav-inner{max-width:1100px;margin:0 auto;padding:14px 26px;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.nav-name{font-family:'Young Serif',serif;font-size:1.05rem;color:var(--gold);text-decoration:none;letter-spacing:.03em;}
.nav-links{display:flex;gap:4px;flex-wrap:wrap;}
.nav-links a{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--cream);text-decoration:none;padding:8px 12px;border-radius:999px;}
.nav-links a:hover{background:rgba(217,180,91,.12);color:var(--gold-bright);}
.nav-links a.side-tag{border:1px solid var(--line);color:var(--gold);}
.nav-links a[aria-current="page"]{color:var(--gold-bright);background:rgba(217,180,91,.1);}

/* ---- type & kit ---- */
.kicker{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);}
.kicker b{color:var(--gold);font-weight:500;}
.page-title{font-size:clamp(2.4rem,6vw,3.8rem);line-height:1.05;color:var(--gold);text-shadow:0 0 50px rgba(217,180,91,.2);}
.page-title em{font-style:italic;color:var(--gold-bright);}
.lead{margin-top:16px;font-weight:300;font-size:1.05rem;color:var(--muted);max-width:620px;}
.lead strong{color:var(--cream);font-weight:600;}
.section-title{font-size:clamp(1.8rem,4vw,2.5rem);color:var(--gold);line-height:1.15;}

.btn{display:inline-flex;align-items:center;gap:9px;text-decoration:none;cursor:pointer;font-family:'Albert Sans',sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:14px 26px;border-radius:999px;border:1px solid transparent;transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease;background:none;color:var(--cream);}
.btn:hover{transform:translateY(-1px);}
.btn-gold{background:var(--gold);color:var(--black);}
.btn-gold:hover{background:var(--gold-bright);}
.btn-line{border-color:rgba(243,234,219,.4);}
.btn-line:hover{border-color:var(--gold);color:var(--gold-bright);}
.btn-burgundy{background:var(--burgundy);color:var(--cream);}
.btn-burgundy:hover{background:var(--burgundy-bright);}
.btn-sm{padding:9px 16px;font-size:.72rem;}

.card{background:var(--black-2);border:1px solid var(--line);border-radius:18px;padding:30px 28px;box-shadow:0 24px 60px rgba(0,0,0,.5);}
.card-3{background:var(--black-3);}

/* ---- header band ---- */
header.page{position:relative;background:var(--black);padding:150px 0 70px;overflow:hidden;}
header.page::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:conic-gradient(from 112deg at 12% -12%, transparent 0deg, rgba(237,211,137,.09) 7deg, transparent 16deg),
             conic-gradient(from 248deg at 88% -12%, transparent 0deg, rgba(146,38,60,.2) 8deg, transparent 18deg);}
header.page::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:180px;pointer-events:none;background:radial-gradient(60% 100% at 50% 100%, rgba(113,24,42,.3), transparent 70%);}
header.page .wrap{position:relative;z-index:1;}

/* ---- rose divider ---- */
.rose-divider{display:flex;align-items:center;gap:18px;justify-content:center;margin:0 auto;}
.rose-divider::before,.rose-divider::after{content:'';height:1px;width:min(180px,26vw);background:linear-gradient(90deg,transparent,var(--gold-dim));}
.rose-divider::after{background:linear-gradient(90deg,var(--gold-dim),transparent);}
.rose .petal-outer{fill:var(--burgundy);} .rose .petal-mid{fill:var(--burgundy-bright);} .rose .petal-core{fill:var(--burgundy-deep);} .rose .leaf{fill:#2E4430;}

/* ---- forms ---- */
label{display:block;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:0 0 6px;}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],input[type=url],select,textarea{
  width:100%;font-family:'Albert Sans',sans-serif;font-size:.95rem;color:var(--cream);background:var(--black);
  border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:16px;}
textarea{min-height:110px;resize:vertical;}
input::placeholder,textarea::placeholder{color:rgba(179,160,145,.55);}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold);}
select option{background:var(--black);color:var(--cream);}
.fine{font-size:.78rem;color:var(--muted);}

/* ---- footer ---- */
footer.site{background:var(--black);color:var(--muted);padding:50px 0 40px;border-top:1px solid var(--line);}
.foot-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-end;}
.foot-name{font-family:'Young Serif',serif;font-size:1.3rem;color:var(--gold);}
footer.site .fine{margin-top:8px;opacity:.85;}
.foot-links{display:flex;gap:18px;flex-wrap:wrap;}
.foot-links a{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--muted);}
.foot-links a:hover{color:var(--gold-bright);}

/* ---- reveal ---- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* ---- modal ---- */
.modal-backdrop{position:fixed;inset:0;background:rgba(15,11,12,.85);backdrop-filter:blur(6px);z-index:100;display:none;align-items:center;justify-content:center;padding:24px;}
.modal-backdrop.open{display:flex;}
.modal{background:var(--black-2);border:1px solid var(--gold-dim);border-radius:18px;max-width:560px;width:100%;max-height:84vh;overflow:auto;padding:34px 32px;position:relative;box-shadow:0 40px 100px rgba(0,0,0,.8);}
.modal h3{color:var(--gold);font-size:1.4rem;margin-bottom:6px;}
.modal .mono{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy-bright);}
.modal p{margin-top:12px;font-weight:300;color:var(--cream);}
.modal .close{position:absolute;top:14px;right:14px;background:none;border:1px solid var(--line);color:var(--gold);border-radius:999px;width:34px;height:34px;cursor:pointer;font-size:1rem;}
.modal .close:hover{background:var(--burgundy);}

@media (max-width:880px){
  section{padding:60px 0;}
  header.page{padding:120px 0 56px;}
  .nav-links a:not(.side-tag){display:none;}
}
