/* Fonts are loaded via <link> in index.html (see PRD Appendix C). */

/* =========================================================
   DESIGN TOKENS (Task 1.2)
   ========================================================= */

   :root {
    /* Navy Spectrum */
    --navy-darkest: #0a1628;
    --navy-deep: #0f2341;
    --navy-primary: #1a3a5c;
    --navy-light: #2a4a6c;
    --navy-muted: #3d5f7a;

    /* Gold Spectrum */
    --gold-primary: #c9a962;
    --gold-light: #d4b978;
    --gold-dark: #a68b4b;
    --gold-muted: rgba(201, 169, 98, 0.15);
    --gold-subtle: rgba(201, 169, 98, 0.08);

    /* Light Theme Colors - Warm Palette */
    --bg-light: #fffdf9;
    --bg-cream: #faf8f3;
    --bg-warm: #f5f2eb;
    --border-light: #e8e4db;
    --border-muted: #ece9e1;

    /* Text - Dark (for light backgrounds) - Warm tones */
    --text-dark: #1c1917;
    --text-dark-secondary: #44403c;
    --text-dark-muted: #78716c;

    /* Text - Light (for dark backgrounds) */
    --text-light: #f5f2eb;
    --text-light-secondary: #c4bfb4;
    --text-light-muted: #8a857c;

    /* Legacy text vars (keeping for compatibility) */
    --text-primary: #f5f2eb;
    --text-secondary: #c4bfb4;
    --text-muted: #8a857c;
    --text-inverse: #1a2744;

    /* Utility */
    --white: #ffffff;
    --black: #000000;
    --overlay-dark: rgba(8, 13, 20, 0.85);
    --overlay-light: rgba(8, 13, 20, 0.6);

    /* Semantic */
    --success: #4a9d7c;
    --error: #c75d5d;
    --warning: #d4a84b;
  
    /* Typography */
    --font-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    --font-sans: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-md: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 2rem;
    --text-4xl: 2.5rem;
    --text-5xl: 3rem;
  
    /* Spacing */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;
    --space-32: 8rem;
  
    --section-padding-mobile: var(--space-16);
    --section-padding-tablet: var(--space-20);
    --section-padding-desktop: var(--space-24);
  
    --container-xl: 1280px;
    --container-2xl: 1536px;
  
    --container-padding-mobile: var(--space-4);
    --container-padding-tablet: var(--space-8);
    --container-padding-desktop: var(--space-12);
  
    /* Effects */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.15);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.2);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.25);
    --shadow-card-hover: 0 12px 40px rgba(0, 0, 0, 0.3);
  
    --glow-gold: 0 0 20px rgba(201, 169, 98, 0.3);
  }
  
  /* =========================================================
     RESET (Task 1.3)
     ========================================================= */
  
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  
  html,
  body {
    margin: 0;
    padding: 0;
  }
  
  img,
  picture,
  video,
  canvas,
  svg {
    display: block;
    max-width: 100%;
  }
  
  button,
  input,
  select,
  textarea {
    font: inherit;
  }
  
  ul,
  ol {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  
  /* =========================================================
     BASE
     ========================================================= */
  
  html {
    scroll-behavior: smooth;
  }
  
  body {
    min-height: 100vh;
    background-color: #fffdf9;
    font-family: var(--font-sans);
    font-weight: 300;
    line-height: 1.7;
    color: #44403c;
    overflow-x: hidden;
  }
  
  body.menu-open {
    overflow: hidden;
  }
  
  /* =========================================================
     TYPOGRAPHY
     ========================================================= */
  
  h1,
  h2,
  h3 {
    font-family: var(--font-display);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--text-dark);
    margin: 0;
  }

  h4,
  h5,
  h6 {
    font-family: var(--font-display);
    font-weight: 500;
    line-height: 1.3;
    color: var(--text-dark);
    margin: 0;
  }
  
  p {
    margin: 0;
  }
  
  a {
    color: var(--gold-dark);
    text-decoration: none;
    transition: color 0.3s ease;
  }

  a:hover {
    color: var(--gold-primary);
  }

  /* Links on dark backgrounds */
  .hero a:not(.btn),
  .page-hero a:not(.btn),
  .section--dark a:not(.btn),
  .footer a:not(.btn) {
    color: var(--gold-primary);
  }

  .hero a:not(.btn):hover,
  .page-hero a:not(.btn):hover,
  .section--dark a:not(.btn):hover,
  .footer a:not(.btn):hover {
    color: var(--gold-light);
  }
  
  strong {
    font-weight: 500;
    color: var(--text-dark);
  }
  
  nav,
  .label,
  .btn {
    font-family: var(--font-sans);
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }
  
  /* =========================================================
     UTILITIES
     ========================================================= */
  
  .small-caps {
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gold-primary);
    margin-bottom: var(--space-4);
    display: block;
  }
  
  .divider-gold {
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, var(--gold-primary), var(--gold-light));
    margin: var(--space-6) 0;
  }
  
  /* =========================================================
     LAYOUT (Task 1.4)
     ========================================================= */
  
  .section {
    padding-top: var(--section-padding-mobile);
    padding-bottom: var(--section-padding-mobile);
  }
  
  .container {
    max-width: var(--container-xl);
    margin: 0 auto;
    padding-left: var(--container-padding-mobile);
    padding-right: var(--container-padding-mobile);
  }
  
  .container--medium {
    max-width: 960px;
  }
  
  .container--narrow {
    max-width: 720px;
  }
  
  .grid {
    display: grid;
    gap: var(--space-8);
  }
  
  /* =========================================================
     BUTTONS (Task 2.1)
     ========================================================= */
  
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  
    padding: 16px 32px;
    border-radius: 4px;
  
    cursor: pointer;
    border: 1px solid transparent;
    background: transparent;
  
    transition: all 0.3s ease;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }
  
  .btn--primary {
    background: var(--gold-primary);
    color: #ffffff;
  }
  
  .btn--primary:hover {
    background: var(--gold-light);
    box-shadow: var(--glow-gold);
    transform: translateY(-2px);
  }
  
  .btn--secondary {
    background: transparent;
    color: var(--gold-dark);
    border-color: var(--gold-primary);
  }

  .btn--secondary:hover {
    background: var(--gold-muted);
    color: var(--text-inverse);
  }

  /* Secondary button on dark backgrounds */
  .hero .btn--secondary,
  .section--dark .btn--secondary,
  .footer .btn--secondary {
    color: var(--gold-primary);
  }
  
  .btn--full-width {
    width: 100%;
  }
  
  /* =========================================================
     HEADER (Tasks 3.2 - 3.3)
     ========================================================= */
  
  .header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
  
    background: transparent;
    transition: background 0.3s ease, box-shadow 0.3s ease;
  }
  
  .header--solid {
    background: rgba(255, 253, 249, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 20px rgba(28, 25, 23, 0.06);
  }

  .header--solid .header__nav-link {
    color: #57534e;
  }

  .header--solid .header__nav-link:hover {
    color: #1c1917;
  }

  .header--solid .header__menu-icon,
  .header--solid .header__menu-icon::before,
  .header--solid .header__menu-icon::after {
    background: #1c1917;
  }

  .header--solid .header__menu-toggle {
    border-color: var(--border-muted);
  }
  
  .header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-6);
    padding-top: var(--space-4);
    padding-bottom: var(--space-4);
  }
  
  .header__logo-img {
    height: 52px;
    width: auto;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,0.35));
    transition: transform 0.3s ease;
  }

  .header__logo:hover .header__logo-img {
    transform: translateY(-1px);
  }

  .header__nav {
    display: none;
    align-items: center;
    gap: var(--space-6);
  }
  
  .header__nav-list {
    display: flex;
    align-items: center;
    gap: var(--space-6);
  }
  
  .header__nav-link {
    position: relative;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.85);
    padding: 8px 0;
  }

  .header__nav-link:hover {
    color: #ffffff;
  }
  
  .header__nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 100%;
    height: 1px;
    background: var(--gold-primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
  }
  
  .header__nav-link:hover::after {
    transform: scaleX(1);
  }
  
  .header__menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 4px;
    border: 1px solid var(--navy-light);
    background: transparent;
    cursor: pointer;
  }
  
  .header__menu-icon {
    width: 20px;
    height: 2px;
    background: var(--text-primary);
    position: relative;
    display: inline-block;
    border-radius: 2px;
  }
  
  .header__menu-icon::before,
  .header__menu-icon::after {
    content: "";
    position: absolute;
    left: 0;
    width: 20px;
    height: 2px;
    background: var(--text-primary);
    border-radius: 2px;
    transition: transform 0.3s ease, top 0.3s ease, opacity 0.3s ease;
  }
  
  .header__menu-icon::before {
    top: -6px;
  }
  
  .header__menu-icon::after {
    top: 6px;
  }
  
  .header__menu-toggle.is-active .header__menu-icon {
    background: transparent;
  }
  
  .header__menu-toggle.is-active .header__menu-icon::before {
    top: 0;
    transform: rotate(45deg);
  }
  
  .header__menu-toggle.is-active .header__menu-icon::after {
    top: 0;
    transform: rotate(-45deg);
  }
  
  /* Mobile drawer */
  .mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 999;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  
  .mobile-menu.is-open {
    opacity: 1;
    pointer-events: auto;
  }
  
  .mobile-menu__backdrop {
    position: absolute;
    inset: 0;
    background: var(--overlay-dark);
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  
  .mobile-menu.is-open .mobile-menu__backdrop {
    opacity: 1;
  }
  
  .mobile-menu__panel {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: min(80vw, 320px);
    background: var(--navy-deep);
    border-left: 1px solid var(--navy-light);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    padding: var(--space-16) var(--space-6) var(--space-6);
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
  }
  
  .mobile-menu.is-open .mobile-menu__panel {
    transform: translateX(0);
  }
  
  .mobile-menu__link {
    display: block;
    padding: 14px 0;
    font-size: 12px;
    color: var(--text-secondary);
    border-bottom: 1px solid rgba(42, 58, 84, 0.5);
  }
  
  .mobile-menu__link:hover {
    color: var(--text-primary);
  }
  
  .mobile-menu__cta {
    margin-top: auto;
  }
  
  /* =========================================================
     HERO (Task 4.2)
     ========================================================= */
  
  .hero {
    position: relative;
    height: 100vh;
    min-height: 700px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  .hero__bg {
    position: absolute;
    inset: 0;
    background-image: url('assets/images/hero.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }

  .hero__overlay {
    position: absolute;
    inset: 0;
    background:
      linear-gradient(
        to bottom,
        rgba(8, 13, 20, 0.45) 0%,
        rgba(8, 13, 20, 0.72) 35%,
        rgba(8, 13, 20, 0.78) 50%,
        rgba(8, 13, 20, 0.72) 65%,
        rgba(8, 13, 20, 0.50) 100%
      );
  }
  
  .hero__content {
    position: relative;
    z-index: 1;
    text-align: center;
    padding-top: 80px;
    padding-bottom: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-4);
  }
  
  .hero__logo {
    height: 90px;
    width: auto;
    margin-bottom: var(--space-4);
    filter:
      drop-shadow(0 4px 20px rgba(0, 0, 0, 0.60))
      drop-shadow(0 0 30px rgba(0, 0, 0, 0.40))
      drop-shadow(0 0 12px rgba(201, 169, 98, 0.15));
    opacity: 0.98;
    display: none; /* Hidden until we have transparent version */
  }

  .hero__tagline {
    font-size: var(--text-md);
    letter-spacing: 0.22em;
    color: var(--gold-light);
    text-shadow:
      /* Layer 1: tight dark anchor — separates from stone */
      0 1px 3px rgba(0, 0, 0, 0.90),
      /* Layer 2: medium dark spread */
      0 2px 10px rgba(0, 0, 0, 0.70),
      /* Layer 3: gold inner glow — the luxury touch */
      0 0 12px rgba(201, 169, 98, 0.50),
      /* Layer 4: wider gold bloom */
      0 0 30px rgba(201, 169, 98, 0.25);
  }

  .hero__title {
    font-size: 2.1rem;
    line-height: 1.05;
    color: #ffffff;
    text-shadow:
      0 2px 12px rgba(0, 0, 0, 0.70),
      0 1px 3px rgba(0, 0, 0, 0.90);
  }
  
  .hero__subtitle {
    position: relative;
    max-width: 720px;
    font-size: var(--text-md);
    color: var(--text-primary);
    text-shadow:
      0 2px 16px rgba(0, 0, 0, 0.80),
      0 1px 3px rgba(0, 0, 0, 0.95);
  }

  /* Invisible radial scrim — darkens just the area behind
     the subtitle text without any visible edges or box shape */
  .hero__subtitle::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 140%;
    height: 300%;
    background: radial-gradient(
      ellipse at center,
      rgba(8, 13, 20, 0.45) 0%,
      rgba(8, 13, 20, 0.20) 40%,
      transparent 70%
    );
    pointer-events: none;
    z-index: -1;
  }
  
  .hero__cta-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    margin-top: var(--space-4);
    width: 100%;
    max-width: 420px;
  }
  
  .hero__cta-group .btn {
    width: 100%;
  }

  /* Secondary button on hero — visible fill over photo */
  .hero__cta-group .btn--secondary {
    background: rgba(13, 25, 38, 0.65);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-color: var(--gold-primary);
    color: var(--gold-light);
  }

  .hero__cta-group .btn--secondary:hover {
    background: rgba(13, 25, 38, 0.85);
    color: var(--white);
    border-color: var(--gold-light);
  }

  /* Nav links before scroll — slight shadow on photo */
  .header:not(.header--solid) .header__nav-link {
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.50);
  }

  /* Scroll indicator */
  .hero__scroll-indicator {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    z-index: 2;
    pointer-events: none;
  }

  .hero__scroll-text {
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--text-muted);
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.70);
  }

  .hero__scroll-line {
    width: 1px;
    height: 28px;
    background: linear-gradient(
      to bottom,
      var(--gold-primary),
      rgba(201, 169, 98, 0)
    );
    animation: scrollLine 1.8s ease-in-out infinite;
  }

  @keyframes scrollLine {
    0% {
      opacity: 0;
      transform: translateY(-6px);
    }
    30% {
      opacity: 1;
    }
    60% {
      opacity: 1;
      transform: translateY(6px);
    }
    100% {
      opacity: 0;
      transform: translateY(10px);
    }
  }
  
  /* =========================================================
     ABOUT (Task 5.2)
     ========================================================= */

  .about {
    background: #f7f4ed;
    text-align: center;
  }

  .about .small-caps {
    color: #c9a962;
  }

  .about .divider-gold {
    margin-left: auto;
    margin-right: auto;
  }

  .about h2 {
    color: var(--text-dark);
  }

  .about p {
    color: var(--text-dark-secondary);
  }

  .about .divider-gold {
    margin-top: var(--space-6);
    margin-bottom: var(--space-8);
  }

  .about p + p {
    margin-top: var(--space-6);
  }
  
  /* =========================================================
     PROGRAMS (Task 6.2)
     ========================================================= */
  
  .section-header {
    text-align: center;
    max-width: 860px;
    margin: 0 auto var(--space-12);
  }

  .section-header .divider-gold {
    margin-left: auto;
    margin-right: auto;
  }

  .section-header h2 {
    color: var(--text-dark);
  }

  .section-subtitle {
    margin-top: var(--space-6);
    color: var(--text-dark-secondary);
    font-size: var(--text-md);
  }
  
  .programs {
    background: #faf8f3;
  }

  .programs__grid {
    display: grid;
    gap: var(--space-8);
  }

  .program-card {
    background: #ffffff;
    border: 1px solid var(--border-muted);
    border-radius: 6px;
    padding: var(--space-8);
    box-shadow: 0 2px 12px rgba(28, 25, 23, 0.04);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
  }

  .program-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px rgba(28, 25, 23, 0.1);
    border-color: var(--gold-primary);
  }

  .program-card__icon {
    width: 54px;
    height: 54px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-6);
    background: rgba(201, 169, 98, 0.12);
    border: 1px solid rgba(201, 169, 98, 0.35);
    box-shadow: var(--glow-gold);
  }

  .program-card__icon svg {
    width: 22px;
    height: 22px;
    color: var(--gold-primary);
  }

  .program-card h3 {
    font-size: var(--text-2xl);
    margin-bottom: var(--space-4);
    color: var(--text-dark);
  }

  .program-card p {
    color: var(--text-dark-secondary);
    font-size: var(--text-md);
  }

  .program-card__modules {
    margin-top: var(--space-6);
    display: grid;
    gap: 10px;
  }

  .program-card__modules li {
    position: relative;
    padding-left: 18px;
    color: var(--text-dark-secondary);
    font-size: var(--text-sm);
  }
  
  .program-card__modules li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 6px;
    height: 6px;
    background: var(--gold-primary);
    transform: rotate(45deg);
  }
  
  .program-card__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: var(--space-6);
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold-primary);
  }
  
  .program-card__link svg {
    width: 16px;
    height: 16px;
    transition: transform 0.25s ease;
  }
  
  .program-card__link:hover svg {
    transform: translateX(4px);
  }
  
  .programs__cta {
    margin-top: var(--space-12);
    display: flex;
    justify-content: center;
  }

  /* =========================================================
   SEGMENTS (Task 7.2 - Hotels)
   ========================================================= */

