/* ============================================================
   IWEC BUSINESS EXCELLENCE AWARDS 2026 — LIGHT EDITION
   awards.immigrantwomenentrepreneur.ca
   Palette: Porcelain white · Royal navy blue · Champagne gold
   Type:    Fraunces (display) · Manrope (text)

   Same class names as the dark edition — swap this one file to
   change the entire look of all 35 pages.
   ============================================================ */

/* ---------- 1. TOKENS ---------- */
:root{
  /* Blue — the structural colour */
  --blue-950:#061428;
  --blue-900:#0B2545;
  --blue-800:#12365F;
  --blue-700:#1A4C82;
  --blue-600:#2364A8;
  --blue-500:#3B82C4;
  --blue-300:#8FB6DC;
  --blue-200:#C6DCEF;
  --blue-100:#E3EDF8;
  --blue-50:#F1F6FC;

  /* Gold — the ceremonial colour */
  --gold-100:#FBF4E3;
  --gold-200:#F3E4C0;
  --gold-300:#E7CE8D;
  --gold-400:#D9B65F;
  --gold-500:#C39A3B;
  --gold-600:#A17E26;
  --gold-700:#7E621B;

  /* Surfaces */
  --paper:#FFFFFF;
  --mist:#F8FAFD;
  --ivory:#F7FAFD;
  --ivory-2:#EDF3FA;

  /* Ink */
  --ink:#0D1E33;
  --ink-2:#1E3550;
  --body:#455A72;
  --muted:#7086A0;
  --line:#E1E9F2;
  --line-2:#CFDCEA;
  --line-dark:rgba(255,255,255,.18);

  /* Legacy aliases so shared markup keeps working */
  --navy-950:var(--blue-950);
  --navy-900:var(--blue-900);
  --navy-850:var(--blue-900);
  --navy-800:var(--blue-800);
  --navy-700:var(--blue-700);
  --navy-600:var(--blue-600);
  --navy-500:var(--blue-500);

  /* Type */
  --f-display:"Fraunces",'Times New Roman',serif;
  --f-text:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;

  --step--1:clamp(.80rem,.78rem + .1vw,.86rem);
  --step-0:clamp(1rem,.97rem + .15vw,1.06rem);
  --step-1:clamp(1.15rem,1.09rem + .3vw,1.35rem);
  --step-2:clamp(1.4rem,1.28rem + .6vw,1.8rem);
  --step-3:clamp(1.75rem,1.5rem + 1.1vw,2.5rem);
  --step-4:clamp(2.1rem,1.65rem + 2.1vw,3.5rem);
  --step-5:clamp(2.5rem,1.7rem + 3.4vw,4.75rem);

  /* Layout */
  --wrap:1220px;
  --wrap-narrow:840px;
  --gutter:clamp(1.15rem,4vw,3rem);
  --radius:3px;
  --radius-lg:6px;

  --shadow-xs:0 1px 2px rgba(11,37,69,.05);
  --shadow-sm:0 1px 2px rgba(11,37,69,.05),0 8px 22px rgba(11,37,69,.05);
  --shadow-md:0 2px 6px rgba(11,37,69,.05),0 20px 48px rgba(11,37,69,.09);
  --shadow-blue:0 14px 34px rgba(26,76,130,.22);
  --shadow-gold:0 14px 34px rgba(163,126,38,.24);

  --ease:cubic-bezier(.22,.61,.36,1);

  /* THE NAV / BUTTON TYPE LOCK-UP
     One definition drives both the NOMINATE button and the menu links,
     so the menu bar and the button read as one typographic system. */
  --ui-size:.78rem;
  --ui-weight:700;
  --ui-track:.15em;
}

/* ---------- 2. RESET ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:110px;}
body{
  margin:0;
  font-family:var(--f-text);
  font-size:var(--step-0);
  line-height:1.75;
  color:var(--body);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;}
input,select,textarea{font:inherit;color:inherit;}
ul,ol{margin:0;padding:0;}
table{border-collapse:collapse;width:100%;}
hr{border:0;border-top:1px solid var(--line);margin:0;}
::selection{background:var(--gold-300);color:var(--blue-900);}

h1,h2,h3,h4,h5{
  font-family:var(--f-display);
  font-weight:400;
  color:var(--ink);
  margin:0 0 .55em;
  line-height:1.12;
  letter-spacing:-.018em;
  font-variation-settings:"SOFT" 0,"WONK" 0,"opsz" 40;
}
p{margin:0 0 1.15em;}
p:last-child{margin-bottom:0;}

/* ---------- 3. UTILITIES ---------- */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);}
.wrap-narrow{width:100%;max-width:var(--wrap-narrow);margin-inline:auto;padding-inline:var(--gutter);}
.section{padding-block:clamp(4rem,8vw,7.5rem);}
.section-sm{padding-block:clamp(2.75rem,5vw,4.5rem);}
.center{text-align:center;}
.center .eyebrow{justify-content:center;}
.mx-auto{margin-inline:auto;}
.mt-0{margin-top:0}.mb-0{margin-bottom:0}
.lede{font-size:var(--step-1);line-height:1.65;color:var(--body);}
.small{font-size:var(--step--1);}
.muted{color:var(--muted);}
.gold-text{color:var(--gold-600);}
.serif{font-family:var(--f-display);}
.maxw-65{max-width:65ch;}
.maxw-58{max-width:58ch;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* Section surfaces — all light. Deep blue is reserved for the
   CTA band and the footer, so it stays an event rather than a default. */
.bg-ivory{background:var(--ivory);}
.bg-ivory-2{background:var(--ivory-2);}
.bg-paper{background:var(--paper);}
.bg-navy{
  background:
    radial-gradient(900px 420px at 88% 0%,rgba(198,220,239,.55),transparent 62%),
    linear-gradient(180deg,var(--blue-50),#EAF1FA);
  color:var(--body);
  border-block:1px solid var(--line);
  position:relative;
}
.bg-navy h1,.bg-navy h2,.bg-navy h3,.bg-navy h4,.bg-navy h5{color:var(--blue-900);}
.bg-navy .muted{color:var(--muted);}
.bg-navy .lede{color:var(--body);}

/* Eyebrow */
.eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  font-family:var(--f-text);
  font-size:.71rem;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold-600);
  margin-bottom:1.15rem;
}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor;opacity:.65;}
.eyebrow.no-rule::before{display:none;}
.bg-navy .eyebrow{color:var(--gold-600);}

.section-head{max-width:62ch;margin-bottom:clamp(2.25rem,4vw,3.5rem);}
.section-head.center{margin-inline:auto;}
.section-head h2{font-size:var(--step-3);}
.section-head p{font-size:var(--step-1);line-height:1.65;}

/* Gold rule ornament */
.ornament{display:flex;align-items:center;gap:.85rem;margin:1.5rem 0;}
.ornament::before,.ornament::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold-400),transparent);}
.ornament span{width:7px;height:7px;transform:rotate(45deg);background:var(--gold-500);flex:none;}
.center .ornament{max-width:220px;margin-inline:auto;}

/* ---------- 4. BUTTONS — gold primary, blue secondary ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:1rem 2rem;
  font-family:var(--f-text);
  font-size:var(--ui-size);
  font-weight:var(--ui-weight);
  letter-spacing:var(--ui-track);
  text-transform:uppercase;
  border-radius:var(--radius);
  transition:all .35s var(--ease);
  border:1px solid transparent;
  text-align:center;
  cursor:pointer;
}
.btn svg{width:14px;height:14px;flex:none;transition:transform .35s var(--ease);}
.btn:hover svg{transform:translateX(4px);}

/* Primary CTA — champagne gold */
.btn-gold{
  background:linear-gradient(135deg,var(--gold-400),var(--gold-500));
  color:var(--blue-950);
  box-shadow:var(--shadow-gold);
  border-color:rgba(126,98,27,.35);
}
.btn-gold:hover{background:linear-gradient(135deg,var(--gold-300),var(--gold-400));transform:translateY(-2px);}

