/* =========================================================
   Three direction overrides. Body class drives selection.
   Each direction sets palette, type personality, image grade,
   and a couple of layout cues. Same content, same structure.
   ========================================================= */

/* ---------------------------------------------------------
   A · WARM EDITORIAL
   bone canvas, ink, deep forest, clay. Fraunces (book).
   Calendar band is image-backed atmospheric, golden hour.
   --------------------------------------------------------- */
/* Locked: Petrol & Ecru (was scheme 04 in the now-removed switcher) */
body.dir-a {
  --bone:   #F1EFE9;
  --bone-2: #E6E3DA;
  --ink:    #15201F;
  --ink-2:  rgba(95,106,104,.95);
  --ink-3:  rgba(95,106,104,.62);
  --deep:   #0E2A2C;
  --accent: #CC6B49;
  --stone:  #9A9186;
  --hair:   rgba(21,32,31,.10);

  --serif:  "Fraunces", "GT Sectra", Georgia, serif;
  --sans:   "Schibsted Grotesk", Helvetica, Arial, sans-serif;
  --serif-opsz: 48;
  --serif-wght: 400;

  --img-filter: contrast(1.04) saturate(0.92) brightness(0.97) sepia(0.06);
  --img-tint:   linear-gradient(180deg, rgba(28,22,18,.04), rgba(28,22,18,.18));
}
body.dir-a .calendar { color: var(--bone); background: var(--deep); }
body.dir-a .calendar .calendar__bg { display: block; }
body.dir-a .calendar .calendar__bg {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--deep) 86%, transparent) 0%, color-mix(in srgb, var(--deep) 94%, transparent) 100%),
    url("https://images.unsplash.com/photo-1469474968028-56623f02e42e?w=2400&q=80&auto=format&fit=crop") center/cover no-repeat;
  filter: contrast(1.04) saturate(0.45) brightness(0.80);
}
body.dir-a .calendar .sec__title em { color: color-mix(in srgb, var(--bone) 80%, var(--accent) 20%); }
body.dir-a .calendar .eyebrow { color: rgba(245,241,234,.7); }
body.dir-a .calendar .lead { color: rgba(245,241,234,.84); max-width: 36ch; font-size: 18px; }

/* image-backed final CTA, tinted by --deep so it tracks each scheme */
body.dir-a .final { background: var(--deep); }
body.dir-a .final .final__bg, body.dir-a .final .final__veil { display: block; }
body.dir-a .final .final__bg {
  background-image: url("https://images.unsplash.com/photo-1459749411175-04bf5292ceea?w=2400&q=80&auto=format&fit=crop");
  filter: var(--img-filter) brightness(.42) saturate(.7);
}
body.dir-a .final .final__veil {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--deep) 65%, transparent) 0%, color-mix(in srgb, var(--deep) 88%, transparent) 100%);
}
body.dir-a .sec__title em,
body.dir-a .access__title em,
body.dir-a .featured__title em,
body.dir-a .intro p em,
body.dir-a .range p em,
body.dir-a .team__title em { color: var(--deep); }

body.dir-a .final h2 em { color: color-mix(in srgb, var(--accent) 60%, var(--bone) 40%); }

/* ---------------------------------------------------------
   B · GALLERY
   bone, ink, soft warm greys. Photography carries the colour.
   Single restrained accent. Fraunces at higher optical size,
   lighter weight, more space, no fills.
   --------------------------------------------------------- */
body.dir-b {
  --bone:   #F4EFE7;
  --bone-2: #EAE3D7;
  --ink:    #161412;
  --ink-2:  rgba(22,20,18,.58);
  --ink-3:  rgba(22,20,18,.34);
  --deep:   #3a342c;             /* warm grey, not forest */
  --accent: #8A5A38;             /* single restrained warm */
  --stone:  #A39B8E;
  --hair:   rgba(22,20,18,.08);

  --serif:  "Fraunces", "GT Sectra", Georgia, serif;
  --sans:   "Hanken Grotesk", Helvetica, Arial, sans-serif;
  --serif-opsz: 144;             /* push the high-contrast display optical size */
  --serif-wght: 300;

  --img-filter: contrast(1.04) saturate(0.74) brightness(0.99) sepia(0.05);
  --img-tint:   linear-gradient(180deg, rgba(20,18,16,.02), rgba(20,18,16,.12));
}
body.dir-b .wordmark em { color: var(--accent); }
body.dir-b .hero__cue .dot { background: var(--accent); }
body.dir-b .hero h1,
body.dir-b .sec__title,
body.dir-b .access__title,
body.dir-b .featured__title,
body.dir-b .team__title,
body.dir-b .intro p,
body.dir-b .range p,
body.dir-b .final h2 { font-weight: 300; letter-spacing: -0.024em; }
body.dir-b .hero h1 em,
body.dir-b .sec__title em,
body.dir-b .access__title em,
body.dir-b .featured__title em,
body.dir-b .team__title em,
body.dir-b .intro p em,
body.dir-b .range p em,
body.dir-b .final h2 em { font-style: italic; color: var(--ink); opacity: .88; font-weight: 200; }

