/* ==========================================================================
   Sathish Duraisamy — Personal Monograph
   Fonts: Playfair Display (headings) · Plus Jakarta Sans (text)
   Brand: #775A19 gold · #111C2D navy · #FFDEA5 cream
   ========================================================================== */

   :root {
    --gold: #775A19;
    --gold-soft: #A8873F;
    --navy: #111C2D;
    --navy-2: #1F2A40;
    --cream: #FFDEA5;
    --cream-tint: #FFF1D9;
    --footer-bg: #FDF0DC;
    --page-bg: #F8F9FF;
    --blue-tint: #E6ECFD;
    --blue-band: #E8EEFF;
    --text: #3D4250;
    --muted: #6B7080;
    --line: #E4E2DC;
    --white: #FFFFFF;
  
    --font-head: "Playfair Display", Georgia, "Times New Roman", serif;
    --font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  
    --shadow-card: 0 2px 10px rgba(17, 28, 45, .07);
    --container: 1376px;
  }
  
  *, *::before, *::after { box-sizing: border-box; }
  
  html { scroll-behavior: smooth; scroll-padding-top: 96px; }
  
  body {
    margin: 0;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    color: var(--text);
    background: var(--page-bg);
    -webkit-font-smoothing: antialiased;
  }
  
  img { max-width: 100%; display: block; }
  a { color: inherit; text-decoration: none; }
  ul { list-style: none; margin: 0; padding: 0; }
  h1, h2, h3, p { margin: 0; }
  button { font: inherit; cursor: pointer; }
  
  .container {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 32px;
  }
  
  .icon { flex-shrink: 0; }
  .gold { color: var(--gold); }
  
  .eyebrow {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--gold);
  }
  
  /* ---------- Buttons ---------- */
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    border: 1px solid transparent;
    transition: background-color .2s, color .2s, transform .2s, box-shadow .2s;
    white-space: nowrap;
  }
  .btn .icon { width: 16px; height: 16px; }
  .btn:hover { transform: translateY(-1px); }
  
  .btn-navy { background: var(--navy); color: var(--white); padding: 13px 24px; border-radius: 3px; }
  .btn-navy:hover { background: var(--navy-2); }
  
  .btn-tint { background: var(--blue-tint); color: var(--navy); padding: 13px 24px; border-radius: 3px; }
  .btn-tint:hover { background: #D8E1FB; }
  
  .btn-white { background: var(--white); color: var(--navy); padding: 13px 24px; border-radius: 3px; border-color: #DDE3F3; }
  .btn-white:hover { background: var(--cream-tint); }
  
  .text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold);
  }
  .text-link .icon { width: 14px; height: 14px; transition: transform .2s; }
  .text-link:hover .icon { transform: translateX(3px); }
  
  /* ==========================================================================
     Header
     ========================================================================== */
  .site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--white);
    border-bottom: 1px solid #EEEDEA;
  }
  .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 84px;
  }
  .brand { display: flex; flex-direction: column; line-height: 1.15; }
  .brand-name { font-family: var(--font-head); font-size: 22px; font-weight: 500; color: var(--navy); }
  .brand-sub {
    margin-top: 4px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--gold);
  }
  
  .site-nav { display: flex; align-items: center; gap: 48px; flex: 1; justify-content: flex-end; }
  .nav-list { display: flex; align-items: center; gap: 54px; margin-right: auto; margin-left: auto; padding-left: 140px; }
  .nav-item { position: relative; }
  .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 8px 0;
    background: none;
    border: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--navy);
  }
  .nav-link .icon { width: 11px; height: 11px; }
  .nav-link:hover { color: var(--gold); }
  
  .dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: -18px;
    min-width: 220px;
    padding: 10px 0;
    background: var(--white);
    border: 1px solid #ECEAE4;
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(17, 28, 45, .12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity .18s, transform .18s, visibility .18s;
  }
  .dropdown::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
  .dropdown a { display: block; padding: 9px 20px; font-size: 14px; color: var(--navy); white-space: nowrap; }
  .dropdown a:hover { background: var(--cream-tint); color: var(--gold); }
  .has-dropdown:hover .dropdown,
  .has-dropdown:focus-within .dropdown,
  .has-dropdown.is-open .dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
  
  .btn-cta {
    display: inline-flex;
    align-items: center;
    padding: 13px 22px;
    background: #000;
    color: var(--white);
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: background-color .2s;
  }
  .btn-cta:hover { background: var(--navy); }
  
  .nav-toggle { display: none; background: none; border: 0; color: var(--navy); padding: 8px; }
  .nav-toggle .icon { width: 26px; height: 26px; }
  .nav-toggle .when-open { display: none; }
  
  /* ==========================================================================
     Hero
     ========================================================================== */
  .hero {
    position: relative;
    overflow: hidden;
    background-color: #EFE9E1;
    background-image:
      linear-gradient(90deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, .72) 38%, rgba(255, 255, 255, .35) 62%, rgba(255, 255, 255, .15) 100%),
      var(--hero-bg, radial-gradient(ellipse at 60% 40%, #E7DCCB 0%, #F4EFE8 55%, #FBF9F6 100%));
    background-size: cover;
    background-position: center;
  }
  .hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 442px;
    gap: 48px;
    align-items: center;
    min-height: 727px;
    padding-top: 64px;
    padding-bottom: 64px;
  }
  .hero-copy { padding-left: 36px; }
  
  .hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: rgba(255, 241, 217, .9);
    border: 1px solid rgba(119, 90, 25, .2);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--gold);
  }
  .hero-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); }
  
  .hero-name { margin-top: 30px; font-family: var(--font-head); line-height: .98; }
  .hero-first { display: block; font-size: 72px; font-weight: 500; color: var(--navy); text-transform: uppercase; letter-spacing: -.01em; }
  .hero-last { display: block; font-size: 72px; font-weight: 400; font-style: italic; color: var(--gold-soft); text-transform: uppercase; }
  
  .hero-tagline { margin-top: 20px; font-family: var(--font-head); font-size: 25px; color: var(--navy); }
  .hero-desc { margin-top: 12px; max-width: 560px; font-size: 16px; line-height: 1.6; color: var(--muted); }
  
  .hero-tags { display: flex; flex-wrap: wrap; gap: 10px 9px; margin-top: 22px; max-width: 580px; }
  .hero-tags li {
    padding: 5px 12px;
    background: var(--white);
    border: 1px solid #E3E1DC;
    border-radius: 8px;
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--navy);
  }
  
  .hero-actions { margin-top: 32px; display: flex; flex-direction: column; gap: 14px; max-width: 365px; }
  .btn-hero-primary {
    height: 46px;
    background: var(--navy);
    color: var(--white);
    border-radius: 14px;
    font-size: 13px;
    letter-spacing: .04em;
  }
  .btn-hero-primary:hover { background: var(--navy-2); }
  .hero-secondary { display: flex; gap: 12px; }
  .btn-hero-secondary {
    flex: 1;
    height: 48px;
    background: var(--white);
    color: var(--navy);
    border: 1px solid #E3E1DC;
    border-radius: 4px;
    font-size: 13px;
    letter-spacing: .03em;
  }
  .btn-hero-secondary .icon { width: 15px; height: 15px; color: var(--muted); }
  .btn-hero-secondary:hover { border-color: var(--gold); }
  
  .hero-portrait {
    position: relative;
    margin: 0;
    height: 556px;
    border: 6px solid var(--white);
    border-radius: 16px;
    overflow: hidden;
    background: #CBD3DF;
    box-shadow: 0 18px 40px rgba(17, 28, 45, .18);
  }
  .hero-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
  .hero-quote {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    background: rgba(255, 255, 255, .9);
    border-radius: 6px;
  }
  .hero-quote-title { font-family: var(--font-head); font-size: 16px; font-weight: 600; color: var(--navy); line-height: 1.2; }
  .hero-quote-text {
    margin-top: 3px;
    font-size: 10px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: .03em;
    color: var(--gold-soft);
    text-transform: capitalize;
  }
  .hero-quote-icon { color: var(--gold-soft); }
  .hero-quote-icon .icon { width: 20px; height: 20px; }
  
  .img-placeholder { width: 100%; height: 100%; min-height: 160px; background: linear-gradient(135deg, #DCE3F2, #EFE6D6); }
  
  /* ==========================================================================
     Numbers band
     ========================================================================== */
  .stats { background: #141C34; padding: 44px 0 56px; color: var(--white); }
  .stats-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 26px; }
  .eyebrow-light { display: inline-flex; align-items: center; gap: 10px; color: var(--cream); }
  .eyebrow-light .icon { width: 15px; height: 15px; }
  .stats-note { font-size: 13px; color: #8E95A8; }
  .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
  .stat {
    display: flex;
    flex-direction: column;
    min-height: 124px;
    padding: 22px 18px 18px;
    background: #222B45;
    border-radius: 2px;
    transition: background-color .2s;
  }
  .stat:hover { background: #28324F; }
  .stat-value { font-family: var(--font-head); font-size: 40px; font-weight: 500; line-height: 1; color: var(--cream); }
  .stat-label { margin-top: 14px; font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--white); }
  .stat-sub { margin-top: 4px; font-size: 13px; color: #8E95A8; }
  
  /* ==========================================================================
     Chapters
     ========================================================================== */
  .chapters { padding: 26px 0 96px; }
  .section-head { text-align: center; max-width: 1000px; margin: 0 auto 66px; }
  .section-title { margin-top: 14px; font-family: var(--font-head); font-size: 44px; font-weight: 500; line-height: 1.15; color: var(--navy); }
  .section-intro { margin: 14px auto 0; max-width: 740px; font-size: 16px; line-height: 1.65; color: var(--text); }
  
  .chapter-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: start; }
  
  .chapter { background: var(--white); box-shadow: var(--shadow-card); }
  
  .chapter-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
  .chapter-pill {
    display: inline-block;
    padding: 4px 9px;
    background: var(--cream-tint);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold);
  }
  .chapter-cat { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
  
  .chapter-title { margin-top: 12px; font-family: var(--font-head); font-size: 30px; font-weight: 500; line-height: 1.2; color: var(--navy); }
  .chapter-text { margin-top: 10px; font-size: 15.5px; line-height: 1.65; color: var(--text); }
  .chapter-text p + p { margin-top: 10px; }
  
  .chapter-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
  .chapter-tags li { padding: 5px 12px; background: var(--blue-tint); font-size: 13px; font-weight: 500; letter-spacing: .02em; color: var(--navy); }
  .chapter-tags-sm { gap: 6px; margin-top: 14px; }
  .chapter-tags-sm li { padding: 3px 9px; font-size: 11.5px; }
  
  /* Featured (full width) chapter */
  .chapter-featured {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 64px;
    align-items: center;
    padding: 48px 36px;
  }
  .chapter-featured .chapter-meta { gap: 8px; }
  .chapter-featured .chapter-pill { font-size: 11px; padding: 5px 10px; }
  .chapter-featured .chapter-cat { font-size: 13px; }
  .chapter-featured .chapter-title { margin-top: 16px; font-size: 32px; }
  .chapter-featured .chapter-tags { max-width: 640px; }
  .chapter-featured .chapter-text { margin-top: 14px; max-width: 670px; font-size: 16px; line-height: 1.7; }
  .chapter-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
  .chapter-actions .btn { padding: 11px 20px; font-size: 11.5px; }
  
  .chapter-frame { margin: 0; padding: 16px; background: var(--blue-tint); }
  .frame-caption { display: flex; justify-content: space-between; gap: 12px; margin-top: 14px; font-size: 13px; letter-spacing: .04em; color: var(--text); }
  .frame-caption .gold { font-weight: 500; }
  
  /* Cards */
  .chapter-card { padding: 24px 20px 22px; display: flex; flex-direction: column; }
  .chapter-card.w-wide { grid-column: span 7; }
  .chapter-card.w-half { grid-column: span 6; }
  .chapter-card.w-narrow { grid-column: span 5; }
  
  .ratio-box { position: relative; overflow: hidden; background: #E9EDF5; }
  .ratio-box img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
  .chapter:hover .ratio-box img { transform: scale(1.03); }
  .chapter-media { margin-top: 18px; }
  .image-label {
    position: absolute;
    left: 10px;
    bottom: 10px;
    padding: 4px 10px;
    background: rgba(255, 255, 255, .92);
    border: 1px solid #D9D9D9;
    border-radius: 2px;
    font-size: 12px;
    color: var(--navy);
  }
  
  .timeline { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; font-size: 12.5px; font-weight: 500; color: #5A4716; }
  .timeline > span { display: inline-flex; align-items: center; gap: 6px; }
  .timeline .icon { width: 14px; height: 14px; color: var(--gold); }
  .timeline-dots { gap: 4px !important; }
  .timeline-dots i { width: 4px; height: 4px; border-radius: 50%; background: #7C7F88; }
  
  .highlights { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 9px; }
  .highlights li { background: var(--blue-tint); }
  .highlights-above { margin-top: 14px; margin-bottom: -12px; }
  .highlights-above li { padding: 10px 8px; text-align: center; }
  .highlights-above .hl-value { display: block; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
  .highlights-above .hl-label { display: block; margin-top: 3px; font-size: 13px; color: var(--navy); }
  .highlights-below { margin-top: 14px; }
  .highlights-below li { padding: 14px 12px; }
  .highlights-below .hl-value { display: block; font-family: var(--font-head); font-size: 20px; font-weight: 600; color: var(--gold); line-height: 1.2; }
  .highlights-below .hl-label { display: block; margin-top: 4px; font-size: 12.5px; color: var(--navy); }
  .chapter-featured .highlights { margin: 22px 0 0; }
  
  .chapter-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 26px; }
  .chapter-note { font-size: 12.5px; color: var(--text); }
  
  /* ==========================================================================
     Connect band
     ========================================================================== */
  .connect { background: var(--blue-band); padding: 120px 0 128px; }
  .connect-inner { text-align: center; }
  .connect .eyebrow { font-size: 11px; }
  .connect-title { margin-top: 18px; font-family: var(--font-head); font-size: 44px; font-weight: 500; color: var(--navy); }
  .connect-quote { margin: 18px auto 0; max-width: 700px; font-size: 18px; line-height: 1.6; color: var(--text); }
  .connect-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 36px; }
  .connect-actions .btn { min-height: 42px; padding: 0 22px; font-size: 11.5px; }
  .connect-actions .btn-navy { padding: 0 32px; }
  
  /* ==========================================================================
     Footer
     ========================================================================== */
  .site-footer { background: var(--footer-bg); }
  .footer-inner { max-width: 1040px; padding-top: 66px; padding-bottom: 40px; text-align: center; }
  .site-footer .eyebrow { font-size: 11px; }
  .footer-name { margin-top: 14px; font-family: var(--font-head); font-size: 42px; font-weight: 500; color: var(--navy); }
  .footer-bio { margin: 18px auto 0; max-width: 780px; font-size: 18px; line-height: 1.6; color: var(--text); }
  .footer-motto { margin-top: 18px; font-family: var(--font-head); font-size: 24px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
  .footer-interests { margin-top: 12px; font-size: 13px; color: var(--muted); }
  .footer-rule { margin: 40px auto 30px; border: 0; border-top: 1px solid #EBDDC5; }
  
  .footer-nav { display: flex; flex-wrap: wrap; justify-content: center; row-gap: 8px; }
  .footer-nav li { display: flex; align-items: center; }
  .footer-nav li::before { content: "|"; margin: 0 28px; color: #C5B79A; }
  .footer-nav li:first-child::before { margin-left: 0; }
  .footer-nav a { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--navy); }
  .footer-nav a:hover { color: var(--gold); }
  
  .footer-portals-heading { margin-top: 40px; font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--text); }
  .footer-portals { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 18px; margin-top: 14px; }
  .portal {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 18px;
    background: var(--blue-tint);
    border-radius: 6px;
    font-size: 13.5px;
    color: var(--navy);
    transition: background-color .2s;
  }
  a.portal:hover { background: #D8E1FB; }
  .portal .icon { width: 15px; height: 15px; color: var(--gold); }
  .portal strong { font-weight: 600; color: var(--gold); }
  .portal-desc { color: var(--navy); }
  
  .footer-social { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 52px; margin-top: 22px; }
  .footer-social a { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
  .footer-social a:hover { color: var(--navy); }
  
  .footer-bottom {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    padding: 18px 24px 22px;
    font-size: 13px;
    letter-spacing: .03em;
    color: var(--text);
  }
  
  /* ==========================================================================
     Form fields & notices
     ========================================================================== */
  .empty-note { margin-top: 24px; text-align: center; color: var(--muted); }
  
  .field { display: flex; flex-direction: column; gap: 6px; }
  .field-full { grid-column: 1 / -1; }
  .field label { font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
  .field input, .field textarea {
    width: 100%;
    padding: 12px 14px;
    background: var(--page-bg);
    border: 1px solid #DDE3F3;
    border-radius: 3px;
    font: inherit;
    font-size: 15px;
    color: var(--navy);
    resize: vertical;
  }
  .field input:focus, .field textarea:focus { outline: none; border-color: var(--gold); background: var(--white); }
  .has-error input, .has-error textarea { border-color: #B3261E; }
  .field-error { font-size: 13px; color: #B3261E; }
  .alert { margin-bottom: 24px; padding: 14px 18px; background: var(--cream-tint); border-left: 3px solid var(--gold); color: var(--navy); }
  
  /* ==========================================================================
     Responsive
     ========================================================================== */
  @media (max-width: 1200px) {
    .nav-list { padding-left: 0; gap: 36px; }
    .hero-inner { grid-template-columns: minmax(0, 1fr) 380px; }
    .hero-portrait { height: 500px; }
    .hero-first, .hero-last { font-size: 60px; }
    .chapter-featured { grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; }
  }
  
  @media (max-width: 1024px) {
    .header-inner { height: 72px; }
    .nav-toggle { display: inline-flex; }
    .site-nav {
      position: fixed;
      inset: 72px 0 0 0;
      flex-direction: column;
      align-items: stretch;
      justify-content: flex-start;
      gap: 24px;
      padding: 24px 32px 40px;
      background: var(--white);
      overflow-y: auto;
      transform: translateX(100%);
      transition: transform .25s ease;
    }
    .nav-open .site-nav { transform: translateX(0); }
    .nav-open .nav-toggle .when-open { display: inline; }
    .nav-open .nav-toggle .when-closed { display: none; }
    .nav-open { overflow: hidden; }
    .nav-list { flex-direction: column; align-items: stretch; gap: 0; margin: 0; }
    .nav-item { border-bottom: 1px solid #EFEDE8; }
    .nav-link { width: 100%; justify-content: space-between; padding: 16px 0; font-size: 17px; }
    .dropdown {
      position: static;
      display: none;
      min-width: 0;
      padding: 0 0 12px 12px;
      border: 0;
      box-shadow: none;
      opacity: 1;
      visibility: visible;
      transform: none;
    }
    .has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown { display: none; }
    .has-dropdown.is-open .dropdown { display: block; }
    .dropdown a { white-space: normal; }
    .btn-cta { justify-content: center; }
  
    .hero-inner { grid-template-columns: 1fr; min-height: 0; gap: 40px; padding-top: 48px; padding-bottom: 56px; }
    .hero-copy { padding-left: 0; }
    .hero-portrait { max-width: 460px; width: 100%; height: 540px; margin: 0 auto; }
  
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
  
    .chapter-featured { grid-template-columns: 1fr; padding: 36px 28px; }
    .chapter-card.w-wide, .chapter-card.w-half, .chapter-card.w-narrow { grid-column: 1 / -1; }
  }
  
  @media (max-width: 640px) {
    .container { padding-left: 16px; padding-right: 16px; }
    .brand-name { font-size: 19px; }
    .brand-sub { font-size: 9.5px; }
    .site-nav { padding: 20px 16px 32px; }
  
    .hero-first, .hero-last { font-size: 44px; }
    .hero-tagline { font-size: 20px; }
    .hero-actions { max-width: none; }
    .hero-secondary { flex-direction: column; }
    .btn-hero-secondary { flex: none; }
    .portal { display: inline-block; text-align: center; line-height: 1.5; }
    .portal .icon { display: inline; vertical-align: -2px; margin-right: 4px; }
    .hero-portrait { height: 460px; }
    .hero-quote-title { font-size: 15px; }
  
    .stats-head { flex-direction: column; align-items: flex-start; }
    .stats-grid { gap: 12px; }
    .stat { min-height: 0; padding: 18px 14px; }
    .stat-value { font-size: 32px; }
  
    .section-title { font-size: 32px; }
    .section-head { margin-bottom: 40px; }
    .chapter-featured { padding: 28px 18px; }
    .chapter-featured .chapter-title, .chapter-title { font-size: 26px; }
    .chapter-actions .btn { width: 100%; white-space: normal; text-align: center; }
    .highlights { grid-auto-flow: row; }
    .highlights-above { margin-bottom: 0; }
    .timeline { flex-direction: column; align-items: flex-start; }
    .timeline-dots { display: none !important; }
    .chapter-foot { flex-direction: column; align-items: flex-start; }
  
    .connect { padding: 80px 0; }
    .connect-title { font-size: 32px; }
    .connect-quote { font-size: 16px; }
  
    .footer-name { font-size: 32px; }
    .footer-bio { font-size: 16px; }
    .footer-motto { font-size: 17px; letter-spacing: .12em; }
    .footer-nav li::before { margin: 0 12px; }
    .footer-social { gap: 12px 24px; }
    .footer-bottom { justify-content: center; text-align: center; }
  
  }
  
  /* ==========================================================================
     Shared inner-page pieces (My Story, Professional Journey)
     ========================================================================== */
  .page-title { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
  .page-title-main { font-family: var(--font-head); font-size: 42px; font-weight: 500; line-height: 1.1; text-transform: uppercase; color: var(--navy); }
  .page-title-sub { margin-top: 8px; font-family: var(--font-head); font-size: 24px; font-style: italic; color: var(--gold); }
  .page-title-meta { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 6px; font-size: 13.5px; color: var(--navy); }
  .page-title-meta .icon { width: 16px; height: 16px; color: var(--gold); }
  
  .eyebrow-line { display: flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
  .eyebrow-line::before { content: ""; width: 36px; height: 1px; background: currentColor; }
  .eyebrow-line-light { color: var(--cream); }
  
  .icon-box { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; background: #EEF0FC; color: var(--gold); }
  .icon-box .icon { width: 20px; height: 20px; }
  
  .btn-cream { background: #FDD58A; color: #5C4512; padding: 13px 24px; border-radius: 2px; }
  .btn-cream:hover { background: var(--cream); }
  .btn-slate { background: #3A4256; color: var(--white); padding: 13px 24px; border-radius: 2px; }
  .btn-slate:hover { background: #4A5370; }
  
  /* ==========================================================================
     My Story
     ========================================================================== */
  .story { background: #E6E8EC; padding: 48px 0 110px; }
  
  .story-grid { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(0, 1fr); gap: 38px; margin-top: 30px; align-items: start; }
  .story-card { margin: 0; background: var(--white); box-shadow: var(--shadow-card); }
  
  .story-text { padding: 36px 38px 40px; font-size: 16px; line-height: 1.75; color: #4A4F5C; }
  .story-text p + p, .story-text .story-callout + p { margin-top: 14px; }
  .story-lead { margin-top: 26px; font-size: 17px; color: var(--navy); }
  .story-callout { margin: 20px 0; padding: 22px 20px; background: #EEF0FC; font-size: 17px; line-height: 1.75; color: var(--navy); }
  
  .story-portrait { padding: 18px; }
  .story-photo { position: relative; height: 564px; overflow: hidden; background: #CBD3DF; }
  .story-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
  .story-photo-overlay {
    position: absolute;
    inset: auto 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 80px 20px 20px;
    background: linear-gradient(180deg, rgba(17, 28, 45, 0) 0%, rgba(17, 28, 45, .85) 100%);
  }
  .story-photo-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #E9C47C; }
  .story-photo-name { font-family: var(--font-head); font-size: 22px; font-weight: 500; color: var(--white); }
  .story-photo-caption { display: flex; justify-content: space-between; gap: 12px; margin-top: 16px; font-size: 13px; color: var(--muted); }
  .story-photo-caption .gold { font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
  
  .tenet {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
    margin-top: 44px;
    padding: 34px 24px 46px;
    background: #141C34;
    box-shadow: 0 6px 18px rgba(17, 28, 45, .18);
  }
  .tenet-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cream); }
  .tenet-quote { margin-top: 18px; font-family: var(--font-head); font-size: 24px; font-style: italic; color: var(--white); }
  .tenet-stats { display: flex; flex-shrink: 0; margin-right: 70px; }
  .tenet-stats li { display: flex; flex-direction: column; gap: 4px; padding: 0 22px; border-left: 1px solid rgba(255, 255, 255, .18); }
  .tenet-stats li:first-child { border-left: 0; padding-left: 0; }
  .tenet-value { font-family: var(--font-head); font-size: 26px; line-height: 1.1; color: var(--cream); }
  .tenet-label { font-size: 11.5px; letter-spacing: .06em; color: #8E95A8; }
  
  .story-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 19px; margin-top: 70px; }
  .story-chapter { display: flex; flex-direction: column; padding: 20px 20px 26px; background: var(--white); box-shadow: var(--shadow-card); }
  .story-chapter-label { margin-top: 18px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
  .story-chapter-title { margin-top: 8px; font-family: var(--font-head); font-size: 22px; font-weight: 600; line-height: 1.3; color: var(--navy); }
  .story-chapter-body { margin-top: 10px; margin-bottom: 26px; font-size: 14px; line-height: 1.65; color: #4A4F5C; }
  .story-chapter .text-link { margin-top: auto; }
  
  .story-quote {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    margin: 20px 0 0;
    padding: 44px 36px;
    background: #EEF0FC;
  }
  .story-quote-mark { align-self: start; margin-top: -14px; font-family: var(--font-head); font-size: 64px; font-weight: 700; line-height: 1; color: var(--gold); }
  .story-quote blockquote { margin: 0; font-family: var(--font-head); font-size: 22px; font-weight: 600; line-height: 1.45; color: var(--navy); }
  .story-quote figcaption { margin-top: 8px; font-size: 12.5px; font-weight: 600; color: var(--gold); }
  .story-quote-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: #FBEBC8; border-radius: 8px; color: var(--gold); }
  .story-quote-icon .icon { width: 20px; height: 20px; }
  
  /* ==========================================================================
     Professional Journey
     ========================================================================== */
  .pro {
    padding: 88px 0 84px;
    background-color: #E6DDD0;
    background-image: var(--pro-bg, linear-gradient(118deg, #EAE2D6 0%, #DCCFBD 32%, #EFE8DE 48%, #E3D8C8 70%, #EDE6DB 100%));
    background-size: cover;
    background-position: center top;
  }
  .page-professional .page-title { padding-left: 18px; padding-right: 18px; }
  
  .pro-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 375px;
    gap: 80px;
    align-items: center;
    margin-top: 84px;
    padding: 50px 60px;
    background: var(--white);
    box-shadow: var(--shadow-card);
  }
  .pro-intro-text { font-size: 15px; line-height: 1.75; color: #4A4F5C; }
  .pro-intro-text p + p { margin-top: 14px; }
  .pro-lead { margin-bottom: 26px; font-size: 19px; line-height: 1.55; color: var(--navy); }
  .pro-metric { padding: 22px 20px 18px; background: #EEF0FC; }
  .pro-metric-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
  .pro-metric-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: 14px;
    padding-bottom: 8px;
    border-bottom: 4px solid var(--gold);
    border-radius: 0 0 2px 2px;
    font-size: 14px;
    color: var(--navy);
  }
  .pro-metric-row strong { font-family: var(--font-head); font-size: 23px; font-weight: 500; color: var(--gold); }
  
  .pro-areas { margin-top: 30px; }
  .pro-areas-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding: 0 18px 0 42px; }
  .pro-areas .eyebrow { font-size: 11px; letter-spacing: .1em; }
  .pro-areas-title { margin-top: 10px; font-family: var(--font-head); font-size: 40px; font-weight: 500; color: var(--navy); }
  .pro-areas-intro { margin-top: 8px; max-width: 680px; font-size: 16px; line-height: 1.6; color: #4A4F5C; }
  .pro-badge { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; background: #E8ECFB; border-radius: 4px; font-size: 13.5px; color: var(--navy); white-space: nowrap; }
  .pro-badge .icon { width: 16px; height: 16px; color: var(--gold); }
  
  .carousel { margin-top: 64px; padding-left: 80px; }
  .carousel-track {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .carousel-track::-webkit-scrollbar { display: none; }
  .carousel-track:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
  .discipline {
    flex: 0 0 calc((100% - 48px) / 3.2);
    display: flex;
    flex-direction: column;
    padding: 36px 34px 30px;
    background: var(--white);
    box-shadow: var(--shadow-card);
    scroll-snap-align: start;
  }
  .discipline .icon-box { width: 46px; height: 46px; }
  .discipline-label { margin-top: 22px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
  .discipline-title { margin-top: 8px; font-family: var(--font-head); font-size: 21px; font-weight: 600; line-height: 1.3; color: var(--navy); }
  .discipline-body { margin-top: 14px; margin-bottom: 26px; font-size: 14px; line-height: 1.65; color: #4A4F5C; }
  .discipline-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 14px; border-top: 1px solid #ECECEF; }
  .discipline-tags li { padding: 3px 8px; background: #EEF0FC; font-size: 11px; font-weight: 500; letter-spacing: .06em; color: var(--navy); }
  
  .carousel-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 28px; }
  .carousel-dots { display: flex; gap: 6px; }
  .carousel-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 4px; background: #D3D1D6; transition: width .2s, background-color .2s; }
  .carousel-dots button.is-active { width: 22px; background: var(--gold); }
  .carousel-note { font-size: 13px; color: #6B7080; }
  
  .pro-strip {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px 32px;
    margin-top: 24px;
    padding: 20px 56px;
    background: rgba(232, 236, 253, .88);
  }
  .pro-strip li { display: inline-flex; align-items: center; gap: 10px; font-size: 11.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--navy); }
  .pro-strip .icon { width: 17px; height: 17px; color: var(--gold); }
  
  .pro-cta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    margin-top: 108px;
    padding: 64px;
    background: #141C34;
    box-shadow: 0 10px 30px rgba(17, 28, 45, .25);
  }
  .pro-cta-title { margin-top: 12px; font-family: var(--font-head); font-size: 30px; font-weight: 500; color: var(--white); }
  .pro-cta-body { margin-top: 14px; max-width: 470px; font-size: 15px; line-height: 1.75; color: #8C93A8; }
  .pro-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }
  .pro-cta-actions .btn { font-size: 11.5px; }
  
  @media (max-width: 1200px) {
    .tenet-stats { margin-right: 0; }
    .story-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pro-intro { gap: 48px; grid-template-columns: minmax(0, 1fr) 320px; }
    .carousel { padding-left: 0; }
  }
  
  @media (max-width: 1024px) {
    .story-grid { grid-template-columns: 1fr; }
    .story-portrait { max-width: 560px; }
    .tenet { flex-direction: column; align-items: flex-start; }
    .pro-intro { grid-template-columns: 1fr; padding: 40px; }
    .pro-areas-head { flex-direction: column; align-items: flex-start; padding: 0; }
    .discipline { flex-basis: calc((100% - 24px) / 2.1); }
    .pro-cta { flex-direction: column; align-items: flex-start; padding: 48px 40px; }
    .pro { background-attachment: scroll; }
  }
  
  @media (max-width: 640px) {
    .story, .pro { padding-top: 36px; }
    .page-title-main { font-size: 32px; }
    .page-title-sub { font-size: 20px; }
    .page-professional .page-title { padding: 0; }
    .story-text { padding: 26px 20px 30px; }
    .story-photo { height: 440px; }
    .tenet-quote { font-size: 20px; }
    .tenet-stats li { padding: 0 14px; }
    .tenet-value { font-size: 22px; }
    .story-cards { grid-template-columns: 1fr; margin-top: 40px; }
    .story-quote { grid-template-columns: 1fr; padding: 32px 20px; }
    .story-quote-mark { margin: 0; }
    .story-quote blockquote { font-size: 19px; }
    .pro-intro { margin-top: 40px; padding: 28px 20px; }
    .pro-lead { font-size: 17px; }
    .pro-areas-title { font-size: 32px; }
    .carousel { margin-top: 36px; }
    .discipline { flex-basis: 86%; padding: 28px 22px 24px; }
    .carousel-foot { flex-direction: column; align-items: flex-start; }
    .pro-strip { flex-direction: column; padding: 18px 20px; }
    .pro-cta { margin-top: 60px; padding: 36px 20px; }
    .pro-cta-title { font-size: 26px; }
    .pro-cta-actions, .pro-cta-actions .btn { width: 100%; }
  }
  
  /* ==========================================================================
     Shared pieces for Events, Community, Travel, Group Trips, Spiritual
     ========================================================================== */
  .eyebrow-sm { font-size: 11px; letter-spacing: .12em; }
  .eyebrow-icon { display: inline-flex; align-items: center; gap: 6px; }
  .eyebrow-icon .icon { width: 14px; height: 14px; }
  .inner-head { max-width: 760px; }
  .inner-title { margin-top: 10px; font-family: var(--font-head); font-size: 42px; font-weight: 500; line-height: 1.15; color: var(--navy); }
  .inner-intro { margin-top: 10px; max-width: 680px; font-size: 16px; line-height: 1.65; color: #4A4F5C; }
  
  .pill-cream { display: inline-flex; align-items: center; padding: 4px 9px; background: #FFDA94; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #5C4512; white-space: nowrap; }
  .pill-round { border-radius: 999px; padding: 4px 12px; letter-spacing: .02em; text-transform: none; font-size: 12.5px; font-weight: 500; }
  .pill-blue { display: inline-flex; padding: 3px 10px; background: #E3E9FB; border-radius: 999px; font-size: 12.5px; color: var(--navy); white-space: nowrap; }
  .icon-box-sm { width: 40px; height: 40px; background: #E6ECFD; }
  .icon-box-sm .icon { width: 18px; height: 18px; }
  
  .grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
  .grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
  
  .info-card { display: flex; flex-direction: column; padding: 22px 22px 18px; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .info-card-label { margin-top: 14px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
  .info-card-title { margin-top: 6px; font-family: var(--font-head); font-size: 22px; font-weight: 600; line-height: 1.3; color: var(--navy); }
  .info-card-body { margin-top: 8px; margin-bottom: 22px; font-size: 14px; line-height: 1.65; color: #4A4F5C; }
  .info-card-foot { display: flex; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 12px; border-top: 1px solid #ECECEF; font-size: 12.5px; letter-spacing: .04em; color: var(--navy); }
  .info-card-foot span:first-child { text-transform: uppercase; }
  
  /* ==========================================================================
     Events & Entrepreneurship
     ========================================================================== */
  .ev {
    padding: 92px 0 110px;
    background-color: #F1F2F7;
    background-image:
      linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .55) 60%, rgba(255, 255, 255, .7)),
      var(--ev-bg, radial-gradient(circle at 70% 25%, #E9E3F2 0%, #F3F1F7 45%, #ECEFF7 100%));
    background-size: cover;
    background-position: center top;
  }
  .ev-title { font-size: 52px; }
  .ev-intro { display: grid; grid-template-columns: minmax(0, 1fr) 517px; gap: 120px; align-items: start; margin-top: 92px; }
  .ev-lead { font-size: 18.5px; line-height: 1.6; color: var(--navy); }
  .ev-lead strong, .ev-body strong, .cm-intro strong, .cm-rationale strong { font-weight: 600; color: var(--navy); }
  .ev-body { margin-top: 18px; font-size: 15.5px; line-height: 1.65; color: #4A4F5C; }
  .ev-scope { margin-top: 70px; max-width: 418px; padding: 20px 22px 22px; background: rgba(240, 241, 253, .95); border-radius: 6px; box-shadow: var(--shadow-card); font-size: 14.5px; line-height: 1.6; color: var(--text); }
  .ev-scope-eyebrow { margin-bottom: 8px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
  .ev-stats { display: flex; flex-direction: column; gap: 13px; }
  .ev-stat { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 22px; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .ev-stat > div { display: flex; flex-direction: column; }
  .ev-stat-value { font-family: var(--font-head); font-size: 30px; line-height: 1.15; color: var(--navy); }
  .ev-stat-label { margin-top: 2px; font-size: 13.5px; font-weight: 500; color: var(--navy); }
  .ev-stat-sub { margin-top: 2px; max-width: 160px; font-size: 14px; line-height: 1.5; color: var(--muted); }
  .ev-stat-icon { color: var(--gold); }
  .ev-stat-icon .icon { width: 24px; height: 24px; }
  
  .ev-banner { position: relative; margin: 66px 0 0; height: 385px; overflow: hidden; border-radius: 8px; background: var(--navy); box-shadow: 0 12px 30px rgba(17, 28, 45, .2); }
  .ev-banner img { width: 100%; height: 100%; object-fit: cover; }
  .ev-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 14, 28, .75) 0%, rgba(10, 14, 28, .35) 55%, rgba(10, 14, 28, 0) 100%); }
  .ev-banner figcaption { position: absolute; left: 36px; bottom: 34px; z-index: 1; display: flex; flex-direction: column; gap: 6px; max-width: 700px; color: var(--white); }
  .ev-banner-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cream); }
  .ev-banner-title { font-family: var(--font-head); font-size: 23px; }
  .ev-banner-text { font-size: 14px; line-height: 1.6; color: rgba(255, 255, 255, .85); }
  
  .ventures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; margin-top: 66px; }
  .venture { display: flex; flex-direction: column; padding: 36px 36px 28px; background: var(--white); border-radius: 8px; box-shadow: var(--shadow-card); }
  .venture-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
  .venture-meta { font-size: 13px; color: var(--text); }
  .venture-logo { display: flex; align-items: center; justify-content: center; height: 144px; margin-top: 22px; padding: 10px; background: #EFF1FD; border-radius: 4px; }
  .venture-logo img { width: 100%; height: 100%; object-fit: contain; }
  .venture-name { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 26px; font-family: var(--font-head); font-size: 24px; font-weight: 500; color: var(--navy); }
  .venture-name span { font-family: var(--font-body); font-size: 11px; font-weight: 500; letter-spacing: .1em; color: var(--muted); white-space: nowrap; }
  .venture-tagline { margin-top: 4px; font-size: 13.5px; line-height: 1.45; letter-spacing: .02em; color: var(--gold); }
  .venture-body { margin-top: 12px; margin-bottom: 26px; font-size: 14px; line-height: 1.65; color: #4A4F5C; }
  .venture-btn { display: flex; align-items: center; gap: 10px; margin-top: auto; min-height: 34px; padding: 6px 18px; background: var(--navy); border-radius: 999px; font-size: 13px; letter-spacing: .03em; color: var(--white); transition: background-color .2s; }
  .venture-btn:hover { background: var(--navy-2); }
  .venture-btn .icon { width: 15px; height: 15px; }
  .venture-btn-arrow { justify-content: center; }
  .venture-btn-external { justify-content: space-between; }
  .venture-btn-static { justify-content: center; cursor: default; }
  .venture-btn-static:hover { background: var(--navy); }
  
  /* ==========================================================================
     Community
     ========================================================================== */
  .cm-hero {
    padding: 70px 0 64px;
    background-color: #E3E3EF;
    background-image:
      linear-gradient(180deg, rgba(234, 233, 246, .78), rgba(230, 228, 244, .7) 70%, rgba(245, 240, 246, .9)),
      var(--cm-bg, linear-gradient(120deg, #D9D6E6, #ECE8F1));
    background-size: cover;
    background-position: center;
  }
  .cm-title { max-width: 800px; font-family: var(--font-head); font-size: 42px; font-weight: 500; line-height: 1.25; color: var(--navy); }
  .cm-intro { margin-top: 18px; max-width: 700px; font-size: 17.5px; line-height: 1.7; color: #3F4452; }
  .cm-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 70px; padding-top: 22px; border-top: 1px solid rgba(17, 28, 45, .12); }
  .cm-stats li { display: flex; flex-direction: column; padding: 14px 12px 20px; background: rgba(238, 238, 250, .72); border-radius: 3px; backdrop-filter: blur(4px); }
  .cm-stat-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
  .cm-stat-value { margin-top: 6px; font-family: var(--font-head); font-size: 30px; line-height: 1.2; color: var(--navy); }
  .cm-stat-label { margin-top: 6px; font-size: 14px; line-height: 1.5; color: #3F4452; }
  
  .cm-lit { padding: 60px 0 0; background: var(--white); }
  .cm-lit-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding-bottom: 22px; border-bottom: 1px solid #E5E7EE; }
  .cm-lit-head .inner-intro { max-width: 520px; }
  .pill-link { display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px; background: #E9EEFD; border-radius: 999px; font-size: 13.5px; color: var(--navy); white-space: nowrap; }
  .pill-link i { width: 7px; height: 7px; border-radius: 50%; background: #6B5524; }
  .pill-link .icon { width: 13px; height: 13px; }
  .pill-link:hover { background: #DCE4FB; }
  
  .cm-lit-grid { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr); gap: 36px; margin-top: 66px; padding-bottom: 20px; }
  .cm-insignia { display: flex; flex-direction: column; padding: 36px 36px 40px; background: #EFF1FD; border-radius: 8px; box-shadow: var(--shadow-card); }
  .cm-insignia-top { display: flex; justify-content: space-between; gap: 12px; }
  .cm-plate { font-size: 13px; letter-spacing: .06em; color: #6B7080; }
  .cm-insignia-plate { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; margin: 52px 0 0; min-height: 360px; padding: 30px 20px 26px; background: var(--white); border-radius: 6px; text-align: center; }
  .cm-insignia-plate img { width: 120px; height: 120px; object-fit: contain; margin: auto 0 64px; }
  .cm-insignia-name { font-family: var(--font-head); font-size: 22px; color: var(--navy); }
  .cm-insignia-motto { margin-top: 4px; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
  .cm-insignia-text { margin-top: 80px; font-size: 14px; line-height: 1.65; color: #4A4F5C; }
  
  .cm-lit-right { display: flex; flex-direction: column; gap: 22px; }
  .cm-photo { position: relative; margin: 0; height: 385px; overflow: hidden; border-radius: 6px; box-shadow: var(--shadow-card); }
  .cm-photo img { width: 100%; height: 100%; object-fit: cover; }
  .cm-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 14, 28, 0) 45%, rgba(10, 14, 28, .78) 100%); }
  .cm-photo figcaption { position: absolute; left: 22px; right: 22px; bottom: 26px; z-index: 1; display: flex; flex-direction: column; gap: 6px; color: var(--white); }
  .cm-photo-eyebrow { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #E9C47C; }
  .cm-photo-eyebrow .icon { width: 13px; height: 13px; }
  .cm-photo-title { font-family: var(--font-head); font-size: 23px; }
  .cm-photo-text { font-size: 14px; color: rgba(255, 255, 255, .88); }
  .cm-rationale { padding: 26px 22px 30px; background: #EFF1FD; border-radius: 6px; }
  .cm-rationale h3 { font-family: var(--font-head); font-size: 22px; font-weight: 500; color: var(--navy); }
  .cm-rationale blockquote { margin: 18px 0 0; padding-left: 16px; border-left: 2px solid var(--gold); font-size: 15px; font-style: italic; line-height: 1.75; color: #5A5F6C; }
  .cm-rationale p { margin-top: 12px; font-size: 15px; line-height: 1.75; color: #3F4452; }
  
  .cm-pillars { padding: 90px 0 110px; background: var(--page-bg); }
  .cm-pillars .grid-3 { margin-top: 60px; }
  
  /* ==========================================================================
     Travel
     ========================================================================== */
  .tv {
    padding: 68px 0 110px;
    background-color: #DDE2EC;
    background-image:
      linear-gradient(180deg, rgba(255, 255, 255, .5), rgba(255, 255, 255, .15) 40%, rgba(60, 60, 70, .05)),
      var(--tv-bg, linear-gradient(180deg, #E4EAF3 0%, #EEE6E4 25%, #EBD3C2 45%, #D9C8C3 65%, #B9B2B8 85%, #9E9AA3 100%));
    background-size: cover;
    background-position: center top;
  }
  .tv-title { font-family: var(--font-head); font-size: 42px; font-weight: 500; line-height: 1.2; color: var(--navy); }
  .tv-quote { margin-top: 14px; max-width: 1240px; font-family: var(--font-head); font-size: 24px; font-style: italic; line-height: 1.6; color: var(--gold); }
  .tv-intro { margin-top: 14px; max-width: 1260px; font-size: 17px; line-height: 1.7; color: #3F4452; }
  
  .tv-stats { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 24px; margin-top: 40px; padding: 26px 22px 28px; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .tv-stats li { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; }
  .tv-stat-value { font-family: var(--font-head); font-size: 52px; line-height: 1; color: #7A5A19; }
  .tv-stat-label { font-size: 11px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--navy); }
  
  .tv-feature { margin: 60px 32px 0; background: var(--white); border-radius: 4px; overflow: hidden; box-shadow: 0 14px 34px rgba(17, 28, 45, .16); }
  .tv-feature-img { position: relative; height: 565px; }
  .tv-feature-img img { width: 100%; height: 100%; object-fit: cover; }
  .tv-plate { position: absolute; top: 22px; left: 22px; display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; background: rgba(17, 20, 30, .88); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--white); }
  .tv-plate::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #E9C47C; }
  .tv-feature figcaption { padding: 22px 28px 26px; }
  .tv-feature-title { display: flex; align-items: center; gap: 10px; font-family: var(--font-head); font-size: 22px; font-weight: 600; color: var(--navy); }
  .tv-feature-title .icon { width: 16px; height: 16px; color: var(--gold); }
  .tv-feature-text { margin-top: 6px; padding-left: 26px; font-size: 14px; line-height: 1.6; color: #4A4F5C; }
  
  .tv-mono { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Courier New", monospace; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #6B7080; }
  .tv-timeline { margin: 140px 22px 0; padding: 42px 26px 34px; background: rgba(248, 249, 255, .97); box-shadow: 0 8px 24px rgba(17, 28, 45, .1); }
  .tv-timeline-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding-bottom: 22px; margin-bottom: 36px; border-bottom: 1px solid #DEE1EA; }
  .tv-log { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12.5px; line-height: 1.6; text-align: right; color: #4A4F5C; }
  .tv-years { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
  .tv-year { position: relative; display: flex; flex-direction: column; padding: 22px 20px 16px; background: var(--white); border: 1px solid #ECECF1; box-shadow: var(--shadow-card); overflow: hidden; }
  .tv-year-highlight, .tv-year-ledger { border: 1.5px solid #DCC08A; }
  .tv-year-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
  .tv-year-num { font-family: ui-monospace, Menlo, Consolas, "Courier New", monospace; font-size: 21px; font-weight: 700; color: #5C4A22; }
  .tv-year-ledger .tv-year-num { max-width: 90px; font-size: 22px; line-height: 1.3; }
  .tv-year-badge { padding: 3px 9px; background: #E7ECFB; font-size: 10.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--navy); }
  .tv-year-highlight .tv-year-badge { background: #FFDA94; color: #7A5A19; }
  .tv-year-ledger .tv-year-badge { padding: 6px 10px; background: #000; color: var(--white); line-height: 1.3; }
  .tv-star { position: absolute; top: 0; right: 0; display: flex; justify-content: flex-end; width: 64px; height: 64px; padding: 6px; background: linear-gradient(225deg, #FFE8B8 50%, transparent 50%); color: #9A7420; }
  .tv-star .icon { width: 13px; height: 13px; }
  .is-starred .tv-year-top { padding-right: 18px; }
  .tv-dest-label { margin-top: 26px; font-size: 11.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: #4A4F5C; }
  .tv-year-ledger .tv-dest-label, .tv-year-highlight .tv-dest-label { color: var(--gold); }
  .tv-dest { display: flex; align-items: center; gap: 8px; margin-top: 6px; font-family: var(--font-head); font-size: 22px; line-height: 1.25; color: var(--navy); }
  .tv-dest .icon { flex-shrink: 0; width: 16px; height: 16px; color: var(--gold); }
  .tv-dest.is-italic { font-style: italic; }
  .tv-note { margin-top: 20px; margin-bottom: 24px; font-size: 13.5px; line-height: 1.6; color: #3F4452; }
  .tv-note strong { font-weight: 600; color: var(--navy); }
  .tv-year-highlight .tv-note strong { color: #7A5A19; }
  .tv-year-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: auto; padding-top: 12px; border-top: 1px solid #ECECEF; font-size: 12.5px; color: #4A4F5C; }
  .tv-year-foot .icon { width: 15px; height: 15px; }
  .tv-year-foot .tv-mono { font-weight: 700; text-transform: none; }
  
  .tv-logistics { margin: 24px -6px 0; padding: 50px 48px 52px; background: linear-gradient(115deg, #141C3A 0%, #1C2546 70%, #252C48 100%); box-shadow: 0 18px 40px rgba(17, 28, 45, .3); color: var(--white); }
  .tv-logistics-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
  .tv-logistics-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cream); }
  .tv-logistics-title { margin-top: 16px; max-width: 690px; font-family: var(--font-head); font-size: 34px; font-weight: 400; line-height: 1.45; }
  .tv-logistics-badge { margin-top: 40px; padding: 8px 14px; background: rgba(255, 255, 255, .1); font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #E9C47C; white-space: nowrap; }
  .tv-logistics-intro { margin-top: 56px; max-width: 900px; font-size: 17px; line-height: 1.75; color: rgba(255, 255, 255, .78); }
  .tv-logistics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 50px; }
  .tv-logistics-grid li { padding: 26px 24px 28px; background: rgba(255, 255, 255, .06); }
  .tv-logistics-grid li.is-wide { grid-column: span 2; }
  .tv-logistics-grid h3 { display: flex; align-items: flex-start; gap: 12px; font-family: var(--font-head); font-size: 21px; font-weight: 500; line-height: 1.35; }
  .tv-logistics-grid h3 .icon { flex-shrink: 0; width: 18px; height: 18px; margin-top: 4px; color: #E9C47C; }
  .tv-logistics-grid p { margin-top: 14px; font-size: 14px; line-height: 1.7; color: rgba(255, 255, 255, .68); }
  
  .tv-dossiers { margin-top: 90px; }
  .tv-dossiers-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 36px; }
  .tv-dossiers-note { display: inline-flex; align-items: center; gap: 8px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; color: #8B6A1F; }
  .tv-dossiers-note .icon { width: 14px; height: 14px; }
  .dossier { display: flex; flex-direction: column; padding: 30px 32px 26px; background: var(--white); border-radius: 3px; box-shadow: 0 12px 30px rgba(17, 28, 45, .15); }
  .dossier-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
  .dossier-top .pill-cream { font-size: 11px; letter-spacing: .08em; }
  .dossier-title { margin-top: 22px; font-family: var(--font-head); font-size: 30px; font-weight: 500; line-height: 1.25; color: var(--navy); }
  .dossier-route { display: flex; align-items: center; gap: 12px; margin-top: 18px; padding: 12px 16px; background: #EDF0FD; font-size: 14px; color: var(--navy); }
  .dossier-route strong, .dossier-point strong { font-weight: 600; }
  .dossier-route .icon { flex-shrink: 0; width: 18px; height: 18px; color: var(--gold); }
  .dossier-point { display: flex; gap: 10px; margin-top: 16px; max-width: 520px; font-size: 14px; line-height: 1.6; color: #3F4452; }
  .dossier-point strong { color: var(--navy); }
  .dossier-point .icon { flex-shrink: 0; width: 14px; height: 14px; margin-top: 4px; color: var(--gold); }
  .dossier-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 40px; font-size: 12.5px; color: #4A4F5C; }
  .dossier-foot span:first-child { display: inline-flex; align-items: center; gap: 6px; }
  .dossier-foot .icon { width: 14px; height: 14px; color: var(--gold); }
  
  /* ==========================================================================
     Overseas Group Trips
     ========================================================================== */
  .gt { padding: 70px 0 110px; background: var(--page-bg); }
  .gt-subtitle { margin-top: 10px; font-family: var(--font-head); font-size: 22px; font-style: italic; font-weight: 700; color: var(--gold); }
  .gt-intro { margin-top: 14px; max-width: 880px; font-size: 17.5px; line-height: 1.7; color: #3F4452; }
  .gt-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 40px; padding: 38px 36px 40px; background: #141C34; border-radius: 4px; color: var(--white); }
  .gt-icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: rgba(255, 255, 255, .1); color: #E9C47C; }
  .gt-icon .icon { width: 18px; height: 18px; }
  .gt-principles h2 { margin-top: 18px; font-family: var(--font-head); font-size: 22px; font-weight: 500; }
  .gt-principles p { margin-top: 10px; max-width: 420px; font-size: 13.5px; line-height: 1.65; color: rgba(255, 255, 255, .55); }
  
  .gt-trips { margin-top: 36px; gap: 26px; }
  .gt-trip { display: flex; flex-direction: column; padding: 24px 22px 20px; background: #EEF1FD; border-radius: 6px; }
  .gt-trip-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
  .gt-trip-meta { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #7A5A19; }
  .gt-trip-title { margin-top: 10px; font-family: var(--font-head); font-size: 24px; font-weight: 600; color: var(--navy); }
  .gt-trip-route { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 14px; color: var(--navy); }
  .gt-trip-route .icon { width: 14px; height: 14px; color: var(--gold); }
  .gt-trip-body { margin-top: 14px; margin-bottom: 22px; font-size: 14px; line-height: 1.65; color: #3F4452; }
  .gt-trip-foot { display: flex; justify-content: space-between; gap: 12px; margin-top: auto; font-size: 13px; color: var(--navy); }
  .gt-trip-foot span { display: inline-flex; align-items: center; gap: 6px; }
  .gt-trip-foot .icon { width: 14px; height: 14px; color: var(--gold); }
  
  .gt-testimonial { display: flex; align-items: center; gap: 30px; margin: 36px 0 0; padding: 38px 36px; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .gt-testimonial-icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 64px; height: 64px; background: #FFD98E; border-radius: 8px; color: var(--navy); }
  .gt-testimonial-icon .icon { width: 26px; height: 26px; }
  .gt-testimonial blockquote { margin: 0; font-size: 18px; font-style: italic; line-height: 1.6; color: var(--navy); }
  .gt-testimonial figcaption { margin-top: 8px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
  
  /* ==========================================================================
     Spiritual Journey
     ========================================================================== */
  .sp-hero { padding: 66px 0 70px; background: var(--page-bg); }
  .sp-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) 530px; gap: 110px; align-items: center; }
  .sp-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; background: #E6ECFD; border-radius: 999px; font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #5C4A22; }
  .sp-badge::before { content: ""; width: 3px; height: 12px; background: var(--gold); }
  .sp-title { margin-top: 28px; font-family: var(--font-head); font-size: 54px; font-weight: 600; line-height: 1.1; text-transform: uppercase; color: var(--navy); }
  .sp-quote { margin-top: 20px; font-family: var(--font-head); font-size: 24px; font-style: italic; color: var(--gold); }
  .sp-quote::after { content: ""; display: block; width: 96px; height: 2px; margin-top: 22px; background: #D9B56B; }
  .sp-intro { margin-top: 30px; font-size: 18px; line-height: 1.65; color: #3F4452; }
  .sp-period { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 30px; font-size: 13px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--navy); }
  .sp-period .icon { width: 16px; height: 16px; }
  .sp-period-sep { color: #B0B4C0; }
  .sp-hero-photo { position: relative; margin: 0; height: 430px; padding: 8px; background: #EEF1FD; border-radius: 6px; box-shadow: 0 16px 36px rgba(17, 28, 45, .16); }
  .sp-hero-photo img, .sp-hero-photo .img-placeholder { width: 100%; height: 100%; object-fit: cover; border-radius: 4px; }
  .sp-hero-photo figcaption { position: absolute; left: 8px; right: 8px; bottom: 8px; display: flex; flex-direction: column; gap: 6px; padding: 70px 24px 26px; background: linear-gradient(180deg, rgba(17, 28, 45, 0), rgba(17, 28, 45, .82)); border-radius: 0 0 4px 4px; color: var(--white); }
  .sp-photo-eyebrow { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .8); }
  .sp-photo-title { font-family: var(--font-head); font-size: 23px; }
  .sp-photo-text { font-size: 13.5px; color: rgba(255, 255, 255, .85); }
  
  .sp-stats { padding: 30px 0 34px; background: #141C34; }
  .sp-stats ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
  .sp-stats li { display: flex; flex-direction: column; align-items: center; padding: 22px 12px 24px; background: rgba(255, 255, 255, .025); text-align: center; }
  .sp-stat-value { font-family: var(--font-head); font-size: 54px; line-height: 1.1; color: var(--cream); }
  .sp-stat-label { margin-top: 12px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #8E95A8; }
  .sp-stat-sub { margin-top: 6px; font-size: 12.5px; color: var(--white); }
  
  .sp-section { padding: 70px 0 80px; }
  .sp-cream { background: #FCE9CE; }
  .sp-lavender { background: #EEF0FD; }
  .sp-light { background: var(--page-bg); }
  .sp-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; margin-bottom: 40px; }
  .sp-head > div { max-width: 760px; }
  .sp-pill { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; background: #FFDEA5; border-radius: 6px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #5C4A22; }
  .sp-lavender .sp-pill { background: #FBE7C2; }
  .sp-pill .icon { width: 13px; height: 13px; }
  .sp-head-title { margin-top: 16px; font-family: var(--font-head); font-size: 40px; font-weight: 500; line-height: 1.2; color: var(--navy); }
  .sp-head-intro { margin-top: 8px; font-size: 17.5px; line-height: 1.65; color: #3F4452; }
  .sp-note { flex-shrink: 0; width: 375px; padding: 16px 16px 18px; background: #E9EEFD; border-radius: 4px; font-size: 13.5px; line-height: 1.6; color: #3F4452; }
  .sp-lavender .sp-note { background: #F8F9FF; }
  .sp-note-title { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
  .sp-note-title .icon { width: 14px; height: 14px; }
  
  .sp-circuits { gap: 24px; align-items: start; }
  .sp-circuit { display: flex; flex-direction: column; padding: 22px 24px 18px; background: #E8EEFD; border-radius: 6px; box-shadow: var(--shadow-card); }
  .sp-circuit.is-summary { align-self: stretch; background: #141C34; color: var(--white); }
  .sp-card-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
  .sp-card-label { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #7A5A19; }
  .is-summary .sp-card-label { color: #E9C47C; }
  .is-summary .pill-cream { background: #6E5520; color: var(--white); }
  .sp-card-title { margin-top: 14px; font-family: var(--font-head); font-size: 22px; font-weight: 600; line-height: 1.3; color: var(--navy); }
  .is-summary .sp-card-title { color: var(--white); }
  .sp-card-body { margin-top: 8px; font-size: 14px; line-height: 1.65; color: #3F4452; }
  .is-summary .sp-card-body { color: rgba(255, 255, 255, .8); }
  .sp-card-img { margin-top: 26px; aspect-ratio: 16 / 7; overflow: hidden; border-radius: 3px; }
  .sp-card-img img { width: 100%; height: 100%; object-fit: cover; }
  .sp-card-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; font-size: 13px; color: #5C4A22; }
  .sp-card-foot .icon { width: 15px; height: 15px; }
  .sp-summary { display: flex; flex-direction: column; gap: 4px; margin-top: auto; padding: 18px 16px; background: rgba(255, 255, 255, .03); }
  .sp-summary-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #E9C47C; }
  .sp-summary-title { font-family: var(--font-head); font-size: 22px; }
  .sp-summary-text { font-size: 13px; letter-spacing: .03em; color: rgba(255, 255, 255, .85); }
  
  .sp-reels { margin-top: 56px; padding: 32px 22px 22px; background: #EEF1FD; border-radius: 6px; }
  .sp-reels-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 28px; }
  .sp-reels-title { margin-top: 6px; font-family: var(--font-head); font-size: 30px; font-weight: 500; color: var(--navy); }
  .sp-reels-note { font-size: 13.5px; color: #3F4452; }
  .sp-reel { padding: 16px 16px 20px; background: #E4EAFD; }
  .sp-reel-thumb { position: relative; aspect-ratio: 16 / 8.5; overflow: hidden; border-radius: 4px; margin-bottom: 18px; }
  .sp-reel-thumb img { width: 100%; height: 100%; object-fit: cover; }
  .sp-play { position: absolute; top: 50%; left: 50%; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: -24px 0 0 -24px; background: rgba(255, 255, 255, .92); border: 0; border-radius: 6px; color: var(--navy); transition: transform .2s; }
  .sp-play:hover { transform: scale(1.08); }
  .sp-play .icon { width: 16px; height: 16px; }
  .sp-reel .sp-card-title { margin-top: 6px; }
  
  .sp-day { display: flex; flex-direction: column; padding: 20px 20px 22px; background: #F8F9FF; border-radius: 6px; box-shadow: var(--shadow-card); }
  .sp-day-name { margin-top: 18px; font-family: var(--font-head); font-size: 22px; font-weight: 600; color: var(--navy); }
  .sp-day-sub { margin-top: 2px; font-size: 13px; color: #7A5A19; }
  .sp-day-img { margin-top: 12px; aspect-ratio: 7 / 3; overflow: hidden; border-radius: 3px; }
  .sp-day-img img { width: 100%; height: 100%; object-fit: cover; }
  .sp-day-body { margin-top: 16px; font-size: 13.5px; line-height: 1.6; color: #3F4452; }
  
  .sp-ahobilam { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 120px; align-items: center; padding: 50px 48px 56px; background: linear-gradient(110deg, #141C3A 0%, #141C3A 72%, #1F2640 100%); border-radius: 10px; box-shadow: 0 18px 40px rgba(17, 28, 45, .25); color: var(--white); }
  .sp-ahobilam-badge { display: inline-block; padding: 5px 12px; background: #7A5A19; border-radius: 3px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--white); }
  .sp-ahobilam h2 { margin-top: 26px; max-width: 480px; font-family: var(--font-head); font-size: 42px; font-weight: 400; line-height: 1.25; }
  .sp-rule { display: block; width: 66px; height: 2px; margin-top: 18px; background: #D9B56B; }
  .sp-ahobilam-intro { margin-top: 26px; font-size: 17.5px; line-height: 1.6; color: rgba(255, 255, 255, .9); }
  .sp-ahobilam-quote { margin: 44px 0; text-align: center; font-family: var(--font-head); font-size: 23px; font-style: italic; color: #E9C47C; }
  .sp-ahobilam-body { font-size: 15px; line-height: 1.7; color: rgba(255, 255, 255, .75); }
  .sp-ahobilam-list-label { margin-top: 34px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #8E95A8; }
  .sp-ahobilam-list { display: flex; flex-wrap: wrap; gap: 14px 34px; margin: 18px 0 0; padding: 0 0 0 10px; list-style: none; font-size: 13px; letter-spacing: .04em; color: rgba(255, 255, 255, .9); }
  .sp-ahobilam-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .sp-ahobilam-photos img { width: 100%; height: 160px; object-fit: cover; border-radius: 4px; }
  .sp-ahobilam-photos img.is-main { grid-column: 1 / -1; height: 256px; }
  
  .sp-light .grid-3 { margin-top: 56px; }
  .sp-temple { display: flex; flex-direction: column; padding: 30px 24px 24px; background: #E8EEFD; border-radius: 6px; box-shadow: var(--shadow-card); }
  .sp-temple-img { aspect-ratio: 9 / 4; margin-bottom: 26px; overflow: hidden; }
  .sp-temple-img img { width: 100%; height: 100%; object-fit: cover; }
  .sp-temple-cat { max-width: 120px; font-size: 11px; font-weight: 600; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; color: #5C4A22; }
  .sp-temple .sp-day-name { margin-top: 12px; }
  .sp-temple-body { margin-top: 12px; margin-bottom: 26px; max-width: 220px; font-size: 13.5px; line-height: 1.7; color: #3F4452; }
  .sp-temple .sp-card-foot { margin-top: auto; }
  
  .video-modal { width: min(900px, 92vw); padding: 0; border: 0; border-radius: 8px; background: #000; }
  .video-modal::backdrop { background: rgba(10, 14, 28, .8); }
  .video-modal video { display: block; width: 100%; max-height: 80vh; }
  .video-close { position: absolute; top: 10px; right: 10px; z-index: 1; display: inline-flex; padding: 8px; background: rgba(255, 255, 255, .9); border: 0; border-radius: 50%; color: var(--navy); }
  .video-close .icon { width: 18px; height: 18px; }
  
  /* ---------- Responsive for the pages above ---------- */
  @media (max-width: 1200px) {
    .ev-intro { grid-template-columns: minmax(0, 1fr) 420px; gap: 56px; }
    .ventures { gap: 22px; }
    .venture { padding: 28px 24px 24px; }
    .sp-hero-inner { grid-template-columns: minmax(0, 1fr) 440px; gap: 56px; }
    .sp-ahobilam { gap: 48px; }
    .grid-4, .tv-years { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
  
  @media (max-width: 1024px) {
    .ev-intro, .sp-hero-inner, .cm-lit-grid, .sp-ahobilam { grid-template-columns: 1fr; }
    .ev-stats { max-width: 560px; }
    .ventures, .grid-3, .tv-logistics-grid, .gt-principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid-4, .tv-years, .cm-stats, .sp-stats ul, .tv-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tv-stats { grid-auto-flow: row; }
    .tv-logistics-grid li.is-wide { grid-column: auto; }
    .cm-lit-head, .tv-timeline-head, .tv-dossiers-head, .sp-head, .sp-reels-head, .tv-logistics-head { flex-direction: column; align-items: flex-start; }
    .tv-log { text-align: left; }
    .sp-note { width: auto; max-width: 520px; }
    .tv-feature, .tv-timeline { margin-left: 0; margin-right: 0; }
    .tv-logistics { margin-left: 0; margin-right: 0; }
    .tv-logistics-badge, .tv-logistics-intro { margin-top: 24px; }
    .cm-insignia-plate { min-height: 0; }
    .cm-insignia-plate img { margin-bottom: 30px; }
    .cm-insignia-text { margin-top: 30px; }
  }
  
  @media (max-width: 640px) {
    .ev, .tv, .gt { padding-top: 40px; padding-bottom: 70px; }
    .ev-title { font-size: 32px; }
    .ev-intro { margin-top: 36px; }
    .ev-scope { margin-top: 30px; }
    .ev-banner { height: 300px; margin-top: 40px; }
    .ev-banner figcaption { left: 20px; right: 20px; bottom: 20px; }
    .ventures, .grid-2, .grid-3, .grid-4, .tv-years, .tv-logistics-grid, .gt-principles { grid-template-columns: 1fr; }
    .cm-stats, .sp-stats ul, .tv-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .cm-title, .inner-title, .tv-title { font-size: 30px; }
    .cm-intro, .tv-intro, .gt-intro, .sp-intro { font-size: 16px; }
    .cm-stat-value { font-size: 24px; }
    .cm-photo { height: 300px; }
    .cm-insignia { padding: 24px 18px; }
    .tv-quote { font-size: 19px; }
    .tv-stat-value { font-size: 38px; }
    .tv-feature-img { height: 280px; }
    .tv-timeline { margin-top: 60px; padding: 28px 16px; }
    .tv-logistics { padding: 34px 20px; }
    .tv-logistics-title { font-size: 26px; }
    .tv-dossiers { margin-top: 60px; }
    .dossier { padding: 24px 18px 20px; }
    .dossier-title { font-size: 24px; }
    .gt-principles { padding: 28px 22px; gap: 28px; }
    .gt-testimonial { flex-direction: column; align-items: flex-start; padding: 26px 20px; }
    .sp-title { font-size: 34px; }
    .sp-quote { font-size: 20px; }
    .sp-hero-photo { height: 340px; }
    .sp-stat-value { font-size: 36px; }
    .sp-head-title { font-size: 30px; }
    .sp-ahobilam { padding: 32px 20px; }
    .sp-ahobilam h2 { font-size: 30px; }
    .sp-ahobilam-photos img.is-main { height: 200px; }
    .sp-ahobilam-photos img { height: 120px; }
  }
  
  /* ==========================================================================
     Shared: filter chips, closing quote, helpers
     ========================================================================== */
  .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .is-hidden { display: none !important; }
  .chip-row { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
  .chip-row::-webkit-scrollbar { display: none; }
  .chip { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; padding: 7px 16px; background: #E8ECFB; border: 0; border-radius: 999px; font-size: 11.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--navy); transition: background-color .2s, color .2s; }
  .chip:hover { background: #DCE3FA; }
  .chip.is-active { background: var(--navy); color: var(--white); }
  .chip-count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; padding: 1px 7px; background: rgba(17, 28, 45, .08); border-radius: 999px; font-size: 10.5px; letter-spacing: 0; }
  .chip.is-active .chip-count { background: #FFD27A; color: var(--navy); }
  
  .closing-quote { padding: 70px 0 56px; background: var(--white); text-align: center; }
  .closing-rule { display: block; width: 36px; height: 3px; margin: 0 auto 26px; background: #8B6A1F; }
  .closing-quote blockquote { margin: 0 auto; max-width: 720px; font-family: var(--font-head); font-size: 22px; font-style: italic; line-height: 1.6; color: var(--navy); }
  .closing-quote p { margin-top: 18px; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
  
  /* ==========================================================================
     Gallery & Memories
     ========================================================================== */
  .gl {
    padding: 64px 0 50px;
    background-color: #ECECEE;
    background-image:
      linear-gradient(180deg, rgba(240, 240, 243, .92), rgba(236, 236, 240, .85) 50%, rgba(232, 232, 236, .9)),
      var(--gl-bg, linear-gradient(125deg, #F1F1F3 0%, #E3E3E6 40%, #F2F2F4 60%, #DCDCE0 100%));
    background-size: cover;
    background-position: center;
  }
  .gl-title { font-size: 50px; }
  .gl-quote { margin-top: 18px; font-family: var(--font-head); font-size: 22px; font-style: italic; color: #8B6A1F; }
  .gl-intro { margin-top: 18px; max-width: 640px; font-size: 16.5px; line-height: 1.7; color: #3F4452; }
  .gl-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
  .gl-stats li { display: flex; flex-direction: column; padding: 16px 16px 18px; background: var(--white); border-radius: 4px; box-shadow: var(--shadow-card); }
  .gl-stat-eyebrow { font-size: 10.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
  .gl-stat-value { margin-top: 12px; font-family: var(--font-head); font-size: 34px; line-height: 1; color: var(--navy); }
  .gl-stat-label { margin-top: 8px; font-size: 13px; color: #3F4452; }
  .gl .chip-row { margin-top: 30px; }
  
  .gl-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 20px; align-items: start; }
  .gl-card { overflow: hidden; background: var(--white); border-radius: 4px; box-shadow: var(--shadow-card); }
  .gl-card.is-large { grid-column: span 2; }
  .gl-photo { position: relative; display: block; height: 290px; overflow: hidden; background: #DADCE3; }
  .gl-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
  .gl-card:hover .gl-photo img { transform: scale(1.04); }
  .gl-ref { position: absolute; top: 10px; left: 10px; padding: 3px 7px; background: rgba(17, 20, 30, .82); font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 11px; letter-spacing: .06em; color: var(--white); }
  .gl-corner { position: absolute; right: 10px; bottom: 10px; padding: 3px 8px; background: #FFD27A; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #5C4512; }
  .gl-card-body { padding: 16px 18px 20px; }
  .gl-card-eyebrow { font-size: 10.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #7A5A19; }
  .gl-card-title { margin-top: 6px; font-family: var(--font-head); font-size: 19px; font-weight: 500; line-height: 1.3; color: var(--navy); }
  .gl-card.is-large .gl-card-title { font-size: 20px; }
  .gl-card-text { margin-top: 8px; font-size: 13px; line-height: 1.6; color: #3F4452; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  
  .gl-folios { margin-top: 80px; padding: 28px 24px 26px; background: #EEF0FD; border-radius: 4px; }
  .gl-folios-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
  .gl-folios-title { margin-top: 6px; font-family: var(--font-head); font-size: 26px; font-weight: 500; color: var(--navy); }
  .gl-folios-note { font-size: 12.5px; color: #6B7080; }
  .gl-folio-list { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
  .gl-folio-list li { display: flex; flex-direction: column; padding: 12px 10px 14px; background: var(--white); }
  .gl-folio-years { font-size: 11px; font-weight: 600; letter-spacing: .06em; color: #7A5A19; }
  .gl-folio-title { margin-top: 6px; font-family: var(--font-head); font-size: 18px; color: var(--navy); }
  .gl-folio-text { margin-top: 4px; font-size: 12.5px; line-height: 1.45; color: #3F4452; }
  
  .gl-contribute { display: flex; align-items: center; gap: 24px; margin-top: 22px; padding: 26px 24px; background: var(--white); border-radius: 4px; box-shadow: var(--shadow-card); }
  .gl-contribute-icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; background: #F3EBDD; border-radius: 6px; color: var(--navy); }
  .gl-contribute-icon .icon { width: 18px; height: 18px; }
  .gl-contribute h2 { font-family: var(--font-head); font-size: 20px; font-weight: 500; color: var(--navy); }
  .gl-contribute p { margin-top: 4px; max-width: 700px; font-size: 13.5px; line-height: 1.6; color: #3F4452; }
  .gl-contribute-btn { margin-left: auto; flex-shrink: 0; padding: 9px 18px; font-size: 11px; }
  
  /* ==========================================================================
     Connect
     ========================================================================== */
  .cn-hero { padding: 64px 0 56px; background: #F6F6FC; }
  .cn-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 120px; align-items: start; }
  .cn-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
  .cn-eyebrow::after { content: ""; width: 44px; height: 1px; background: currentColor; }
  .cn-title { margin-top: 14px; font-family: var(--font-head); font-size: 50px; font-weight: 500; line-height: 1.1; text-transform: uppercase; color: var(--navy); }
  .cn-subtitle { margin-top: 12px; font-family: var(--font-head); font-size: 22px; font-weight: 500; color: #8B6A1F; }
  .cn-intro { margin-top: 18px; max-width: 640px; font-size: 16.5px; line-height: 1.7; color: #3F4452; }
  .cn-pillars { padding: 18px 20px 20px; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .cn-pillars-head { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; color: #6B7080; }
  .cn-pillars-head span:first-child { font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #7A5A19; }
  .cn-pillars ul { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; margin-top: 22px; }
  .cn-pillars li { display: flex; flex-direction: column; }
  .cn-pillar-value { font-family: var(--font-head); font-size: 26px; line-height: 1; color: var(--navy); }
  .cn-pillar-label { margin-top: 6px; font-size: 13px; line-height: 1.4; color: #3F4452; }
  
  .cn-channels { padding: 56px 0 30px; background: #EEF0FD; }
  .cn-channels-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; }
  .cn-channels-intro { max-width: 330px; font-size: 13.5px; line-height: 1.6; color: #3F4452; }
  .cn-channels-labels { display: flex; justify-content: space-between; gap: 12px; margin-top: 30px; font-size: 11px; color: #6B7080; }
  .cn-channels-labels span:first-child { font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #7A5A19; }
  .cn-channel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 12px; }
  .cn-channel { display: flex; flex-direction: column; padding: 22px 24px 22px; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .cn-channel.is-wide { grid-column: span 2; }
  .cn-channel-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 10.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #7A5A19; }
  .cn-channel-top .icon { width: 16px; height: 16px; }
  .cn-channel h3 { margin-top: 10px; font-family: var(--font-head); font-size: 22px; font-weight: 500; color: var(--navy); }
  .cn-channel-body { margin-top: 6px; margin-bottom: 18px; font-size: 13.5px; line-height: 1.6; color: #3F4452; }
  .cn-channel-btn { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: auto; padding: 8px 16px; background: var(--navy); border-radius: 999px; font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--white); transition: background-color .2s; }
  .cn-channel.is-wide .cn-channel-btn { max-width: 70%; }
  .cn-channel-btn:hover { background: var(--navy-2); }
  .cn-channel-btn .icon { width: 14px; height: 14px; }
  
  .cn-info { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 64px; padding: 20px 40px; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .cn-info li { display: flex; align-items: center; gap: 14px; }
  .cn-info-icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 34px; height: 34px; border-radius: 3px; }
  .cn-info-icon .icon { width: 17px; height: 17px; }
  .cn-info-navy { background: var(--navy); color: var(--white); }
  .cn-info-gold { background: #FFD27A; color: #5C4512; }
  .cn-info-blue { background: #E8ECFB; color: var(--navy); }
  .cn-info div { display: flex; flex-direction: column; }
  .cn-info-eyebrow { font-size: 10.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #7A5A19; }
  .cn-info-title { margin-top: 2px; font-family: var(--font-head); font-size: 19px; color: var(--navy); }
  .cn-info-text { font-size: 12.5px; color: #4A4F5C; }
  
  .cn-form-section { padding: 70px 0; background: #F8F8FD; }
  .cn-form-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 56px; align-items: start; }
  .cn-form-intro { margin-top: 10px; max-width: 580px; font-size: 14.5px; line-height: 1.6; color: #3F4452; }
  .cn-form-card { margin-top: 22px; padding: 26px 30px 30px; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .cn-domains { margin: 0; padding: 0; border: 0; }
  .cn-domains legend, .cn-form .field label { margin-bottom: 8px; padding: 0; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--navy); }
  .cn-domain-pills { display: flex; flex-wrap: wrap; gap: 8px; }
  .cn-domain { position: relative; cursor: pointer; }
  .cn-domain input { position: absolute; opacity: 0; pointer-events: none; }
  .cn-domain span { display: inline-block; padding: 5px 12px; background: #E8ECFB; border-radius: 999px; font-size: 13px; color: var(--navy); transition: background-color .2s, color .2s; }
  .cn-domain input:checked + span { background: var(--navy); color: var(--white); }
  .cn-domain input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 2px; }
  .cn-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; margin-top: 22px; }
  .cn-form .field input, .cn-form .field textarea { background: #EEF0FD; border: 1px solid transparent; border-radius: 0; font-size: 14px; }
  .cn-form .field input:focus, .cn-form .field textarea:focus { background: var(--white); border-color: var(--gold); }
  .cn-form-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 22px; }
  .cn-form-note { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #4A4F5C; }
  .cn-form-note .icon { width: 14px; height: 14px; color: var(--gold); }
  .cn-form-foot .btn { padding: 12px 28px; font-size: 11.5px; }
  .cn-domains.has-error span { box-shadow: inset 0 0 0 1px #B3261E; }
  
  .cn-side { display: flex; flex-direction: column; gap: 24px; }
  .cn-portrait { overflow: hidden; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .cn-portrait-img { position: relative; height: 210px; background: #CBD3DF; }
  .cn-portrait-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
  .cn-portrait-caption { position: absolute; inset: auto 0 0 0; display: flex; flex-direction: column; padding: 40px 14px 12px; background: linear-gradient(180deg, rgba(17, 28, 45, 0), rgba(17, 28, 45, .75)); color: var(--white); }
  .cn-portrait-caption span { font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: #E9C47C; }
  .cn-portrait-caption strong { font-family: var(--font-head); font-size: 19px; font-weight: 500; }
  .cn-portrait-body { padding: 12px 14px 14px; }
  .cn-portrait-row { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--navy); }
  .cn-portrait-domain { display: flex; flex-direction: column; margin-top: 12px; padding: 10px 10px 12px; background: #EEF0FD; }
  .cn-portrait-domain span { font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: #6B7080; }
  .cn-portrait-domain strong { margin-top: 4px; font-family: var(--font-head); font-size: 19px; font-weight: 500; color: var(--navy); }
  .cn-quote { margin: 0; padding: 26px 24px 28px; background: #EEF0FD; border-radius: 4px; }
  .cn-quote-mark { font-family: var(--font-head); font-size: 22px; font-weight: 700; color: #D9B56B; }
  .cn-quote blockquote { margin: 8px 0 0; font-family: var(--font-head); font-size: 20px; font-style: italic; line-height: 1.5; color: var(--navy); }
  .cn-quote figcaption { display: flex; align-items: center; gap: 10px; margin-top: 16px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #8B6A1F; }
  .cn-quote figcaption::before { content: ""; width: 18px; height: 1px; background: currentColor; }
  .cn-protocols { padding: 18px 22px 20px; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .cn-protocols-title { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--navy); }
  .cn-protocols-title .icon { width: 14px; height: 14px; color: var(--gold); }
  .cn-protocols ul { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
  .cn-protocols li { display: flex; gap: 8px; font-size: 13px; line-height: 1.55; color: #3F4452; }
  .cn-protocols li .icon { flex-shrink: 0; width: 14px; height: 14px; margin-top: 3px; color: var(--gold); }
  .cn-protocols strong { font-weight: 600; color: var(--navy); }
  
  .cn-map-section { padding: 0 0 90px; background: #F8F8FD; }
  .cn-map { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 32px; min-height: 206px; padding: 26px 24px; overflow: hidden; border-radius: 6px; background-color: #9EA3A9; background-image: linear-gradient(90deg, rgba(60, 64, 72, .55), rgba(60, 64, 72, .35) 50%, rgba(60, 64, 72, .5)), var(--map-bg, linear-gradient(135deg, #C9CDD2, #A9AEB5)); background-size: cover; background-position: center; color: var(--white); }
  .cn-map-plain { display: block; width: 100%; height: 260px; object-fit: cover; border-radius: 6px; }
  .cn-map-text { max-width: 320px; }
  .cn-map-text h2 { font-family: var(--font-head); font-size: 30px; font-weight: 500; line-height: 1.2; }
  .cn-map-text p { margin-top: 8px; font-size: 13.5px; line-height: 1.6; color: rgba(255, 255, 255, .9); }
  .cn-map-zone { display: flex; align-items: center; gap: 14px; }
  .cn-map-zone div { display: flex; flex-direction: column; align-items: flex-end; }
  .cn-map-zone span { font-size: 10.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #FFD27A; }
  .cn-map-zone strong { font-family: var(--font-head); font-size: 18px; font-weight: 500; }
  .cn-map-icon { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: #6E5520; border-radius: 6px; }
  .cn-map-icon .icon { width: 16px; height: 16px; }
  
  /* ==========================================================================
     Celebrities
     ========================================================================== */
  .cb-hero { padding: 54px 0 28px; background: #EEF0FD; }
  .cb-hero-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 60px; }
  .cb-title { max-width: 620px; font-family: var(--font-head); font-size: 44px; font-weight: 400; line-height: 1.12; color: var(--navy); }
  .cb-intro { max-width: 300px; margin-top: 10px; font-size: 13.5px; line-height: 1.6; color: #3F4452; }
  .cb-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 28px; padding: 18px 20px 20px; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .cb-stats li { display: flex; flex-direction: column; gap: 4px; }
  .cb-stat-eyebrow { font-size: 10.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #7A5A19; }
  .cb-stat-main { font-size: 13px; color: var(--navy); }
  .cb-stat-main strong { font-family: var(--font-head); font-size: 26px; font-weight: 600; }
  .cb-stat-text { font-size: 12px; color: #6B7080; }
  
  .cb-spotlight { padding: 40px 0 30px; background: #F8F8FD; }
  .cb-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 26px; }
  .cb-section-title { margin-top: 6px; font-family: var(--font-head); font-size: 28px; font-weight: 600; color: var(--navy); }
  .cb-section-note { font-size: 12.5px; color: #6B7080; }
  .cb-spot-grid { gap: 22px; }
  .cb-spot { padding: 16px 18px 22px; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .cb-spot-img { position: relative; height: 230px; overflow: hidden; background: #DADCE3; }
  .cb-spot-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
  .cb-spot-tag { position: absolute; top: 12px; left: 8px; padding: 2px 8px; background: #000; font-size: 10.5px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--white); }
  .cb-spot-meta { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 4px; }
  .cb-spot-meta .tv-mono { font-size: 10.5px; color: var(--navy); }
  .cb-spot-badge { padding: 2px 7px; background: #FFF0C8; font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #7A5A19; }
  .cb-spot-eyebrow { margin-top: 12px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #7A5A19; }
  .cb-spot-name { margin-top: 4px; font-family: var(--font-head); font-size: 21px; font-weight: 600; color: var(--navy); }
  .cb-spot-body { margin-top: 12px; font-size: 13.5px; line-height: 1.65; color: #3F4452; }
  
  .cb-directory { padding: 40px 0 80px; background: #F8F8FD; }
  .cb-dir-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding-bottom: 16px; border-bottom: 1px solid #E3E5EE; }
  .cb-dir-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #7A5A19; }
  .cb-dir-eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #7A5A19; }
  .cb-dir-intro { margin-top: 4px; font-size: 12.5px; color: #4A4F5C; }
  .cb-search { display: flex; align-items: center; gap: 8px; width: 290px; padding: 8px 12px; background: var(--white); border: 1px solid #DEE1EA; border-radius: 4px; color: #6B7080; }
  .cb-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 13.5px; color: var(--navy); }
  .cb-search:focus-within { border-color: var(--gold); }
  .cb-chips { margin-top: 20px; }
  .cb-dir-status { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 18px 0 14px; font-size: 12.5px; color: #4A4F5C; }
  .cb-dir-status > span:first-child { display: inline-flex; align-items: center; gap: 6px; }
  .cb-dir-status .icon { width: 13px; height: 13px; }
  .cb-dir-status strong { color: var(--navy); }
  
  .cb-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: start; }
  .cb-card { display: flex; flex-direction: column; padding: 12px 14px 12px; background: var(--white); border: 1px solid #ECEDF3; border-radius: 6px; box-shadow: 0 1px 4px rgba(17, 28, 45, .04); transition: box-shadow .2s, transform .2s; }
  .cb-card:hover { box-shadow: 0 8px 22px rgba(17, 28, 45, .1); transform: translateY(-2px); }
  .cb-card-img { height: 90px; margin-bottom: 8px; overflow: hidden; background: #E3E5EC; }
  .cb-card-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
  .cb-card-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
  .cb-code { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; color: #7A5A19; }
  .cb-badge { padding: 2px 7px; border-radius: 3px; font-size: 10.5px; }
  .cb-badge-green { background: #DDF7E7; color: #146C3A; }
  .cb-badge-blue { background: #DCE8FD; color: #1E3E7A; }
  .cb-badge-purple { background: #EFE3FC; color: #5B2E8C; }
  .cb-badge-yellow { background: #FFF1C2; color: #6E5208; }
  .cb-badge-red { background: #FDE2E4; color: #9A1F2B; }
  .cb-badge-indigo { background: #E1E5FC; color: #2E3A8C; }
  .cb-badge-cyan { background: #D8F5F8; color: #0E5C66; }
  .cb-badge-grey { background: #ECEDF1; color: #3F4452; }
  .cb-card-name { margin-top: 10px; font-family: Georgia, var(--font-head); font-size: 16px; font-weight: 700; color: var(--navy); }
  .cb-card-role { margin-top: 2px; font-size: 10.5px; font-weight: 600; letter-spacing: .05em; line-height: 1.4; text-transform: uppercase; color: #7A5A19; }
  .cb-card-body { margin-top: 8px; margin-bottom: 16px; font-size: 12px; line-height: 1.55; color: #3F4452; }
  .cb-card-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: auto; padding-top: 8px; border-top: 1px solid #ECEDF3; }
  .cb-card-foot .tv-mono { font-size: 10.5px; text-transform: none; }
  .cb-card-foot a, .cb-arrow { color: #4A4F5C; font-size: 13px; }
  .cb-card-foot a .icon { width: 12px; height: 12px; }
  
  .cb-philosophy { padding: 50px 0 40px; background: #0E152A; text-align: center; color: var(--white); }
  .cb-star { color: #F2C14E; }
  .cb-star .icon { width: 20px; height: 20px; }
  .cb-phil-eyebrow { margin-top: 10px; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #F2C14E; }
  .cb-philosophy blockquote { max-width: 640px; margin: 16px auto 0; font-family: Georgia, var(--font-head); font-size: 22px; line-height: 1.45; }
  .cb-phil-name { margin-top: 24px; font-size: 12.5px; font-weight: 500; color: #F2C14E; }
  .cb-phil-note { margin-top: 2px; font-size: 11.5px; color: rgba(255, 255, 255, .55); }
  
  /* ==========================================================================
     Cricket & Sporting Experiences
     ========================================================================== */
  .ck-hero { padding: 56px 0 44px; background: #F8F8FD; }
  .ck-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 90px; align-items: start; }
  .ck-title { margin-top: 18px; font-family: var(--font-head); font-size: 46px; font-weight: 500; line-height: 1.1; color: var(--navy); }
  .ck-subtitle { margin-top: 18px; font-family: var(--font-head); font-size: 23px; font-style: italic; color: #8B6A1F; }
  .ck-intro { margin-top: 16px; max-width: 560px; font-size: 15px; line-height: 1.75; color: #3F4452; }
  .ck-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  .ck-btn { padding: 8px 14px; border-radius: 2px; font-size: 11.5px; }
  .ck-btn .icon { width: 14px; height: 14px; }
  .ck-hero-card { margin: 8px 0 0; padding: 8px 8px 10px; background: var(--white); border-radius: 4px; box-shadow: 0 10px 28px rgba(17, 28, 45, .12); }
  .ck-hero-img { position: relative; height: 195px; overflow: hidden; }
  .ck-hero-img img, .ck-feature img, .ck-wim-img img { width: 100%; height: 100%; object-fit: cover; }
  .ck-hero-img figcaption, .ck-feature figcaption, .ck-wim-img figcaption { position: absolute; inset: auto 0 0 0; display: flex; flex-direction: column; gap: 2px; padding: 46px 10px 10px; background: linear-gradient(180deg, rgba(10, 14, 28, 0), rgba(10, 14, 28, .78)); color: var(--white); }
  .ck-img-eyebrow { font-size: 10.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 233, 190, .9); }
  .ck-img-title { font-family: var(--font-head); font-size: 19px; font-weight: 500; }
  .ck-img-title-lg { font-size: 26px; }
  .ck-img-text { font-size: 12.5px; color: rgba(255, 255, 255, .85); }
  .ck-hero-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 8px; font-size: 12px; color: var(--navy); }
  .ck-hero-foot > span:first-child { display: inline-flex; align-items: center; gap: 6px; }
  .ck-hero-foot .icon { width: 13px; height: 13px; color: var(--gold); }
  .ck-hero-foot .tv-mono { font-weight: 700; }
  
  .ck-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 44px; }
  .ck-stats li { padding: 14px 14px 18px; background: var(--white); border-radius: 4px; box-shadow: var(--shadow-card); }
  .ck-stat-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #7A5A19; }
  .ck-stat-top .icon { width: 15px; height: 15px; }
  .ck-stat-value { margin-top: 6px; font-family: var(--font-head); font-size: 34px; line-height: 1.2; color: var(--navy); }
  .ck-stat-text { margin-top: 4px; font-size: 12.5px; line-height: 1.55; color: #3F4452; }
  
  .ck-section { padding: 70px 0 60px; }
  .ck-lavender { background: #EEF0FD; }
  .ck-light { background: #F8F8FD; }
  .ck-head { max-width: 640px; margin-bottom: 26px; }
  .ck-head-eyebrow { display: flex; align-items: center; gap: 8px; font-size: 10.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #7A5A19; }
  .ck-head-date { font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--navy); }
  .ck-head-date::before { content: "•"; margin-right: 8px; color: #7A5A19; }
  .ck-head-title { margin-top: 10px; font-family: var(--font-head); font-size: 34px; font-weight: 500; line-height: 1.2; color: var(--navy); }
  .ck-head-subtitle { margin-top: 4px; font-family: var(--font-head); font-size: 20px; font-style: italic; line-height: 1.45; color: #8B6A1F; }
  .ck-head-intro { margin-top: 10px; font-size: 14px; line-height: 1.7; color: #3F4452; }
  
  .ck-wc19 { display: grid; grid-template-columns: minmax(0, 1.95fr) minmax(0, 1fr); gap: 16px; }
  .ck-feature { position: relative; margin: 0; height: 255px; overflow: hidden; border-radius: 4px; box-shadow: 0 8px 22px rgba(17, 28, 45, .15); }
  .ck-feature figcaption { padding: 60px 14px 16px; }
  .ck-feature-badge { position: absolute; right: 12px; bottom: 16px; padding: 5px 10px; background: rgba(10, 14, 28, .8); font-size: 11px; color: var(--white); }
  .ck-notes { display: flex; flex-direction: column; gap: 10px; }
  .ck-note { flex: 1; padding: 14px 14px 16px; background: var(--white); border-radius: 4px; box-shadow: var(--shadow-card); font-size: 12.5px; line-height: 1.6; color: #3F4452; }
  .ck-note-eyebrow { display: flex; align-items: center; gap: 6px; font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #7A5A19; }
  .ck-note-eyebrow .icon { width: 13px; height: 13px; }
  .ck-note-title { margin: 8px 0 6px; font-family: var(--font-head); font-size: 17px; font-weight: 500; color: var(--navy); }
  .ck-note-mono { margin: 8px 0 6px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; font-weight: 700; color: var(--navy); }
  .ck-register { display: flex; justify-content: space-between; gap: 12px; margin: 34px 0 10px; font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #7A5A19; }
  .ck-register .tv-mono { font-size: 10.5px; color: var(--navy); }
  .ck-matches { gap: 12px; }
  .ck-match { display: flex; flex-direction: column; padding: 14px 14px 10px; background: var(--white); border-radius: 4px; box-shadow: var(--shadow-card); }
  .ck-match-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
  .ck-match-label { padding: 2px 6px; font-size: 10.5px; color: var(--navy); }
  .ck-label-blue { background: #E3E9FB; }
  .ck-label-gold { background: #EFE2C7; }
  .ck-label-dark { background: var(--navy); color: var(--white); }
  .ck-match-venue { font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #7A5A19; }
  .ck-match-title { margin-top: 10px; font-family: var(--font-head); font-size: 18px; font-weight: 600; color: var(--navy); }
  .ck-match-city { font-size: 12px; color: #8B6A1F; }
  .ck-match-body { margin-top: 8px; margin-bottom: 12px; font-size: 12.5px; line-height: 1.55; color: #3F4452; }
  .ck-match-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: auto; padding-top: 8px; border-top: 1px solid #ECEDF3; }
  .ck-match-foot .tv-mono { font-size: 10.5px; text-transform: none; color: var(--navy); }
  .ck-attended { font-size: 10.5px; font-weight: 600; color: #7A5A19; }
  
  .ck-venues { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .ck-venue { display: flex; flex-direction: column; overflow: hidden; background: var(--white); border-radius: 4px; box-shadow: var(--shadow-card); }
  .ck-venue.is-wide { grid-column: span 2; flex-direction: row; }
  .ck-venue-img { position: relative; height: 114px; flex-shrink: 0; background: #DADCE3; }
  .ck-venue.is-wide .ck-venue-img { width: 50%; height: auto; min-height: 248px; }
  .ck-venue-img img { width: 100%; height: 100%; object-fit: cover; }
  .ck-venue-tag { position: absolute; top: 6px; left: 6px; padding: 2px 6px; background: rgba(10, 14, 28, .82); font-size: 9.5px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; color: var(--white); }
  .ck-venue-body, .ck-memory { display: flex; flex: 1; flex-direction: column; padding: 14px 12px 12px; }
  .ck-venue-eyebrow { font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #7A5A19; }
  .ck-venue-title { margin-top: 8px; font-family: var(--font-head); font-size: 18px; font-weight: 600; line-height: 1.3; color: var(--navy); }
  .ck-venue-text { margin-top: 6px; margin-bottom: 14px; font-size: 12.5px; line-height: 1.55; color: #3F4452; }
  .ck-venue-foot { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-top: auto; padding-top: 8px; border-top: 1px solid #ECEDF3; font-size: 11.5px; color: var(--navy); }
  .ck-venue-foot .tv-mono { font-size: 10.5px; text-transform: none; color: var(--navy); }
  .ck-venue-result { font-weight: 700; color: #7A5A19 !important; text-align: right; }
  
  .ck-wim { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; align-items: center; padding: 76px 38px; background: var(--white); border-radius: 6px; box-shadow: 0 10px 28px rgba(17, 28, 45, .1); }
  .ck-wim-photo { margin: 0; }
  .ck-wim-img { position: relative; height: 222px; overflow: hidden; border-radius: 4px; }
  .ck-wim-img figcaption { padding: 46px 8px 10px; }
  .ck-wim-meta { display: flex; justify-content: space-between; gap: 10px; margin-top: 6px; }
  .ck-wim-meta .tv-mono { font-size: 10.5px; text-transform: none; color: var(--navy); }
  .ck-wim-meta .gold { font-weight: 700; color: #7A5A19; }
  .ck-wim-title { margin-top: 8px; font-family: var(--font-head); font-size: 28px; font-weight: 500; color: var(--navy); }
  .ck-wim-subtitle { margin-top: 6px; font-family: var(--font-head); font-size: 17px; font-style: italic; line-height: 1.45; color: #8B6A1F; }
  .ck-wim-intro { margin-top: 12px; font-size: 13.5px; line-height: 1.6; color: #3F4452; }
  .ck-wim-vignette { margin-top: 12px; padding: 12px 12px 14px; background: #EEF0FD; font-size: 12px; line-height: 1.6; color: #3F4452; }
  .ck-wim-vignette p:last-child { margin-top: 6px; }
  .ck-wim-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 22px 0 0; }
  .ck-wim-facts dt { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: #3F4452; }
  .ck-wim-facts dd { margin: 2px 0 0; font-size: 12px; font-weight: 600; }
  .ck-wim-facts dd.tv-mono { font-weight: 400; text-transform: none; color: var(--navy); }
  
  .ck-memory { padding: 12px 12px 12px; background: var(--white); border-radius: 4px; box-shadow: var(--shadow-card); }
  .ck-memory-img { height: 105px; margin-bottom: 16px; overflow: hidden; background: #DADCE3; }
  .ck-memory-img img { width: 100%; height: 100%; object-fit: cover; }
  
  .ck-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 22px; padding: 22px 22px; background: #141C34; border-radius: 6px; color: var(--white); }
  .ck-cta-eyebrow { font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 233, 190, .85); }
  .ck-cta h2 { margin-top: 6px; font-family: var(--font-head); font-size: 22px; font-weight: 500; }
  .ck-cta p { margin-top: 6px; max-width: 320px; font-size: 12px; line-height: 1.6; color: rgba(255, 255, 255, .78); }
  .ck-cta-actions { display: flex; flex-wrap: wrap; gap: 6px; }
  .ck-cta-btn { padding: 6px 12px; background: #3A4256; border-radius: 2px; font-size: 12px; color: var(--white); transition: background-color .2s; }
  .ck-cta-btn:hover { background: #4A5370; }
  .ck-cta-btn.is-gold { background: #7A5A19; }
  .ck-cta-btn.is-gold:hover { background: #8B6A1F; }
  
  /* ---------- Responsive for the pages above ---------- */
  @media (max-width: 1200px) {
    .cb-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .gl-folio-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cn-hero-inner, .ck-hero-inner { gap: 48px; }
  }
  
  @media (max-width: 1024px) {
    .gl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cn-hero-inner, .cn-form-grid, .ck-hero-inner, .ck-wc19, .ck-wim { grid-template-columns: 1fr; }
    .cn-pillars, .ck-hero-card { max-width: 480px; }
    .cn-channel-grid, .ck-venues { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cn-channel.is-wide, .ck-venue.is-wide { grid-column: 1 / -1; }
    .cn-channels-head, .cb-hero-top, .cb-dir-head, .cb-section-head { flex-direction: column; align-items: flex-start; }
    .cn-info { grid-template-columns: 1fr; padding: 20px; }
    .cb-stats, .gl-stats, .ck-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cb-intro { max-width: 560px; margin-top: 0; }
    .ck-wim { padding: 32px 24px; }
  }
  
  @media (max-width: 640px) {
    .gl-title, .cn-title { font-size: 34px; }
    .gl-quote { font-size: 18px; }
    .gl-grid, .cn-channel-grid, .ck-venues, .cb-cards, .cn-fields { grid-template-columns: 1fr; }
    .gl-card.is-large { grid-column: auto; }
    .gl-photo { height: 240px; }
    .gl-folio-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gl-folios-head, .gl-contribute, .cn-form-foot, .ck-cta, .cn-map { flex-direction: column; align-items: flex-start; }
    .gl-contribute-btn { margin-left: 0; }
    .cn-channel.is-wide .cn-channel-btn { max-width: none; }
    .cn-form-card { padding: 20px 16px 22px; }
    .cn-form-foot .btn { width: 100%; }
    .cn-map-zone div { align-items: flex-start; }
    .cb-title { font-size: 30px; }
    .cb-search { width: 100%; }
    .cb-stats, .gl-stats, .ck-stats { gap: 12px; }
    .cb-dir-status { flex-direction: column; align-items: flex-start; }
    .ck-title { font-size: 34px; }
    .ck-head-title { font-size: 27px; }
    .ck-venue.is-wide { flex-direction: column; }
    .ck-venue.is-wide .ck-venue-img { width: 100%; min-height: 0; height: 180px; }
    .ck-feature { height: 220px; }
    .ck-img-title-lg { font-size: 21px; }
  }
  
  /* ==========================================================================
     Lavender mini-footer (above the main footer, every page)
     ========================================================================== */
  .mini-footer { padding: 38px 0 30px; background: #EEF0FD; text-align: center; }
  .mini-footer-inner { max-width: 880px; }
  .mini-footer .eyebrow { font-size: 10.5px; letter-spacing: .14em; }
  .mini-footer-name { margin-top: 8px; font-family: var(--font-head); font-size: 24px; font-weight: 600; color: var(--navy); }
  .mini-footer-bio { max-width: 640px; margin: 10px auto 0; font-size: 13.5px; line-height: 1.65; color: #4A4F5C; }
  .mini-footer-interests { margin-top: 10px; font-size: 12px; color: #7A5A19; }
  .mini-footer-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 0; max-width: 560px; margin: 18px auto 0; padding-top: 18px; border-top: 1px solid #DCE0F2; }
  .mini-footer-links li { display: flex; align-items: center; }
  .mini-footer-links li + li::before { content: "•"; margin: 0 16px; color: var(--navy); }
  .mini-footer-links a { font-size: 11.5px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--navy); }
  .mini-footer-links a:hover { color: var(--gold); }
  .mini-footer-motto { margin-top: 18px; font-family: var(--font-head); font-size: 15px; font-style: italic; color: #3F4452; }
  .mini-footer-legal { margin-top: 8px; font-size: 12px; color: #6B7080; }
  
  @media (max-width: 640px) {
    .mini-footer-name { font-size: 21px; }
    .mini-footer-links { gap: 10px 22px; }
    .mini-footer-links li + li::before { display: none; }
  }
  
  /* ==========================================================================
     Home hero slideshow (right-hand photo)
     ========================================================================== */
  .hero-slides { position: absolute; inset: 0; background: #1B2233; }
  .hero-slide { position: absolute; inset: 0; overflow: hidden; opacity: 0; transition: opacity .8s ease; }
  .hero-slide.is-active { opacity: 1; }
  .hero-slide img { position: relative; width: 100%; height: 100%; object-fit: cover; }
  .hero-slide-whole::before {
    content: "";
    position: absolute;
    inset: -30px;
    background: var(--slide-bg) center / cover no-repeat;
    filter: blur(22px) brightness(.75);
  }
  .hero-slide-whole img { object-fit: contain; object-position: center 35% !important; }
  .hero-quote { z-index: 2; }
  @media (prefers-reduced-motion: reduce) {
    .hero-slide { transition: none; }
  }
  
  /* ---------- Celebrity cards: sized to match screenshot 40 (1440px page) ---------- */
  .page-celebrities main .container, .page-community main .container { max-width: 1294px; }
  .cb-cards { gap: 19px; }
  .cb-card { padding: 20px 21px 20px; border-color: #E9EBF3; border-radius: 10px; box-shadow: 0 1px 3px rgba(17, 28, 45, .05); }
  .cb-card-img { height: auto; aspect-ratio: 4 / 3; margin: 0 0 20px; border-radius: 2px; }
  .cb-card-top { min-height: 24px; }
  .cb-code { font-size: 11px; letter-spacing: .06em; }
  .cb-badge { padding: 4px 9px; border-radius: 4px; font-size: 11.5px; line-height: 1.2; }
  .cb-card-name { margin-top: 14px; font-size: 18.5px; line-height: 1.25; }
  .cb-card-role { margin-top: 6px; font-size: 11.5px; letter-spacing: .05em; }
  .cb-card-body { margin-top: 10px; margin-bottom: 34px; font-size: 13px; line-height: 1.5; }
  .cb-card-foot { padding-top: 14px; border-top-color: #E9EBF3; }
  .cb-card-foot .tv-mono { font-size: 11.5px; }
  .cb-card-foot a, .cb-arrow { font-size: 15px; }
  @media (max-width: 640px) {
    .cb-card { padding: 16px; }
    .cb-card-body { margin-bottom: 20px; }
  }
  
  /* ---------- Gallery: sized to match screenshot 33 (1440px page) ---------- */
  .gl-grid { gap: 20px; margin-top: 22px; }
  .gl-card { border-radius: 4px; }
  .gl-photo { height: 368px; }
  .gl-card-body { padding: 48px 20px 18px; }
  .gl-card-eyebrow { font-size: 9.5px; letter-spacing: .12em; }
  .gl-card-title { margin-top: 10px; font-size: 22px; line-height: 1.3; }
  .gl-card.is-large .gl-card-title { font-size: 22px; }
  .gl-card-text { margin-top: 8px; font-size: 14px; line-height: 1.55; -webkit-line-clamp: 2; }
  
  .gl-folios { margin-top: 110px; padding: 46px 36px 34px; }
  .gl-folios .eyebrow { font-size: 11.5px; }
  .gl-folios-title { margin-top: 8px; font-size: 30px; }
  .gl-folios-note { font-size: 13px; }
  .gl-folio-list { gap: 12px; margin-top: 22px; }
  .gl-folio-list li { padding: 14px 12px 18px; }
  .gl-folio-years { font-size: 12px; }
  .gl-folio-title { margin-top: 6px; font-size: 22px; line-height: 1.2; }
  .gl-folio-text { margin-top: 6px; font-size: 13px; line-height: 1.3; }
  
  .gl-contribute { margin-top: 37px; min-height: 146px; padding: 28px 36px; gap: 22px; }
  .gl-contribute-icon { width: 46px; height: 46px; }
  .gl-contribute-icon .icon { width: 20px; height: 20px; }
  .gl-contribute h2 { font-size: 22px; }
  .gl-contribute p { max-width: 790px; font-size: 13.5px; }
  .gl-contribute-btn { padding: 7px 20px; font-size: 10.5px; letter-spacing: .12em; border-radius: 2px; }
  
  @media (max-width: 640px) {
    .gl-photo { height: 280px; }
    .gl-card-body { padding-top: 24px; }
    .gl-folios { margin-top: 60px; padding: 28px 18px; }
    .gl-contribute { padding: 24px 18px; }
  }
  .gl-folio-title { font-weight: 600; }
  .gl-folio-text { font-size: 14px; }
  
  /* ---------- Overseas Group Trips: matched to screenshots 57–58 (also used on the Travel page) ---------- */
  .gt-principles { border-radius: 8px; padding: 35px 36px 38px; }
  .gt-icon { width: 38px; height: 38px; border-radius: 3px; }
  .gt-principles h3 { margin-top: 14px; font-family: var(--font-head); font-size: 22px; font-weight: 500; color: var(--white); }
  .gt-principles p { margin-top: 8px; }
  .gt-trip { padding: 20px 20px 18px; }
  .gt-trip .pill-round { padding: 3px 10px; font-size: 12px; }
  .gt-trip-title { margin-top: 6px; font-size: 22px; }
  .gt-trip-route { margin-top: 6px; }
  .gt-trip-body { margin-top: 12px; margin-bottom: 26px; }
  .page-travel .gt { padding-top: 90px; }
  
  /* ---------- Celebrations, Creativity & Experiences ---------- */
  .ce-hero { padding: 44px 0 70px; }
  .ce-badge-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
  .ce-badge { padding: 4px 8px; background: #FDF0DC; }
  .ce-badge-sep { color: #C9C3B6; }
  .ce-tagline { letter-spacing: .22em; font-weight: 500; }
  .ce-title { margin-top: 20px; font-family: var(--font-head); font-size: 46px; font-weight: 500; line-height: 1.15; color: var(--navy); }
  .ce-quote { margin-top: 14px; font-family: var(--font-head); font-size: 25px; font-style: italic; color: var(--gold); }
  .ce-chips { margin-top: 34px; }
  .ce-chips .chip { border-radius: 2px; padding: 8px 20px; }
  .ce-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; align-items: center; margin-top: 52px; padding: 64px 64px 56px; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .ce-intro-copy .eyebrow-line { margin-bottom: 20px; }
  .ce-intro-text { margin-top: 12px; max-width: 540px; font-size: 18px; line-height: 1.62; color: var(--navy); }
  .ce-intro-gold { color: var(--gold); }
  .ce-cta { display: flex; justify-content: space-between; align-items: center; gap: 16px; max-width: 578px; margin-top: 30px; padding: 12px 14px; background: #EEF1FD; border-radius: 6px; font-size: 12px; line-height: 1.4; color: #3F4452; }
  .ce-cta-links { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; }
  .ce-cta-links a { display: inline-flex; align-items: center; gap: 2px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--gold); }
  .ce-cta-links .icon { width: 12px; height: 12px; }
  .ce-cta-links i { font-style: normal; color: #B9BDC9; }
  .ce-stats { display: flex; flex-wrap: wrap; margin-top: 30px; }
  .ce-stats li { display: flex; flex-direction: column; padding: 0 20px; border-left: 1px solid var(--line); }
  .ce-stats li:first-child { padding-left: 0; border-left: 0; }
  .ce-stats strong { font-family: var(--font-head); font-size: 22px; font-weight: 500; color: var(--navy); }
  .ce-stats span { max-width: 120px; font-size: 12.5px; letter-spacing: .05em; text-transform: uppercase; color: #3F4452; }
  .ce-photo, .ce-feature-photo, .ce-story-photo { position: relative; margin: 0; min-height: 420px; overflow: hidden; border-radius: 6px; background: #CBD3DF; }
  .ce-photo img, .ce-feature-photo img, .ce-story-photo img, .ce-photo .img-placeholder, .ce-feature-photo .img-placeholder, .ce-story-photo .img-placeholder { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .ce-photo figcaption, .ce-feature-photo figcaption, .ce-story-photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; gap: 6px; padding: 80px 26px 24px; background: linear-gradient(180deg, rgba(17, 28, 45, 0), rgba(17, 28, 45, .88)); color: var(--white); }
  .ce-photo-eyebrow { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--cream); }
  .ce-photo-eyebrow .icon { width: 13px; height: 13px; }
  .ce-photo-title { font-family: var(--font-head); font-size: 24px; line-height: 1.25; }
  .ce-photo-text { font-size: 13.5px; line-height: 1.55; color: rgba(255, 255, 255, .82); }
  
  .ce-section { padding: 80px 0; }
  .ce-layout-feature, .ce-layout-story { background: #EEF1FD; }
  .ce-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 36px; }
  .ce-section-title { margin-top: 10px; font-family: var(--font-head); font-size: 44px; font-weight: 500; line-height: 1.15; color: var(--navy); }
  .ce-section-intro { margin-top: 10px; max-width: 670px; font-size: 16px; line-height: 1.65; color: #3F4452; }
  .ce-note { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; font-size: 13px; color: #3F4452; }
  .ce-note .icon { width: 18px; height: 18px; color: var(--gold); }
  .ce-note-pill { padding: 4px 12px; background: #E1E2E8; color: var(--gold); }
  .ce-note-btn { padding: 7px 14px; background: #DCE5FD; border-radius: 3px; font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--navy); }
  .ce-note-btn .icon { width: 14px; height: 14px; color: var(--navy); }
  
  .ce-media { display: flex; flex-direction: column; background: var(--white); border-radius: 6px; overflow: hidden; box-shadow: var(--shadow-card); }
  .ce-media-img { position: relative; aspect-ratio: 16 / 8.4; background: #CBD3DF; }
  .ce-layout-reels .ce-media-img { aspect-ratio: 4 / 4.4; }
  .ce-media-img img, .ce-media-img .img-placeholder { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .ce-media-badge { position: absolute; top: 14px; left: 14px; padding: 3px 8px; background: rgba(17, 28, 45, .85); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--white); }
  .ce-media-corner { position: absolute; top: 14px; right: 14px; padding: 2px 7px; background: rgba(17, 28, 45, .75); border-radius: 2px; font-size: 12px; color: var(--white); }
  .ce-layout-videos .ce-media-corner { top: auto; bottom: 12px; }
  .ce-play { position: absolute; top: 50%; left: 50%; display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin: -28px 0 0 -28px; background: rgba(255, 255, 255, .92); border: 0; border-radius: 8px; color: var(--navy); cursor: pointer; transition: transform .2s; }
  .ce-layout-reels .ce-play { top: 16%; }
  .ce-play:hover { transform: scale(1.08); }
  .ce-play .icon { width: 18px; height: 18px; }
  .ce-reel-caption { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; gap: 6px; padding: 90px 14px 16px; background: linear-gradient(180deg, rgba(17, 28, 45, 0), rgba(17, 28, 45, .85)); font-size: 14px; line-height: 1.5; color: var(--white); }
  .ce-reel-eyebrow { font-size: 12px; color: var(--cream); }
  .ce-reel-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px 20px; }
  .ce-reel-title { font-size: 14px; font-weight: 600; color: var(--navy); }
  .ce-reel-sub { font-size: 12.5px; color: var(--muted); }
  .ce-watch { flex-shrink: 0; padding: 4px 12px; background: #E6ECFD; border: 0; border-radius: 2px; font-size: 12px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; color: var(--navy); cursor: pointer; }
  .ce-media-body { display: flex; flex-direction: column; flex: 1; padding: 22px 20px 0; }
  .ce-media-body .ce-card-foot { margin-top: auto; }
  
  .ce-card { padding: 26px 26px 24px; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .ce-text-card { display: flex; flex-direction: column; padding: 36px 36px 30px; }
  .ce-card-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
  .ce-card-top-lg { font-size: 15.5px; font-weight: 500; text-transform: uppercase; color: var(--gold); }
  .ce-card-top-lg .icon { width: 20px; height: 20px; flex-shrink: 0; }
  .ce-card-eyebrow { font-size: 12px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
  .ce-media-body .ce-card-eyebrow { letter-spacing: .02em; text-transform: none; font-size: 13px; }
  .ce-card-right { font-size: 13px; color: var(--muted); }
  .ce-card-title { margin-top: 12px; font-family: var(--font-head); font-size: 22px; font-weight: 500; line-height: 1.3; color: var(--navy); }
  .ce-card-title a:hover { color: var(--gold); }
  .ce-card-body { margin-top: 10px; font-size: 14.5px; line-height: 1.6; color: #3F4452; }
  .ce-text-card .ce-card-body { flex: 1; }
  .ce-card-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 24px; padding: 18px 0 20px; border-top: 1px solid var(--line); font-size: 15px; color: var(--muted); }
  .ce-text-card .ce-card-foot { padding-bottom: 0; }
  .ce-card-foot strong { font-weight: 600; color: var(--gold); }
  .ce-card-foot-caps { font-size: 13px; letter-spacing: .04em; }
  .ce-card-foot-caps strong { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
  .ce-link { display: inline-flex; align-items: center; gap: 4px; padding: 0; background: none; border: 0; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); cursor: pointer; }
  .ce-link .icon { width: 13px; height: 13px; }
  .ce-icon-box { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: 30px; background: #FFE9C2; color: var(--gold); }
  .ce-icon-box .icon { width: 20px; height: 20px; }
  .ce-layout-icon_cards .ce-card-title { margin-top: 10px; }
  
  .ce-feature-grid { display: grid; grid-template-columns: minmax(0, 1.43fr) minmax(0, 1fr); gap: 36px; align-items: start; }
  .ce-feature-photo { min-height: 460px; border-radius: 4px 4px 0 0; }
  .ce-feature-badge { position: absolute; top: 16px; left: 16px; z-index: 1; padding: 4px 12px; background: rgba(255, 255, 255, .9); border-radius: 2px; font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--navy); }
  .ce-feature-photo .ce-photo-title { font-size: 30px; }
  .ce-feature-list { display: grid; gap: 20px; }
  .ce-feature-list .ce-card { padding: 22px 20px 18px; }
  .ce-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
  .ce-tags li { padding: 2px 8px; background: #E6ECFD; font-size: 12px; color: var(--navy); }
  
  .ce-story-grid { display: grid; grid-template-columns: minmax(0, 1.43fr) minmax(0, 1fr); gap: 36px; align-items: center; }
  .ce-story-photo { min-height: 500px; box-shadow: 0 14px 30px rgba(17, 28, 45, .18); }
  .ce-story { padding: 40px 36px 34px; background: var(--white); border-radius: 6px; box-shadow: var(--shadow-card); }
  .ce-story .ce-card-eyebrow { font-size: 11.5px; letter-spacing: .14em; }
  .ce-story-title { margin-top: 16px; font-family: var(--font-head); font-size: 32px; font-weight: 500; line-height: 1.25; color: var(--navy); }
  .ce-story-text { margin-top: 16px; font-size: 16px; line-height: 1.65; color: #3F4452; }
  .ce-story-meta { display: flex; gap: 60px; margin: 24px 0 0; padding-top: 18px; border-top: 1px solid var(--line); }
  .ce-story-meta dt { font-size: 11.5px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
  .ce-story-meta dd { margin: 4px 0 0; font-size: 14.5px; color: var(--navy); }
  
  @media (max-width: 1024px) {
    .ce-intro, .ce-feature-grid, .ce-story-grid { grid-template-columns: 1fr; }
    .ce-intro { padding: 40px 32px; }
    .ce-head { flex-direction: column; align-items: flex-start; }
    .ce-section-title { font-size: 36px; }
  }
  @media (max-width: 640px) {
    .ce-title { font-size: 34px; }
    .ce-quote { font-size: 20px; }
    .ce-intro { padding: 28px 20px; }
    .ce-intro-text { font-size: 16px; }
    .ce-cta { flex-direction: column; align-items: flex-start; }
    .ce-stats li { padding: 0 12px; }
    .ce-section { padding: 56px 0; }
    .ce-section-title { font-size: 30px; }
    .ce-photo, .ce-feature-photo, .ce-story-photo { min-height: 320px; }
    .ce-text-card { padding: 28px 24px; }
    .ce-story { padding: 28px 22px; }
    .ce-story-meta { gap: 28px; }
  }
  
  /* ---------- Travel map ---------- */
  .tv-map { margin: 60px 32px 0; padding: 36px 32px 32px; background: rgba(248, 249, 255, .97); border-radius: 6px; box-shadow: 0 14px 34px rgba(17, 28, 45, .14); }
  .tv-map-head { margin-bottom: 26px; }
  .tv-map-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: 22px; align-items: stretch; }
  .tv-map-box { display: flex; flex-direction: column; overflow: hidden; background: var(--white); border-radius: 14px; box-shadow: var(--shadow-card); }
  .tv-map-canvas { flex: 1; min-height: 520px; background: #DCE6F2; }
  .tv-map-foot { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); }
  .tv-map-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); }
  .tv-pin { width: 26px; height: 26px; }
  .tv-pin span { display: block; width: 22px; height: 22px; margin: 2px; background: var(--gold); border: 3px solid var(--white); border-radius: 50% 50% 50% 0; transform: rotate(-45deg); box-shadow: 0 2px 6px rgba(17, 28, 45, .35); transition: transform .2s, background-color .2s; }
  .tv-pin.is-active span { background: var(--navy); transform: rotate(-45deg) scale(1.2); }
  .tv-pin:hover span { transform: rotate(-45deg) scale(1.15); }
  .tv-place { display: flex; flex-direction: column; overflow: hidden; background: var(--white); border-radius: 14px; box-shadow: var(--shadow-card); }
  .tv-place-photo { position: relative; height: 230px; background: #CBD3DF; }
  .tv-place-photo img, .tv-place-photo .img-placeholder { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .tv-place-body { display: flex; flex-direction: column; flex: 1; padding: 22px 22px 24px; }
  .tv-place-region { font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
  .tv-place-name { margin-top: 8px; font-family: var(--font-head); font-size: 30px; font-weight: 500; line-height: 1.2; color: var(--navy); }
  .tv-place-text { margin-top: 10px; font-size: 14px; line-height: 1.6; color: #4A4F5C; }
  .tv-place-text:empty { display: none; }
  .tv-place-gallery-head { display: flex; justify-content: space-between; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 13px; font-weight: 600; color: var(--navy); }
  .tv-place-gallery-head span + span { font-weight: 400; color: var(--muted); }
  .tv-place-thumbs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
  .tv-place-thumbs button { display: block; width: 100%; aspect-ratio: 4 / 3; padding: 0; overflow: hidden; background: #CBD3DF; border: 2px solid transparent; border-radius: 6px; cursor: pointer; }
  .tv-place-thumbs button.is-active { border-color: var(--gold); }
  .tv-place-thumbs img { width: 100%; height: 100%; object-fit: cover; }
  .tv-place-empty { grid-column: 1 / -1; font-size: 13px; color: var(--muted); }
  @media (max-width: 1024px) {
    .tv-map { margin: 48px 0 0; padding: 28px 20px; }
    .tv-map-grid { grid-template-columns: 1fr; }
    .tv-map-canvas { min-height: 380px; }
  }
  @media (max-width: 640px) {
    .tv-map-canvas { min-height: 300px; }
    .tv-place-name { font-size: 24px; }
  }
  
  /* ---------- Celebrations video gallery (same cards as the celebrity directory) ---------- */
  .ce-videos-dir { padding-top: 70px; }
  .page-celebrations .cb-section-title { margin-top: 10px; font-family: var(--font-head); font-size: 40px; font-weight: 500; line-height: 1.15; color: var(--navy); }
  .ce-video-cover { position: relative; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #1F2A40, #3A2F4A); }
  .ce-video-cover .ce-play { width: 46px; height: 46px; margin: -23px 0 0 -23px; }
  .ce-video-source { display: inline-flex; align-items: center; gap: 6px; margin-top: 70px; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .75); }
  .ce-video-source .icon { width: 14px; height: 14px; }
  .embed-modal { width: min(960px, 92vw); }
  .embed-frame { position: relative; aspect-ratio: 16 / 9; }
  .embed-modal.is-instagram { width: min(420px, 92vw); background: var(--white); }
  .embed-modal.is-instagram .embed-frame { aspect-ratio: auto; height: min(760px, 86vh); }
  .embed-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
  @media (max-width: 1024px) { .ce-videos-dir .cb-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 640px) { .ce-videos-dir .cb-cards { grid-template-columns: 1fr; } .page-celebrations .cb-section-title { font-size: 30px; } }
  
  /* ---------- Celebrations video cards: thumbnail + heading, category tabs filter ---------- */
  .ce-vids { padding: 70px 0 30px; }
  .ce-vids-head { margin-bottom: 26px; }
  .ce-vid-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
  .ce-vid-tabs .chip { border-radius: 2px; padding: 9px 20px; font-size: 12px; }
  .ce-vid-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
  .ce-vid { padding: 0; overflow: hidden; }
  .ce-vid-thumb { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 10; overflow: hidden; background: linear-gradient(135deg, #1F2A40, #3A2F4A); }
  .ce-vid-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
  .ce-vid:hover .ce-vid-thumb img { transform: scale(1.04); }
  .ce-vid-thumb .ce-play { width: 46px; height: 46px; margin: -23px 0 0 -23px; }
  .ce-vid-title { padding: 14px 16px 16px; font-family: var(--font-head); font-size: 17px; font-weight: 500; line-height: 1.3; color: var(--navy); }
  @media (max-width: 1024px) { .ce-vid-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 640px) { .ce-vid-grid { grid-template-columns: 1fr; } }
  
  /* ---------- Celebrity cards: click for more photos ---------- */
  .cb-card.has-gallery { cursor: pointer; }
  .cb-card-img { position: relative; }
  .cb-photo-count { position: absolute; right: 8px; bottom: 8px; display: inline-flex; align-items: center; gap: 4px; padding: 2px 7px; background: rgba(17, 28, 45, .75); border-radius: 3px; font-size: 11px; color: var(--white); }
  .cb-photo-count .icon { width: 12px; height: 12px; }
  .cb-name-btn { padding: 0; background: none; border: 0; font: inherit; color: inherit; text-align: left; cursor: pointer; }
  .cb-card.has-gallery:hover .cb-name-btn { color: var(--gold); }
  .cb-gallery { width: min(1280px, 94vw); max-height: 92vh; padding: 24px 28px 28px; border: 0; border-radius: 10px; background: var(--white); }
  .cb-gallery::backdrop { background: rgba(10, 14, 28, .8); }
  .cb-gallery-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 18px; }
  .cb-gallery-meta { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
  .cb-gallery-name { margin-top: 4px; font-family: var(--font-head); font-size: 28px; font-weight: 600; color: var(--navy); }
  .cb-gallery-close { display: inline-flex; padding: 8px; background: #EEF1FD; border: 0; border-radius: 50%; color: var(--navy); cursor: pointer; }
  .cb-gallery-close .icon { width: 18px; height: 18px; }
  .cb-mosaic { display: grid; gap: 14px; grid-auto-rows: 240px; }
  .cb-mosaic-cell { overflow: hidden; border-radius: 8px; background: #E3E5EC; }
  .cb-mosaic-cell img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
  .cb-mosaic.is-n1 { grid-auto-rows: min(68vh, 620px); }
  .cb-mosaic.is-n2 { grid-template-columns: 1fr 1fr; grid-auto-rows: min(60vh, 520px); }
  .cb-mosaic.is-n3 { grid-template-columns: 2fr 1fr; }
  .cb-mosaic.is-n4 { grid-template-columns: 2fr 1fr; grid-auto-rows: 160px; }
  .cb-mosaic.is-n5, .cb-mosaic.is-n6 { grid-template-columns: 2fr 1fr 1fr; }
  .cb-mosaic.is-n3 .cb-mosaic-cell:first-child, .cb-mosaic.is-n5 .cb-mosaic-cell:first-child, .cb-mosaic.is-n6 .cb-mosaic-cell:first-child { grid-row: span 2; }
  .cb-mosaic.is-n4 .cb-mosaic-cell:first-child { grid-row: span 3; }
  @media (max-width: 640px) {
    .cb-gallery { padding: 18px 16px 20px; }
    .cb-gallery-name { font-size: 22px; }
    .cb-mosaic, .cb-mosaic.is-n2, .cb-mosaic.is-n3, .cb-mosaic.is-n4, .cb-mosaic.is-n5, .cb-mosaic.is-n6 { grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; }
    .cb-mosaic .cb-mosaic-cell:first-child { grid-column: 1 / -1; grid-row: span 2 !important; }
    .cb-mosaic.is-n1 { grid-template-columns: 1fr; grid-auto-rows: 60vh; }
  }
  
  /* ---------- Travel map: videos & links for a place ---------- */
  .tv-place-video-list { display: grid; gap: 8px; margin-top: 12px; }
  .tv-place-video { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 10px; background: #F3F5FC; border: 1px solid #E6E9F3; border-radius: 6px; font: inherit; text-align: left; color: var(--navy); cursor: pointer; transition: border-color .2s; }
  .tv-place-video:hover { border-color: var(--gold); }
  .tv-place-video-src { flex-shrink: 0; padding: 2px 8px; border-radius: 3px; background: #ECEDF1; font-size: 11px; font-weight: 600; letter-spacing: .04em; color: #3F4452; }
  .tv-src-youtube .tv-place-video-src { background: #FDE2E4; color: #9A1F2B; }
  .tv-src-instagram .tv-place-video-src { background: #EFE3FC; color: #5B2E8C; }
  .tv-src-facebook .tv-place-video-src { background: #DCE8FD; color: #1E3E7A; }
  .tv-place-video-title { min-width: 0; overflow: hidden; font-size: 13.5px; text-overflow: ellipsis; white-space: nowrap; }
  
  /* ---------- Celebrations videos grouped under category headings ---------- */
  .ce-vid-group + .ce-vid-group { margin-top: 44px; }
  .ce-vid-group-title { display: flex; align-items: baseline; gap: 10px; margin-bottom: 18px; padding-bottom: 10px; border-bottom: 1px solid var(--line); font-family: var(--font-head); font-size: 26px; font-weight: 500; color: var(--navy); }
  .ce-vid-group-title span { font-family: var(--font-body); font-size: 13px; color: var(--muted); }
  .ce-vid-title a { color: inherit; }
  .ce-vid-title a:hover { color: var(--gold); }
  .ce-vid-src { display: inline-flex; align-items: center; gap: 3px; margin-top: 6px; font-family: var(--font-body); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); white-space: nowrap; }
  .ce-vid-src .icon { width: 11px; height: 11px; }
  .ce-vid-title .ce-vid-src { display: flex; }
  .tv-place-video-go { margin-left: auto; flex-shrink: 0; font-size: 14px; color: var(--gold); }
  .ce-vid-title { margin: 0; }
  .ce-media-blank { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #1F2A40, #3A2F4A); }
  .ce-media-blank .ce-video-source { margin-top: 84px; }
  
  /* ---------- Travel: Browse by Continent ---------- */
  .bc [hidden], .gh [hidden] { display: none !important; }
  .bc { margin: 40px 32px 0; padding: 36px 32px 32px; background: rgba(248, 249, 255, .97); border-radius: 6px; box-shadow: 0 14px 34px rgba(17, 28, 45, .14); }
  .bc-head { margin-bottom: 24px; }
  .bc-box { padding: 22px; background: #FFFBF4; border: 1px solid var(--line); border-radius: 14px; }
  .bc-bar, .gh-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
  .bc-tabs, .gh-years { display: flex; flex-wrap: wrap; gap: 8px; }
  .bc-tab { padding: 8px 16px; background: var(--white); border: 1px solid var(--line); border-radius: 999px; font-size: 13.5px; font-weight: 600; color: var(--navy); transition: background-color .2s, border-color .2s, color .2s; }
  .bc-tab:hover { border-color: var(--gold-soft); }
  .bc-tab.is-active { background: var(--navy); border-color: var(--navy); color: var(--white); }
  .bc-search { position: relative; flex: 0 1 280px; min-width: 0; }
  .bc-search svg { position: absolute; left: 13px; top: 50%; width: 15px; height: 15px; transform: translateY(-50%); color: var(--muted); }
  .bc-search input { width: 100%; padding: 9px 14px 9px 36px; background: var(--white); border: 1px solid var(--line); border-radius: 999px; font: inherit; font-size: 14px; color: var(--navy); }
  .bc-search input:focus { outline: 2px solid var(--gold-soft); outline-offset: 1px; }
  .bc-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 22px; align-items: start; }
  .bc-list-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 8px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
  .bc-list-head h3 { font-family: var(--font-head); font-size: 24px; font-weight: 500; color: var(--navy); }
  .bc-legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; color: var(--muted); }
  .bc-legend .bc-dot { margin-right: 5px; }
  .bc-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; vertical-align: 1px; }
  .bc-dot.is-personal { background: var(--navy-2); }
  .bc-dot.is-group { background: var(--gold-soft); }
  .bc-list { columns: 2; column-gap: 18px; }
  .bc-list li { break-inside: avoid; }
  .bc-list-cont { column-span: all; padding: 12px 10px 2px; font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
  .bc-dest { display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px 10px; background: none; border: 0; border-radius: 8px; text-align: left; font-size: 15px; font-weight: 500; color: var(--navy); }
  .bc-dest:hover { background: var(--cream-tint); }
  .bc-dest.is-active { background: var(--cream-tint); box-shadow: inset 3px 0 0 var(--gold); }
  .bc-dots { display: inline-flex; gap: 3px; flex-shrink: 0; margin-left: auto; }
  .bc-empty, .gh-empty { padding: 18px 10px; color: var(--muted); }
  .bc-panel { overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: 14px; }
  .bc-cover { position: relative; aspect-ratio: 16 / 9; max-width: 100%; background: var(--cream-tint); }
  .bc-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .bc-cover-blank { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; background: repeating-linear-gradient(135deg, var(--cream-tint) 0 14px, #FCEBCB 14px 28px); font-family: var(--font-head); font-size: 22px; color: var(--gold); }
  .bc-cover-blank .icon { width: 28px; height: 28px; }
  .bc-panel-body { display: grid; gap: 16px; padding: 20px 22px 22px; }
  .bc-panel-top { display: grid; gap: 4px; }
  .bc-panel-cont { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
  .bc-panel-name { font-family: var(--font-head); font-size: 30px; font-weight: 500; line-height: 1.2; color: var(--navy); }
  .bc-panel-note { font-size: 13px; color: var(--muted); }
  .bc-years { display: flex; flex-wrap: wrap; gap: 6px; }
  .bc-year { padding: 3px 11px; background: var(--cream-tint); border-radius: 999px; font-size: 12.5px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--gold); }
  .bc-sub { padding-bottom: 7px; border-bottom: 1px solid var(--line); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--navy); }
  .bc-rows { display: grid; gap: 2px; margin-top: 4px; }
  .bc-row { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 4px; background: none; border: 0; border-radius: 6px; text-align: left; font-size: 14px; color: var(--navy); }
  .bc-row:hover { background: var(--cream-tint); }
  .bc-row-num { min-width: 26px; font-family: var(--font-head); font-size: 17px; font-variant-numeric: tabular-nums; color: var(--gold); }
  .bc-row-year { min-width: 40px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--gold); }
  .bc-row-title { min-width: 0; }
  .bc-row-go { display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0; margin-left: auto; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; color: var(--gold); }
  .bc-row-go .icon { width: 11px; height: 11px; }
  .bc-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
  .bc-thumbs li { aspect-ratio: 1; overflow: hidden; border-radius: 8px; background: var(--cream-tint); }
  .bc-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
  
  /* ---------- Travel: Group Holidays (highlighted) ---------- */
  .gh { margin: 40px 32px 0; padding: 48px 36px 44px; background: #FFF1D9; border: 1px solid var(--cream); border-radius: 6px; box-shadow: 0 14px 34px rgba(17, 28, 45, .14); }
  .gh-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
  .gh-head-text { max-width: 700px; }
  .gh-title { margin-top: 10px; font-family: var(--font-head); font-size: 50px; font-weight: 500; line-height: 1.1; color: var(--navy); }
  .gh-intro { margin-top: 10px; font-size: 16px; line-height: 1.65; color: var(--text); }
  .gh-total { display: flex; align-items: center; gap: 10px; padding: 12px 18px; background: var(--white); border: 1px solid var(--cream); border-radius: 12px; }
  .gh-total b { font-family: var(--font-head); font-size: 40px; font-weight: 500; line-height: 1; font-variant-numeric: tabular-nums; color: var(--gold); }
  .gh-total span { font-size: 13px; font-weight: 600; line-height: 1.3; color: var(--navy); }
  .gh-showing { margin: -4px 0 14px; font-size: 13px; color: var(--muted); }
  .gh-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
  .gh-card { display: flex; flex-direction: column; overflow: hidden; background: var(--white); border-radius: 14px; box-shadow: var(--shadow-card); scroll-margin-top: 110px; transition: transform .2s, box-shadow .2s; }
  .gh-card:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(17, 28, 45, .12); }
  .gh-card.is-flash { box-shadow: 0 0 0 3px var(--gold), var(--shadow-card); }
  .gh-cover { position: relative; display: block; width: 100%; max-width: 100%; aspect-ratio: 4 / 3; padding: 0; overflow: hidden; background: var(--cream-tint); border: 0; }
  .gh-cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
  .gh-card:hover .gh-cover img { transform: scale(1.04); }
  .gh-cover-blank { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: repeating-linear-gradient(135deg, var(--cream-tint) 0 14px, #FCEBCB 14px 28px); color: var(--gold-soft); }
  .gh-cover-blank .icon { width: 30px; height: 30px; }
  .gh-num { position: absolute; left: 12px; top: 12px; padding: 6px 10px 7px; background: rgba(17, 28, 45, .72); border-radius: 8px; font-family: var(--font-head); font-size: 24px; line-height: 1; font-variant-numeric: tabular-nums; color: var(--cream); }
  .gh-cover-blank + .gh-num { background: var(--white); color: var(--gold); }
  .gh-body { display: flex; flex: 1; flex-direction: column; gap: 4px; padding: 14px 16px 16px; }
  .gh-year { font-size: 12px; font-weight: 700; letter-spacing: .1em; font-variant-numeric: tabular-nums; color: var(--gold); }
  .gh-card-title { font-family: var(--font-head); font-size: 19px; font-weight: 500; line-height: 1.25; color: var(--navy); }
  .gh-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: auto; padding-top: 12px; }
  .gh-link { display: inline-flex; align-items: center; gap: 5px; padding: 0 0 1px; background: none; border: 0; border-bottom: 1px solid var(--gold-soft); font-size: 13px; font-weight: 700; color: var(--navy); }
  .gh-link:hover { color: var(--gold); }
  .gh-link .icon { width: 12px; height: 12px; }
  .gh-src { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
  .gh-more { display: flex; flex-wrap: wrap; gap: 4px 8px; width: 100%; font-size: 12px; color: var(--muted); }
  .gh-more a, .gh-more button { padding: 0; background: none; border: 0; font-size: 12px; color: var(--muted); text-decoration: underline; }
  .gh-more a:hover, .gh-more button:hover { color: var(--gold); }
  
  @media (max-width: 1200px) { .gh-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media (max-width: 1024px) {
    .bc, .gh { margin: 40px 0 0; padding: 28px 20px; }
    .bc-grid { grid-template-columns: minmax(0, 1fr); }
    .gh-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gh-title { font-size: 40px; }
  }
  @media (max-width: 560px) {
    .bc-box { padding: 14px; }
    .bc-list { columns: 1; }
    .bc-search { flex-basis: 100%; }
    .bc-thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .gh-cards { grid-template-columns: minmax(0, 1fr); }
    .gh-title { font-size: 34px; }
  }
  @media (prefers-reduced-motion: reduce) { .gh-card, .gh-cover img { transition: none; } .gh-card:hover { transform: none; } .gh-card:hover .gh-cover img { transform: none; } }
  
  
  
  /* GLOBAL SCROLL ANIMATIONS */
  
  html {
      scroll-behavior: smooth;
  }
  
  .scroll-animate {
      opacity: 1;
      transform: none;
  }
  
  .scroll-ready .scroll-animate {
      opacity: 0;
      transform: translateY(45px);
      transition:
          opacity 0.8s ease,
          transform 0.8s cubic-bezier(.22, 1, .36, 1);
      transition-delay: var(--delay, 0ms);
  }
  
  .scroll-ready .scroll-animate.from-left {
      transform: translateX(-45px);
  }
  
  .scroll-ready .scroll-animate.from-right {
      transform: translateX(45px);
  }
  
  .scroll-ready .scroll-animate.zoom-in {
      transform: scale(.94);
  }
  
  .scroll-ready .scroll-animate.show {
      opacity: 1;
      transform: none;
  }
  
  @media (max-width: 768px) {
      .scroll-ready .scroll-animate {
          transition-duration: .6s;
      }
  }
  
  @media (prefers-reduced-motion: reduce) {
      html {
          scroll-behavior: auto;
      }
  
      .scroll-ready .scroll-animate {
          opacity: 1;
          transform: none;
          transition: none;
      }
  }
  /* Client corrections: consistent source actions and accessible sport cards. */
  .source-links{list-style:none;padding:0;display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.source-links a{display:inline-block;padding:.6rem .8rem;border:1px solid currentColor;border-radius:6px;font-size:.9rem}.sport-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;list-style:none;padding:0;margin:2rem 0}.sport-card{border:1px solid #d8d3c8;background:#fffdf8;border-radius:12px;overflow:hidden}.sport-card>div{padding:1.5rem}.sport-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.sport-card h3{font-size:1.35rem;margin:0 0 .75rem}.sport-card a{display:inline-block;margin:.5rem .6rem .5rem 0;text-underline-offset:4px}a:focus-visible,button:focus-visible{outline:3px solid #b68b3e;outline-offset:4px}.bc-row{overflow-wrap:anywhere}
  @media(max-width:900px){.sport-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.sport-cards{grid-template-columns:1fr}.source-links{gap:.5rem}.sp-title{overflow-wrap:break-word}}
  @media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
  
  /* Homepage celebrity categories: wrap into rows without a horizontal scrollbar. */
  .home-people { min-width: 0; }
  .home-people-category { min-width: 0; margin-top: 32px; }
  .home-people-heading { margin: 0 0 18px; font-family: var(--font-head); font-size: 26px; line-height: 1.3; color: var(--navy); }
  .home-people .featured-people { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px 20px; list-style: none; margin: 0; padding: 0; overflow: visible; }
  .home-people .featured-people li { min-width: 0; margin: 0; padding: 0; }
  .home-people .featured-people a { display: flex; flex-direction: column; height: 100%; min-width: 0; color: var(--navy); text-decoration: none; border-radius: 10px; }
  .home-people .featured-people img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: center; border-radius: 10px; }
  .home-people .featured-people span { display: block; padding: 12px 2px 0; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
  .home-people .featured-people a:focus-visible { outline: 3px solid #b68b3e; outline-offset: 5px; }
  @media (max-width: 1100px) { .home-people .featured-people { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media (max-width: 800px) { .home-people .featured-people { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 16px; } }
  @media (max-width: 600px) { .home-people .featured-people { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; } .home-people-heading { font-size: 22px; } }
  @media (max-width: 360px) { .home-people .featured-people { grid-template-columns: minmax(0, 1fr); } }
  
  
  .tenet-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.cn-pillars ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}@media(max-width:650px){.tenet-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
  
  .bc-cover>a{display:block;width:100%;height:100%}.bc-panel-name a{color:inherit;text-decoration:none}.source-thumbnail{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.sport-photo-gallery{display:flex;gap:.5rem;overflow-x:auto;padding:.75rem}.sport-photo-gallery a{flex:0 0 80%}.source-links a,.gh-link{min-height:44px}.bc-tab{min-height:44px}.sport-card{min-width:0}
  
  .sp-source-embed{width:100%;aspect-ratio:16/9;border:0;border-radius:8px}.sp-reel a.btn{margin-top:1rem}.bc-cover-blank{font-size:1.2rem}.sp-card-title,.sp-day-name{overflow-wrap:anywhere}
  
  /* People gallery: category selector and contained image cards. */
  .hp-showcase { padding: 76px 0; background: #fffaf2; border-top: 1px solid #e9dfcd; border-bottom: 1px solid #e9dfcd; }
  .hp-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
  .hp-header h2 { margin: 0; font-family: var(--font-head); font-size: clamp(28px, 3.5vw, 42px); font-weight: 500; line-height: 1.2; color: var(--navy); }
  .hp-view-all { flex-shrink: 0; display: inline-flex; align-items: center; gap: 12px; padding: 12px 0; color: var(--navy); text-underline-offset: 5px; font-size: 14px; }
  .hp-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 30px; }
  .hp-tabs[hidden], .hp-panel[hidden] { display: none; }
  .hp-tab { max-width: 100%; min-height: 44px; padding: 11px 18px; border: 1px solid #ddd4c3; border-radius: 24px; background: transparent; color: var(--navy); font: inherit; font-size: 13px; line-height: 1.5; cursor: pointer; overflow-wrap: anywhere; }
  .hp-tab[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: #fff; }
  .hp-tab:hover { border-color: var(--gold); }
  .hp-panel { min-width: 0; margin-top: 24px; }
  .hp-category-title { margin: 0 0 20px; font-family: var(--font-head); font-size: 24px; font-weight: 500; color: var(--navy); }
  .hp-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; list-style: none; margin: 0; padding: 0; }
  .hp-card { min-width: 0; background: #fff; border: 1px solid #e7dfd1; border-radius: 14px; overflow: hidden; }
  .hp-card > a { display: flex; flex-direction: column; height: 100%; color: var(--navy); text-decoration: none; }
  .hp-photo { aspect-ratio: 4 / 3; overflow: hidden; background: #ece9e1; padding: 8px; }
  .hp-photo img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 8px; }
  .hp-caption { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 16px; font-size: 14px; font-weight: 600; line-height: 1.5; }
  .hp-caption > span:first-child { min-width: 0; overflow-wrap: anywhere; }
  .hp-arrow { flex: 0 0 28px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #f8efdf; color: var(--gold); }
  .hp-card:hover { border-color: #bda26a; }
  .hp-showcase a:focus-visible, .hp-tab:focus-visible { outline: 3px solid #a8873f; outline-offset: 4px; }
  @media (max-width: 1000px) { .hp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } }
  @media (max-width: 700px) { .hp-showcase { padding: 44px 0; } .hp-header { align-items: flex-start; flex-direction: column; gap: 8px; } .hp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .hp-tabs { gap: 8px; } .hp-tab { padding: 9px 13px; } .hp-caption { padding: 12px; font-size: 13px; gap: 6px; } }
  @media (max-width: 360px) { .hp-grid { grid-template-columns: minmax(0, 1fr); } }
  