/* Secondary CTA — royal blue */
.btn-navy{background:linear-gradient(135deg,var(--blue-800),var(--blue-700));color:#fff;box-shadow:var(--shadow-blue);}
.btn-navy:hover{background:linear-gradient(135deg,var(--blue-700),var(--blue-600));transform:translateY(-2px);}

/* Outline — blue */
.btn-outline{border-color:var(--blue-700);color:var(--blue-800);background:transparent;}
.btn-outline:hover{background:var(--blue-800);color:#fff;border-color:var(--blue-800);}

/* Ghost — blue on light, gold on the dark bands */
.btn-ghost{border-color:var(--line-2);color:var(--blue-800);background:var(--paper);}
.btn-ghost:hover{border-color:var(--blue-700);background:var(--blue-50);}
.cta-band .btn-ghost,.site-footer .btn-ghost{
  border-color:rgba(231,206,141,.5);color:var(--gold-200);background:transparent;
}
.cta-band .btn-ghost:hover,.site-footer .btn-ghost:hover{
  border-color:var(--gold-300);background:rgba(231,206,141,.12);color:#fff;
}

.btn-sm{padding:.72rem 1.35rem;font-size:.7rem;}
.btn-block{width:100%;}
.btn-row{display:flex;flex-wrap:wrap;gap:.9rem;}
.center .btn-row{justify-content:center;}

.link-arrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue-700);border-bottom:1px solid var(--gold-400);padding-bottom:3px;
  transition:.3s var(--ease);
}
.link-arrow svg{width:14px;height:14px;flex:none;transition:transform .3s var(--ease);}
.link-arrow:hover{color:var(--gold-700);border-color:var(--blue-700);gap:.8rem;}
.link-arrow:hover svg{transform:translateX(3px);}
.cta-band .link-arrow,.site-footer .link-arrow{color:var(--gold-300);border-color:rgba(231,206,141,.4);}
.cta-band .link-arrow:hover,.site-footer .link-arrow:hover{color:#fff;border-color:#fff;}

/* ---------- 5. HEADER / NAV ---------- */
.topbar{
  background:var(--blue-900);
  color:rgba(255,255,255,.75);
  font-size:.73rem;letter-spacing:.07em;
}
@media(max-width: 767px){
    .topbar{
        display: none !important;
    }
}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:42px;flex-wrap:wrap;}
.topbar-meta{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.topbar-meta span{display:inline-flex;align-items:center;gap:.45rem;}
.topbar-meta svg{width:13px;height:13px;color:var(--gold-300);flex:none;}
.topbar a{
    font-size: 12px;
}
.topbar a:hover{color:var(--gold-300);}

.site-header{
  position:sticky;top:0;z-index:900;
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s var(--ease);
}
.site-header::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,var(--gold-500),var(--gold-300) 30%,var(--blue-600) 70%,var(--blue-800));
  opacity:.9;
}
.site-header.scrolled{box-shadow:0 10px 30px rgba(11,37,69,.10);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:80px;}

.brand{display:flex;align-items:center;gap:.85rem;flex:none;}
.brand-mark{width:46px;height:46px;flex:none;}
.brand-text{display:flex;flex-direction:column;line-height:1.05;}
.brand-text strong{
  font-family:var(--f-display);font-weight:400;font-size:1.1rem;
  color:var(--blue-900);letter-spacing:.005em;
}
.brand-text span{
  font-size:.57rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold-600);margin-top:4px;font-weight:700;
}

/* ——— Menu links use the identical type lock-up as the NOMINATE button ——— */
.nav-menu{display:flex;align-items:center;gap:.1rem;list-style:none;}
.nav-menu > li{position:relative;}
.nav-menu > li > a{
  display:flex;align-items:center;gap:.35rem;
  padding:.7rem .72rem;
  font-family:var(--f-text);
  font-size:var(--ui-size);
  font-weight:var(--ui-weight);
  letter-spacing:var(--ui-track);
  text-transform:uppercase;
  color:var(--blue-900);
  border-radius:var(--radius);
  transition:color .25s var(--ease);
  white-space:nowrap;
}
.nav-menu > li > a::after{
  content:"";position:absolute;left:.72rem;right:.72rem;bottom:.4rem;height:2px;
  background:linear-gradient(90deg,var(--gold-500),var(--gold-300));
  transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--ease);
}
.nav-menu > li > a:hover,.nav-menu > li > a.active{color:var(--gold-700);}
.nav-menu > li > a:hover::after,.nav-menu > li > a.active::after{transform:scaleX(1);}
.nav-menu .caret{width:9px;height:9px;opacity:.55;transition:transform .3s var(--ease);}
.nav-menu li:hover .caret{transform:rotate(180deg);}

.dropdown{
  position:absolute;top:100%;left:0;min-width:300px;
  background:var(--paper);
  border:1px solid var(--line);
  border-top:2px solid var(--gold-500);
  border-radius:0 0 var(--radius-lg) var(--radius-lg);
  padding:.55rem;
  list-style:none;
  box-shadow:0 24px 54px rgba(11,37,69,.16);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all .3s var(--ease);
}
.dropdown.right{left:auto;right:0;}
.nav-menu li:hover > .dropdown,.nav-menu li:focus-within > .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{
  display:block;padding:.6rem .85rem;border-radius:var(--radius);
  font-size:.85rem;font-weight:500;letter-spacing:.005em;text-transform:none;
  color:var(--ink);
  transition:.25s var(--ease);
}
.dropdown a small{display:block;font-size:.72rem;color:var(--muted);letter-spacing:.01em;margin-top:1px;font-weight:400;}
.dropdown a:hover{background:var(--blue-50);color:var(--blue-800);}
.dropdown a:hover small{color:var(--blue-600);}
.dropdown-sep{height:1px;background:var(--line);margin:.45rem .85rem;}

.nav-cta{display:flex;align-items:center;gap:.6rem;flex:none;}
.nav-toggle{display:none;width:46px;height:46px;align-items:center;justify-content:center;color:var(--blue-800);border:1px solid var(--line-2);border-radius:var(--radius);}
.nav-toggle svg{width:20px;height:20px;}

@media (max-width:1180px){
  .nav-menu{
    position:fixed;inset:0 0 0 auto;width:min(390px,90vw);
    background:var(--paper);
    flex-direction:column;align-items:stretch;gap:0;
    padding:6.5rem 1.5rem 3rem;
    overflow-y:auto;
    transform:translateX(100%);transition:transform .4s var(--ease);
    border-left:1px solid var(--line);
    box-shadow:-24px 0 60px rgba(11,37,69,.18);
    z-index:950;
  }
  .nav-menu.open{transform:translateX(0);}
  .nav-menu > li > a{padding:1rem .5rem;border-bottom:1px solid var(--line);}
  .nav-menu > li > a::after{display:none;}
  .dropdown{
    position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;background:transparent;border:0;border-bottom:1px solid var(--line);
    padding:.2rem 0 .8rem .9rem;display:none;
  }
  .nav-menu li.open > .dropdown{display:block;}
  .nav-toggle{display:inline-flex;}
  .nav-cta .btn{display:none;}
  .nav-cta .btn.always{display:inline-flex;}
}
@media (max-width:520px){
  .nav-cta .btn.always{display:none;}
  .topbar-meta span.hide-xs{display:none;}
}
.nav-scrim{position:fixed;inset:0;background:rgba(11,37,69,.45);opacity:0;visibility:hidden;transition:.35s;z-index:940;}
.nav-scrim.show{opacity:1;visibility:visible;}