/* gallery calendar stays on bone */
body.dir-b .calendar { color: var(--ink); background: var(--bone); border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); }
body.dir-b .calendar .eyebrow { color: var(--ink-3); }
body.dir-b .calendar .lead { color: var(--ink-2); }
body.dir-b .cal-card { background: transparent; border: 0; border-radius: 0; }
body.dir-b .cal-card__body { padding: 18px 0 0; }
body.dir-b .cal-card__when { color: var(--ink-3); }
body.dir-b .cal-card__title { color: var(--ink); font-weight: 400; }
body.dir-b .cal-card__place { color: var(--ink-2); }
body.dir-b .cal-card__foot { border-top: 1px solid var(--hair); color: var(--ink-3); }
body.dir-b .cal-foot { border-top-color: var(--hair); }
body.dir-b .cal-foot__note { color: var(--ink-2); }
body.dir-b .btn--ghost-light { border-color: var(--ink); color: var(--ink); }
body.dir-b .btn--ghost-light:hover { background: var(--ink); color: var(--bone); }

/* gallery experience tiles: more space, lighter gradient */
body.dir-b .tiles { gap: 14px; }
body.dir-b .tile::after { background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.5) 100%); }
body.dir-b .access__num { color: var(--accent); }

/* gallery final cta: bone-on-ink reversed to ink-on-bone hairline */
body.dir-b .final { background: var(--bone); color: var(--ink); border-top: 1px solid var(--hair); }
body.dir-b .final h2 em { color: var(--accent); opacity: 1; }
body.dir-b .final p { color: var(--ink-2); }
body.dir-b .final__form { background: rgba(22,20,18,.04); border-color: var(--hair); }
body.dir-b .final__form input { color: var(--ink); }
body.dir-b .final__form input::placeholder { color: var(--ink-3); }
body.dir-b .final__hint { color: var(--ink-3); }

body.dir-b .step__num { color: var(--accent); }

/* ---------------------------------------------------------
   C · OCCASION
   Bone canvas with darker, image-backed atmospheric sections.
   Higher contrast. One luxe accent (warm bronze). Fraunces
   at heavier display weight for confident impact.
   --------------------------------------------------------- */
body.dir-c {
  --bone:   #F2EDE5;
  --bone-2: #E6DECF;
  --ink:    #14110E;
  --deep:   #221C16;
  --accent: #B47A4A;           /* warm bronze, not gold */
  --stone:  #8E8678;
  --hair:   rgba(20,17,14,.12);

  --serif:  "Fraunces", "Reckless", Georgia, serif;
  --sans:   "Schibsted Grotesk", Helvetica, Arial, sans-serif;
  --serif-opsz: 96;
  --serif-wght: 500;            /* heavier, more confident display */

  --img-filter: contrast(1.12) saturate(0.96) brightness(0.86) sepia(0.05);
  --img-tint:   linear-gradient(180deg, rgba(15,12,9,.18), rgba(15,12,9,.42));
}
body.dir-c .hero h1 em,
body.dir-c .final h2 em { color: var(--accent); }
body.dir-c .hero__cue .dot { background: var(--accent); }
body.dir-c .wordmark em { color: var(--accent); }

/* heavier, tighter display feel */
body.dir-c .hero h1 { font-weight: 400; letter-spacing: -0.028em; }
body.dir-c .sec__title,
body.dir-c .access__title,
body.dir-c .featured__title,
body.dir-c .team__title { font-weight: 500; letter-spacing: -0.024em; }
body.dir-c .sec__title em,
body.dir-c .access__title em,
body.dir-c .featured__title em,
body.dir-c .team__title em { font-weight: 300; color: var(--deep); }
body.dir-c .intro p { font-weight: 300; }
body.dir-c .intro p em,
body.dir-c .range p em { color: var(--accent); }

/* C calendar: dark image-backed atmospheric band */
body.dir-c .calendar { color: var(--bone); background: #14110E; }
body.dir-c .calendar .calendar__bg { display: block; }
body.dir-c .calendar .calendar__bg {
  background:
    linear-gradient(180deg, rgba(15,12,9,.72), rgba(15,12,9,.86)),
    url("https://images.unsplash.com/photo-1429962714451-bb934ecdc4ec?w=2400&q=80&auto=format&fit=crop") center/cover no-repeat;
  filter: var(--img-filter);
}
body.dir-c .cal-card { background: rgba(245,241,234,.04); border-color: rgba(245,241,234,.14); }
body.dir-c .step__num { color: var(--accent); }

/* C final CTA: image-backed dark dramatic */
body.dir-c .final { background: #14110E; }
body.dir-c .final .final__bg, body.dir-c .final .final__veil { display: block; }
body.dir-c .final .final__bg {
  background-image: url("https://images.unsplash.com/photo-1485846234645-a62644f84728?w=2400&q=80&auto=format&fit=crop");
}

/* C nav solid uses ink with bone text instead of bone with ink */
body.dir-c .nav.is-solid {
  background: rgba(20,17,14,.88);
  color: var(--bone);
  border-bottom-color: rgba(245,241,234,.10);
}

/* button accent stays clay/bronze; primary remains bone-on-ink */
body.dir-c .btn--accent { background: var(--accent); color: #14110E; }

/* C founders signature reads in bronze */
body.dir-c .team__sign-line { color: var(--accent); }
