/* =============================================================
   DISGUISED RENTALS — Masquerade Wardrobe & Prop Trunk Theme
   COLOR SYSTEM
   costume-cream      #FAF3E9   body background (theater curtain lining)
   trunk-brown        #33241E   headings / strong text
   trunk-brown-soft   #7A6455   body text on light panels
   masquerade-magenta #A8376B   primary accent deep pink
   wig-stand-plum     #4A3153   raised panels / nav
   backstage-deep     #2E1F2B   deeper panels / metric band
   deeper-stage       #241826   footer
   gold-thread        #C9963B   secondary accent trim
   lace-cream         #FDF8F0   card panels / light text on dark
   plum-paper         #D9C9D6   body text on dark panels
   backstage-hairline #463647   thin separators
   ============================================================= */

html { font-size: 16px; }

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.7;
  color: #33241E;
  background-color: #FAF3E9;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5 { font-family: Georgia, "Times New Roman", serif; color: #33241E; }
a { color: #A8376B; text-decoration: none; }
a:hover { color: #8e2b5a; text-decoration: underline; }

.wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.wrap-wide { max-width: 1280px; margin: 0 auto; padding: 0 28px; }

/* ============ WARDROBE-RAIL NAV ============ */
.wardrobenav { position: sticky; top: 0; z-index: 100; background-color: #4A3153; width: 100%; }

.wardrobenav .nav-feather-boa { height: 16px; width: 100%; position: relative; overflow: hidden; }

.wardrobenav .boa-bump { width: 34px; height: 34px; border-radius: 50%; display: inline-block; vertical-align: top; margin-top: -13px; margin-right: 10px; }
.boa-bump.is-magenta { background-color: #A8376B; }
.boa-bump.is-gold { background-color: #C9963B; }
.boa-bump--s { width: 22px; height: 22px; margin-top: -6px; }

.wardrobenav .loose-feather { position: absolute; top: 6px; width: 6px; height: 26px; transform: rotate(35deg); }
.wardrobenav .loose-feather.f1 { left: 34%; background-color: #A8376B; border-radius: 3px 3px 0 0; }
.wardrobenav .loose-feather.f2 { left: 66%; background-color: #C9963B; border-radius: 3px 3px 0 0; height: 20px; width: 5px; transform: rotate(50deg); }

.wardrobenav-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 14px 0; color: #FDF8F0; max-width: 1280px; margin: 0 auto; width: 100%; }

.wardrobenav-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.wardrobenav-brand .nav-mask-glyph { }
.wardrobenav-brand .brand-word { font-size: 21px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #FDF8F0; }
.wardrobenav-brand:hover { text-decoration: none; }

.nav-mask-glyph { display: inline-block; width: 24px; height: 16px; border-radius: 6px; background-color: #A8376B; border: 2px solid #C9963B; position: relative; }
.nav-mask-glyph::before, .nav-mask-glyph::after { content: ""; position: absolute; top: 50%; width: 5px; height: 5px; transform: translateY(-50%); border-radius: 50%; background-color: #FDF8F0; }
.nav-mask-glyph::before { left: 3px; }
.nav-mask-glyph::after { right: 3px; }

.wardrobenav-links { display: flex; align-items: center; flex-wrap: wrap; list-style: none; gap: 0; }
.wardrobenav-links li { padding: 6px 0; }
.wardrobenav-links a { color: #D9C9D6; font-size: 14px; letter-spacing: 0.04em; text-transform: uppercase; padding: 6px 10px; position: relative; font-family: Georgia, serif; }
.wardrobenav-links a:hover { color: #FDF8F0; text-decoration: none; }
.wardrobenav-links a::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 2px; height: 2px; background-color: #A8376B; transform: scaleX(0); transform-origin: left; transition: transform 0.2s ease; }
.wardrobenav-links a:hover::after { transform: scaleX(1); }
.wardrobenav-links li:hover::before { }
.tassel-dot { display: inline-block; width: 6px; height: 6px; margin: 0 6px; border-radius: 50%; background-color: #C9963B; }

/* mobile nav */
.nav-toggle { display: none; background: none; border: 1px solid #C9963B; color: #FDF8F0; font-size: 14px; padding: 6px 14px; cursor: pointer; letter-spacing: 0.1em; }

@media (max-width: 760px) {
  .nav-toggle { display: inline-block; }
  .wardrobenav-row { flex-wrap: wrap; }
  .wardrobenav-links-wrap { width: 100%; }
  .wardrobenav-links { flex-direction: column; display: none; text-align: center; width: 100%; padding-top: 8px; border-top: 1px solid #463647; }
  .wardrobenav-links.is-open { display: flex; }
  .wardrobenav-links li { width: 100%; }
  .wardrobenav-links .tassel-dot { display: none; }
}

/* ============ TRUNK-DRESSING HERO ============ */
.trunkhero { background-color: #FAF3E9; overflow: hidden; }
.trunkhero-inner { display: flex; align-items: center; gap: 40px; padding: 70px 0 80px; max-width: 1280px; margin: 0 auto; width: 100%; }
.trunkhero-copy { flex: 0 0 55%; }
.trunkhero-scene { flex: 0 0 45%; }

.eyebrow-chip { display: inline-block; background-color: #A8376B; color: #FDF8F0; font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; padding: 8px 16px; margin-bottom: 24px; font-family: Georgia, serif; }

.hero-title { font-size: 48px; line-height: 1.12; font-weight: 700; color: #33241E; margin: 0 0 22px; }
.hero-title .accent { color: #A8376B; }

.hero-copy-p { color: #7A6455; font-size: 19px; max-width: 60ch; margin-bottom: 30px; }
.hero-copy-p strong { color: #33241E; font-weight: 700; }

.hero-cta { display: flex; gap: 16px; flex-wrap: wrap; }
.btn { display: inline-block; padding: 14px 26px; font-size: 16px; letter-spacing: 0.03em; font-family: Georgia, serif; cursor: pointer; border: none; }
.btn-primary { background-color: #A8376B; color: #FDF8F0; }
.btn-primary:hover { background-color: #8e2b5a; color: #FDF8F0; text-decoration: none; }
.btn-ghost { background-color: transparent; border: 1px solid #33241E; color: #33241E; }
.btn-ghost:hover { background-color: #33241E; color: #FDF8F0; text-decoration: none; }

/* backstage scene illustration */
.scene-canvas { position: relative; min-height: 520px; }
.scene-canvas svg { width: 100%; height: auto; display: block; }

/* ============ LOOKBOOK-LEDGER ROWS ============ */
.lookbook-ledger { background-color: #FAF3E9; padding: 80px 0 96px; }
.lookbook-ledger .lookbook-head { margin-bottom: 44px; }
.lookbook-ledger h2.section-title { color: #A8376B; font-size: 34px; margin-bottom: 6px; }
.lookbook-sub { color: #7A6455; font-size: 17px; }

.lookbook-row { background-color: #FDF8F0; border: 1px solid #463647; display: flex; align-items: center; gap: 24px; padding: 26px 30px; margin-bottom: 12px; }
.lookbook-tag { flex: 0 0 120px; text-align: center; }
.hanger-sil { display: inline-block; margin-bottom: 4px; }
.hanger-paper { display: block; font-size: 15px; font-weight: 700; color: #33241E; background-color: #FAF3E9; border: 1px solid #7A6455; padding: 3px 10px; margin: 6px auto 0; font-family: Georgia, serif; letter-spacing: 0.04em; }
.lookbook-body { flex: 1 1 auto; }
.lookbook-body h3 { color: #33241E; font-size: 24px; margin-bottom: 8px; }
.lookbook-body p { color: #7A6455; margin-bottom: 6px; }
.lookbook-size { flex: 0 0 90px; text-align: center; }
.size-stamp { display: inline-block; border-radius: 50%; border: 3px solid #C9963B; width: 72px; height: 72px; line-height: 66px; font-size: 28px; font-weight: 700; text-align: center; }
.size-stamp.is-plum { background-color: #4A3153; color: #D9C9D6; }
.size-stamp.is-magenta { background-color: #A8376B; color: #FDF8F0; }

/* ============ ENCORE METRIC BAND ============ */
.encore-band { background-color: #2E1F2B; color: #D9C9D6; padding: 66px 0; }
.encore-inner { display: flex; align-items: stretch; justify-content: space-between; gap: 8px; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.encore-metric { flex: 1 1 0; text-align: center; padding: 0 18px; }
.encore-metric .metric-num { font-size: 52px; font-weight: 700; color: #C9963B; line-height: 1.15; font-family: Georgia, serif; }
.encore-metric .metric-label { font-size: 14px; letter-spacing: 0.14em; text-transform: uppercase; color: #D9C9D6; margin-top: 8px; font-family: Georgia, serif; }
.encore-divider { width: 1px; background-color: #D9C9D6; }

/* ============ STATEMENT BAND ============ */
.statement-band { background-color: #2E1F2B; padding: 78px 0; }
.statement-manifesto { max-width: 920px; margin: 0 auto; padding: 0 24px; border-left: 4px solid #C9963B; padding-left: 34px; }
.statement-manifesto p.statement-text { font-size: 28px; line-height: 1.5; color: #FDF8F0; font-family: Georgia, serif; }
.statement-attrib { margin-top: 22px; color: #D9C9D6; letter-spacing: 0.16em; text-transform: uppercase; font-size: 14px; }

/* ============ SERVICE / INFO SECTIONS on homepage ============ */
.hp-section { background-color: #FAF3E9; overflow: hidden; }
.hp-section .section-title-sec { color: #A8376B; font-size: 33px; margin-bottom: 10px; }
.hp-section .hp-sub { color: #7A6455; font-size: 17px; max-width: 66ch; }
.hp-section.dark { background-color: #4A3153; }
.hp-section.dark .section-title-inv { color: #FDF8F0; }
.hp-section.dark .hp-sub.inv { color: #D9C9D6; }

/* ============ CTA BAND ============ */
.cta-band { background-color: #FAF3E9; padding: 76px 0; text-align: center; }
.cta-band h2 { color: #A8376B; font-size: 33px; margin-bottom: 12px; }
.cta-band p { color: #7A6455; font-size: 18px; margin-bottom: 28px; max-width: 60ch; margin-left: auto; margin-right: auto; }
.cta-band .btn-primary { font-size: 16px; }

/* ============ CONTACT / GUEST SECTIONS on homepage ============ */
.postcard { background: #FDF8F0; border: 1px solid #463647; padding: 28px 30px; }
.postcard h3 { color: #33241E; margin-bottom: 12px; }
.postcard p { color: #7A6455; margin-bottom: 12px; }
.postcard .line { color: #33241E; font-weight: 700; }
.guide-panel { background-color: #4A3153; padding: 30px; }
.guide-panel h2 { color: #FDF8F0; }
.guide-panel p, .guide-panel li { color: #D9C9D6; }
.guide-panel ul { padding-left: 20px; list-style: square; }
.guide-panel li { margin-bottom: 8px; }

.two-col { display: flex; gap: 26px; align-items: stretch; }
.two-col > * { flex: 1 1 0; }

/* ============ CONTACT PAGE HELP-CARD ============ */
.helpcard { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.helpcard .helpcard-item { background: #FDF8F0; border: 1px solid #463647; padding: 26px; }
.helpcard-item h3 { color: #33241E; font-size: 21px; margin-bottom: 10px; }
.helpcard-item p { color: #7A6455; }

.section-spacer { padding: 74px 0; }
.contact-lead-in .eyebrow-chip { margin-bottom: 20px; }

/* ============ FOOTER — MASK-WALL ============ */
.page-footer { background-color: #241826; color: #D9C9D6; }
.page-footer .hangrail { height: 16px; width: 100%; overflow: hidden; position: relative; }
.page-footer .hangrail-bar { height: 16px; font-size: 0; white-space: nowrap; }
.hanger-hook { display: inline-block; width: 30px; height: 30px; vertical-align: top; margin-top: -12px; margin-right: 8px; }
.footer-inner { text-align: center; padding: 56px 24px 70px; position: relative; z-index: 1; }
.footer-glyph { color: #FDF8F0; }
.footer-word { font-size: 26px; letter-spacing: 0.18em; text-transform: uppercase; color: #FDF8F0; font-family: Georgia, serif; font-weight: 700; margin: 16px 0 20px; }
.footer-center-links { list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: 4px; margin-bottom: 34px; }
.footer-center-links a { color: #D9C9D6; padding: 6px 12px; font-size: 15px; letter-spacing: 0.04em; }
.footer-center-links a:hover { color: #FDF8F0; text-decoration: none; }
.footer-link-sep { color: #C9963B; }
.footer-tassel-divider { text-align: center; margin-bottom: 30px; }
.footer-tassel-divider .tassel-glyph { display: inline-block; }
.footer-legal { font-size: 14px; color: #D9C9D6; line-height: 1.9; }
.footer-legal .c-line { margin-bottom: 6px; }
.footer-watermark { position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%); font-size: 110px; color: #2E1F2B; letter-spacing: 0.06em; visibility: hidden; user-select: none; pointer-events: none; }

/* ============ GENERIC PAGE HERO (secondary) ============ */
.page-hero { background-color: #FAF3E9; padding: 60px 0 40px; }
.page-hero h1 { font-size: 40px; color: #33241E; margin-bottom: 12px; }
.page-hero .eyebrow-chip { margin-bottom: 18px; }
.page-hero p { color: #7A6455; font-size: 18px; max-width: 70ch; }

/* ============ HOMEPAGE wrapper scoping ============ */
.home .hp-section, .home .trunkhero, .home .lookbook-ledger, .home .cta-band { background-color: #FAF3E9; }

/* scroll reveal fallback non-js default visible handled in HTML noscript */

@media (max-width: 980px) {
  .trunkhero-inner { flex-direction: column; padding: 48px 0; }
  .trunkhero-copy { flex-basis: auto; }
  .trunkhero-scene { flex-basis: auto; width: 100%; }
  .encore-inner { flex-wrap: wrap; gap: 26px; }
  .encore-metric { flex: 1 1 40%; }
  .encore-divider { display: none; }
  .hero-title { font-size: 36px; }
  .helpcard { grid-template-columns: 1fr; }
  .two-col { flex-direction: column; }
}

@media (max-width: 760px) {
  .hero-title { font-size: 30px; }
  .lookbook-row { flex-wrap: wrap; }
  .lookbook-tag { flex: 0 0 100%; text-align: left; margin-bottom: 6px; }
  .lookbook-size { }
  .statement-manifesto p.statement-text { font-size: 22px; }
}