/* ---------- 6. HERO ---------- */
.hero{
  position:relative;isolation:isolate;
  background:
    radial-gradient(1000px 560px at 82% 6%,rgba(198,220,239,.62),transparent 64%),
    radial-gradient(620px 420px at 2% 100%,rgba(243,228,192,.34),transparent 62%),
    linear-gradient(178deg,var(--paper),var(--mist) 55%,#EDF3FA);
  color:var(--body);
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.6;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%230B2545' stroke-opacity='.055'%3E%3Cpath d='M36 0l36 36-36 36L0 36z'/%3E%3C/g%3E%3C/svg%3E");
}
.hero-inner{position:relative;padding-block:clamp(4rem,9vw,7.5rem);}
.hero h1{
  color:var(--blue-900);
  font-size:var(--step-5);
  line-height:1.02;
  letter-spacing:-.028em;
  margin-bottom:.4em;
  max-width:16ch;
}
.hero h1 em{
  font-style:italic;
  background:linear-gradient(100deg,var(--gold-600),var(--gold-500) 45%,var(--blue-700));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero .lede{color:var(--body);max-width:56ch;font-size:var(--step-1);}
.hero .btn-row{margin-top:2.35rem;}

.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr;}}

/* Interior page hero */
.page-hero{
  position:relative;isolation:isolate;
  background:
    radial-gradient(900px 460px at 86% 0%,rgba(198,220,239,.6),transparent 62%),
    linear-gradient(178deg,var(--paper),var(--mist));
  color:var(--body);
  overflow:hidden;
  padding-block:clamp(3.25rem,6.5vw,5.5rem);
  border-bottom:1px solid var(--line);
}
.page-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.55;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='%230B2545' stroke-opacity='.05'%3E%3Cpath d='M30 0l30 30-30 30L0 30z'/%3E%3C/g%3E%3C/svg%3E");
}
.page-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--gold-500),var(--gold-300) 35%,transparent 75%);
}
.page-hero h1{color:var(--blue-900);font-size:var(--step-4);max-width:20ch;}
.page-hero .lede{color:var(--body);max-width:62ch;}
.breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;
  font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin-bottom:1.4rem;
}
.breadcrumb a{color:var(--blue-700);}
.breadcrumb a:hover{color:var(--gold-700);}
.breadcrumb span.sep{opacity:.45;}

/* ---------- 7. COUNTDOWN ---------- */
.countdown{display:flex;gap:.75rem;flex-wrap:wrap;}
.countdown div{
  min-width:88px;padding:1rem .75rem;text-align:center;
  background:var(--paper);
  border:1px solid var(--line);
  border-top:2px solid var(--gold-500);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.countdown b{
  display:block;font-family:var(--f-display);font-weight:400;
  font-size:2rem;line-height:1;color:var(--blue-800);
  font-variant-numeric:tabular-nums;
}
.countdown small{
  display:block;margin-top:.5rem;font-size:.59rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
}

/* Hero event card */
.hero-card{
  position:relative;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:clamp(1.75rem,3.5vw,2.75rem);
  box-shadow:var(--shadow-md);
  overflow:hidden;
}
.hero-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--gold-500),var(--gold-300) 45%,var(--blue-600));
}
.hero-card h3{color:var(--blue-900);font-size:var(--step-2);}
.hero-card dl{display:grid;gap:1rem;margin:1.5rem 0 0;}
.hero-card dl > div{display:flex;gap:1rem;align-items:flex-start;padding-bottom:1rem;border-bottom:1px solid var(--line);}
.hero-card dl > div:last-child{border-bottom:0;padding-bottom:0;}
.hero-card dt{
  flex:none;width:92px;font-size:.63rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-700);padding-top:5px;
}
.hero-card dd{margin:0;color:var(--ink);font-size:.95rem;line-height:1.55;}

/* ---------- 8. STAT BAND ---------- */
.stat-band{
  background:linear-gradient(180deg,var(--blue-900),var(--blue-800));
  border-block:1px solid var(--blue-800);
  position:relative;
}
.stat-band::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold-500),var(--gold-300),var(--gold-500));
}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.stat-grid > div{
  padding:clamp(1.75rem,3.5vw,2.75rem) 1.25rem;text-align:center;
  border-right:1px solid rgba(255,255,255,.12);
}
.stat-grid > div:last-child{border-right:0;}
.stat-grid b{
  display:block;font-family:var(--f-display);font-weight:400;
  font-size:clamp(2rem,4vw,3rem);line-height:1;color:var(--gold-300);
}
.stat-grid span{
  display:block;margin-top:.7rem;font-size:.66rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7);
}
@media (max-width:860px){
  .stat-grid{grid-template-columns:repeat(2,1fr);}
  .stat-grid > div:nth-child(2){border-right:0;}
  .stat-grid > div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12);}
}

/* ---------- 9. GRIDS & CARDS ---------- */
.grid{display:grid;gap:clamp(1.25rem,2.4vw,2rem);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2-1{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(2rem,5vw,4.5rem);}
.grid-1-2{grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(2rem,5vw,4.5rem);}
@media (max-width:1020px){.grid-4{grid-template-columns:repeat(2,1fr);}.grid-3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:860px){.grid-2,.grid-2-1,.grid-1-2{grid-template-columns:1fr;}}
@media (max-width:620px){.grid-3,.grid-4{grid-template-columns:1fr;}}

.card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:clamp(1.6rem,2.6vw,2.15rem);
  transition:all .4s var(--ease);
  position:relative;
  display:flex;flex-direction:column;
  height:100%;
  box-shadow:var(--shadow-xs);
}
.card::after{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,var(--gold-500),var(--gold-300));
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);
}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--line-2);}
.card:hover::after{transform:scaleX(1);}
.card h3{font-size:var(--step-1);margin-bottom:.5em;}
.card p{font-size:.94rem;}
.card .link-arrow{margin-top:auto;padding-top:1.35rem;align-self:flex-start;}
/* Cards sitting inside a tinted band keep a crisp white face */
.bg-navy .card{background:var(--paper);border-color:var(--line);}

/* Category card */
.cat-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;display:flex;flex-direction:column;height:100%;
  transition:all .4s var(--ease);position:relative;
  box-shadow:var(--shadow-xs);
}
.cat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--blue-200);}
.cat-card-top{
  position:relative;padding:1.5rem 1.6rem;
  background:linear-gradient(140deg,var(--blue-50),var(--blue-100));
  display:flex;align-items:center;gap:1rem;
  border-bottom:2px solid var(--gold-500);
}
.cat-card-top .num{
  font-family:var(--f-display);font-size:1.5rem;color:var(--gold-700);
  line-height:1;flex:none;width:46px;height:46px;
  display:grid;place-items:center;background:var(--paper);
  border:1px solid var(--gold-300);border-radius:50%;
}
.cat-card-top .cat-tier{
  font-size:.59rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-700);background:transparent;
}
.cat-card-top .cat-tier b{
  display:block;font-family:var(--f-display);font-weight:400;font-size:1.04rem;
  letter-spacing:0;text-transform:none;color:var(--blue-900);margin-top:4px;line-height:1.25;
}
.cat-card-body{padding:1.6rem;display:flex;flex-direction:column;flex:1;}
.cat-card-body p{font-size:.92rem;color:var(--body);}
.cat-card-body .link-arrow{margin-top:auto;padding-top:1.4rem;align-self:flex-start;}