.segment {
    position: relative;
  }

  .segment__layout {
    display: grid;
    gap: var(--space-12);
    align-items: center;
  }

  .segment__content h2 {
    font-size: var(--text-3xl);
    margin-top: var(--space-2);
    color: var(--text-dark);
  }

  .segment__lead {
    margin-top: var(--space-6);
    font-size: var(--text-md);
    color: var(--text-dark-secondary);
    max-width: 720px;
  }

  .segment__features {
    margin-top: var(--space-8);
    display: grid;
    gap: 14px;
  }

  .segment__feature {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--text-dark-secondary);
    font-size: var(--text-sm);
  }

  .segment__feature svg {
    width: 18px;
    height: 18px;
    color: var(--gold-primary);
    flex: 0 0 auto;
  }

  .segment__cta {
    margin-top: var(--space-10);
  }

  /* Right visual frame */
  .segment__visual {
    display: flex;
    justify-content: center;
  }

  .segment__frame {
    position: relative;
    width: min(520px, 100%);
    border-radius: 10px;
    padding: 14px;
    background: #f5f2eb;
    border: 1px solid var(--border-muted);
    box-shadow: 0 4px 20px rgba(28, 25, 23, 0.06);
  }

  .segment__frame-accent {
    position: absolute;
    inset: 0;
    border-radius: 10px;
    pointer-events: none;
    background: radial-gradient(
      600px 300px at 30% 20%,
      rgba(201, 169, 98, 0.12),
      transparent 60%
    );
  }

  .segment__frame-inner {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    background: #faf8f3;
    border: 1px solid var(--border-muted);
  }

  .segment__image-placeholder {
    width: 100%;
    aspect-ratio: 4 / 3;
    background:
      linear-gradient(135deg, rgba(201, 169, 98, 0.1), transparent 55%),
      linear-gradient(180deg, #f5f2eb, #faf8f3);
  }

  /* Subtle differentiation per segment */
  .segment--hotels {
    background: #fffdf9;
  }

  .segment--corporations {
    background: #faf8f3;
  }

  .segment--private {
    background: #fffdf9;
  }

  /* =========================================================
   INSIGHTS (Task 8.2)
   ========================================================= */

.insights {
    background: #faf8f3;
  }

  .insights__grid {
    display: grid;
    gap: var(--space-8);
  }

  .insight-card {
    background: #ffffff;
    border: 1px solid var(--border-muted);
    border-radius: 6px;
    padding: var(--space-8);
    box-shadow: 0 2px 12px rgba(28, 25, 23, 0.04);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
  }

  .insight-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px rgba(28, 25, 23, 0.1);
    border-color: var(--gold-primary);
  }

  .insight-card h3 {
    font-size: var(--text-2xl);
    margin-bottom: var(--space-4);
    color: var(--text-dark);
  }

  .insight-card p {
    font-size: var(--text-md);
    color: var(--text-dark-secondary);
  }
  
  .insight-card__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: var(--space-6);
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold-primary);
  }
  
  .insight-card__link svg {
    width: 16px;
    height: 16px;
    transition: transform 0.25s ease;
  }
  
  .insight-card__link:hover svg {
    transform: translateX(4px);
  }
  
  /* =========================================================
   CONTACT (Task 9.2)
   ========================================================= */

