:root {
  --home-ink: #11110f;
  --home-paper: #f7f5ef;
  --home-line: rgba(17, 17, 15, .14);
  --home-red: #a90f1d;
  --home-gold: #d2a64f;
  --home-display: Oswald, Impact, sans-serif;
  --home-text: Inter, Arial, sans-serif;
  --home-max: 1180px;
  --home-space: clamp(3.75rem, 7vw, 6.75rem);
  --home-radius: 4px;
  --home-ease: 180ms ease;
}
.homepage-redesign { margin:0; overflow-x:hidden; background:var(--home-paper); color:var(--home-ink); font-family:var(--home-text); }
.homepage-redesign * { box-sizing:border-box; }
.homepage-redesign img { display:block; width:100%; max-width:100%; }
.homepage-redesign a { color:inherit; text-decoration:none; }
.homepage-redesign .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.announcement { position:relative; z-index:30; min-height:36px; display:flex; align-items:center; justify-content:center; gap:14px; padding:7px 18px; background:var(--home-red); color:#fff; font-size:.78rem; font-weight:800; letter-spacing:.01em; text-align:center; }
.announcement a { text-decoration:underline; text-underline-offset:3px; }
.premium-header { position:absolute; z-index:25; top:36px; left:0; right:0; display:flex; align-items:center; gap:28px; padding:18px clamp(18px,4vw,58px); color:#fff; background:transparent; transition:background var(--home-ease), box-shadow var(--home-ease), color var(--home-ease); }
.premium-header.is-scrolled { position:fixed; top:0; background:rgba(12,12,10,.94); box-shadow:0 8px 26px rgba(0,0,0,.2); }
.premium-brand { display:inline-flex; align-items:center; gap:11px; color:#fff; font:800 .82rem/.9 var(--home-text); letter-spacing:.03em; text-shadow:0 1px 10px rgba(0,0,0,.72); }
.premium-brand img { width:50px; height:50px; padding:2px; object-fit:cover; border:1px solid #fff; background:#fff; box-shadow:0 3px 12px rgba(0,0,0,.22); }
.premium-nav { display:flex; align-items:center; gap:clamp(17px,2.4vw,32px); margin-left:auto; font-size:.86rem; font-weight:700; }
.premium-nav a { opacity:.86; transition:opacity var(--home-ease); }
.premium-nav a:hover,.premium-nav a:focus-visible { opacity:1; text-decoration:underline; text-underline-offset:5px; }
.quiet-shop-link { opacity:.56 !important; font-size:.78rem; }
.premium-header-cta,.home-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 19px; border:1px solid transparent; border-radius:var(--home-radius); font-weight:850; font-size:.86rem; transition:transform var(--home-ease),background var(--home-ease),color var(--home-ease),border-color var(--home-ease); }
.premium-header-cta { background:#fff; color:var(--home-ink) !important; text-shadow:none; }
.premium-header-cta:hover,.home-button:hover { transform:translateY(-2px); }
.mobile-menu { display:none; margin-left:auto; }
.mobile-menu summary { display:grid; gap:5px; width:44px; height:44px; place-content:center; list-style:none; cursor:pointer; }
.mobile-menu summary::-webkit-details-marker { display:none; }
.mobile-menu summary span:not(.sr-only) { width:21px; height:2px; background:currentColor; }
.mobile-menu nav { position:absolute; top:100%; right:14px; display:grid; min-width:220px; padding:10px; background:var(--home-ink); color:#fff; box-shadow:0 14px 35px rgba(0,0,0,.25); }
.mobile-menu nav a { padding:13px 10px; font-weight:750; }
.premium-hero { position:relative; min-height:clamp(590px,78svh,760px); display:flex; align-items:flex-end; overflow:hidden; color:#fff; background:#151512; isolation:isolate; }
.hero-media,.hero-media img { position:absolute; inset:0; width:100%; height:100%; }
.hero-media img { object-fit:cover; object-position:49% 46%; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,6,5,.78) 0%,rgba(6,6,5,.54) 42%,rgba(6,6,5,.08) 78%),linear-gradient(0deg,rgba(6,6,5,.54),transparent 50%); }
.hero-copy-wrap { position:relative; z-index:2; width:min(var(--home-max),calc(100% - 36px)); margin:0 auto; padding:clamp(8rem,14vh,10rem) 0 clamp(2.8rem,5vw,4.5rem); }
.home-kicker { display:inline-block; margin:0 0 14px; color:var(--home-gold); font-size:.72rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.home-kicker.ink { color:var(--home-red); }
.premium-hero h1,.homepage-redesign h2 { margin:0; font-family:var(--home-display); font-weight:700; letter-spacing:-.025em; line-height:.9; text-transform:uppercase; }
.premium-hero h1 { max-width:8ch; font-size:clamp(3.8rem,7.4vw,7rem); text-shadow:0 3px 0 rgba(0,0,0,.12); }
.hero-statement { margin:22px 0 0; font:500 clamp(1.4rem,2.7vw,2.5rem)/1 var(--home-display); letter-spacing:.01em; text-transform:uppercase; }
.hero-intro { margin:12px 0 0; max-width:460px; color:rgba(255,255,255,.86); font-size:1rem; line-height:1.5; }
.hero-buttons { display:flex; flex-wrap:wrap; gap:10px; margin-top:25px; }
.home-button-primary { background:var(--home-red); color:#fff; box-shadow:0 10px 26px rgba(96,0,12,.3); }
.home-button-primary:hover { background:#c01c2c; }
.home-button-ghost { border-color:rgba(255,255,255,.7); color:#fff; }
.home-button-ghost:hover { background:#fff; color:var(--home-ink); }
.hero-facts { display:flex; flex-wrap:wrap; gap:0; margin:30px 0 0; padding:0; list-style:none; font-size:.78rem; font-weight:750; }
.hero-facts li { padding:0 15px; border-left:1px solid rgba(255,255,255,.52); }
.hero-facts li:first-child { padding-left:0; border:0; }
.hero-side-label { position:absolute; z-index:2; right:clamp(18px,4vw,58px); bottom:44px; margin:0; font-size:.66rem; font-weight:900; letter-spacing:.16em; writing-mode:vertical-rl; transform:rotate(180deg); color:rgba(255,255,255,.65); }
.home-section { padding:var(--home-space) max(18px,calc((100vw - var(--home-max))/2)); }
.home-layout { display:grid; grid-template-columns:1.1fr .65fr; align-items:end; gap:clamp(28px,8vw,120px); }
.home-layout > p { margin:0 0 4px; color:#595650; font-size:1.05rem; line-height:1.65; }
.homepage-redesign h2 { font-size:clamp(2.8rem,5.2vw,5.55rem); }
.course-section { background:#fff; }
.course-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:clamp(36px,6vw,74px); border-top:1px solid var(--home-line); border-bottom:1px solid var(--home-line); }
.course-grid a { min-height:215px; display:flex; flex-direction:column; gap:8px; padding:22px 20px; border-right:1px solid var(--home-line); transition:background var(--home-ease), color var(--home-ease); }
.course-grid a:last-child { border:0; }
.course-grid a:hover,.course-grid a:focus-visible { background:var(--home-ink); color:#fff; }
.course-grid span { color:var(--home-red); font:600 1rem/1 var(--home-display); }
.course-grid strong { margin-top:auto; font:600 clamp(1.7rem,2.6vw,2.55rem)/.92 var(--home-display); text-transform:uppercase; }
.course-grid em { font-style:normal; font-weight:800; }
.course-grid small { color:#716c64; line-height:1.45; font-size:.82rem; }
.course-grid a:hover small,.course-grid a:focus-visible small { color:rgba(255,255,255,.72); }
.section-link-row { margin-top:22px; }
.text-link { display:inline-flex; align-items:center; gap:9px; font-size:.88rem; font-weight:900; text-decoration:underline !important; text-underline-offset:5px; }
.text-link span { color:var(--home-red); font-size:1.1rem; }
.association-section { display:grid; grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr); gap:clamp(32px,7vw,100px); align-items:center; background:var(--home-ink); color:#fff; }
.association-photo { align-self:center; }
.association-photo img { aspect-ratio:4/3; height:auto; object-fit:cover; object-position:54% 54%; }
.association-copy { max-width:650px; padding:0; }
.lead-copy { max-width:530px; margin:22px 0 28px; color:rgba(255,255,255,.82); font-size:1.1rem; line-height:1.65; }
.value-list { border-top:1px solid rgba(255,255,255,.2); }
.value-list article { display:grid; grid-template-columns:36px 1fr; gap:14px; padding:17px 0; border-bottom:1px solid rgba(255,255,255,.2); }
.value-list span { color:var(--home-gold); font:600 1.1rem var(--home-display); }
.value-list h3 { margin:0; font:600 1.35rem var(--home-display); text-transform:uppercase; }
.value-list p,.local-copy { margin:5px 0 0; color:rgba(255,255,255,.7); line-height:1.5; font-size:.9rem; }
.local-copy { margin-top:22px; }
.proof-section { background:#e8e3d8; }
.proof-heading { width:min(var(--home-max),100%); margin:0 auto clamp(26px,4vw,42px); }
.proof-composition { width:min(var(--home-max),100%); margin:auto; display:grid; grid-template-columns:1.24fr .76fr; grid-template-rows:auto auto; gap:18px; }
.proof-composition figure { margin:0; }
.proof-main { grid-row:span 2; }
.proof-main img { aspect-ratio:16/10; object-fit:cover; object-position:center 48%; }
.proof-main figcaption { padding-top:10px; color:#625e56; font-size:.78rem; font-weight:700; }
.proof-portrait { padding:18px; background:#fff; align-self:start; }
.proof-portrait img { aspect-ratio:4/3; object-fit:cover; object-position:center 42%; }
.proof-portrait p { margin:14px 0 0; line-height:1.45; }
.proof-composition blockquote { align-self:stretch; margin:0; padding:clamp(20px,3vw,38px); background:var(--home-red); color:#fff; }
.proof-composition blockquote p { margin:0; font:500 clamp(1.5rem,2.5vw,2.5rem)/1.05 var(--home-display); text-transform:uppercase; }
.proof-composition cite { display:block; margin-top:20px; color:#ffe6af; font-size:.78rem; font-weight:800; font-style:normal; }
.pathway-section { background:#fff; }
.pathway-heading { width:min(var(--home-max),100%); margin:0 auto clamp(26px,4vw,42px); }
.pathway-grid { width:min(var(--home-max),100%); margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.pathway-grid a { position:relative; aspect-ratio:5/4; min-height:0; overflow:hidden; background:#171715; color:#fff; }
.pathway-grid img { height:100%; object-fit:cover; transition:transform 400ms ease; }
.pathway-grid a:nth-child(1) img { object-position:center 52%; }
.pathway-grid a:nth-child(2) img { object-position:center 46%; }
.pathway-grid a:nth-child(3) img { object-position:center 45%; }
.pathway-grid a::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.75),transparent 55%); }
.pathway-grid a:hover img,.pathway-grid a:focus-visible img { transform:scale(1.04); }
.pathway-grid span { position:absolute; z-index:1; left:20px; right:20px; bottom:18px; display:flex; justify-content:space-between; align-items:center; font:600 clamp(1.5rem,2.5vw,2.55rem)/1 var(--home-display); text-transform:uppercase; }
.pathway-grid i { color:var(--home-gold); font-style:normal; }
.final-cta { display:grid; width:100%; max-width:none; grid-template-columns:1fr .8fr; gap:clamp(30px,7vw,92px); align-items:end; padding:clamp(3.75rem,7vw,6.75rem) max(18px,calc((100vw - var(--home-max))/2)); background:#11110f; color:#fff; }
.final-cta .home-kicker { color:var(--home-gold); }
.final-cta h2 { color:#fff; }
.final-cta p:not(.home-kicker) { max-width:400px; margin:0; color:rgba(255,255,255,.9); font-size:1.1rem; line-height:1.65; }
.final-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:25px; }
.home-button-light { background:#fff; color:var(--home-ink) !important; }
.text-link.light { color:#fff !important; }
.text-link.light span { color:#ffe4a3; }
.premium-footer { display:flex; align-items:center; gap:28px; padding:30px max(18px,calc((100vw - var(--home-max))/2)); background:#0a0a09; color:rgba(255,255,255,.72); }
.premium-footer p { margin:0; font-size:.78rem; }
.premium-footer nav { display:flex; gap:16px; margin-left:auto; font-size:.78rem; font-weight:700; }
.premium-footer a:hover,.premium-footer a:focus-visible { color:#fff; }
@media (max-width:800px) {
  .announcement { min-height:34px; gap:8px; padding:7px 8px; font-size:.68rem; white-space:nowrap; }
  .premium-header { top:34px; padding:12px 14px; gap:12px; }
  .premium-header.is-scrolled { top:0; }
  .premium-brand img { width:42px; height:42px; }
  .premium-brand { font-size:.72rem; }
  .premium-nav { display:none; }
  .premium-header-cta { min-height:42px; margin-left:auto; padding:0 12px; font-size:.78rem; }
  .mobile-menu { display:block; }
  .premium-hero { min-height:0; align-items:flex-end; }
  .hero-media img { object-position:49% 46%; }
  .hero-shade { background:linear-gradient(90deg,rgba(6,6,5,.78),rgba(6,6,5,.2) 100%),linear-gradient(0deg,rgba(6,6,5,.7),transparent 55%); }
  .hero-copy-wrap { width:calc(100% - 28px); padding:104px 0 28px; }
  .premium-hero h1 { font-size:clamp(3.5rem,15.2vw,5.4rem); }
  .hero-statement { max-width:17ch; font-size:1.38rem; line-height:1.08; margin-top:16px; }
  .hero-intro { max-width:31ch; font-size:.92rem; }
  .hero-buttons { display:grid; grid-template-columns:1fr; margin-top:20px; }
  .hero-buttons .home-button { width:100%; }
  .hero-facts { margin-top:22px; font-size:.7rem; }
  .hero-facts li { padding:0 9px; }
  .hero-side-label { display:none; }
  .home-section { padding:clamp(3.75rem,15vw,4.7rem) 18px; }
  .home-layout,.association-section,.final-cta { grid-template-columns:1fr; gap:26px; }
  .home-layout > p { font-size:.96rem; }
  .homepage-redesign h2 { font-size:clamp(3.15rem,14vw,5.1rem); }
  .course-grid { grid-template-columns:1fr 1fr; margin-top:35px; }
  .course-grid a { min-height:174px; padding:18px 14px; border-bottom:1px solid var(--home-line); }
  .course-grid a:nth-child(2) { border-right:0; }
  .association-section { padding:0 18px clamp(3.75rem,15vw,4.7rem); }
  .association-photo { margin:0 -18px; }
  .association-photo img { aspect-ratio:16/10; object-position:54% 54%; }
  .association-copy { padding:0; }
  .proof-heading,.pathway-heading { margin-bottom:27px; }
  .proof-composition { grid-template-columns:1fr; }
  .proof-main { grid-row:auto; }
  .proof-main img { aspect-ratio:16/10; }
  .proof-portrait { display:grid; grid-template-columns:.9fr 1fr; gap:14px; align-items:end; }
  .proof-portrait p { margin:0; }
  .pathway-grid { grid-template-columns:1fr; }
  .pathway-grid a { aspect-ratio:16/10; }
  .final-cta { padding:clamp(3.75rem,15vw,4.7rem) 18px; }
  .premium-footer { flex-wrap:wrap; padding:28px 18px; }
  .premium-footer nav { width:100%; margin-left:0; }
}
@media (max-width:375px) { .announcement { gap:5px; font-size:.6rem; } .premium-hero h1 { font-size:3.4rem; } .hero-facts li { padding:0 7px; font-size:.66rem; } .home-button { padding:0 13px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; } }