.badge{
  display:inline-block;padding:.32rem .78rem;
  font-size:.59rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase;
  border-radius:100px;
}
.badge-gold{background:var(--gold-100);color:var(--gold-700);border:1px solid var(--gold-300);}
.badge-navy{background:var(--blue-900);color:var(--gold-300);}
.badge-outline{border:1px solid var(--line-2);color:var(--muted);}

/* Icon block */
.icon-box{
  width:54px;height:54px;flex:none;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--blue-50),var(--gold-100));
  border:1px solid var(--gold-300);border-radius:50%;
  color:var(--gold-700);margin-bottom:1.35rem;
}
.icon-box svg{width:22px;height:22px;}

/* Numbered step */
.step{position:relative;padding-left:4.7rem;}
.step .n{
  position:absolute;left:0;top:0;width:54px;height:54px;
  display:grid;place-items:center;border-radius:50%;
  background:var(--paper);
  border:1px solid var(--gold-300);
  font-family:var(--f-display);font-size:1.35rem;color:var(--gold-700);
  box-shadow:var(--shadow-xs);
}
.step h3{font-size:var(--step-1);}
@media (max-width:520px){.step{padding-left:0;padding-top:4rem;}}

/* ---------- 10. TABLES ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-xs);}
table.criteria{min-width:640px;font-size:.93rem;}
table.criteria thead th{
  background:linear-gradient(140deg,var(--blue-900),var(--blue-800));
  color:#fff;
  font-family:var(--f-text);font-size:.67rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  padding:1.05rem 1.25rem;text-align:left;
  border-bottom:2px solid var(--gold-500);
}
table.criteria tbody td{padding:1.1rem 1.25rem;border-bottom:1px solid var(--line);vertical-align:top;}
table.criteria tbody tr:last-child td{border-bottom:0;}
table.criteria tbody tr:nth-child(even){background:var(--blue-50);}
table.criteria td:first-child{font-weight:700;color:var(--ink);width:26%;}
table.criteria td.weight{
  width:13%;font-family:var(--f-display);font-size:1.2rem;color:var(--gold-700);
  font-variant-numeric:tabular-nums;
}
table.plain{font-size:.93rem;}
table.plain th,table.plain td{padding:.9rem 1.1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;}
table.plain th{font-size:.67rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;}

/* ---------- 11. LISTS ---------- */
.list-check{list-style:none;display:grid;gap:.9rem;}
.list-check li{position:relative;padding-left:2rem;font-size:.96rem;}
.list-check li::before{
  content:"";position:absolute;left:0;top:.55em;
  width:8px;height:8px;transform:rotate(45deg);
  background:var(--gold-500);
}

.list-num{list-style:none;counter-reset:n;display:grid;gap:1.35rem;}
.list-num li{position:relative;padding-left:3.2rem;counter-increment:n;}
.list-num li::before{
  content:counter(n,decimal-leading-zero);
  position:absolute;left:0;top:-2px;
  font-family:var(--f-display);font-size:1.3rem;color:var(--gold-600);
}
.list-num strong{display:block;font-family:var(--f-display);font-weight:400;font-size:var(--step-1);color:var(--ink);margin-bottom:.25rem;}

/* ---------- 12. TIMELINE ---------- */
.timeline{position:relative;padding-left:2.6rem;}
.timeline::before{content:"";position:absolute;left:9px;top:.6rem;bottom:.6rem;width:2px;background:linear-gradient(to bottom,var(--gold-400),var(--blue-200));}
.timeline-item{position:relative;padding-bottom:2.6rem;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{
  content:"";position:absolute;left:-2.6rem;top:.45rem;
  width:20px;height:20px;border-radius:50%;
  background:var(--paper);border:2px solid var(--gold-500);
  box-shadow:0 0 0 4px rgba(217,182,95,.16);
}
.timeline-item.done::before{background:var(--gold-500);}
.timeline-date{
  font-size:.67rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase;
  color:var(--gold-700);margin-bottom:.4rem;display:block;
}
.timeline-item h3{font-size:var(--step-1);margin-bottom:.35em;}

/* ---------- 13. ACCORDION ---------- */
.accordion{border-top:1px solid var(--line);}
.acc-item{border-bottom:1px solid var(--line);}
.acc-trigger{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;
  padding:1.5rem 0;text-align:left;
  font-family:var(--f-display);font-size:var(--step-1);color:var(--ink);
  line-height:1.35;transition:color .3s var(--ease);
}
.acc-trigger:hover{color:var(--blue-700);}
.acc-icon{
  flex:none;width:29px;height:29px;border:1px solid var(--gold-300);border-radius:50%;
  background:var(--paper);
  display:grid;place-items:center;position:relative;margin-top:4px;transition:.35s var(--ease);
}
.acc-icon::before,.acc-icon::after{content:"";position:absolute;background:var(--gold-700);transition:.35s var(--ease);}
.acc-icon::before{width:11px;height:1.5px;}
.acc-icon::after{width:1.5px;height:11px;}
.acc-item.open .acc-icon{background:var(--gold-500);border-color:var(--gold-500);transform:rotate(180deg);}
.acc-item.open .acc-icon::before,.acc-item.open .acc-icon::after{background:#fff;}
.acc-item.open .acc-icon::after{opacity:0;}
.acc-item.open .acc-trigger{color:var(--blue-800);}
.acc-panel{max-height:0;overflow:hidden;transition:max-height .45s var(--ease);}
.acc-panel-inner{padding:0 3.2rem 1.7rem 0;font-size:.97rem;color:var(--body);}

/* ---------- 14. FORMS ---------- */
.form-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:clamp(1.75rem,4vw,3rem);box-shadow:var(--shadow-sm);
  position:relative;overflow:hidden;
}
.form-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--gold-500),var(--gold-300) 45%,var(--blue-600));
}
.field{margin-bottom:1.4rem;}
.field > label,.field > .label{
  display:block;margin-bottom:.55rem;
  font-size:.69rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-900);
}
.field label .req{color:#C0492F;}
.field .hint{display:block;margin-top:.45rem;font-size:.8rem;color:var(--muted);line-height:1.5;}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=url],
.field input[type=number],.field input[type=date],.field select,.field textarea{
  width:100%;padding:.9rem 1.05rem;
  background:var(--mist);
  border:1px solid var(--line-2);border-radius:var(--radius);
  font-size:.95rem;color:var(--ink);
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease),background .25s;
}
.field textarea{min-height:150px;resize:vertical;line-height:1.65;}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:0;background:var(--paper);border-color:var(--blue-600);
  box-shadow:0 0 0 3px rgba(35,100,168,.14);
}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;}
.field-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
@media (max-width:680px){.field-row,.field-row-3{grid-template-columns:1fr;}}
.check{
  display:flex;gap:.8rem;align-items:flex-start;font-size:.9rem;line-height:1.55;
  margin-bottom:.85rem;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--body);
}
.check input{margin-top:.35rem;width:17px;height:17px;accent-color:var(--blue-700);flex:none;}
.counter{font-size:.75rem;color:var(--muted);text-align:right;margin-top:.35rem;}