.contact {
    background: #fffdf9;
  }

  .contact-form {
    margin-top: var(--space-12);
  }

  .contact-form__grid {
    display: grid;
    gap: var(--space-6);
  }

  .contact-form__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .contact-form__field--full {
    grid-column: 1 / -1;
  }

  .contact-form label {
    font-size: var(--text-xs);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold-dark);
  }

  .contact-form input,
  .contact-form select,
  .contact-form textarea {
    background: #faf8f3;
    border: 1px solid var(--border-muted);
    border-radius: 4px;
    padding: 12px 14px;
    color: var(--text-dark);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
  }

  .contact-form input::placeholder,
  .contact-form textarea::placeholder {
    color: #a8a29e;
  }

  .contact-form input:focus,
  .contact-form select:focus,
  .contact-form textarea:focus {
    outline: none;
    border-color: var(--gold-primary);
    box-shadow: 0 0 0 3px rgba(201, 169, 98, 0.15);
  }

  .contact-form__actions {
    margin-top: var(--space-8);
    display: flex;
    justify-content: center;
  }

  /* Honeypot spam trap — visually and structurally hidden from humans */
  .contact-form__honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
  }

  .contact-form__status {
    margin-top: var(--space-6);
    text-align: center;
    font-size: var(--text-sm);
    min-height: 1.2em;
  }

  .contact-form__status.is-success {
    color: var(--success);
  }

  .contact-form__status.is-error {
    color: var(--error);
  }

  /* =========================================================
   FOOTER (Task 10.2)
   ========================================================= */

