/* Area pages: extends ../styles.css (navy #0e2a47 / gold #c9a227 / warm white #faf9f6) */

/* Breadcrumb */
.breadcrumb { padding: 96px 24px 0; font-size: 13px; color: var(--muted); max-width: var(--max); margin: 0 auto; }
.breadcrumb a { color: var(--navy); text-decoration: underline; text-underline-offset: 3px; }
.breadcrumb span { margin: 0 8px; color: var(--muted); }

/* Hero */
.area-hero { position: relative; min-height: 72svh; display: flex; align-items: flex-end; color: var(--white); overflow: hidden; margin-top: 18px; }
.area-hero-bg { position: absolute; inset: 0; }
.area-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.area-hero-bg.area-hero-placeholder { background: linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 60%, #16406e 100%); }
.area-hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,20,35,.25) 0%, rgba(5,20,35,.78) 100%); }
.area-hero-inner { position: relative; z-index: 2; padding-top: 90px; padding-bottom: 72px; width: 100%; }
.area-hero-inner h1 { font-size: clamp(40px, 6vw, 72px); line-height: 1.02; margin: 14px 0 18px; max-width: 900px; }

/* Voice note + photos placeholders (replaced by Emmanuel's content) */
.voice-note-pending, .photos-pending {
  border: 2px dashed var(--gold); border-radius: 14px; padding: 32px;
  background: #fffdf6; color: var(--ink); max-width: 760px;
}
.voice-note-pending strong, .photos-pending strong { color: var(--navy); }
.area-voice { background: var(--bg); }
.area-photos { background: var(--white); }

/* Market snapshot */
.area-market { background: var(--navy-deep); color: var(--white); }
.area-market h2 { color: var(--white); }
.area-market .kicker { color: var(--gold-light); }
.area-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 8px 0 20px; }
.area-stat { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 12px; padding: 26px 20px; text-align: center; }
.area-stat-num { display: block; font-family: var(--font-display); font-size: 26px; font-weight: 600; color: var(--gold-light); margin-bottom: 8px; line-height: 1.25; }
.area-stat-label { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.area-stats-note { color: rgba(255,255,255,.65); font-size: 14px; }
.area-stats-note a { color: var(--gold-light); }

/* Guide */
.area-guide { background: var(--bg); }
.guide-block { max-width: 760px; margin-bottom: 34px; }
.guide-block h3 { font-family: var(--font-display); font-size: 30px; color: var(--navy); margin-bottom: 10px; letter-spacing: .02em; }
.guide-block p { color: var(--ink); font-size: 17px; }

/* FAQs */
.area-faq { background: var(--white); }
.faq-list { max-width: 800px; display: flex; flex-direction: column; gap: 14px; }
.faq-item { border: 1px solid var(--line); border-radius: 12px; background: var(--bg); overflow: hidden; }
.faq-item summary { cursor: pointer; padding: 20px 22px; font-weight: 600; font-size: 17px; color: var(--navy); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; font-size: 26px; color: var(--gold); font-weight: 400; flex-shrink: 0; }
.faq-item[open] summary::after { content: "–"; }
.faq-item p { padding: 0 22px 22px; color: var(--ink); font-size: 16px; }

/* CTA band */
.area-cta { background: var(--navy); color: var(--white); padding: 84px 0; text-align: center; }
.area-cta h2 { color: var(--white); font-size: clamp(34px, 5vw, 54px); margin-bottom: 14px; }
.area-cta p { color: rgba(255,255,255,.8); max-width: 600px; margin: 0 auto 28px; font-size: 17px; }
.area-cta .hero-ctas { justify-content: center; }
.area-cta-sub { margin-top: 22px !important; font-size: 15px; color: var(--gold-light) !important; }

/* Mobile nav (area pages carry their own tiny toggle) */
@media (max-width: 900px) {
  .main-nav { display: none; }
  .main-nav.open { display: flex; position: absolute; top: 64px; left: 0; right: 0; background: var(--navy-deep); flex-direction: column; padding: 18px 24px 26px; gap: 16px; z-index: 50; }
  .nav-toggle { display: block; }
  .area-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 901px) { .nav-toggle { display: none; } }

/* Emmanuel's take */
.voice-note { max-width: 760px; }
.take-p { font-size: 18px; line-height: 1.65; color: var(--ink); margin-bottom: 18px; }
.take-p:first-child::before { content: "\201C"; font-family: var(--font-display); font-size: 44px; color: var(--gold); display: block; margin-bottom: -12px; }

/* Photo gallery */
.area-photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; margin-top: 26px; }
.area-photo { margin: 0; border-radius: 14px; overflow: hidden; background: var(--line); }
.area-photo img { width: 100%; height: 220px; object-fit: cover; display: block; }
.area-photo figcaption { padding: 10px 14px; font-size: 13.5px; color: var(--ink); background: var(--bg); }

/* ---------- areas index ---------- */
.area-index { max-width: 1080px; margin: 0 auto; padding: 48px 24px 64px; }
.area-index .kicker { margin-bottom: 10px; }
.area-index h1 { font-family: var(--font-display); font-size: clamp(34px, 5vw, 52px); line-height: 1.08; color: var(--ink); margin: 0 0 14px; }
.area-index .lede { font-size: 18px; line-height: 1.6; color: var(--ink); opacity: .75; max-width: 640px; margin: 0 0 36px; }
.area-index-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.area-index-card {
  display: block; text-decoration: none; border-radius: 14px; padding: 22px 20px;
  background: var(--navy); border: 1px solid rgba(201,162,39,.25);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.area-index-card:hover { transform: translateY(-3px); border-color: var(--gold); box-shadow: 0 12px 28px rgba(8,28,49,.18); }
.area-index-name { display: block; font-family: var(--font-display); font-size: 21px; font-weight: 600; color: var(--white); margin-bottom: 6px; }
.area-index-blurb { display: block; font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.72); }
@media (max-width: 900px) { .area-index-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .area-index-grid { grid-template-columns: 1fr; } }

/* homepage "explore all" link */
.areas-index-link { text-align: center; margin-top: 26px; }
.areas-index-link a { color: var(--gold); font-weight: 600; text-decoration: none; font-size: 17px; }
.areas-index-link a:hover { text-decoration: underline; }

/* ---------- areas index CTA band ---------- */
.area-cta-band {
  margin-top: 56px; border-radius: 18px; padding: 44px 36px; text-align: center;
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
  border: 1px solid rgba(201,162,39,.4);
}
.area-cta-band h2 { font-family: var(--font-display); font-size: clamp(26px, 4vw, 38px); color: var(--gold); margin: 0 0 12px; }
.area-cta-band p { color: rgba(255,255,255,.82); font-size: 17px; line-height: 1.6; max-width: 560px; margin: 0 auto 24px; }
.area-cta-band .cta-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin: 0; }
.area-cta-band .cta-btns a {
  display: inline-block; text-decoration: none; font-weight: 700; font-size: 16px;
  padding: 14px 28px; border-radius: 999px; transition: transform .2s ease, box-shadow .2s ease;
}
.area-cta-band .cta-btns a:first-child { background: var(--gold); color: var(--navy-deep); }
.area-cta-band .cta-btns a:first-child:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(201,162,39,.35); }
.area-cta-band .cta-btns a:last-child { border: 2px solid var(--gold); color: var(--gold); }
.area-cta-band .cta-btns a:last-child:hover { background: rgba(201,162,39,.12); }