/* Form steps */
.stepper{display:flex;gap:.5rem;margin-bottom:2.4rem;flex-wrap:wrap;}
.stepper div{
  flex:1;min-width:96px;padding-top:.85rem;border-top:3px solid var(--line);
  font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);
  transition:.35s var(--ease);
}
.stepper div.active{border-top-color:var(--gold-500);color:var(--gold-700);}
.stepper div.done{border-top-color:var(--blue-600);color:var(--blue-700);}
.fstep{display:none;}
.fstep.active{display:block;animation:fade .4s var(--ease);}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.form-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.75rem;border-top:1px solid var(--line);flex-wrap:wrap;}

/* Embed slot */
.embed-slot{
  border:2px dashed var(--blue-300);
  background:repeating-linear-gradient(45deg,var(--blue-50),var(--blue-50) 12px,var(--paper) 12px,var(--paper) 24px);
  border-radius:var(--radius-lg);
  padding:2.2rem 1.5rem;text-align:center;color:var(--blue-700);
}
.embed-slot strong{display:block;font-family:var(--f-display);font-size:1.15rem;color:var(--blue-900);margin-bottom:.4rem;}
.embed-slot code{
  display:inline-block;margin-top:.7rem;padding:.35rem .7rem;background:var(--blue-900);color:var(--gold-300);
  font-size:.76rem;border-radius:2px;letter-spacing:.02em;
}

/* ---------- 15. IMAGE SLOTS ---------- */
.img-frame{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  background:var(--blue-50);border:1px solid var(--line);
}
.img-frame::after{content:"";position:absolute;inset:12px;border:1px solid rgba(195,154,59,.35);pointer-events:none;border-radius:2px;}
.img-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.img-frame.ratio-4-3{aspect-ratio:4/3;}
.img-frame.ratio-3-2{aspect-ratio:3/2;}
.img-frame.ratio-1-1{aspect-ratio:1/1;}
.img-frame.ratio-16-9{aspect-ratio:16/9;}
.img-frame.ratio-3-4{aspect-ratio:3/4;}
.img-caption{margin-top:.9rem;font-size:.78rem;color:var(--muted);letter-spacing:.03em;}

.img-stack{position:relative;}
.img-stack > figure{margin:0;}
.img-stack > figure + figure{position:absolute;right:-5%;bottom:-11%;width:46%;margin:0;}
.img-stack > figure + figure .img-frame{border:6px solid var(--paper);box-shadow:var(--shadow-md);}
@media (max-width:860px){
  .img-stack > figure + figure{position:static;width:100%;margin-top:1rem;}
  .img-stack > figure + figure .img-frame{border-width:1px;}
}

/* ---------- 16. TIERS ---------- */
.tier{
  position:relative;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  display:flex;flex-direction:column;height:100%;overflow:hidden;
  transition:all .4s var(--ease);box-shadow:var(--shadow-xs);
}
.tier:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.tier.featured{border-color:var(--gold-400);box-shadow:var(--shadow-gold);}
.tier-head{padding:1.9rem 1.75rem 1.5rem;border-bottom:1px solid var(--line);position:relative;background:var(--mist);}
.tier.featured .tier-head{background:linear-gradient(140deg,var(--blue-900),var(--blue-800));border-bottom-color:var(--gold-500);}
.tier.featured .tier-head h3,.tier.featured .tier-head .price{color:#fff;}
.tier.featured .tier-head .price small{color:rgba(255,255,255,.65);}
.tier.featured .tier-head .tier-kicker{color:var(--gold-300);}
.tier-kicker{font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-700);margin-bottom:.7rem;display:block;}
.tier-head h3{font-size:var(--step-2);margin-bottom:.35em;color:var(--blue-900);}
.price{font-family:var(--f-display);font-size:2.3rem;color:var(--blue-800);line-height:1;}
.price small{font-size:.8rem;font-family:var(--f-text);color:var(--muted);letter-spacing:.08em;margin-left:.4rem;}
.tier-body{padding:1.75rem;flex:1;display:flex;flex-direction:column;}
.tier-body ul{list-style:none;display:grid;gap:.75rem;font-size:.9rem;margin-bottom:1.75rem;}
.tier-body ul li{position:relative;padding-left:1.6rem;}
.tier-body ul li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;transform:rotate(45deg);background:var(--gold-500);}
.tier-body .btn{margin-top:auto;}
.ribbon{
  position:absolute;top:0;right:0;z-index:2;
  background:var(--gold-500);color:var(--blue-950);
  font-size:.57rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  padding:.4rem .8rem;
}

/* ---------- 17. PEOPLE ---------- */
.person{text-align:center;}
.person .img-frame{margin-bottom:1.2rem;}
.person h3{font-size:var(--step-1);margin-bottom:.2em;}
.person .role{font-size:.71rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-700);margin-bottom:.8rem;}
.person p{font-size:.89rem;}

/* ---------- 18. QUOTE ---------- */
.quote{
  position:relative;padding:clamp(2rem,4vw,3.25rem);
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  border-left:4px solid var(--gold-500);
  box-shadow:var(--shadow-xs);
}
.quote blockquote{
  margin:0;font-family:var(--f-display);font-size:var(--step-2);
  line-height:1.4;color:var(--blue-900);font-style:italic;
}
.quote cite{
  display:block;margin-top:1.5rem;font-style:normal;
  font-size:.71rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--gold-700);
}

/* ---------- 19. CTA BAND — the deep blue moment ---------- */
.cta-band{
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(145deg,var(--blue-950),var(--blue-800) 55%,var(--blue-700));
  color:rgba(255,255,255,.82);
  padding-block:clamp(3.5rem,7vw,6rem);
}
.cta-band::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.75;
  background:
    radial-gradient(720px 420px at 86% 12%,rgba(195,154,59,.32),transparent 62%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='%23E7CE8D' stroke-opacity='.10'%3E%3Cpath d='M30 0l30 30-30 30L0 30z'/%3E%3C/g%3E%3C/svg%3E");
}
.cta-band::after{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold-500),var(--gold-300),var(--gold-500));
}
.cta-band h2{color:#fff;font-size:var(--step-3);}
.cta-band .lede{color:rgba(255,255,255,.8);}
.cta-band .eyebrow{color:var(--gold-300);}

/* ---------- 20. GALLERY ---------- */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.gallery .img-frame{transition:transform .45s var(--ease),box-shadow .45s var(--ease);}
.gallery .img-frame:hover{transform:scale(1.02);box-shadow:var(--shadow-md);}
.gallery .span-2{grid-column:span 2;}
@media (max-width:820px){.gallery{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.gallery{grid-template-columns:1fr;}.gallery .span-2{grid-column:auto;}}

/* ---------- 21. NOTICE ---------- */
.notice{
  border:1px solid var(--gold-300);
  border-left:4px solid var(--gold-500);
  background:var(--gold-100);
  border-radius:var(--radius-lg);padding:1.4rem 1.6rem;font-size:.92rem;color:var(--ink-2);
}
.notice strong{color:var(--blue-900);font-family:var(--f-display);font-weight:400;font-size:1.05rem;display:block;margin-bottom:.3rem;}

/* ---------- 22. FOOTER — the second deep blue moment ---------- */
.site-footer{background:var(--blue-950);color:rgba(255,255,255,.66);font-size:.9rem;position:relative;}
.site-footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--gold-500),var(--gold-300) 35%,var(--blue-500) 75%,var(--blue-700));
}
.site-footer .brand-text strong{color:#fff;}
.site-footer .brand-text span{color:var(--gold-300);}
.footer-top{padding-block:clamp(3rem,6vw,4.75rem);border-bottom:1px solid rgba(255,255,255,.12);}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:clamp(1.75rem,4vw,3.25rem);}
@media (max-width:960px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}
.site-footer h4{
  color:var(--gold-300);font-family:var(--f-text);font-size:.67rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.35rem;
}
.site-footer ul{list-style:none;display:grid;gap:.72rem;}
.site-footer a:hover{color:var(--gold-300);}
.footer-brand .brand{margin-bottom:1.35rem;}
.footer-brand p{font-size:.9rem;max-width:34ch;line-height:1.7;}
.social{display:flex;gap:.6rem;margin-top:1.5rem;}
.social a{
  width:38px;height:38px;display:grid;place-items:center;
  border:1px solid rgba(231,206,141,.32);border-radius:50%;color:var(--gold-300);
  transition:.3s var(--ease);
}
.social a:hover{background:var(--gold-500);color:var(--blue-950);border-color:var(--gold-500);}
.social svg{width:16px;height:16px;}
.footer-bottom{padding-block:1.6rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:rgba(255,255,255,.5);}
.footer-bottom nav{display:flex;gap:1.5rem;flex-wrap:wrap;}