.footer {
    background: var(--navy-darkest);
    border-top: 1px solid var(--navy-light);
    padding-top: var(--space-16);
    padding-bottom: var(--space-8);
  }

  .footer__grid {
    display: grid;
    gap: var(--space-12);
  }

  .footer__logo {
    max-height: 180px;
    width: auto;
    height: auto;
    margin-bottom: var(--space-2);
    opacity: 0.9;
    object-fit: contain;
  }

  .footer__tagline {
    max-width: 100%;
    margin-top: var(--space-6);
    font-size: var(--text-lg);
    color: var(--text-light-secondary);
  }

  .footer__nav ul {
    display: grid;
    gap: 10px;
  }

  .footer__nav a {
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-light-secondary);
  }

  .footer__nav a:hover {
    color: var(--text-light);
  }

  .footer__contact {
    font-size: var(--text-sm);
    color: var(--text-light-secondary);
  }

  .footer__contact a {
    display: inline-block;
    margin-top: 6px;
  }

  .footer__label {
    font-size: var(--text-xs);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold-primary);
    margin-bottom: var(--space-2);
  }

  .footer__bottom {
    margin-top: var(--space-12);
    padding-top: var(--space-6);
    border-top: 1px solid rgba(42, 58, 84, 0.6);
    text-align: center;
    font-size: var(--text-xs);
    color: var(--text-light-muted);
  }


  /* =========================================================
     RESPONSIVE
     ========================================================= */
  
  @media (min-width: 768px) {

    .footer__grid {
        grid-template-columns: 2fr 1fr 1fr;
      }

    .contact-form__grid {
        grid-template-columns: repeat(2, 1fr);
      }

    .segment__layout {
        grid-template-columns: 1.1fr 0.9fr;
      }
      
      .segment__content h2 {
        font-size: var(--text-4xl);
      }
      
      .segment__lead {
        font-size: var(--text-lg);
      }

    .section {
      padding-top: var(--section-padding-tablet);
      padding-bottom: var(--section-padding-tablet);
    }
  
    .container {
      padding-left: var(--container-padding-tablet);
      padding-right: var(--container-padding-tablet);
    }
  
    .header__nav {
      display: flex;
    }
  
    .header__menu-toggle {
      display: none;
    }
  
    .hero__content {
      padding-top: 140px;
    }
  
    .hero__title {
      font-size: 2.9rem;
    }

    .hero__subtitle {
      font-size: var(--text-lg);
    }
  
    .hero__cta-group {
      flex-direction: row;
      max-width: none;
      width: auto;
    }
  
    .hero__cta-group .btn {
      width: auto;
    }

    .programs__grid {
      grid-template-columns: repeat(2, 1fr);
    }
  
    .section-subtitle {
      font-size: var(--text-lg);
    }

    .insights__grid {
        grid-template-columns: repeat(2, 1fr);
      }
      
  }
  
  @media (min-width: 1024px) {
    .section {
      padding-top: var(--section-padding-desktop);
      padding-bottom: var(--section-padding-desktop);
    }
  
    .container {
      padding-left: var(--container-padding-desktop);
      padding-right: var(--container-padding-desktop);
    }
  
    .header__logo-img {
      height: 60px;
    }
  
    .hero__title {
      font-size: 3.5rem;
    }

    .hero__subtitle {
      font-size: var(--text-xl);
    }
  
    .programs__grid {
      grid-template-columns: repeat(3, 1fr);
    }

    .insights__grid {
        grid-template-columns: repeat(3, 1fr);
      }

  }

  /* =========================================================
     SEGMENT IMAGES
     ========================================================= */

  .segment__image {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  /* =========================================================
     DETAIL PAGE STYLES
     ========================================================= */

  .page-hero {
    padding-top: calc(80px + var(--space-16));
    padding-bottom: var(--space-16);
    background:
      radial-gradient(ellipse at 50% 0%, rgba(30, 60, 114, 0.4) 0%, transparent 60%),
      linear-gradient(180deg, #0a1628 0%, #0f2341 50%, #1a3a5c 100%);
    text-align: center;
    position: relative;
  }

  /* Stars for page hero */
  .page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
      radial-gradient(2px 2px at 20px 30px, rgba(255,255,255,0.7), transparent),
      radial-gradient(1px 1px at 90px 40px, rgba(255,255,255,0.6), transparent),
      radial-gradient(2px 2px at 160px 80px, rgba(255,255,255,0.5), transparent),
      radial-gradient(1px 1px at 250px 50px, rgba(255,255,255,0.6), transparent),
      radial-gradient(2px 2px at 350px 100px, rgba(255,255,255,0.5), transparent),
      radial-gradient(1px 1px at 450px 60px, rgba(255,255,255,0.6), transparent),
      radial-gradient(2px 2px at 550px 120px, rgba(255,255,255,0.4), transparent),
      radial-gradient(1px 1px at 650px 40px, rgba(255,255,255,0.5), transparent),
      radial-gradient(2px 2px at 750px 90px, rgba(255,255,255,0.6), transparent);
    background-size: 800px 200px;
    opacity: 0.7;
    pointer-events: none;
  }

  .page-hero h1 {
    font-size: var(--text-3xl);
    margin-top: var(--space-2);
    color: var(--text-light);
    position: relative;
  }

  .page-hero .small-caps {
    position: relative;
  }

  .page-hero .divider-gold {
    margin-left: auto;
    margin-right: auto;
    position: relative;
  }

  .page-hero__tagline {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-style: italic;
    color: var(--text-light-secondary);
    position: relative;
  }

  .lead-text {
    font-size: var(--text-lg);
    color: var(--text-dark);
    line-height: 1.8;
  }

  .highlight-text {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-style: italic;
    color: var(--gold-dark);
    margin-top: var(--space-6);
  }

  .section--muted {
    background: #faf8f3;
  }

  .section--dark {
    background:
      radial-gradient(ellipse at 50% 50%, rgba(30, 60, 114, 0.3) 0%, transparent 60%),
      linear-gradient(180deg, var(--navy-darkest), var(--navy-deep));
    position: relative;
  }

  .section--dark .section-statement,
  .section--dark .section-note,
  .section--dark p {
    color: var(--text-light);
  }

  .section--dark .section-note {
    color: var(--text-light-secondary);
  }

  .section-statement {
    font-family: var(--font-display);
    font-size: var(--text-2xl);
    color: var(--text-dark);
    line-height: 1.4;
    margin-bottom: var(--space-8);
  }

  .section-note {
    font-size: var(--text-sm);
    color: var(--text-dark-secondary);
    font-style: italic;
    margin-bottom: var(--space-8);
  }

  .text-center {
    text-align: center;
  }

  .cta-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    align-items: center;
  }

  /* Focus Areas Grid */
  .focus-areas {
    display: grid;
    gap: var(--space-8);
  }

  .focus-card {
    background: #ffffff;
    border: 1px solid var(--border-muted);
    border-radius: 6px;
    padding: var(--space-8);
    box-shadow: 0 2px 12px rgba(28, 25, 23, 0.04);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
  }

  .focus-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(28, 25, 23, 0.1);
    border-color: var(--gold-primary);
  }

  .focus-card__icon {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-4);
    background: rgba(201, 169, 98, 0.12);
    border: 1px solid rgba(201, 169, 98, 0.35);
  }

  .focus-card__icon svg {
    width: 20px;
    height: 20px;
    color: var(--gold-primary);
  }

  .focus-card h3 {
    font-size: var(--text-xl);
    margin-bottom: var(--space-3);
    color: var(--text-dark);
  }

  .focus-card p {
    font-size: var(--text-md);
    color: var(--text-dark-secondary);
  }

  /* Detail page text spacing */
  .container--medium p + p {
    margin-top: var(--space-6);
  }

  /* Responsive for detail pages */
  @media (min-width: 768px) {
    .page-hero {
      padding-top: calc(80px + var(--space-20));
      padding-bottom: var(--space-20);
    }

    .page-hero h1 {
      font-size: var(--text-4xl);
    }

    .page-hero__tagline {
      font-size: var(--text-2xl);
    }

    .lead-text {
      font-size: var(--text-xl);
    }

    .cta-group {
      flex-direction: row;
      justify-content: center;
    }

    .focus-areas {
      grid-template-columns: repeat(2, 1fr);
    }

    .section-statement {
      font-size: var(--text-3xl);
    }
  }

  @media (min-width: 1024px) {
    .page-hero h1 {
      font-size: var(--text-5xl);
    }

    .focus-areas {
      grid-template-columns: repeat(3, 1fr);
    }

    .focus-areas--four {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  /* =========================================================
     ARTICLE PAGES
     ========================================================= */

  .article {
    background: var(--bg-light);
  }

  .article__content {
    max-width: 700px;
    margin: 0 auto;
  }

  /* Back link */
  .article__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold-primary);
    margin-bottom: var(--space-10);
    transition: color 0.3s ease;
  }

  .article__back svg {
    width: 16px;
    height: 16px;
    transition: transform 0.25s ease;
  }

  .article__back:hover {
    color: var(--gold-dark);
  }

  .article__back:hover svg {
    transform: translateX(-4px);
  }

  /* Author meta */
  .article__meta {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    font-size: var(--text-xs);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-dark-muted);
    margin-bottom: var(--space-10);
    padding-bottom: var(--space-6);
    border-bottom: 1px solid var(--border-muted);
  }

  .article__author {
    font-weight: 600;
    color: var(--gold-dark);
    letter-spacing: 0.12em;
  }

  /* Lead paragraph — the opening hook */
  .article__lead {
    font-family: var(--font-display);
    font-size: var(--text-2xl);
    font-weight: 400;
    font-style: italic;
    color: var(--text-dark);
    line-height: 1.5;
    margin-bottom: var(--space-10);
    position: relative;
    padding-left: var(--space-6);
    border-left: 2px solid var(--gold-primary);
  }

  /* Body text */
  .article__content p {
    color: var(--text-dark-secondary);
    font-size: var(--text-md);
    line-height: 1.95;
    letter-spacing: 0.005em;
  }

  .article__content p + p {
    margin-top: var(--space-6);
  }

  .article__content p strong {
    font-weight: 600;
    color: var(--text-dark);
  }

  /* Section headings */
  .article__content h2 {
    font-size: var(--text-2xl);
    font-weight: 500;
    margin-top: var(--space-16);
    margin-bottom: var(--space-8);
    color: var(--text-dark);
    position: relative;
    padding-bottom: var(--space-4);
  }

  .article__content h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 2px;
    background: linear-gradient(90deg, var(--gold-primary), var(--gold-light));
  }

  .article__content h2:first-of-type {
    margin-top: var(--space-10);
  }

  /* Emphasis / pull quotes — the gold italic statements */
  .article__content .article__emphasis {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 400;
    font-style: italic;
    color: var(--gold-dark);
    line-height: 1.5;
    margin-top: var(--space-8);
    margin-bottom: var(--space-8);
    padding: var(--space-6) var(--space-8);
    background: var(--gold-subtle);
    border-left: 3px solid var(--gold-primary);
    border-radius: 0 6px 6px 0;
  }

  /* Single-line statement blocks — poetic rhythm */
  .article__content .article__single-lines {
    margin-top: var(--space-6);
    margin-bottom: var(--space-6);
    padding-left: var(--space-8);
    border-left: 1px solid var(--border-muted);
  }

  .article__content .article__single-lines p {
    margin-top: var(--space-2);
    font-size: var(--text-sm);
    font-weight: 400;
    letter-spacing: 0.02em;
    color: var(--text-dark);
    line-height: 1.7;
  }

  .article__content .article__single-lines p:first-child {
    margin-top: 0;
  }

  /* Separator between sections */
  .article__separator {
    width: 60px;
    height: 1px;
    background: linear-gradient(90deg, var(--gold-primary), transparent);
    margin: var(--space-12) 0;
    border: none;
  }

  /* Responsive */
  @media (min-width: 768px) {
    .article__lead {
      font-size: 1.75rem;
      padding-left: var(--space-8);
    }

    .article__content h2 {
      font-size: var(--text-3xl);
    }

    .article__content .article__emphasis {
      font-size: var(--text-2xl);
      padding: var(--space-8) var(--space-10);
    }

    .article__content .article__single-lines {
      padding-left: var(--space-10);
    }

    .article__content .article__single-lines p {
      font-size: var(--text-md);
    }
  }
  