/* ---------- 23. MISC ---------- */
.sticky-side{position:sticky;top:112px;}
@media (max-width:860px){.sticky-side{position:static;}}

.anchor-nav{
  display:flex;gap:.4rem;flex-wrap:wrap;
  padding:1rem 0;border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
  position:sticky;top:80px;z-index:500;
}
.anchor-nav a{
  padding:.5rem .95rem;font-size:.69rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  border:1px solid var(--line-2);border-radius:100px;color:var(--blue-800);transition:.3s var(--ease);
}
.anchor-nav a:hover{border-color:var(--gold-500);color:var(--gold-700);background:var(--gold-100);}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
  .reveal{opacity:1;transform:none;}
}
.back-to-main{
  position:fixed;left:10px;bottom:30px;z-index:800;  
  display:grid;place-items:center;
  opacity:1;visibility:visible;transform:translateY(12px);
  transition:.35s var(--ease);
}
.back-to-top{
  position:fixed;right:20px;bottom:20px;z-index:800;
  width:46px;height:46px;border-radius:50%;
  background:var(--blue-800);color:var(--gold-300);
  border:1px solid var(--blue-700);
  display:grid;place-items:center;
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:.35s var(--ease);box-shadow:var(--shadow-md);
}
.back-to-top.show{opacity:1;visibility:visible;transform:none;}
.back-to-top:hover{background:var(--gold-500);color:var(--blue-950);border-color:var(--gold-500);}
.back-to-top svg{width:16px;height:16px;}

/* Focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--blue-600);outline-offset:3px;border-radius:2px;
}

/* ---------- 24. SMALL-SCREEN REFINEMENTS ---------- */
@media (max-width:560px){
  .countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;}
  .countdown div{min-width:0;padding:.8rem .3rem;}
  .countdown b{font-size:1.45rem;}
  .countdown small{font-size:.51rem;letter-spacing:.12em;}
  .acc-panel-inner{padding-right:1rem;}
  .btn{width:100%;}
  .btn-row{flex-direction:column;}
  .anchor-nav{top:72px;}
}

@media print{
  .site-header,.topbar,.site-footer,.back-to-top,.anchor-nav,.btn{display:none!important;}
  body{background:#fff;color:#000;}
}

/* ============================================================
   26. THREE BANNER VARIATIONS, PHOTO FEATURES, LARGE COUNTDOWN
   ============================================================ */

/* ---- shared hero typography ---- */
.hero-tagline{
  font-size:clamp(2.3rem,1.4rem + 3.5vw,4.3rem);
  line-height:1.04;letter-spacing:-.03em;
  max-width:none;margin-bottom:.5em;
}
.hero-tagline span{display:block;white-space:nowrap;}
.hero-tagline span:nth-child(2){padding-left:.05em;}
.hero-note{
  margin-top:1.5rem;font-size:.72rem;font-weight:700;
  letter-spacing:.17em;text-transform:uppercase;color:var(--muted);
}

/* ------------------------------------------------------------
   OPTION A: SPLIT FRAME
   ------------------------------------------------------------ */
.hero--split .hero-grid{grid-template-columns:1.06fr .94fr;align-items:center;}
.hero--split .hero-tagline{font-size:clamp(2rem,1.05rem + 2.6vw,3.35rem);}
.hero--split .hero-tagline{color:var(--blue-900);}
.hero--split .hero-tagline em{
  font-style:italic;
  background:linear-gradient(96deg,var(--gold-600),var(--gold-500) 42%,var(--blue-700));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero--split .hero-visual{position:relative;}
.hero--split .img-frame{
  aspect-ratio:5/4;border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  border:1px solid var(--line);border-bottom:0;box-shadow:none;
}
.hero--split .img-frame::after{inset:12px;border-color:rgba(255,255,255,.4);}
.hero--split .img-frame img{width:100%;height:100%;object-fit:cover;object-position:center 22%;}
.hero--split .hero-visual{
  border-radius:var(--radius-lg);
  box-shadow:0 30px 70px rgba(11,37,69,.16);
}
.hero-chip{
  position:relative;z-index:3;background:var(--paper);
  display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem 1.1rem;
  margin:-1px 0 0;
  border:1px solid var(--line);
  border-top:0;
  border-left:4px solid var(--gold-500);
  border-radius:0 0 var(--radius-lg) var(--radius-lg);
  padding:.95rem 1.35rem;
  box-shadow:0 18px 40px rgba(11,37,69,.10);
}
.hero-chip-k{
  display:block;width:100%;font-size:.59rem;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold-700);margin-bottom:.35rem;
}

.hero-chip b{
  display:inline-block;font-family:var(--f-display);font-weight:400;font-size:1.02rem;
  color:var(--blue-900);line-height:1.3;margin:0;
}
.hero-chip span:last-child{display:inline-block;font-size:.78rem;line-height:1.5;color:var(--body);}

/* ------------------------------------------------------------
   OPTION B: CINEMATIC FULL BLEED
   ------------------------------------------------------------ */
.hero--cinematic{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--blue-950);
  border-bottom:0;
  min-height:clamp(520px,62vh,720px);
  display:flex;align-items:center;
}
.hero--cinematic::before{display:none;}
.hero--cinematic .hero-media{position:absolute;inset:0;z-index:0;}
.hero--cinematic .hero-media img{width:100%;height:100%;object-fit:cover;object-position:70% center;}
.hero--cinematic::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg,rgba(6,20,40,.95) 0%,rgba(6,20,40,.88) 28%,rgba(6,20,40,.55) 50%,rgba(6,20,40,.12) 72%,transparent 100%),
    linear-gradient(180deg,rgba(6,20,40,.45),transparent 30%,rgba(6,20,40,.35));
}
.hero--cinematic .hero-inner{position:relative;z-index:2;padding-block:clamp(3rem,7vw,5rem);}
.hero--cinematic .hero-copy{max-width:middle;max-width:640px;}
.hero--cinematic .eyebrow{color:var(--gold-300);}
.hero--cinematic .hero-tagline{color:#fff;text-shadow:0 2px 30px rgba(6,20,40,.5);}
.hero--cinematic .hero-tagline em{font-style:italic;color:var(--gold-300);}
.hero--cinematic .lede{color:rgba(255,255,255,.86);max-width:48ch;}
.hero--cinematic .hero-note{color:rgba(255,255,255,.62);}

/* ------------------------------------------------------------
   OPTION C: EDITORIAL OVERLAP
   ------------------------------------------------------------ */
.hero--editorial{
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(120deg,var(--blue-100),var(--blue-50) 45%,var(--paper));
  border-bottom:1px solid var(--line);
}
.hero--editorial::before{display:none;}
.hero--editorial .hero-bleed{
  position:absolute;top:0;right:0;bottom:0;width:52%;z-index:0;
}
.hero--editorial .hero-bleed img{width:100%;height:100%;object-fit:cover;object-position:60% center;}
.hero--editorial .hero-bleed::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(241,246,252,.9),transparent 22%);
}
.hero--editorial .hero-inner{position:relative;z-index:2;padding-block:clamp(3rem,6vw,5rem);}
.hero--editorial .hero-panel{
  max-width:640px;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(6px);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:clamp(2rem,4vw,3.25rem);
  box-shadow:0 34px 80px rgba(11,37,69,.18);
  position:relative;overflow:hidden;
}
.hero--editorial .hero-panel::before{
  content:"";position:absolute;top:0;left:0;right:0;height:5px;
  background:linear-gradient(90deg,var(--gold-500),var(--gold-300) 45%,var(--blue-600));
}
.hero--editorial .hero-tagline{color:var(--blue-900);font-size:clamp(1.95rem,1.1rem + 2.5vw,3.15rem);}
.hero--editorial .hero-tagline em{
  font-style:italic;
  background:linear-gradient(96deg,var(--gold-600),var(--gold-500) 42%,var(--blue-700));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-panel-foot{
  display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;
  margin-top:1.75rem;padding-top:1.35rem;border-top:1px solid var(--line);
  font-size:.75rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);
}
.hero-panel-foot span:first-child{color:var(--gold-700);}

@media (max-width:980px){
  .hero--split .hero-grid{grid-template-columns:1fr;}
  .hero--split .hero-visual{margin-top:2.5rem;}
  .hero--editorial .hero-bleed{position:relative;width:auto;height:340px;margin-top:2rem;border-radius:var(--radius-lg);overflow:hidden;}
  .hero--editorial .hero-bleed::after{display:none;}
  .hero--editorial .hero-panel{max-width:none;}
}
@media (max-width:820px){ .hero-tagline span{white-space:normal;} }
@media (max-width:700px){
  /* the mobile crop already shows only the women, so centre it */
  .hero--split .img-frame img,
  .hero--cinematic .hero-media img,
  .hero--editorial .hero-bleed img{object-position:center center;}
  .hero--split .img-frame{aspect-ratio:1/1;}
  .hero--cinematic{min-height:auto;}
  .hero--cinematic .hero-media{position:relative;height:340px;}
  .hero--cinematic::after{
    background:linear-gradient(180deg,rgba(6,20,40,.25) 0%,rgba(6,20,40,.55) 42%,var(--blue-950) 46%);
  }
  .hero--cinematic .hero-inner{padding-top:1.5rem;}
}

/* ------------------------------------------------------------
   THE EVENING BAND, with the countdown as the focal point
   ------------------------------------------------------------ */
.evening-band{
  background:linear-gradient(115deg,var(--blue-950),var(--blue-800) 58%,var(--blue-700));
  border-block:1px solid var(--blue-800);
  position:relative;color:rgba(255,255,255,.82);overflow:hidden;
}
.evening-band::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--gold-500),var(--gold-300),var(--gold-500));
}
.evening-band::after{
  content:"";position:absolute;inset:0;z-index:0;opacity:.5;
  background:radial-gradient(760px 380px at 82% 50%,rgba(195,154,59,.26),transparent 62%);
}
.evening-inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr auto;
  gap:clamp(1.75rem,4vw,4rem);align-items:center;
  padding-block:clamp(2.5rem,5vw,3.75rem);
}
.evening-copy .eyebrow{color:var(--gold-300);}
.evening-copy h2{
  font-size:clamp(1.5rem,1.15rem + 1.3vw,2.35rem);
  color:#fff;margin-bottom:.6rem;max-width:22ch;
}
.evening-meta{font-size:.85rem;line-height:1.7;color:rgba(255,255,255,.68);letter-spacing:.01em;}
.evening-band .link-arrow{color:var(--gold-300);border-color:rgba(231,206,141,.45);}
.evening-band .link-arrow:hover{color:#fff;border-color:#fff;}

.evening-count{display:flex;flex-direction:column;align-items:flex-end;}
.evening-count-k{
  font-size:.62rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold-300);margin-bottom:.9rem;
}
.countdown-xl{gap:.9rem;}
.countdown-xl div{
  min-width:112px;padding:1.15rem .9rem .95rem;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(231,206,141,.34);
  border-top:3px solid var(--gold-400);
  border-radius:var(--radius-lg);
  backdrop-filter:blur(6px);
  box-shadow:0 16px 40px rgba(6,20,40,.35);
}
.countdown-xl b{
  font-size:clamp(2.4rem,1.6rem + 2.2vw,3.4rem);
  color:var(--gold-300);line-height:1;
  text-shadow:0 2px 20px rgba(195,154,59,.3);
}
.countdown-xl small{
  margin-top:.6rem;font-size:.6rem;letter-spacing:.22em;color:rgba(255,255,255,.66);
}
@media (max-width:980px){
  .evening-inner{grid-template-columns:1fr;}
  .evening-count{align-items:flex-start;}
}
@media (max-width:560px){
  .countdown-xl{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;width:100%;}
  .countdown-xl div{min-width:0;padding:.85rem .25rem .7rem;}
  .countdown-xl b{font-size:1.7rem;}
  .countdown-xl small{font-size:.5rem;letter-spacing:.1em;}
}

/* ------------------------------------------------------------
   PHOTO FEATURES with a caption plate
   ------------------------------------------------------------ */
.photo-feature{position:relative;}
.photo-feature .img-frame{
  border:1px solid var(--line);
  box-shadow:0 28px 66px rgba(11,37,69,.16);
}
.photo-feature .img-frame::after{inset:12px;border-color:rgba(255,255,255,.35);}
.photo-feature .img-frame img{width:100%;height:100%;object-fit:cover;}
.photo-quote{
  position:absolute;right:-18px;bottom:-22px;z-index:3;
  background:var(--paper);
  border:1px solid var(--line);
  border-left:4px solid var(--gold-500);
  border-radius:var(--radius-lg);
  padding:1.05rem 1.35rem;
  box-shadow:0 18px 44px rgba(11,37,69,.16);
  max-width:270px;
}
.photo-feature--left .photo-quote{right:auto;left:-18px;}
.photo-quote span{
  display:block;font-size:.78rem;color:var(--muted);line-height:1.45;margin-bottom:.2rem;
}
.photo-quote b{
  display:block;font-family:var(--f-display);font-weight:400;font-size:1.08rem;
  color:var(--blue-900);line-height:1.3;
}
@media (max-width:640px){
  .photo-quote,.photo-feature--left .photo-quote{
    position:static;max-width:none;margin-top:1rem;box-shadow:none;
  }
}
.img-frame.ratio-4-5{aspect-ratio:4/5;}

/* banner preview flag */
.banner-flag{
  background:var(--gold-100);border-bottom:1px solid var(--gold-300);
  color:var(--gold-700);text-align:center;
  padding:.7rem 1rem;font-size:.72rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
}


/* ---------- 27. HERO BANNER, 10% SHORTER ---------- */
.hero--split .hero-inner{padding-block:clamp(2.4rem,5.2vw,4.3rem);}
.hero--split .hero-visual{width:90%;margin-left:auto;}
.hero--split .hero-tagline{font-size:clamp(1.85rem,1rem + 2.4vw,3.05rem);}
.hero--split .lede{font-size:clamp(1.02rem,.98rem + .2vw,1.16rem);}
@media (max-width:980px){
  .hero--split .hero-visual{width:100%;margin-left:0;}
}


/* ---------- 28. UNCROPPED PHOTOGRAPH FRAMES ----------
   The frame takes its height from the picture instead of forcing the
   picture into a fixed ratio, so no photograph is ever cut on any edge. */
.img-frame.natural{aspect-ratio:auto;height:auto;}
.img-frame.natural img{width:100%;height:auto;object-fit:contain;display:block;}
.hero--split .img-frame.natural{aspect-ratio:auto;}
.hero--split .img-frame.natural img{object-position:center;}

/* the banner photograph is square, so hold the hero to its trimmed height */
.hero--split .hero-visual{width:80%;}
@media (max-width:980px){.hero--split .hero-visual{width:100%;}}


/* ---------- 29. PINNED SECTION IMAGES ----------
   A section image holds its position level with the heading while the
   text beside it scrolls, then releases at the end of the section. */
body:has(.anchor-nav) .sticky-side{top:152px;}
/* the column stretches to the full height of its section, and the block
   inside it pins, so the picture holds until the text beside it runs out */
.pin-col{align-self:stretch;}
.sticky-pin{position:sticky;top:112px;}
body:has(.anchor-nav) .sticky-pin{top:152px;}
@media (max-width:860px){
  .pin-col{align-self:auto;}
  .sticky-pin{position:static;top:auto;}
}
@media (max-width:860px){
  .sticky-side,
  body:has(.anchor-nav) .sticky-side{position:static;top:auto;}
}


/* ---------- 30. PINNED IMAGE SIZING ----------
   A pinned block can only travel inside its own section, so it has to be
   comfortably shorter than that section or it unpins early. Capping the
   height keeps the picture whole (width follows, nothing is cropped). */
.img-frame.natural{display:flex;justify-content:center;align-items:flex-start;}


@media (max-width:860px){
  .photo-feature.sticky-pin .img-frame.natural img,
  
}

/* pinned imagery: capped so the pin always has room to travel */
.sticky-pin .img-frame.natural img{max-height:min(76vh,760px);width:100%;height:auto;}
.sticky-pin .photo-feature{margin-bottom:0;}
.sticky-pin .photo-feature{width:fit-content;margin-inline:auto;}
.sticky-pin > .img-frame.natural{width:fit-content;margin-inline:auto;}

/* pinned photographs run the full width of their column */
.sticky-pin .photo-feature,
.sticky-pin > .img-frame.natural{width:100%;}
/* venue photograph, full width with the description beneath it */
.photo-wide{max-width:1000px;margin-inline:auto;}
.photo-wide .img-frame.natural img{width:100%;height:auto;}

/* ============================================================
   REVISION: solid blues, larger hero image, deeper category caps
   ============================================================ */

/* The Evening band: one solid navy, no gradient, no glow */
.evening-band{background:var(--blue-900);}
.evening-band::after{display:none;}

/* Nominations Open band: one solid navy, diamond texture kept */
.cta-band{background:var(--blue-900);}
.cta-band::before{
  opacity:1;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='%23E7CE8D' stroke-opacity='.10'%3E%3Cpath d='M30 0l30 30-30 30L0 30z'/%3E%3C/g%3E%3C/svg%3E");
}

/* Category cards: a deeper, solid blue cap */
.cat-card-top{background:#D3E3F4;}
.cat-card:hover .cat-card-top{background:#C6DCEF;}

/* Hero: a larger photograph, tighter to the copy */
.hero--split .hero-grid{grid-template-columns:1fr 1.02fr;gap:clamp(1.5rem,3.4vw,3rem);}
.hero--split .hero-visual{width:100%;margin-left:0;}
.hero--split .img-frame{aspect-ratio:4/3.4;}
@media (max-width:980px){
  .hero--split .hero-grid{grid-template-columns:1fr;}
  .hero--split .hero-visual{width:100%;}
}

/* ============================================================
   MOBILE: no sideways scroll, no undersized type
   ============================================================ */
html,body{overflow-x:clip;max-width:100%;}

@media (max-width:1180px){
  /* the closed drawer must not extend the page or catch taps */
  .nav-menu{visibility:hidden;}
  .nav-menu.open{visibility:visible;}
}

@media (max-width:860px){
  .btn-sm{font-size:.8rem;padding:.85rem 1.4rem;}
  .nav-cta .btn.always{font-size:.8rem;}
  .link-arrow{font-size:.8rem;}
  table.plain th,table.plain td,.table th,.table td{font-size:.85rem;}
  .small{font-size:.86rem;}
  .eyebrow{font-size:.68rem;}
  .cat-card-top .cat-tier{font-size:.65rem;}
  .photo-quote span{font-size:.78rem;}
  .footer-bottom nav a{font-size:.8rem;}
}

@media (max-width:700px){
  /* comfortable tap targets and breathing room */
  .btn{min-height:48px;}
  .btn-row{flex-direction:column;align-items:stretch;}
  .btn-row .btn{width:100%;justify-content:center;}
  .section{padding-block:clamp(2.75rem,9vw,4rem);}
  .wrap{padding-inline:1.15rem;}
  .anchor-nav .wrap{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;padding-bottom:.35rem;}
  .anchor-nav .wrap::-webkit-scrollbar{display:none;}
  .anchor-nav a{white-space:nowrap;flex:none;}
  .stat-grid{grid-template-columns:repeat(2,1fr);}
  .stat-grid > div{padding-block:1.5rem;}
  .evening-inner{grid-template-columns:1fr;}
  .evening-count{align-items:flex-start;margin-top:1.5rem;}
  .countdown-xl > div{min-width:66px;}
  .photo-quote{position:static;margin-top:-1.1rem;margin-inline:1rem 0;max-width:none;}
  .hero-chip{flex-direction:column;gap:.35rem;}
  .table-scroll,.plain-scroll{overflow-x:auto;}
}

@media (max-width:860px){
  .topbar-meta,.topbar-meta a{font-size:.79rem;}
  .breadcrumb a,.breadcrumb{font-size:.78rem;}
  .anchor-nav a{font-size:.78rem;padding:.55rem .95rem;}
  thead th,table th{font-size:.76rem;}
}
@media (max-width:860px){
  table.criteria thead th,table.plain th{font-size:.76rem;}
}
@media (max-width:860px){
  .check span,.check span a{font-size:.85rem;}
}

/* wide tables scroll inside their own frame rather than stretching the page */
.grid > *{min-width:0;}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
@media (max-width:700px){
  .table-wrap table{min-width:520px;}
}

/* ============================================================
   REVISION: no caption plates, clean dropdown edge
   ============================================================ */
.photo-quote,.hero-chip{display:none!important;}
.hero--split .img-frame{border-radius:var(--radius-lg);border-bottom:1px solid var(--line);}

/* the header's gradient rule was painting across the top of the dropdowns */
.site-header::after{z-index:1;}
.nav-menu > li{z-index:2;}
.dropdown{
  z-index:5;
  top:calc(100% + 2px);
  border-top:2px solid var(--gold-500);
  border-radius:0 0 var(--radius-lg) var(--radius-lg);
  box-shadow:0 26px 58px rgba(11,37,69,.18);
}
/* keep the pointer path from the menu item to the panel unbroken */
.nav-menu > li > a{position:relative;}
.dropdown::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px;}
