/* =========================================================
   ISNEE NW V12 — INTERNAL PAGE SYSTEM / ABOUT US
   ========================================================= */

:root{
    --sub-red:#ed1c24;
    --sub-gold:#f7b70c;
    --sub-ink:#111418;
    --sub-muted:#667085;
    --sub-line:#e6e9ee;
    --sub-soft:#f5f7fa;
    --sub-dark:#0c1015;
}

.subpage-body{background:#fff;color:var(--sub-ink)}
.subpage-main{overflow:hidden}
.subpage-header{border-bottom:1px solid #eceff3}
.subpage-header .primary-nav a.active{color:#111}

.section-compact{padding:64px 0}
.container-wide{width:min(1420px,calc(100% - 72px));margin:0 auto}

/* ---------- compact internal hero ---------- */
.inner-hero{position:relative;isolation:isolate;min-height:312px;display:flex;align-items:center;overflow:hidden;background:#10151b;color:#fff}
.inner-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;z-index:-4}
.inner-hero-overlay{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(6,9,13,.78) 0%,rgba(6,9,13,.54) 45%,rgba(6,9,13,.34) 100%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.30))}
.inner-hero::after{content:"";position:absolute;z-index:-2;inset:auto -5% -30% auto;width:58%;height:72%;border-radius:50%;border-top:1px solid rgba(255,255,255,.10);box-shadow:0 -28px 0 -27px rgba(255,255,255,.05),0 -70px 0 -69px rgba(237,28,36,.10);transform:perspective(800px) rotateX(65deg) rotateZ(-5deg)}
.inner-hero-tech{position:absolute;left:4%;top:26px;display:flex;gap:7px;transform:skewX(-18deg);opacity:.9}
.inner-hero-tech span{display:block;width:74px;height:4px;border-radius:3px;background:rgba(255,255,255,.30)}
.inner-hero-tech span:nth-child(1){background:var(--sub-gold)}
.inner-hero-tech span:nth-child(2){background:var(--sub-red)}
.inner-hero-tech span:nth-child(3){width:42px;background:rgba(255,255,255,.35)}
.inner-hero-copy{padding:48px 0 42px}
.inner-eyebrow{margin-bottom:10px;font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.76)}
.inner-hero h1{margin:0;font-size:clamp(42px,4.2vw,64px);line-height:.98;letter-spacing:-.045em;font-weight:850}
.inner-hero h1 em{font-style:normal;color:var(--sub-red)}
.inner-hero p{max-width:690px;margin:16px 0 0;color:rgba(255,255,255,.76);font-size:16px;line-height:1.65}
.inner-breadcrumb{display:flex;align-items:center;gap:11px;margin-top:22px;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.inner-breadcrumb a,.inner-breadcrumb span{color:#fff;text-decoration:none}
.inner-breadcrumb span{opacity:.75}.inner-breadcrumb i{width:28px;height:1px;background:rgba(255,255,255,.55)}

/* ---------- story ---------- */
.about-story{background:linear-gradient(180deg,#f6f8fb 0%,#f3f5f8 100%)}
.story-grid{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:62px;align-items:center}
.story-photo{position:relative;overflow:hidden;border-radius:24px;background:#dfe5eb;box-shadow:0 18px 42px rgba(15,23,42,.10)}
.story-photo>img{width:100%;height:430px;object-fit:cover;object-position:center}
.experience-chip{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:15px;min-width:270px;padding:17px 20px;background:rgba(12,16,21,.94);color:#fff;border-top-left-radius:20px}
.experience-chip strong{font-size:31px;line-height:1;font-weight:850}
.experience-chip span{max-width:135px;font-size:10px;font-weight:750;line-height:1.35;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.story-stripes{position:absolute;left:18px;bottom:17px;display:flex;gap:5px;transform:skewX(-16deg)}
.story-stripes b{display:block;width:42px;height:5px;background:#fff}.story-stripes b:nth-child(1){background:var(--sub-gold)}.story-stripes b:nth-child(2){background:var(--sub-red)}.story-stripes b:nth-child(3){width:26px;background:#20252b}
.section-label{font-size:11px;font-weight:850;letter-spacing:.18em;text-transform:uppercase;color:var(--sub-red)}
.story-copy h2,.section-head-tight h2,.participation-copy h2,.college-copy h2{margin:10px 0 17px;font-size:clamp(32px,3vw,46px);line-height:1.05;letter-spacing:-.04em;font-weight:850}
.story-copy p,.participation-copy p,.college-copy p{margin:0 0 13px;color:#626b79;font-size:15px;line-height:1.72}
.about-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-top:23px}
.about-feature-grid span{display:flex;align-items:center;gap:10px;min-height:45px;border-bottom:1px solid #dde2e8;font-size:13px;font-weight:750}
.about-feature-grid i{position:relative;width:14px;height:14px;flex:none;border:1px solid rgba(237,28,36,.34);border-radius:50%}
.about-feature-grid i::before{content:"";position:absolute;width:5px;height:8px;left:4px;top:1px;border:solid var(--sub-red);border-width:0 2px 2px 0;transform:rotate(45deg)}

/* ---------- values ---------- */
.values-section{position:relative;background:#fff}
.values-decor{position:absolute;right:-60px;top:35px;width:270px;height:150px;opacity:.035;background:linear-gradient(45deg,#000 25%,transparent 25% 75%,#000 75%),linear-gradient(45deg,#000 25%,transparent 25% 75%,#000 75%);background-size:28px 28px;background-position:0 0,14px 14px;transform:rotate(-8deg);pointer-events:none}
.section-head-tight{max-width:770px;margin-bottom:29px}
.section-head-tight h2{margin-bottom:10px}
.section-head-tight p{margin:0;color:#737b87;font-size:14px;line-height:1.7}
.values-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.value-card{position:relative;min-height:258px;padding:22px 20px 20px;border:1px solid #e4e8ed;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfcfd);box-shadow:0 10px 28px rgba(15,23,42,.045);overflow:hidden}
.value-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--sub-gold) 0 28%,var(--sub-red) 28% 72%,#292e35 72%)}
.value-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.value-number{font-size:11px;font-weight:850;letter-spacing:.12em;color:#98a0ad}
.value-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#f5f6f8;color:var(--sub-red)}
.value-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.value-card h3{margin:0 0 10px;font-size:20px;letter-spacing:-.025em}
.value-card p{margin:0;color:#687180;font-size:12.5px;line-height:1.65}

/* ---------- participation ---------- */
.participation-section{background:#f5f7fa}
.participation-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:58px;align-items:center}
.participation-copy h2{max-width:560px}
.subpage-btn{display:inline-flex;align-items:center;gap:10px;margin-top:13px;padding:12px 18px;border-radius:999px;background:var(--sub-red);color:#fff;text-decoration:none;font-size:13px;font-weight:800;box-shadow:0 12px 24px rgba(237,28,36,.16)}
.subpage-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.participation-chart{padding:22px 24px 18px;border:1px solid #e0e5eb;border-radius:22px;background:#fff;box-shadow:0 16px 38px rgba(15,23,42,.055)}
.chart-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.chart-heading strong{font-size:14px}.chart-heading span{font-size:10px;font-weight:800;letter-spacing:.12em;color:#9098a5}
.participation-chart svg{width:100%;height:auto;display:block;overflow:visible}
.chart-grid-lines line{stroke:#edf0f3;stroke-width:1}
.chart-area{fill:url(#areaFill)}
.chart-line{fill:none;stroke:var(--sub-red);stroke-width:4;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.4s cubic-bezier(.2,.7,.2,1)}
.participation-chart.is-animated .chart-line{stroke-dashoffset:0}
.chart-dots circle{fill:#fff;stroke:var(--sub-red);stroke-width:3}.chart-dots .peak{fill:var(--sub-red)}
.chart-labels text,.chart-peak-label{fill:#7c8592;font-size:12px;font-weight:700}.chart-peak-label{fill:var(--sub-red);font-size:11px}
.participation-chart small{display:block;margin-top:-3px;color:#99a1ad;font-size:10px;line-height:1.5}

/* ---------- colleges ---------- */
.college-section{position:relative;overflow:hidden;background:#0c1015;color:#fff}
.college-bg{position:absolute;inset:0;background:radial-gradient(circle at 14% 40%,rgba(237,28,36,.11),transparent 28%),radial-gradient(circle at 88% 60%,rgba(247,183,12,.06),transparent 28%)}
.college-bg::after{content:"";position:absolute;right:-70px;top:-60px;width:300px;height:190px;opacity:.05;background:linear-gradient(45deg,#fff 25%,transparent 25% 75%,#fff 75%),linear-gradient(45deg,#fff 25%,transparent 25% 75%,#fff 75%);background-size:30px 30px;background-position:0 0,15px 15px;transform:rotate(-9deg)}
.college-grid{position:relative;display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:center}
.light-label{color:#ff3b42}.college-copy h2{color:#fff;font-size:36px}.college-copy h2 strong{color:var(--sub-red);font-size:1.35em}.college-copy p{color:rgba(255,255,255,.64)}
.college-logos{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-track{display:flex;width:max-content;gap:12px;animation:logoMarquee 28s linear infinite}
.college-logo{display:grid;place-items:center;width:132px;height:82px;padding:10px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:#fff}
.college-logo img{max-width:100%;max-height:100%;object-fit:contain}
@keyframes logoMarquee{to{transform:translateX(calc(-50% - 6px))}}

/* ---------- reveal ---------- */
.reveal-sub{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal-sub.is-visible{opacity:1;transform:none}

@media(max-width:1180px){
    .values-grid{grid-template-columns:repeat(3,1fr)}
    .value-card:nth-child(4),.value-card:nth-child(5){min-height:225px}
    .college-grid{grid-template-columns:.8fr 1.2fr}
}
@media(max-width:960px){
    .container-wide{width:calc(100% - 42px)}
    .section-compact{padding:52px 0}
    .story-grid,.participation-grid,.college-grid{grid-template-columns:1fr;gap:34px}
    .story-photo>img{height:390px}
    .values-grid{grid-template-columns:repeat(2,1fr)}
    .college-copy{max-width:680px}
}
@media(max-width:680px){
    .container-wide{width:calc(100% - 28px)}
    .inner-hero{min-height:270px}.inner-hero-copy{padding:42px 0 34px}.inner-hero-tech{left:18px}
    .section-compact{padding:44px 0}
    .story-photo>img{height:320px}.experience-chip{min-width:220px;padding:13px 15px}.experience-chip strong{font-size:26px}
    .about-feature-grid{grid-template-columns:1fr}
    .values-grid{grid-template-columns:1fr}.value-card{min-height:0}
    .participation-chart{padding:15px 12px 13px}.chart-labels text{font-size:10px}
    .college-logo{width:112px;height:72px}
}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none}.reveal-sub{opacity:1;transform:none}.chart-line{stroke-dashoffset:0}}

/* =========================================================
   ISNEE NW V13 — ABOUT US REFINEMENT
   ========================================================= */

/* Solid premium sticky header: page content must never ghost through it. */
.subpage-header {
    background: rgba(255,255,255,.985) !important;
    -webkit-backdrop-filter: blur(14px) saturate(130%);
    backdrop-filter: blur(14px) saturate(130%);
    border-bottom: 1px solid rgba(15,23,42,.08) !important;
    box-shadow: 0 8px 24px rgba(15,23,42,.045);
}
.subpage-header.is-scrolled {
    background: rgba(255,255,255,.99) !important;
    box-shadow: 0 10px 28px rgba(15,23,42,.075);
}

/* Clean compact inner hero. The source image is now a true photo crop with no embedded browser/UI. */
.inner-hero {
    min-height: 292px;
}
.inner-hero-media {
    object-position: center 44%;
    filter: saturate(.92) contrast(1.03);
}
.inner-hero-overlay {
    background:
        linear-gradient(90deg, rgba(6,9,13,.82) 0%, rgba(6,9,13,.60) 43%, rgba(6,9,13,.30) 78%, rgba(6,9,13,.22) 100%),
        linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.28));
}
.inner-hero::after {
    opacity: .42;
}
.inner-hero-copy {
    padding: 42px 0 38px;
}
.inner-hero h1 {
    font-size: clamp(40px, 3.8vw, 58px);
}
.inner-hero p {
    margin-top: 13px;
    font-size: 15px;
}
.inner-breadcrumb {
    margin-top: 18px;
}

/* Tighter, better-balanced story block. */
.about-story {
    background: linear-gradient(180deg,#f7f8fa 0%,#f4f6f8 100%);
}
.story-grid {
    grid-template-columns: minmax(0,.84fr) minmax(0,1.16fr);
    gap: 54px;
}
.story-photo {
    border-radius: 20px;
}
.story-photo>img {
    height: 365px;
    object-position: center 48%;
}
.experience-chip {
    min-width: 248px;
    padding: 15px 18px;
}
.experience-chip strong {
    font-size: 29px;
}
.story-copy h2,
.section-head-tight h2,
.participation-copy h2,
.college-copy h2 {
    font-size: clamp(30px,2.75vw,43px);
}
.story-copy p,
.participation-copy p,
.college-copy p {
    font-size: 14.5px;
    line-height: 1.68;
}
.about-feature-grid {
    margin-top: 18px;
}
.about-feature-grid span {
    min-height: 42px;
}

/* ---------------------------------------------------------
   5 I's — connected motorsport/engineering progression
   --------------------------------------------------------- */
.values-section {
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 15%, rgba(237,28,36,.035), transparent 22%),
        #fff;
}
.values-decor {
    opacity: .018;
}
.section-head-tight {
    max-width: 840px;
    margin-bottom: 34px;
}
.values-journey {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 18px;
    padding-top: 18px;
}
.values-track {
    position: absolute;
    left: 5%;
    right: 5%;
    top: 43px;
    height: 2px;
    background: #e8ebef;
    overflow: hidden;
}
.values-track::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,#f7b70c 0 18%,#ed1c24 18% 78%,#30353c 78% 100%);
    opacity: .88;
}
.values-track span {
    position: absolute;
    top: -2px;
    left: -15%;
    width: 16%;
    height: 6px;
    border-radius: 999px;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,.92),transparent);
    animation: valueTrackSweep 5s ease-in-out infinite;
}
.value-stage {
    position: relative;
    min-width: 0;
}
.value-node {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 64px;
    height: 50px;
    margin-bottom: 17px;
}
.value-node b {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    border-radius: 50%;
    border: 1px solid rgba(237,28,36,.22);
    background: #fff;
    box-shadow: 0 8px 20px rgba(15,23,42,.07);
    color: #111418;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
}
.value-node span {
    position: absolute;
    left: 39px;
    width: 14px;
    height: 5px;
    transform: skewX(-18deg);
    background: var(--sub-red);
    box-shadow: 9px 0 0 rgba(247,183,12,.92);
}
.value-stage-copy {
    min-height: 205px;
    padding: 18px 18px 20px;
    border: 1px solid #e5e8ec;
    border-radius: 16px;
    background: linear-gradient(180deg,#fff,#fbfcfd);
    box-shadow: 0 10px 28px rgba(15,23,42,.04);
}
.value-stage-copy h3 {
    margin: 0 0 9px;
    font-size: 19px;
    letter-spacing: -.025em;
}
.value-stage-copy p {
    margin: 0;
    color: #697281;
    font-size: 12.25px;
    line-height: 1.62;
}
.value-stage:nth-of-type(3) .value-node b,
.value-stage:nth-of-type(4) .value-node b,
.value-stage:nth-of-type(5) .value-node b {
    border-color: rgba(237,28,36,.34);
}
@keyframes valueTrackSweep {
    0% { transform: translateX(0); opacity: 0; }
    12% { opacity: .8; }
    75% { opacity: .45; }
    100% { transform: translateX(720%); opacity: 0; }
}

/* ---------------------------------------------------------
   Participation — qualitative timeline; no fabricated chart
   --------------------------------------------------------- */
.participation-section {
    background: #f5f7fa;
}
.participation-grid {
    grid-template-columns: .72fr 1.28fr;
    gap: 52px;
}
.participation-copy p + p {
    margin-top: 8px;
    font-size: 12.5px;
    color: #858d99;
}
.participation-timeline {
    position: relative;
    padding: 24px 24px 25px;
    border: 1px solid #e0e5eb;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15,23,42,.05);
}
.timeline-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 28px;
}
.timeline-head strong {
    font-size: 14px;
}
.timeline-head span {
    color: #929aa7;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.timeline-rail {
    position: absolute;
    left: 43px;
    right: 43px;
    top: 96px;
    height: 2px;
    background: #e8ebef;
}
.timeline-rail span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,#f7b70c 0 18%,#ed1c24 18% 58%,#9da5b1 58% 72%,#ed1c24 72% 100%);
    opacity: .86;
}
.participation-timeline {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    column-gap: 14px;
}
.timeline-head,
.timeline-rail {
    grid-column: 1 / -1;
}
.timeline-step {
    position: relative;
    padding-top: 26px;
    min-width: 0;
}
.timeline-step b {
    display: block;
    color: #7d8693;
    font-size: 10.5px;
    font-weight: 850;
    letter-spacing: .04em;
}
.timeline-step i {
    position: absolute;
    top: 0;
    left: 0;
    width: 11px;
    height: 11px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--sub-red);
    box-shadow: 0 0 0 2px rgba(237,28,36,.22);
}
.timeline-step.is-start i { background: var(--sub-gold); box-shadow: 0 0 0 2px rgba(247,183,12,.24); }
.timeline-step.is-dip i { background: #6f7782; box-shadow: 0 0 0 2px rgba(111,119,130,.20); }
.timeline-step.is-recovery i { box-shadow: 0 0 0 3px rgba(237,28,36,.16),0 0 18px rgba(237,28,36,.18); }
.timeline-step strong {
    display: block;
    margin-top: 9px;
    color: #161a20;
    font-size: 13px;
    line-height: 1.25;
}
.timeline-step small {
    display: block;
    margin-top: 7px;
    color: #7a8390;
    font-size: 10.5px;
    line-height: 1.5;
}

/* ---------------------------------------------------------
   Academic network — controlled marquee with intentional fades
   --------------------------------------------------------- */
.college-section {
    border-bottom: 4px solid transparent;
    border-image: linear-gradient(90deg,var(--sub-red) 0 28%,var(--sub-gold) 28% 42%,#31363d 42% 100%) 1;
}
.college-bg::after {
    opacity: .018;
}
.college-logos {
    position: relative;
    overflow: hidden;
    padding: 8px 0;
    mask-image: none;
    -webkit-mask-image: none;
}
.logo-fade {
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    width: 52px;
    pointer-events: none;
}
.logo-fade-left { left: 0; background: linear-gradient(90deg,#0c1015,rgba(12,16,21,.72),transparent); }
.logo-fade-right { right: 0; background: linear-gradient(270deg,#0c1015,rgba(12,16,21,.72),transparent); }
.logo-track {
    gap: 14px;
    padding-left: 18px;
    animation-duration: 34s;
}
.college-logo {
    width: 126px;
    height: 76px;
    border-radius: 12px;
    box-shadow: 0 10px 20px rgba(0,0,0,.12);
}

/* Stronger separation before the footer rather than one continuous dark mass. */
.subpage-body .site-footer {
    border-top: 1px solid rgba(255,255,255,.08);
}

/* Tighter vertical rhythm throughout About. */
.section-compact {
    padding: 54px 0;
}

@media(max-width:1180px){
    .values-journey{grid-template-columns:repeat(3,1fr);row-gap:22px}
    .values-track{display:none}
    .participation-timeline{grid-template-columns:repeat(3,1fr);row-gap:20px}
    .timeline-rail{display:none}
}
@media(max-width:960px){
    .inner-hero{min-height:270px}
    .story-grid,.participation-grid,.college-grid{grid-template-columns:1fr;gap:32px}
    .story-photo>img{height:340px}
    .values-journey{grid-template-columns:repeat(2,1fr)}
    .participation-timeline{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
    .section-compact{padding:42px 0}
    .inner-hero{min-height:250px}
    .story-photo>img{height:300px}
    .values-journey,.participation-timeline{grid-template-columns:1fr}
    .value-stage-copy{min-height:0}
    .participation-timeline{padding:20px 18px}
    .college-logo{width:108px;height:66px}
}
@media(prefers-reduced-motion:reduce){
    .values-track span{animation:none}
}

/* =========================================================
   V14 ABOUT PAGE REFINEMENTS
   ========================================================= */

/* Clean About hero image: use the existing ISNEE team photograph only. */
.about-inner-hero .inner-hero-media {
    object-fit: cover;
    object-position: center 45%;
    filter: saturate(.9) contrast(1.03);
}
.about-inner-hero .inner-hero-overlay {
    background:
        linear-gradient(90deg, rgba(8,11,16,.86) 0%, rgba(8,11,16,.60) 38%, rgba(8,11,16,.36) 68%, rgba(8,11,16,.48) 100%),
        linear-gradient(180deg, rgba(8,11,16,.08), rgba(8,11,16,.32));
}

/* 5 I's: one continuous connected engineering/racing line. */
.values-journey {
    gap: 18px;
    padding-top: 8px;
}
.values-track {
    left: 7.5%;
    right: 7.5%;
    top: 31px;
    height: 3px;
    overflow: visible;
    background: linear-gradient(90deg,#f7b70c 0 20%,#ed1c24 20% 80%,#343a42 80% 100%);
    border-radius: 999px;
    box-shadow: 0 0 0 1px rgba(15,23,42,.025);
}
.values-track::before { display:none; }
.values-track span {
    top: -2px;
    height: 7px;
    width: 12%;
    border-radius: 999px;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,.92),transparent);
    opacity: .55;
}
.value-node {
    width: 48px;
    height: 48px;
    margin: 0 auto 15px;
    justify-content: center;
}
.value-node b {
    width: 46px;
    height: 46px;
    border: 2px solid rgba(237,28,36,.22);
    box-shadow: 0 8px 20px rgba(15,23,42,.08),0 0 0 7px rgba(255,255,255,.96);
}
.value-node span { display:none; }
.value-stage:first-of-type .value-node b { border-color: rgba(247,183,12,.46); }
.value-stage:last-of-type .value-node b { border-color: rgba(52,58,66,.32); }
.value-stage-copy { min-height: 198px; }

/* Participation graph - responsive, data-driven and easy to update in JS. */
.participation-grid {
    grid-template-columns: .66fr 1.34fr;
    gap: 46px;
    align-items: center;
}
.chart-maintenance-note {
    margin-top: 10px !important;
    padding: 11px 13px;
    border-left: 3px solid var(--sub-red);
    border-radius: 0 10px 10px 0;
    background: rgba(255,255,255,.68);
    color: #7b8492 !important;
    font-size: 11.5px !important;
    line-height: 1.55 !important;
}
.participation-chart-v14 {
    padding: 22px 24px 17px;
    border: 1px solid #dfe4ea;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 15px 36px rgba(15,23,42,.055);
}
.chart-v14-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom: 13px;
}
.chart-v14-head > div:first-child { display:grid; gap:3px; }
.chart-v14-head strong { font-size: 14px; color:#15191f; }
.chart-v14-head span { color:#8b94a1; font-size:10.5px; }
.chart-v14-key { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.chart-v14-key i { width:22px; height:3px; border-radius:999px; background:var(--sub-red); box-shadow:0 0 10px rgba(237,28,36,.18); }
.chart-v14-canvas { position:relative; min-height: 298px; }
.chart-v14-canvas svg { display:block; width:100%; height:auto; overflow:visible; }
.chart-v14-grid line { stroke:#edf0f4; stroke-width:1; }
.chart-v14-axis text { fill:#8c95a2; font-size:10px; font-weight:700; }
.chart-v14-area { fill:url(#participationAreaV14); }
.chart-v14-line {
    fill:none;
    stroke:var(--sub-red);
    stroke-width:4;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:drop-shadow(0 4px 7px rgba(237,28,36,.10));
}
.chart-v14-dot {
    fill:#fff;
    stroke:var(--sub-red);
    stroke-width:3;
    transition:r .18s ease, fill .18s ease;
}
.chart-v14-dot.is-peak { fill:var(--sub-red); stroke:#fff; stroke-width:3; }
.chart-v14-dot:hover { r:7; fill:#fff4f4; }
.chart-v14-label { fill:#7f8896; font-size:10px; font-weight:750; }
.chart-v14-peak-label { fill:var(--sub-red); font-size:10px; font-weight:850; }
.chart-v14-tooltip {
    position:absolute;
    z-index:5;
    pointer-events:none;
    transform:translate(-50%,-115%);
    min-width:78px;
    padding:7px 9px;
    border-radius:9px;
    background:#11151a;
    color:#fff;
    text-align:center;
    font-size:10px;
    line-height:1.35;
    box-shadow:0 8px 22px rgba(0,0,0,.18);
    opacity:0;
    transition:opacity .16s ease;
}
.chart-v14-tooltip strong { display:block; font-size:12px; color:#fff; }
.chart-v14-tooltip.is-visible { opacity:1; }
.chart-v14-foot {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-top:3px;
    padding-top:11px;
    border-top:1px solid #eef1f4;
}
.chart-v14-foot > span {
    flex:0 0 auto;
    color:#5f6875;
    font-size:10px;
    font-weight:850;
    letter-spacing:.06em;
}
.chart-v14-foot small {
    max-width:620px;
    color:#99a1ac;
    font-size:9.5px;
    line-height:1.45;
    text-align:right;
}

/* Only one separation rail between Academic Network and footer. */
.subpage-body .college-section {
    border-bottom: 0 !important;
    border-image: none !important;
}
.subpage-body .site-footer {
    border-top: 0 !important;
}
.subpage-body .site-footer .footer-accent {
    height: 3px !important;
    background: linear-gradient(90deg,var(--sub-red) 0 24%,var(--sub-gold) 24% 35%,#34383e 35% 48%,transparent 48%) !important;
}

@media(max-width:1180px){
    .values-track{display:block;left:10%;right:10%;}
}
@media(max-width:960px){
    .participation-grid{grid-template-columns:1fr;gap:30px}
    .values-track{display:none}
    .chart-v14-canvas{min-height:260px}
}
@media(max-width:680px){
    .participation-chart-v14{padding:17px 14px 14px}
    .chart-v14-head{align-items:flex-start}
    .chart-v14-foot{display:block}
    .chart-v14-foot small{display:block;margin-top:7px;text-align:left}
    .chart-v14-canvas{min-height:230px}
}

/* =========================================================
   SERVICES PAGE - subtle motorsport action, professional UX
   ========================================================= */
.services-inner-hero .inner-hero-media {
    object-position: center 54%;
    filter: saturate(.92) contrast(1.06);
}
.services-inner-hero .inner-hero-overlay {
    background:
        linear-gradient(90deg,rgba(6,9,13,.88) 0%,rgba(6,9,13,.64) 42%,rgba(6,9,13,.34) 76%,rgba(6,9,13,.44) 100%),
        linear-gradient(180deg,rgba(6,9,13,.08),rgba(6,9,13,.38));
}
.services-inner-hero::before {
    content: "";
    position: absolute;
    z-index: -2;
    right: -6%;
    top: 18%;
    width: 52%;
    height: 62%;
    opacity: .13;
    background:
        repeating-linear-gradient(112deg,transparent 0 18px,rgba(255,255,255,.52) 18px 20px,transparent 20px 34px),
        linear-gradient(90deg,transparent,rgba(237,28,36,.35),transparent);
    transform: skewX(-14deg);
}
.service-hero-meter {
    position: absolute;
    right: min(7vw,92px);
    bottom: 38px;
    display: flex;
    gap: 7px;
    transform: skewX(-18deg);
    opacity: .86;
}
.service-hero-meter i {
    display: block;
    width: 28px;
    height: 8px;
    border-radius: 2px;
    background: rgba(255,255,255,.22);
    box-shadow: 0 0 16px rgba(237,28,36,.10);
    animation: serviceMeter 2.4s steps(1,end) infinite;
}
.service-hero-meter i:nth-child(1) { animation-delay: 0s; }
.service-hero-meter i:nth-child(2) { animation-delay: .12s; }
.service-hero-meter i:nth-child(3) { animation-delay: .24s; }
.service-hero-meter i:nth-child(4) { animation-delay: .36s; }
.service-hero-meter i:nth-child(5) { animation-delay: .48s; }
.service-hero-meter i:nth-child(6) { animation-delay: .60s; }
@keyframes serviceMeter {
    0%, 100% { background: rgba(255,255,255,.22); }
    45%, 82% { background: var(--sub-red); box-shadow: 0 0 16px rgba(237,28,36,.35); }
}

.services-command {
    background: linear-gradient(180deg,#f8f9fb 0%,#f2f4f7 100%);
}
.services-command-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(360px,.72fr);
    gap: 46px;
    align-items: center;
}
.services-command-copy h2,
.services-field-head h2,
.access-panel h2 {
    margin: 10px 0 14px;
    font-size: clamp(30px,2.8vw,43px);
    line-height: 1.06;
    letter-spacing: -.04em;
    font-weight: 850;
}
.services-command-copy p,
.services-field-head p {
    max-width: 820px;
    margin: 0;
    color: #626b79;
    font-size: 14.5px;
    line-height: 1.72;
}
.services-quick-console {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 14px;
    border-radius: 18px;
    background:
        linear-gradient(135deg,rgba(237,28,36,.16),transparent 32%),
        #11161c;
    box-shadow: 0 18px 38px rgba(15,23,42,.16);
    overflow: hidden;
}
.services-quick-console::after {
    content: "";
    position: absolute;
    inset: auto 16px 12px 16px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-gold) 0 24%,var(--sub-red) 24% 72%,rgba(255,255,255,.18) 72%);
    transform: skewX(-18deg);
}
.console-link {
    position: relative;
    min-height: 84px;
    padding: 16px 16px 18px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 12px;
    background: rgba(255,255,255,.045);
    color: #fff;
    text-decoration: none;
    overflow: hidden;
}
.console-link::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -16px;
    width: 6px;
    background: var(--sub-red);
    transform: skewX(-18deg);
    transition: left .18s ease;
}
.console-link:hover::before,
.console-link:focus-visible::before {
    left: 0;
}
.console-link span {
    display: block;
    color: rgba(255,255,255,.58);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.console-link strong {
    display: block;
    margin-top: 8px;
    font-size: 18px;
    letter-spacing: -.025em;
}
.console-link.is-primary {
    background: linear-gradient(135deg,rgba(237,28,36,.92),rgba(237,28,36,.70));
}
.console-link.is-primary span { color: rgba(255,255,255,.72); }

.services-field {
    position: relative;
    background:
        radial-gradient(circle at 82% 8%,rgba(237,28,36,.08),transparent 23%),
        linear-gradient(180deg,#10151b 0%,#0c1015 100%);
    color: #fff;
}
.services-field::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .018;
    background:
        linear-gradient(45deg,#fff 25%,transparent 25% 75%,#fff 75%),
        linear-gradient(45deg,#fff 25%,transparent 25% 75%,#fff 75%);
    background-size: 34px 34px;
    background-position: 0 0,17px 17px;
    pointer-events: none;
}
.services-field .container-wide {
    position: relative;
}
.services-field-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 24px;
}
.services-field-head h2 {
    color: #fff;
}
.services-field-head p {
    max-width: 430px;
    color: rgba(255,255,255,.62);
    text-align: right;
}
.services-track {
    display: grid;
    gap: 14px;
}
.service-row {
    position: relative;
    display: grid;
    grid-template-columns: minmax(320px,.52fr) minmax(0,1fr);
    min-height: 276px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 8px;
    background: rgba(255,255,255,.045);
    overflow: hidden;
    box-shadow: 0 18px 46px rgba(0,0,0,.16);
}
.service-row::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg,var(--sub-gold),var(--sub-red),#3a414a);
}
.service-row-media {
    position: relative;
    min-height: 276px;
    overflow: hidden;
    background: #1d242c;
}
.service-row-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,transparent 52%,rgba(12,16,21,.58)),
        linear-gradient(180deg,transparent,rgba(0,0,0,.14));
    pointer-events: none;
}
.service-row-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease, filter .45s ease;
}
.service-row:hover .service-row-media img {
    transform: scale(1.035);
    filter: saturate(1.04) contrast(1.03);
}
.service-row-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 34px 40px 34px 36px;
}
.service-row-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    color: rgba(255,255,255,.58);
    font-size: 10.5px;
    font-weight: 850;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.service-row-kicker span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 24px;
    border-radius: 999px;
    background: rgba(237,28,36,.15);
    color: #fff;
    letter-spacing: .06em;
}
.service-row h3 {
    margin: 0 0 12px;
    font-size: clamp(24px,2.3vw,34px);
    line-height: 1.06;
    letter-spacing: -.035em;
}
.service-row h3 a {
    color: #fff;
    text-decoration: none;
}
.service-row p {
    max-width: 780px;
    margin: 0;
    color: rgba(255,255,255,.68);
    font-size: 14px;
    line-height: 1.68;
}
.service-action {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: fit-content;
    margin-top: 18px;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.service-action svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: var(--sub-red);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .18s ease;
}
.service-action:hover svg,
.service-action:focus-visible svg {
    transform: translateX(4px);
}

.services-access {
    background: #f5f7fa;
}
.services-access-grid {
    display: grid;
    grid-template-columns: .84fr 1.16fr;
    gap: 22px;
    align-items: stretch;
}
.access-panel {
    position: relative;
    padding: 28px;
    border: 1px solid #e0e5eb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(15,23,42,.052);
    overflow: hidden;
}
.access-panel::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 18px;
    width: 82px;
    height: 4px;
    background: linear-gradient(90deg,var(--sub-gold) 0 32%,var(--sub-red) 32% 72%,#252b33 72%);
    transform: skewX(-18deg);
}
.access-panel h2 {
    margin-bottom: 20px;
}
.access-links {
    display: grid;
    gap: 10px;
}
.access-links a {
    position: relative;
    display: grid;
    gap: 5px;
    padding: 15px 46px 15px 16px;
    border: 1px solid #e6eaf0;
    border-radius: 8px;
    background: #fbfcfd;
    color: #14191f;
    text-decoration: none;
}
.access-links a::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    width: 18px;
    height: 2px;
    background: var(--sub-red);
    transform: translateY(-50%);
}
.access-links strong {
    font-size: 14px;
}
.access-links span {
    color: #74808e;
    font-size: 12px;
}
.access-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
}
.access-gallery-grid a {
    position: relative;
    min-height: 154px;
    border-radius: 8px;
    overflow: hidden;
    background: #171d24;
    color: #fff;
    text-decoration: none;
}
.access-gallery-grid img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .88;
    transition: transform .35s ease, opacity .35s ease;
}
.access-gallery-grid span {
    position: absolute;
    z-index: 2;
    left: 12px;
    right: 12px;
    bottom: 10px;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-shadow: 0 2px 10px rgba(0,0,0,.45);
}
.access-gallery-grid a::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(180deg,transparent 35%,rgba(0,0,0,.58));
}
.access-gallery-grid a:hover img,
.access-gallery-grid a:focus-visible img {
    transform: scale(1.04);
    opacity: 1;
}

@media(max-width:1180px){
    .services-command-grid,
    .services-access-grid {
        grid-template-columns: 1fr;
    }
    .service-row {
        grid-template-columns: minmax(280px,.48fr) minmax(0,1fr);
    }
    .access-gallery-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}
@media(max-width:860px){
    .service-hero-meter {
        display: none;
    }
    .services-field-head {
        display: block;
    }
    .services-field-head p {
        max-width: 720px;
        text-align: left;
    }
    .service-row {
        grid-template-columns: 1fr;
    }
    .service-row-media {
        min-height: 260px;
    }
    .service-row-media::after {
        background: linear-gradient(180deg,transparent,rgba(12,16,21,.38));
    }
    .service-row-copy {
        padding: 27px 24px 29px;
    }
}
@media(max-width:620px){
    .services-quick-console {
        grid-template-columns: 1fr;
    }
    .console-link {
        min-height: 72px;
    }
    .service-row-media {
        min-height: 220px;
    }
    .service-row-copy {
        padding: 24px 18px 26px;
    }
    .service-row-kicker {
        align-items: flex-start;
        line-height: 1.35;
    }
    .access-panel {
        padding: 22px 16px;
    }
    .access-gallery-grid {
        grid-template-columns: 1fr;
    }
    .access-gallery-grid a {
        min-height: 185px;
    }
}
@media(prefers-reduced-motion:reduce){
    .service-hero-meter i {
        animation: none;
    }
    .service-row-media img,
    .access-gallery-grid img,
    .service-action svg {
        transition: none;
    }
}

/* =========================================================
   SERVICES PAGE V2 - cleaner, calmer, no over-designed cues
   ========================================================= */
.services-inner-hero {
    min-height: 274px;
}
.services-inner-hero .inner-hero-media {
    object-position: center 50%;
    filter: saturate(.92) contrast(1.04);
}
.services-inner-hero .inner-hero-overlay {
    background:
        linear-gradient(90deg,rgba(7,10,14,.82) 0%,rgba(7,10,14,.60) 43%,rgba(7,10,14,.30) 78%,rgba(7,10,14,.20) 100%),
        linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.24));
}
.services-inner-hero::before,
.service-hero-meter {
    display: none !important;
}
.services-inner-hero .inner-hero-copy {
    padding-top: 38px;
    padding-bottom: 34px;
}
.services-inner-hero h1 {
    max-width: 980px;
    font-size: clamp(38px,3.2vw,54px);
    letter-spacing: -.04em;
}
.services-inner-hero p {
    max-width: 770px;
}

.services-command {
    background: linear-gradient(180deg,#f7f8fa 0%,#f2f5f8 100%);
}
.services-command.section-compact {
    padding: 50px 0 42px;
}
.services-command-grid {
    grid-template-columns: minmax(0,.82fr) minmax(520px,1.18fr);
    gap: 34px;
}
.services-command-copy h2 {
    max-width: 690px;
    font-size: clamp(29px,2.35vw,38px);
}
.services-command-copy p {
    max-width: 800px;
}
.services-quick-rail {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 1px;
    padding: 6px;
    border: 1px solid #dfe5ec;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 16px 34px rgba(15,23,42,.065);
}
.services-quick-rail a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 78px;
    padding: 13px 13px;
    border-radius: 6px;
    color: #12171d;
    text-decoration: none;
    background: #fff;
    overflow: hidden;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}
.services-quick-rail a::before {
    content: "";
    position: absolute;
    left: 13px;
    right: 13px;
    bottom: 7px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg,var(--sub-gold),var(--sub-red));
    transform: scaleX(.32);
    transform-origin: left;
    opacity: .55;
    transition: transform .18s ease, opacity .18s ease;
}
.services-quick-rail a:hover,
.services-quick-rail a:focus-visible {
    background: #11161c;
    color: #fff;
    transform: translateY(-2px);
}
.services-quick-rail a:hover::before,
.services-quick-rail a:focus-visible::before {
    transform: scaleX(1);
    opacity: 1;
}
.services-quick-rail svg {
    flex: none;
    width: 24px;
    height: 24px;
    fill: none;
    stroke: var(--sub-red);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.services-quick-rail a:hover svg,
.services-quick-rail a:focus-visible svg {
    stroke: #fff;
}
.services-quick-rail span {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.services-quick-rail strong {
    font-size: 13px;
    line-height: 1.1;
    font-weight: 850;
    letter-spacing: -.015em;
}
.services-quick-rail small {
    color: #7c8795;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.services-quick-rail a:hover small,
.services-quick-rail a:focus-visible small {
    color: rgba(255,255,255,.64);
}

.services-field {
    background: #fff;
    color: #111418;
}
.services-field::before {
    display: none;
}
.services-field.section-compact {
    padding: 52px 0;
}
.services-field-head {
    align-items: flex-start;
    margin-bottom: 22px;
}
.services-field-head h2 {
    color: #111418;
    font-size: clamp(30px,2.55vw,40px);
}
.services-field-head p {
    color: #6f7885;
}
.services-track {
    gap: 12px;
}
.service-row {
    grid-template-columns: minmax(280px,.36fr) minmax(0,1fr);
    min-height: 214px;
    border: 1px solid #e0e5eb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15,23,42,.045);
}
.service-row::after {
    width: 3px;
    background: linear-gradient(180deg,var(--sub-red),var(--sub-gold));
}
.service-row-media {
    min-height: 214px;
    background: #dfe5ec;
}
.service-row-media::after {
    background: linear-gradient(90deg,transparent 64%,rgba(255,255,255,.18));
}
.service-row-copy {
    padding: 26px 32px 26px 30px;
}
.service-row-kicker {
    color: #7c8694;
    margin-bottom: 8px;
}
.service-row-kicker span {
    background: #f5f6f8;
    color: var(--sub-red);
}
.service-row h3 {
    font-size: clamp(24px,2vw,31px);
}
.service-row h3 a {
    color: #111418;
}
.service-row p {
    color: #626b78;
    font-size: 13.7px;
    line-height: 1.62;
}
.service-action {
    margin-top: 15px;
    color: #111418;
}

.services-access {
    background: #f4f6f8;
}
.services-access.section-compact {
    padding: 46px 0 54px;
}
.services-access-grid {
    grid-template-columns: .78fr 1.22fr;
}
.access-panel {
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(15,23,42,.045);
}
.access-panel h2 {
    font-size: clamp(28px,2.25vw,36px);
}
.access-links a {
    min-height: 64px;
}
.access-gallery-grid a {
    min-height: 138px;
}

@media(max-width:1240px){
    .services-command-grid {
        grid-template-columns: 1fr;
    }
    .services-quick-rail {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}
@media(max-width:860px){
    .services-inner-hero {
        min-height: 258px;
    }
    .services-quick-rail {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .service-row {
        grid-template-columns: 1fr;
    }
    .service-row-media {
        min-height: 230px;
    }
    .services-field-head p {
        text-align: left;
    }
}
@media(max-width:620px){
    .services-command.section-compact,
    .services-field.section-compact,
    .services-access.section-compact {
        padding: 38px 0;
    }
    .services-quick-rail {
        grid-template-columns: 1fr;
    }
    .services-quick-rail a {
        min-height: 66px;
    }
    .service-row-copy {
        padding: 23px 18px 25px;
    }
}
@media(prefers-reduced-motion:reduce){
    .services-quick-rail a,
    .services-quick-rail a::before {
        transition: none;
    }
}

/* =========================================================
   SERVICES PAGE V3 - 70/30 content-first planned layout
   ========================================================= */
.services-inner-hero .inner-hero-media {
    object-position: center 45%;
}
.services-inner-hero h1 {
    max-width: 900px;
}
.services-command.section-compact {
    padding: 46px 0 28px;
}
.services-command-grid {
    display: block;
}
.services-command-copy {
    max-width: 900px;
}
.services-command-copy h2 {
    max-width: 760px;
}
.services-command-copy p {
    max-width: 850px;
}
.services-quick-rail {
    display: none !important;
}

.services-field {
    background: linear-gradient(180deg,#f6f8fa 0%,#fff 100%);
}
.services-field.section-compact {
    padding: 30px 0 58px;
}
.services-field-head {
    margin-bottom: 18px;
}
.services-field-head {
    display: block;
}
.services-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(310px,31%);
    gap: 28px;
    align-items: start;
}
.services-track {
    min-width: 0;
}
.service-row {
    grid-template-columns: minmax(250px,.34fr) minmax(0,1fr);
    min-height: 196px;
}
.service-row-media {
    min-height: 196px;
}
.service-row-copy {
    padding: 24px 28px;
}
.service-row h3 {
    font-size: clamp(23px,1.75vw,29px);
}
.service-row p {
    font-size: 13.5px;
}

.services-side-rail {
    position: sticky;
    top: 102px;
    display: grid;
    gap: 16px;
    min-width: 0;
}
.side-panel {
    position: relative;
    padding: 18px;
    border: 1px solid #e1e6ed;
    border-radius: 8px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 12px 28px rgba(15,23,42,.055);
    overflow: hidden;
}
.side-panel + .side-panel {
    margin-top: 0;
}
.side-panel::before {
    content: "";
    position: absolute;
    left: 18px;
    right: auto;
    top: 0;
    width: 86px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
}
.side-panel-head {
    display: grid;
    gap: 4px;
    margin-bottom: 13px;
}
.side-panel-head span {
    color: var(--sub-red);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.side-panel-head strong {
    color: #12171d;
    font-size: 21px;
    line-height: 1.12;
    letter-spacing: -.03em;
}
.side-link-list {
    display: grid;
    gap: 8px;
}
.side-link-list a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 58px;
    padding: 10px 11px;
    border: 1px solid #e7ebf0;
    border-radius: 7px;
    background: #fbfcfd;
    color: #12171d;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.side-link-list a::after {
    content: "";
    position: absolute;
    right: 12px;
    width: 14px;
    height: 2px;
    border-radius: 999px;
    background: #cbd2dc;
    transition: width .18s ease, background .18s ease;
}
.side-link-list a:hover,
.side-link-list a:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(237,28,36,.24);
    background: #fff;
    box-shadow: 0 10px 20px rgba(15,23,42,.06);
}
.side-link-list a:hover::after,
.side-link-list a:focus-visible::after {
    width: 22px;
    background: var(--sub-red);
}
.side-link-list svg {
    flex: none;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: var(--sub-red);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.side-link-icon {
    flex: none;
    width: 26px;
    height: 26px;
    object-fit: contain;
}
.side-link-list span {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding-right: 28px;
}
.side-link-list strong {
    color: #161b22;
    font-size: 13px;
    line-height: 1.2;
}
.side-link-list small {
    color: #7b8592;
    font-size: 10.5px;
    line-height: 1.25;
}
.side-gallery-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.side-gallery-list a {
    position: relative;
    min-height: 92px;
    border-radius: 7px;
    overflow: hidden;
    background: #161b22;
    color: #fff;
    text-decoration: none;
}
.side-gallery-list img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .88;
    transition: transform .25s ease, opacity .25s ease;
}
.side-gallery-list a::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,transparent 28%,rgba(0,0,0,.62));
}
.side-gallery-list span {
    position: absolute;
    z-index: 2;
    left: 9px;
    right: 9px;
    bottom: 8px;
    color: #fff;
    font-size: 9.5px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.side-gallery-list a:hover img,
.side-gallery-list a:focus-visible img {
    transform: scale(1.045);
    opacity: 1;
}
.platform-list {
    display: grid;
    gap: 9px;
}
.platform-card {
    position: relative;
    display: grid;
    grid-template-columns: 74px minmax(0,1fr);
    gap: 12px;
    align-items: center;
    min-height: 94px;
    padding: 12px;
    border: 1px solid #e7ebf0;
    border-radius: 8px;
    background: #fbfcfd;
    color: #12171d;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.platform-card:hover,
.platform-card:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(237,28,36,.24);
    box-shadow: 0 10px 20px rgba(15,23,42,.06);
}
.platform-logo {
    display: grid;
    place-items: center;
    height: 62px;
    border: 1px solid #e4e9ef;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}
.platform-logo img {
    max-width: 86%;
    max-height: 46px;
    object-fit: contain;
}
.platform-card strong {
    display: block;
    margin-bottom: 5px;
    color: #12171d;
    font-size: 16px;
    line-height: 1.1;
}
.platform-card span {
    display: block;
    color: #707b89;
    font-size: 11.5px;
    line-height: 1.42;
}
.platform-grid {
    background: linear-gradient(135deg,#fbfdff,#f1f6fb);
}
.platform-pulse {
    background: linear-gradient(135deg,#fbfffe,#f1faf8);
}
.platform-academy {
    background: linear-gradient(135deg,#fffdf8,#f8f4ea);
}
.side-panel-app {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    background:
        linear-gradient(135deg,rgba(237,28,36,.06),transparent 42%),
        #fff;
    padding: 14px 16px;
}
.side-panel-app .side-panel-head {
    flex: 1 1 124px;
    margin: 0;
}
.side-panel-app .side-panel-head strong {
    font-size: 18px;
}
.store-badges {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: nowrap;
}
.store-badge {
    display: block;
    min-width: 0;
    flex: 0 0 96px;
}
.store-badge img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 5px;
    box-shadow: 0 7px 14px rgba(17,22,30,.08);
}
.services-access {
    display: none !important;
}

.results-field .service-row {
    min-height: 178px;
}
.results-field .service-row-media {
    min-height: 178px;
}
.results-field .service-row-copy {
    align-content: center;
}
.result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 15px;
}
.result-actions .service-action {
    margin-top: 0;
}
.result-season-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid #e0e5ec;
    border-radius: 999px;
    background: #fff;
    color: #20262e;
    text-decoration: none;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: transform .18s ease, border-color .18s ease, color .18s ease;
}
.result-season-link:hover,
.result-season-link:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(237,28,36,.34);
    color: var(--sub-red);
}

/* E-VERIFICATION PAGE */
.verification-section {
    background: linear-gradient(180deg,#f6f8fa 0%,#fff 100%);
}
.verification-section.section-compact {
    padding: 46px 0 64px;
}
.verification-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(310px,31%);
    gap: 28px;
    align-items: start;
}
.verification-main {
    display: grid;
    gap: 18px;
    min-width: 0;
}
.verification-card,
.verification-result {
    position: relative;
    padding: 28px;
    border: 1px solid #e1e6ed;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15,23,42,.055);
    overflow: hidden;
}
.verification-card::before,
.verification-result::before {
    content: "";
    position: absolute;
    left: 28px;
    top: 0;
    width: 116px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
}
.verification-card-head {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(230px,.34fr);
    gap: 24px;
    align-items: end;
    margin-bottom: 22px;
}
.verification-card-head h2 {
    margin: 0;
    color: #10151b;
    font-size: clamp(28px,2.2vw,38px);
    line-height: 1.05;
    letter-spacing: -.04em;
    font-weight: 880;
}
.verification-card-head p {
    margin: 0;
    color: #6c7785;
    font-size: 13px;
    line-height: 1.58;
}
.verification-form {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,.74fr) auto;
    gap: 14px;
    align-items: end;
}
.verification-field {
    display: grid;
    gap: 8px;
}
.verification-field label {
    color: #1b212a;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.verification-select,
.verification-input {
    width: 100%;
    min-height: 52px;
    box-sizing: border-box;
    border: 1px solid #dfe5ec;
    border-radius: 7px;
    background: #fbfcfd;
    color: #151b22;
    font: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.verification-select {
    padding: 0 14px;
}
.verification-input {
    padding: 0 16px;
}
.verification-select:focus,
.verification-input:focus {
    border-color: rgba(237,28,36,.38);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(237,28,36,.08);
}
.verification-submit {
    min-height: 52px;
    padding: 0 24px;
    border: 0;
    border-radius: 999px;
    background: var(--sub-red);
    color: #fff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
    box-shadow: 0 14px 24px rgba(237,28,36,.16);
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.verification-submit:hover,
.verification-submit:focus-visible {
    transform: translateY(-1px);
    background: #d9151d;
    box-shadow: 0 18px 30px rgba(237,28,36,.21);
}
.verification-error {
    color: var(--sub-red);
    font-size: 11px;
    font-weight: 780;
}
.verification-result-kicker {
    margin-bottom: 10px;
    color: var(--sub-red);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.verification-result h3 {
    margin: 0;
    color: #10151b;
    font-size: clamp(24px,1.9vw,32px);
    line-height: 1.1;
    letter-spacing: -.035em;
}
.verification-result p {
    max-width: 860px;
    margin: 12px 0 0;
    color: #5f6a78;
    font-size: 15px;
    line-height: 1.68;
}
.verification-result-success {
    border-color: rgba(28,136,74,.25);
}
.verification-result-success::before {
    background: linear-gradient(90deg,#1c884a,var(--sub-gold));
}
.verification-result-empty {
    border-color: rgba(237,28,36,.24);
}
.verification-detail-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin-top: 20px;
}
.verification-detail-grid div {
    min-height: 72px;
    padding: 14px 15px;
    border: 1px solid #e7ebf0;
    border-radius: 7px;
    background: #fbfcfd;
}
.verification-detail-grid span {
    display: block;
    margin-bottom: 5px;
    color: #8892a0;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.verification-detail-grid strong {
    color: #141a21;
    font-size: 15px;
    line-height: 1.32;
    font-weight: 850;
}
.verification-support-note {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #e7ebf0;
    color: #788391;
    font-size: 12.5px;
    line-height: 1.55;
}
.verification-support-note a {
    color: var(--sub-red);
    font-weight: 850;
    text-decoration: none;
}
.verification-side {
    position: sticky;
    top: 102px;
    display: grid;
    gap: 16px;
    min-width: 0;
}
.verification-steps {
    display: grid;
    gap: 9px;
}
.verification-steps div {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    gap: 10px;
    align-items: start;
    min-height: 58px;
    padding: 11px;
    border: 1px solid #e7ebf0;
    border-radius: 7px;
    background: #fbfcfd;
}
.verification-steps span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: rgba(237,28,36,.08);
    color: var(--sub-red);
    font-size: 10px;
    font-weight: 900;
}
.verification-steps p {
    margin: 0;
    color: #687382;
    font-size: 12px;
    line-height: 1.45;
}
.verification-type-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.verification-type-list span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid #e1e6ed;
    border-radius: 999px;
    background: #fbfcfd;
    color: #303741;
    font-size: 11px;
    font-weight: 820;
}

@media(max-width:1180px){
    .services-layout {
        grid-template-columns: 1fr;
    }
    .services-side-rail {
        position: static;
        grid-template-columns: 1fr 1fr;
    }
    .verification-layout {
        grid-template-columns: 1fr;
    }
    .verification-side {
        position: static;
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}
@media(max-width:860px){
    .services-field.section-compact {
        padding-top: 20px;
    }
    .services-side-rail {
        grid-template-columns: 1fr;
    }
    .verification-card-head,
    .verification-form,
    .verification-side {
        grid-template-columns: 1fr;
    }
    .verification-submit {
        width: 100%;
    }
}
@media(max-width:620px){
    .service-row {
        grid-template-columns: 1fr;
    }
    .side-gallery-list {
        grid-template-columns: 1fr 1fr;
    }
    .store-badges {
        grid-template-columns: 1fr;
    }
    .verification-section.section-compact {
        padding: 34px 0 48px;
    }
    .verification-card,
    .verification-result {
        padding: 24px 18px;
    }
    .verification-card::before,
    .verification-result::before {
        left: 18px;
    }
    .verification-detail-grid {
        grid-template-columns: 1fr;
    }
}
@media(prefers-reduced-motion:reduce){
    .side-link-list a,
    .side-link-list a::after,
    .side-gallery-list img,
    .platform-card {
        transition: none;
    }
}

/* ABOUT PAGE - light Academic Network section, visually separate from footer */
.college-section {
    background:
        radial-gradient(circle at 13% 34%, rgba(237,28,36,.055), transparent 27%),
        linear-gradient(180deg,#f7f9fc 0%,#eef2f6 100%);
    color: #12171d;
}
.college-bg {
    background: linear-gradient(135deg, rgba(255,255,255,.44), transparent 54%);
}
.college-bg::after {
    right: -70px;
    top: 6px;
    width: 270px;
    height: 185px;
    opacity: .055;
    background:
        linear-gradient(45deg,#10151b 25%,transparent 25% 75%,#10151b 75%),
        linear-gradient(45deg,#10151b 25%,transparent 25% 75%,#10151b 75%);
    background-size: 24px 24px;
    background-position: 0 0, 12px 12px;
    -webkit-mask-image: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.48) 0 28%, rgba(0,0,0,.20) 48%, transparent 76%);
    mask-image: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.48) 0 28%, rgba(0,0,0,.20) 48%, transparent 76%);
}
.college-grid {
    grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr);
    gap: 54px;
}
.college-copy h2 {
    max-width: 530px;
    color: #11161d;
}
.college-copy h2 strong {
    color: var(--sub-red);
}
.college-copy p {
    max-width: 500px;
    color: #687180;
}
.college-proof {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 8px;
    max-width: 520px;
    margin-top: 20px;
}
.college-proof span {
    min-height: 56px;
    padding: 10px 11px;
    border: 1px solid #dfe5ec;
    border-radius: 8px;
    background: rgba(255,255,255,.72);
    color: #7a8390;
    font-size: 10px;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: .08em;
    box-shadow: 0 10px 20px rgba(15,23,42,.035);
}
.college-proof strong {
    display: block;
    margin-bottom: 4px;
    color: #11161d;
    font-size: 13px;
    line-height: 1.1;
    letter-spacing: 0;
    text-transform: none;
}
.college-logo-board {
    position: relative;
    overflow: hidden;
    padding: 22px 0;
    border: 1px solid #dfe5ec;
    border-radius: 12px;
    background: rgba(255,255,255,.86);
    box-shadow: 0 18px 38px rgba(15,23,42,.08);
    mask-image: none;
    -webkit-mask-image: none;
}
.college-logo-board::before {
    content: "";
    position: absolute;
    left: 26px;
    right: 26px;
    top: 0;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red) 0 38%,var(--sub-gold) 38% 54%,#343a42 54% 100%);
}
.college-logo-board .logo-fade {
    width: 70px;
}
.college-logo-board .logo-fade-left {
    left: 0;
    background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 38%,transparent 100%);
}
.college-logo-board .logo-fade-right {
    right: 0;
    background: linear-gradient(270deg,#fff 0%,rgba(255,255,255,.92) 38%,transparent 100%);
}
.college-logo-board .logo-track {
    gap: 12px;
    padding-left: 26px;
    animation-duration: 34s;
}
.college-logo-board:hover .logo-track,
.college-logo-board:focus-within .logo-track {
    animation-play-state: paused;
}
.college-logo-board .college-logo {
    width: 156px;
    height: 86px;
    box-sizing: border-box;
    padding: 14px 16px;
    overflow: hidden;
    border: 1px solid #dde4ec;
    border-radius: 8px;
    background: linear-gradient(180deg,#fff,#fbfcfe);
    box-shadow: 0 8px 18px rgba(15,23,42,.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.college-logo-board .college-logo:hover {
    transform: translateY(-2px);
    border-color: rgba(237,28,36,.22);
    box-shadow: 0 12px 24px rgba(15,23,42,.10);
}
.college-logo-board .college-logo img {
    max-width: 90%;
    max-height: 56px;
    width: auto;
    height: auto;
    object-fit: contain;
}
@media(max-width:960px){
    .college-grid {
        grid-template-columns: 1fr;
    }
}
@media(max-width:620px){
    .college-proof {
        grid-template-columns: 1fr;
    }
    .college-logo-board {
        padding: 18px 0;
    }
    .college-logo-board .college-logo {
        width: 130px;
        height: 76px;
        padding: 12px 14px;
    }
    .college-logo-board .college-logo img {
        max-height: 48px;
    }
}

/* SERVICES PAGE V4 - tighter intro rhythm after review */
.services-command.section-compact {
    padding: 34px 0 12px;
}
.services-command-copy h2 {
    max-width: 720px;
    margin-bottom: 10px;
    font-size: clamp(27px,2.05vw,34px);
    line-height: 1.08;
}
.services-command-copy p {
    max-width: 820px;
    font-size: 14px;
    line-height: 1.58;
}
.services-field.section-compact {
    padding-top: 18px;
}
.services-field-head {
    margin-bottom: 14px;
}
.services-field-head h2 {
    font-size: clamp(29px,2.35vw,38px);
}

@media(max-width:680px){
    .services-command.section-compact {
        padding: 30px 0 8px;
    }
    .services-field.section-compact {
        padding-top: 14px;
    }
}

/* =========================================================
   STUDENT CHAPTER PAGE
   ========================================================= */
.chapter-inner-hero {
    min-height: 286px;
}
.chapter-inner-hero .inner-hero-media {
    object-position: center 45%;
    filter: saturate(.92) contrast(1.04);
}
.chapter-inner-hero .inner-hero-overlay {
    background:
        linear-gradient(90deg,rgba(7,10,14,.86) 0%,rgba(7,10,14,.62) 44%,rgba(7,10,14,.28) 78%,rgba(7,10,14,.22) 100%),
        linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.28));
}
.chapter-inner-hero::before {
    display: none !important;
}
.chapter-inner-hero .inner-hero-copy {
    padding-top: 40px;
    padding-bottom: 36px;
}
.chapter-inner-hero h1 {
    max-width: 940px;
    font-size: clamp(38px,3.25vw,56px);
    letter-spacing: -.04em;
}
.chapter-inner-hero p {
    max-width: 760px;
}

.chapter-overview {
    background: linear-gradient(180deg,#f7f8fa 0%,#f2f5f8 100%);
}
.chapter-overview.section-compact {
    padding: 54px 0 50px;
}
.chapter-overview-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(340px,.43fr);
    gap: 34px;
    align-items: start;
}
.chapter-copy h2 {
    max-width: 850px;
    margin: 0;
    color: #10151b;
    font-size: clamp(32px,2.75vw,46px);
    line-height: 1.06;
    letter-spacing: -.045em;
    font-weight: 850;
}
.chapter-copy p {
    max-width: 860px;
    margin: 17px 0 0;
    color: #677180;
    font-size: 14.5px;
    line-height: 1.75;
}
.chapter-proof {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px;
    max-width: 770px;
    margin-top: 25px;
}
.chapter-proof span {
    display: grid;
    gap: 5px;
    min-height: 78px;
    padding: 15px 16px;
    border: 1px solid #dfe5ec;
    border-radius: 8px;
    background: rgba(255,255,255,.82);
    color: #7e8795;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
    box-shadow: 0 12px 24px rgba(15,23,42,.035);
}
.chapter-proof strong {
    color: #11161c;
    font-size: 23px;
    line-height: 1;
    letter-spacing: -.02em;
    text-transform: none;
}

.chapter-action-panel {
    position: relative;
    padding: 22px;
    border: 1px solid #dfe5ec;
    border-radius: 8px;
    background:
        linear-gradient(135deg,rgba(237,28,36,.05),transparent 42%),
        #fff;
    box-shadow: 0 16px 34px rgba(15,23,42,.065);
    overflow: hidden;
}
.chapter-action-panel::before {
    content: "";
    position: absolute;
    left: 22px;
    top: 0;
    width: 116px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
}
.chapter-action-head {
    display: grid;
    gap: 7px;
}
.chapter-action-head span {
    color: var(--sub-red);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.chapter-action-head strong {
    color: #11161c;
    font-size: 26px;
    line-height: 1.05;
    letter-spacing: -.035em;
}
.chapter-action-head p {
    margin: 0;
    color: #6f7885;
    font-size: 12.5px;
    line-height: 1.55;
}
.chapter-primary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 50px;
    margin: 18px 0 15px;
    border-radius: 999px;
    background: var(--sub-red);
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .01em;
    box-shadow: 0 16px 26px rgba(237,28,36,.16);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.chapter-primary-action svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.chapter-primary-action:hover,
.chapter-primary-action:focus-visible {
    transform: translateY(-1px);
    background: #d9151d;
    box-shadow: 0 18px 30px rgba(237,28,36,.21);
}
.chapter-doc-list {
    display: grid;
    gap: 8px;
}
.chapter-doc-list a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid #e8edf2;
    border-radius: 7px;
    background: #fbfcfd;
    color: #222830;
    text-decoration: none;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 780;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.chapter-doc-list a:hover,
.chapter-doc-list a:focus-visible {
    transform: translateX(2px);
    border-color: rgba(237,28,36,.25);
    background: #fff;
}
.chapter-doc-list span {
    flex: none;
    display: grid;
    place-items: center;
    width: 30px;
    height: 24px;
    border-radius: 999px;
    background: #f4f6f8;
    color: var(--sub-red);
    font-size: 10px;
    font-weight: 900;
}

.chapter-model {
    background: #fff;
}
.chapter-model.section-compact {
    padding: 52px 0;
}
.chapter-model-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
    margin-top: 24px;
}
.chapter-model-card {
    position: relative;
    min-height: 190px;
    padding: 22px 20px;
    border: 1px solid #e0e5eb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 26px rgba(15,23,42,.042);
    overflow: hidden;
}
.chapter-model-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(180deg,var(--sub-red),var(--sub-gold));
}
.chapter-model-card span {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 28px;
    border-radius: 999px;
    background: #f5f6f8;
    color: var(--sub-red);
    font-size: 11px;
    font-weight: 900;
    margin-bottom: 22px;
}
.chapter-model-card h3 {
    margin: 0;
    color: #11161c;
    font-size: 22px;
    letter-spacing: -.03em;
}
.chapter-model-card p {
    margin: 10px 0 0;
    color: #6e7784;
    font-size: 12.5px;
    line-height: 1.58;
}

.chapter-benefits {
    background:
        radial-gradient(circle at 12% 14%,rgba(237,28,36,.11),transparent 26%),
        linear-gradient(135deg,#11161c 0%,#0d1117 100%);
    color: #fff;
    overflow: hidden;
}
.chapter-benefits.section-compact {
    padding: 58px 0;
}
.chapter-benefit-layout {
    display: grid;
    grid-template-columns: minmax(290px,.38fr) minmax(0,1fr);
    gap: 36px;
    align-items: start;
}
.chapter-benefit-intro h2 {
    max-width: 470px;
    margin: 0;
    color: #fff;
    font-size: clamp(31px,2.45vw,42px);
    line-height: 1.08;
    letter-spacing: -.04em;
}
.chapter-benefit-intro p {
    margin: 16px 0 0;
    color: rgba(255,255,255,.66);
    font-size: 13.5px;
    line-height: 1.7;
}
.chapter-benefit-intro blockquote {
    margin: 24px 0 0;
    padding: 15px 18px;
    border-left: 3px solid var(--sub-red);
    border-radius: 0 8px 8px 0;
    background: rgba(255,255,255,.055);
    color: rgba(255,255,255,.88);
    font-size: 15px;
    font-weight: 820;
    letter-spacing: -.01em;
}
.chapter-benefit-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px;
}
.chapter-benefit-card {
    min-height: 142px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 8px;
    background: rgba(255,255,255,.055);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.chapter-benefit-card h3 {
    margin: 0;
    color: #fff;
    font-size: 18px;
    letter-spacing: -.02em;
}
.chapter-benefit-card p {
    margin: 9px 0 0;
    color: rgba(255,255,255,.62);
    font-size: 12px;
    line-height: 1.55;
}

.chapter-requirements {
    background: linear-gradient(180deg,#f6f8fa 0%,#fff 100%);
}
.chapter-requirements.section-compact {
    padding: 54px 0;
}
.chapter-requirement-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.chapter-requirement-card,
.chapter-fee-card {
    position: relative;
    padding: 28px;
    border: 1px solid #dfe5ec;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 28px rgba(15,23,42,.048);
    overflow: hidden;
}
.chapter-requirement-card::before,
.chapter-fee-card::before {
    content: "";
    position: absolute;
    left: 28px;
    top: 0;
    width: 96px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
}
.chapter-requirement-card h2,
.chapter-fee-card h2 {
    margin: 0 0 18px;
    color: #11161c;
    font-size: clamp(28px,2.15vw,36px);
    line-height: 1.08;
    letter-spacing: -.04em;
}
.chapter-requirement-card ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.chapter-requirement-card li {
    position: relative;
    padding: 12px 14px 12px 34px;
    border: 1px solid #e8edf2;
    border-radius: 7px;
    background: #fbfcfd;
    color: #5f6875;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 720;
}
.chapter-requirement-card li::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 18px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--sub-red);
    box-shadow: 0 0 0 4px rgba(237,28,36,.08);
}
.chapter-fee-table {
    display: grid;
    border: 1px solid #e5eaf0;
    border-radius: 8px;
    overflow: hidden;
}
.chapter-fee-table div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 48px;
    padding: 0 16px;
    background: #fff;
}
.chapter-fee-table div:nth-child(even) {
    background: #f8fafc;
}
.chapter-fee-table span {
    color: #596373;
    font-size: 13px;
    font-weight: 760;
}
.chapter-fee-table strong {
    color: #11161c;
    font-size: 13px;
    font-weight: 850;
}
.chapter-note {
    margin: 14px 0 0;
    color: #87909d;
    font-size: 11.5px;
    line-height: 1.5;
}

.chapter-scope {
    background: #fff;
}
.chapter-scope.section-compact {
    padding: 48px 0 58px;
}
.chapter-scope-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}
.chapter-scope-grid span {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid #dfe5ec;
    border-radius: 999px;
    background: #fbfcfd;
    color: #2a3038;
    font-size: 13px;
    font-weight: 780;
    box-shadow: 0 8px 18px rgba(15,23,42,.035);
}
.chapter-scope-grid span::before {
    content: "";
    width: 7px;
    height: 7px;
    margin-right: 9px;
    border-radius: 999px;
    background: var(--sub-red);
    box-shadow: 0 0 0 4px rgba(237,28,36,.08);
}

@media(max-width:1180px) {
    .chapter-overview-grid,
    .chapter-benefit-layout {
        grid-template-columns: 1fr;
    }
    .chapter-model-grid,
    .chapter-benefit-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .chapter-action-panel {
        max-width: 760px;
    }
}
@media(max-width:760px) {
    .chapter-overview.section-compact,
    .chapter-model.section-compact,
    .chapter-benefits.section-compact,
    .chapter-requirements.section-compact,
    .chapter-scope.section-compact {
        padding: 42px 0;
    }
    .chapter-proof,
    .chapter-model-grid,
    .chapter-benefit-grid,
    .chapter-requirement-grid {
        grid-template-columns: 1fr;
    }
    .chapter-action-panel,
    .chapter-requirement-card,
    .chapter-fee-card {
        padding: 22px 18px;
    }
    .chapter-action-panel::before,
    .chapter-requirement-card::before,
    .chapter-fee-card::before {
        left: 18px;
    }
}
@media(prefers-reduced-motion:reduce) {
    .chapter-primary-action,
    .chapter-doc-list a {
        transition: none;
    }
}

/* STUDENT CHAPTER V2 - services-style 70/30 planned layout */
.chapter-command {
    background: linear-gradient(180deg,#f7f8fa 0%,#f2f5f8 100%);
}
.chapter-command.section-compact {
    padding: 42px 0 24px;
}
.chapter-command-copy {
    max-width: 920px;
}
.chapter-command-copy h2 {
    max-width: 840px;
    margin: 0;
    color: #10151b;
    font-size: clamp(30px,2.35vw,39px);
    line-height: 1.08;
    letter-spacing: -.045em;
    font-weight: 850;
}
.chapter-command-copy p {
    max-width: 860px;
    margin: 14px 0 0;
    color: #687382;
    font-size: 14px;
    line-height: 1.66;
}
.chapter-field {
    background: linear-gradient(180deg,#f2f5f8 0%,#fff 100%);
}
.chapter-field.section-compact {
    padding: 20px 0 58px;
}
.chapter-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(315px,31%);
    gap: 28px;
    align-items: start;
}
.chapter-main {
    display: grid;
    gap: 12px;
    min-width: 0;
}
.chapter-content-card,
.chapter-side-panel {
    position: relative;
    border: 1px solid #e0e5eb;
    border-radius: 8px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 28px rgba(15,23,42,.05);
    overflow: hidden;
}
.chapter-content-card {
    padding: 28px 32px;
}
.chapter-content-card::before,
.chapter-side-panel::before {
    content: "";
    position: absolute;
    left: 24px;
    top: 0;
    width: 96px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
}
.chapter-intro-card {
    padding-top: 30px;
}
.chapter-content-card h2,
.chapter-card-head h2 {
    margin: 0;
    color: #10151b;
    font-size: clamp(27px,2vw,34px);
    line-height: 1.1;
    letter-spacing: -.04em;
    font-weight: 850;
}
.chapter-content-card p {
    margin: 13px 0 0;
    color: #65707f;
    font-size: 13.5px;
    line-height: 1.7;
}
.chapter-intro-card blockquote {
    margin: 20px 0 0;
    padding: 14px 17px;
    border-left: 3px solid var(--sub-red);
    border-radius: 0 8px 8px 0;
    background: #f7f9fb;
    color: #20262e;
    font-size: 15px;
    font-weight: 840;
}
.chapter-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}
.chapter-card-head > p {
    max-width: 360px;
    margin: 4px 0 0;
    color: #7b8592;
    font-size: 12.5px;
    line-height: 1.52;
}
.chapter-model-rows {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
}
.chapter-model-rows div,
.chapter-benefit-list div {
    position: relative;
    min-height: 116px;
    padding: 17px 18px;
    border: 1px solid #e6ebf0;
    border-radius: 8px;
    background: #fbfcfd;
}
.chapter-model-rows div::before,
.chapter-benefit-list div::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 14px;
    width: 3px;
    border-radius: 0 999px 999px 0;
    background: linear-gradient(180deg,var(--sub-red),var(--sub-gold));
}
.chapter-model-rows span {
    display: inline-grid;
    place-items: center;
    min-width: 39px;
    height: 25px;
    margin-bottom: 14px;
    border-radius: 999px;
    background: #fff;
    color: var(--sub-red);
    font-size: 10.5px;
    font-weight: 900;
    box-shadow: 0 0 0 1px #e7ebf0;
}
.chapter-model-rows strong,
.chapter-benefit-list strong {
    display: block;
    color: #12171d;
    font-size: 17px;
    line-height: 1.15;
    letter-spacing: -.025em;
}
.chapter-model-rows p,
.chapter-benefit-list p {
    margin: 8px 0 0;
    color: #697382;
    font-size: 12px;
    line-height: 1.52;
}
.chapter-benefit-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
}
.chapter-benefit-list div {
    min-height: 120px;
}
.chapter-scope-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 0;
}
.chapter-scope-grid span {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 15px;
    border: 1px solid #dfe5ec;
    border-radius: 999px;
    background: #fbfcfd;
    color: #2a3038;
    font-size: 12.5px;
    font-weight: 780;
    box-shadow: 0 8px 18px rgba(15,23,42,.035);
}
.chapter-scope-grid span::before {
    content: "";
    width: 7px;
    height: 7px;
    margin-right: 9px;
    border-radius: 999px;
    background: var(--sub-red);
    box-shadow: 0 0 0 4px rgba(237,28,36,.08);
}
.chapter-bottom-apply {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 22px;
    align-items: center;
    margin-top: 18px;
    padding: 24px;
    border: 1px solid #e0e5eb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15,23,42,.055);
}
.chapter-bottom-apply > div {
    display: grid;
    gap: 7px;
}
.chapter-bottom-apply span {
    color: var(--sub-red);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.chapter-bottom-apply strong {
    color: #10151b;
    font-size: clamp(22px,2vw,30px);
    font-weight: 880;
    line-height: 1.12;
    letter-spacing: -.035em;
}
.chapter-bottom-apply p {
    max-width: 640px;
    margin: 0;
    color: #687382;
    font-size: 13px;
    line-height: 1.58;
}
.chapter-bottom-apply .chapter-primary-action {
    width: auto;
    min-width: 220px;
    margin: 0;
    padding: 0 28px;
}
.chapter-side-rail {
    position: sticky;
    top: 102px;
    display: grid;
    gap: 16px;
    min-width: 0;
}
.chapter-side-panel {
    padding: 18px;
}
.chapter-side-panel::before {
    left: 18px;
    width: 86px;
}
.chapter-apply-panel {
    background:
        linear-gradient(135deg,rgba(237,28,36,.065),transparent 44%),
        #fff;
}
.chapter-side-panel p {
    margin: -3px 0 0;
    color: #717c89;
    font-size: 12.5px;
    line-height: 1.55;
}
.chapter-primary-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100%;
    min-height: 48px;
    margin: 15px 0 0;
    border-radius: 999px;
    background: var(--sub-red);
    color: #fff !important;
    text-decoration: none;
    font-size: 13px;
    font-weight: 850;
    line-height: 1;
    box-shadow: 0 14px 24px rgba(237,28,36,.16);
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.chapter-primary-action svg {
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    display: block !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}
.chapter-primary-action:hover,
.chapter-primary-action:focus-visible {
    transform: translateY(-1px);
    background: #d9151d;
    box-shadow: 0 18px 30px rgba(237,28,36,.21);
}
.chapter-doc-list {
    display: grid;
    gap: 8px;
}
.chapter-doc-list a {
    position: relative;
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 9px 10px;
    border: 1px solid #e7ebf0;
    border-radius: 7px;
    background: #fbfcfd;
    color: #222830;
    text-decoration: none;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 780;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.chapter-doc-list a:hover,
.chapter-doc-list a:focus-visible {
    transform: translateX(2px);
    border-color: rgba(237,28,36,.25);
    background: #fff;
}
.chapter-doc-list span {
    flex: none;
    display: grid;
    place-items: center;
    width: 30px;
    height: 24px;
    border-radius: 999px;
    background: #f4f6f8;
    color: var(--sub-red);
    font-size: 10px;
    font-weight: 900;
}
.chapter-check-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.chapter-check-list li {
    position: relative;
    padding: 10px 10px 10px 31px;
    border: 1px solid #e8edf2;
    border-radius: 7px;
    background: #fbfcfd;
    color: #5f6875;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 720;
}
.chapter-check-list li::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 15px;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--sub-red);
    box-shadow: 0 0 0 4px rgba(237,28,36,.08);
}
.chapter-fee-table {
    display: grid;
    border: 1px solid #e5eaf0;
    border-radius: 8px;
    overflow: hidden;
}
.chapter-fee-table div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 42px;
    padding: 0 13px;
    background: #fff;
}
.chapter-fee-table div:nth-child(even) {
    background: #f8fafc;
}
.chapter-fee-table span {
    color: #596373;
    font-size: 12px;
    font-weight: 760;
}
.chapter-fee-table strong {
    color: #11161c;
    font-size: 12px;
    font-weight: 850;
}
.chapter-note {
    margin: 11px 0 0 !important;
    color: #87909d !important;
    font-size: 10.5px !important;
    line-height: 1.45 !important;
}

@media(max-width:1180px) {
    .chapter-layout {
        grid-template-columns: 1fr;
    }
    .chapter-bottom-apply {
        grid-template-columns: 1fr;
    }
    .chapter-side-rail {
        position: static;
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}
@media(max-width:820px) {
    .chapter-command.section-compact {
        padding: 36px 0 16px;
    }
    .chapter-field.section-compact {
        padding-top: 14px;
    }
    .chapter-card-head,
    .chapter-model-rows,
    .chapter-benefit-list,
    .chapter-side-rail {
        grid-template-columns: 1fr;
    }
    .chapter-card-head {
        display: grid;
        gap: 8px;
    }
    .chapter-content-card {
        padding: 24px 18px;
    }
    .chapter-bottom-apply {
        padding: 22px 18px;
    }
    .chapter-bottom-apply .chapter-primary-action {
        width: 100%;
    }
}

/* STUDENT CHAPTER V3 - tighter Services-aligned rhythm */
.chapter-command.section-compact {
    padding: 34px 0 12px;
}
.chapter-command-copy {
    max-width: 900px;
}
.chapter-command-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(315px,31%);
    gap: 28px;
    align-items: start;
}
.chapter-command-copy h2 {
    max-width: 720px;
    margin-bottom: 10px;
    font-size: clamp(27px,2.05vw,34px);
    line-height: 1.08;
}
.chapter-command-copy p {
    max-width: 820px;
    font-size: 14px;
    line-height: 1.58;
}
.chapter-field.section-compact {
    padding-top: 18px;
}
.chapter-content-card {
    padding: 24px 28px;
}
.chapter-content-card h2,
.chapter-card-head h2 {
    font-size: clamp(24px,1.78vw,30px);
}
.chapter-card-head {
    margin-bottom: 14px;
}
.chapter-card-head > p {
    max-width: 330px;
    font-size: 12px;
}
.chapter-model-rows {
    gap: 9px;
}
.chapter-model-rows div {
    min-height: 92px;
    padding: 14px 16px;
}
.chapter-model-rows span {
    display: inline-grid;
    vertical-align: middle;
    min-width: 38px;
    height: 24px;
    margin: 0 10px 0 0;
}
.chapter-model-rows strong {
    display: inline-block;
    vertical-align: middle;
    font-size: 17px;
}
.chapter-model-rows p {
    margin-top: 10px;
}
.chapter-benefit-list {
    gap: 9px;
}
.chapter-benefit-list div {
    min-height: 92px;
    padding: 15px 16px;
}
.chapter-benefit-list div:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    min-height: 72px;
}
.chapter-benefit-list strong {
    font-size: 16px;
}
.chapter-benefit-list p {
    margin-top: 7px;
    font-size: 11.8px;
    line-height: 1.48;
}

@media(max-width:820px) {
    .chapter-command.section-compact {
        padding: 30px 0 8px;
    }
    .chapter-command-grid {
        grid-template-columns: 1fr;
    }
    .chapter-field.section-compact {
        padding-top: 14px;
    }
    .chapter-benefit-list div:last-child:nth-child(odd) {
        grid-column: auto;
    }
}

/* =========================================================
   GALLERY PAGE - premium fast visual archive
   ========================================================= */
.gallery-inner-hero {
    min-height: 286px;
}
.gallery-inner-hero .inner-hero-media {
    object-position: center 45%;
    filter: saturate(.94) contrast(1.04);
}
.gallery-inner-hero .inner-hero-overlay {
    background:
        linear-gradient(90deg,rgba(7,10,14,.86) 0%,rgba(7,10,14,.61) 44%,rgba(7,10,14,.28) 78%,rgba(7,10,14,.22) 100%),
        linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.28));
}

.premium-gallery-intro {
    background: linear-gradient(180deg,#f7f8fa 0%,#f2f5f8 100%);
}
.premium-gallery-intro.section-compact {
    padding: 42px 0 28px;
}
.premium-gallery-intro-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(330px,.34fr);
    gap: 30px;
    align-items: end;
}
.premium-gallery-copy h2 {
    max-width: 760px;
    margin: 0;
    color: #10151b;
    font-size: 38px;
    line-height: 1.08;
    letter-spacing: 0;
    font-weight: 850;
}
.premium-gallery-copy p {
    max-width: 780px;
    margin: 13px 0 0;
    color: #687382;
    font-size: 14px;
    line-height: 1.62;
}
.premium-gallery-stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}
.premium-gallery-stats span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid #dfe5ec;
    border-radius: 8px;
    background: rgba(255,255,255,.78);
    color: #7b8491;
    font-size: 10.5px;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.premium-gallery-stats strong {
    color: #12171d;
    font-size: 18px;
    letter-spacing: 0;
    text-transform: none;
}

.premium-gallery-section {
    background: linear-gradient(180deg,#f2f5f8 0%,#fff 100%);
}
.premium-gallery-section.section-compact {
    padding: 16px 0 56px;
}
.premium-gallery-shell {
    display: grid;
    gap: 16px;
}
.premium-gallery-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.premium-gallery-toolbar button {
    min-height: 38px;
    padding: 0 15px;
    border: 1px solid #dfe5ec;
    border-radius: 999px;
    background: #fff;
    color: #3b424c;
    cursor: pointer;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}
.premium-gallery-toolbar button:hover,
.premium-gallery-toolbar button:focus-visible,
.premium-gallery-toolbar button.is-active {
    transform: translateY(-1px);
    border-color: rgba(237,28,36,.28);
    background: #11161c;
    color: #fff;
}
.premium-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    grid-auto-rows: 190px;
    gap: 12px;
}
.premium-gallery-card {
    position: relative;
    display: block;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: 1px solid #dfe5ec;
    border-radius: 8px;
    background: #161b22;
    color: #fff;
    cursor: pointer;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(15,23,42,.065);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, opacity .18s ease;
}
.premium-gallery-card.is-hidden {
    display: none;
}
.premium-gallery-card:hover,
.premium-gallery-card:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(237,28,36,.34);
    box-shadow: 0 18px 36px rgba(15,23,42,.13);
    outline: none;
}
.premium-gallery-feature {
    grid-column: span 2;
    grid-row: span 2;
}
.premium-gallery-tall {
    grid-row: span 2;
}
.premium-gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .94;
    transition: transform .32s ease, opacity .32s ease;
}
.premium-gallery-card:hover img,
.premium-gallery-card:focus-visible img {
    transform: scale(1.035);
    opacity: 1;
}
.premium-gallery-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,transparent 36%,rgba(0,0,0,.76));
}
.premium-gallery-card::before {
    content: "";
    position: absolute;
    z-index: 2;
    left: 14px;
    top: 12px;
    width: 74px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
    transform: scaleX(.5);
    transform-origin: left;
    transition: transform .22s ease;
}
.premium-gallery-card:hover::before,
.premium-gallery-card:focus-visible::before {
    transform: scaleX(1);
}
.premium-gallery-card span {
    position: absolute;
    z-index: 3;
    left: 16px;
    right: 16px;
    bottom: 15px;
    display: grid;
    gap: 4px;
    text-align: left;
}
.premium-gallery-card small {
    color: rgba(255,255,255,.72);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.premium-gallery-card strong {
    color: #fff;
    font-size: 17px;
    line-height: 1.16;
    letter-spacing: 0;
}
.premium-gallery-feature strong {
    max-width: 520px;
    font-size: 32px;
}

.premium-archive-section {
    background: #fff;
}
.premium-archive-section.section-compact {
    padding: 0 0 58px;
}
.premium-archive-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 26px;
    margin-bottom: 16px;
}
.premium-archive-head h2 {
    margin: 0;
    color: #10151b;
    font-size: 32px;
    line-height: 1.1;
    letter-spacing: 0;
}
.premium-archive-head p {
    max-width: 420px;
    margin: 0;
    color: #707a87;
    font-size: 13px;
    line-height: 1.55;
}
.premium-archive-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
}
.premium-archive-grid a {
    position: relative;
    min-height: 104px;
    padding: 18px;
    border: 1px solid #e0e5eb;
    border-radius: 8px;
    background: #fbfcfd;
    color: #12171d;
    text-decoration: none;
    overflow: hidden;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.premium-archive-grid a::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 0;
    width: 74px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
}
.premium-archive-grid a:hover,
.premium-archive-grid a:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(237,28,36,.24);
    background: #fff;
    box-shadow: 0 12px 26px rgba(15,23,42,.06);
}
.premium-archive-grid strong {
    display: block;
    color: #11161c;
    font-size: 18px;
    letter-spacing: 0;
}
.premium-archive-grid span {
    display: block;
    margin-top: 7px;
    color: #6d7785;
    font-size: 12px;
    line-height: 1.45;
}

.premium-viewer {
    position: fixed;
    z-index: 5000;
    inset: 0;
    display: grid;
    grid-template-columns: 74px minmax(0,1fr) 74px;
    align-items: center;
    gap: 18px;
    padding: 30px;
    background: rgba(5,7,10,.92);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
}
.premium-viewer.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.premium-viewer-stage {
    position: relative;
    display: grid;
    place-items: center;
    min-width: 0;
    max-height: calc(100vh - 84px);
    margin: 0;
}
.premium-viewer-stage img {
    max-width: 100%;
    max-height: calc(100vh - 112px);
    width: auto;
    height: auto;
    border-radius: 8px;
    object-fit: contain;
    box-shadow: 0 24px 70px rgba(0,0,0,.48);
}
.premium-viewer-stage figcaption {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 3px 18px;
    align-items: end;
    padding: 14px 16px;
    border-radius: 8px;
    background: linear-gradient(90deg,rgba(9,12,16,.88),rgba(9,12,16,.44));
    color: #fff;
    backdrop-filter: blur(12px);
}
.premium-viewer-stage small {
    grid-column: 1 / -1;
    color: rgba(255,255,255,.68);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.premium-viewer-stage strong {
    color: #fff;
    font-size: 22px;
    line-height: 1.1;
    letter-spacing: 0;
}
.premium-viewer-stage span {
    color: rgba(255,255,255,.68);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.premium-viewer-close,
.premium-viewer-nav {
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.08);
    color: #fff;
    cursor: pointer;
    backdrop-filter: blur(10px);
    transition: background .18s ease, transform .18s ease, border-color .18s ease;
}
.premium-viewer-close:hover,
.premium-viewer-close:focus-visible,
.premium-viewer-nav:hover,
.premium-viewer-nav:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(255,255,255,.24);
    background: rgba(255,255,255,.14);
}
.premium-viewer-close {
    position: absolute;
    right: 28px;
    top: 24px;
    z-index: 3;
    width: 44px;
    height: 44px;
    border-radius: 50%;
}
.premium-viewer-close span {
    position: absolute;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}
.premium-viewer-close span:first-child { transform: rotate(45deg); }
.premium-viewer-close span:last-child { transform: rotate(-45deg); }
.premium-viewer-nav {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    justify-self: center;
}
.premium-viewer-nav svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media(max-width:1100px) {
    .premium-gallery-intro-grid {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .premium-gallery-stats {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .premium-gallery-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .premium-archive-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}
@media(max-width:760px) {
    .premium-gallery-copy h2,
    .premium-archive-head h2 {
        font-size: 29px;
    }
    .premium-gallery-intro.section-compact {
        padding: 36px 0 18px;
    }
    .premium-gallery-section.section-compact {
        padding-top: 12px;
    }
    .premium-gallery-stats,
    .premium-gallery-grid,
    .premium-archive-grid {
        grid-template-columns: 1fr;
    }
    .premium-gallery-grid {
        grid-auto-rows: auto;
    }
    .premium-gallery-card,
    .premium-gallery-feature,
    .premium-gallery-tall {
        grid-column: auto;
        grid-row: auto;
        aspect-ratio: 1.28 / 1;
    }
    .premium-gallery-feature strong {
        font-size: 22px;
    }
    .premium-archive-head {
        display: grid;
    }
    .premium-viewer {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: minmax(0,1fr) auto;
        gap: 12px;
        padding: 18px;
    }
    .premium-viewer-stage {
        grid-column: 1 / -1;
        grid-row: 1;
    }
    .premium-viewer-prev,
    .premium-viewer-next {
        grid-row: 2;
        width: 48px;
        height: 48px;
    }
    .premium-viewer-prev { justify-self: end; }
    .premium-viewer-next { justify-self: start; }
    .premium-viewer-stage figcaption {
        left: 10px;
        right: 10px;
        bottom: 10px;
        padding: 11px 12px;
    }
    .premium-viewer-stage strong {
        font-size: 17px;
    }
}
@media(prefers-reduced-motion:reduce) {
    .premium-gallery-card,
    .premium-gallery-card img,
    .premium-viewer,
    .premium-viewer-close,
    .premium-viewer-nav {
        transition: none;
    }
}

/* Gallery refinement: programme-led hub based on the running ISNEE gallery source. */
.gallery-inner-hero {
    min-height: 278px;
}
.gallery-inner-hero .inner-hero-copy h1 {
    max-width: 1050px;
    font-size: 52px;
    line-height: 1.04;
    letter-spacing: 0;
}
.gallery-inner-hero .inner-hero-copy p {
    max-width: 690px;
}
.premium-gallery-section {
    background: linear-gradient(180deg,#f3f6f9 0%,#fff 72%);
}
.premium-gallery-section.section-compact {
    padding: 42px 0 64px;
}
.premium-gallery-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(310px,360px);
    gap: 28px;
    align-items: start;
}
.premium-gallery-main {
    min-width: 0;
}
.premium-gallery-head {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(280px,420px);
    gap: 30px;
    align-items: end;
    margin-bottom: 18px;
}
.premium-gallery-head h2 {
    max-width: 760px;
    margin: 0;
    color: #10151b;
    font-size: 38px;
    line-height: 1.08;
    letter-spacing: 0;
    font-weight: 850;
}
.premium-gallery-head p {
    margin: 0;
    color: #687382;
    font-size: 13px;
    line-height: 1.62;
}
.premium-gallery-toolbar {
    position: sticky;
    top: 94px;
    z-index: 5;
    margin-bottom: 14px;
    padding: 8px;
    border: 1px solid rgba(218,226,235,.9);
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 12px 28px rgba(15,23,42,.055);
    backdrop-filter: blur(14px);
}
.premium-gallery-toolbar button {
    min-height: 34px;
    padding: 0 14px;
    border-color: transparent;
    box-shadow: none;
}
.premium-gallery-grid {
    grid-template-columns: repeat(6,minmax(0,1fr));
    grid-auto-rows: 148px;
    gap: 12px;
}
.premium-gallery-card {
    grid-column: span 2;
    min-height: 148px;
    border-color: rgba(204,215,226,.86);
    box-shadow: 0 16px 34px rgba(15,23,42,.08);
}
.premium-gallery-feature {
    grid-column: span 3;
    grid-row: span 3;
}
.premium-gallery-wide {
    grid-column: span 3;
    grid-row: span 2;
}
.premium-gallery-tall {
    grid-row: span 2;
}
.premium-gallery-card::after {
    background: linear-gradient(180deg,rgba(0,0,0,.02) 24%,rgba(0,0,0,.76));
}
.premium-gallery-card::before {
    width: 68px;
    top: 14px;
}
.premium-gallery-card small {
    letter-spacing: .11em;
}
.premium-gallery-feature strong {
    font-size: 30px;
}
.premium-gallery-side {
    position: sticky;
    top: 104px;
    display: grid;
    gap: 14px;
}
.premium-source-card,
.premium-view-card {
    position: relative;
    overflow: hidden;
    border: 1px solid #dce4ec;
    border-radius: 8px;
    background: rgba(255,255,255,.86);
    box-shadow: 0 18px 40px rgba(15,23,42,.075);
}
.premium-source-card::before,
.premium-view-card::before {
    content: "";
    position: absolute;
    left: 20px;
    top: 0;
    width: 86px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
}
.side-panel-head,
.premium-view-card {
    padding: 20px;
}
.side-panel-head span,
.premium-view-card span {
    display: block;
    color: var(--sub-red);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.side-panel-head strong,
.premium-view-card strong {
    display: block;
    margin-top: 8px;
    color: #11161c;
    font-size: 24px;
    line-height: 1.08;
}
.premium-source-list {
    display: grid;
    padding: 0 12px 12px;
    gap: 8px;
}
.premium-source-list a {
    display: grid;
    grid-template-columns: 44px minmax(0,1fr);
    align-items: center;
    gap: 12px;
    min-height: 64px;
    padding: 10px;
    border: 1px solid #e2e8ef;
    border-radius: 8px;
    background: #f8fafc;
    color: #12171d;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.premium-source-list a:hover,
.premium-source-list a:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(237,28,36,.24);
    background: #fff;
    box-shadow: 0 12px 24px rgba(15,23,42,.06);
}
.premium-source-list b {
    display: grid;
    place-items: center;
    width: 44px;
    height: 34px;
    border-radius: 999px;
    background: #11161c;
    color: #fff;
    font-size: 13px;
    letter-spacing: .06em;
}
.premium-source-list strong {
    display: block;
    color: #12171d;
    font-size: 15px;
}
.premium-source-list small {
    display: block;
    margin-top: 3px;
    color: #75808d;
    font-size: 11px;
    line-height: 1.35;
}
.premium-view-card p {
    margin: 9px 0 0;
    color: #707a87;
    font-size: 12px;
    line-height: 1.55;
}

@media(max-width:1100px) {
    .gallery-inner-hero .inner-hero-copy h1 {
        font-size: 42px;
    }
    .premium-gallery-layout,
    .premium-gallery-head {
        grid-template-columns: 1fr;
    }
    .premium-gallery-side,
    .premium-gallery-toolbar {
        position: static;
    }
    .premium-source-list {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}
@media(max-width:760px) {
    .gallery-inner-hero .inner-hero-copy h1 {
        font-size: 34px;
    }
    .premium-gallery-section.section-compact {
        padding: 34px 0 44px;
    }
    .premium-gallery-head h2 {
        font-size: 29px;
    }
    .premium-gallery-toolbar {
        border-radius: 8px;
    }
    .premium-gallery-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
    }
    .premium-gallery-card,
    .premium-gallery-feature,
    .premium-gallery-wide,
    .premium-gallery-tall {
        grid-column: auto;
        grid-row: auto;
        aspect-ratio: 1.22 / 1;
    }
    .premium-source-list {
        grid-template-columns: 1fr;
    }
}

/* Gallery density pass for the full 24-image live archive. */
.premium-gallery-section.section-compact {
    padding: 36px 0 58px;
}
.premium-gallery-layout {
    grid-template-columns: minmax(0,1fr) minmax(292px,330px);
    gap: 24px;
}
.premium-gallery-head {
    grid-template-columns: minmax(0,1fr) minmax(260px,390px);
    gap: 24px;
    margin-bottom: 14px;
}
.premium-gallery-head h2 {
    max-width: 720px;
    font-size: 34px;
}
.premium-gallery-toolbar {
    margin-bottom: 12px;
    padding: 6px;
}
.premium-gallery-toolbar button {
    min-height: 32px;
    padding: 0 13px;
}
.premium-gallery-grid {
    grid-auto-rows: 132px;
    gap: 10px;
}
.premium-gallery-card {
    min-height: 132px;
}
.premium-gallery-card span {
    left: 14px;
    right: 14px;
    bottom: 13px;
}
.premium-gallery-card strong {
    font-size: 16px;
}
.premium-gallery-feature strong {
    font-size: 27px;
}
.side-panel-head,
.premium-view-card {
    padding: 18px;
}
.side-panel-head strong,
.premium-view-card strong {
    font-size: 22px;
}
.premium-source-list a {
    min-height: 58px;
    padding: 9px;
}

@media(max-width:1100px) {
    .premium-gallery-layout,
    .premium-gallery-head {
        grid-template-columns: 1fr;
    }
}
@media(max-width:760px) {
    .premium-gallery-section.section-compact {
        padding: 32px 0 44px;
    }
    .premium-gallery-head h2 {
        font-size: 29px;
    }
    .premium-gallery-grid {
        grid-auto-rows: auto;
    }
}

/* Gallery final direction: full-width, ordered, uniform photo wall. */
.premium-gallery-layout {
    display: block;
}
.premium-gallery-main {
    width: 100%;
}
.premium-gallery-head {
    grid-template-columns: minmax(0,760px) minmax(280px,440px);
    justify-content: space-between;
    align-items: end;
    margin-bottom: 18px;
}
.premium-gallery-head h2 {
    max-width: 760px;
}
.premium-gallery-albums {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
    margin: 0 0 14px;
}
.premium-gallery-albums a {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0,1fr);
    align-items: center;
    gap: 13px;
    min-height: 72px;
    padding: 12px 14px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: rgba(255,255,255,.84);
    color: #12171d;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(15,23,42,.045);
    overflow: hidden;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.premium-gallery-albums a::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 0;
    width: 78px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
}
.premium-gallery-albums a:hover,
.premium-gallery-albums a:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(237,28,36,.24);
    background: #fff;
    box-shadow: 0 16px 32px rgba(15,23,42,.075);
}
.premium-gallery-albums b {
    display: grid;
    place-items: center;
    width: 46px;
    height: 36px;
    border-radius: 999px;
    background: #10151b;
    color: #fff;
    font-size: 13px;
    letter-spacing: .06em;
}
.premium-gallery-albums strong {
    display: block;
    color: #12171d;
    font-size: 16px;
    line-height: 1.1;
}
.premium-gallery-albums small {
    display: block;
    margin-top: 4px;
    color: #768190;
    font-size: 11px;
    line-height: 1.3;
}
.premium-gallery-toolbar {
    position: sticky;
    top: 94px;
    max-width: 760px;
    margin: 0 auto 16px;
    justify-content: center;
}
.premium-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    grid-auto-rows: auto;
    gap: 12px;
}
.premium-gallery-card,
.premium-gallery-feature,
.premium-gallery-wide,
.premium-gallery-tall {
    grid-column: auto;
    grid-row: auto;
    min-height: 0;
    aspect-ratio: 1.34 / 1;
}
.premium-gallery-card:nth-child(7n+1) {
    aspect-ratio: 1.34 / 1;
}
.premium-gallery-card img {
    object-fit: cover;
}
.premium-gallery-card img[data-gallery-src] {
    background: linear-gradient(135deg,#edf2f7,#f8fafc);
    opacity: .42;
}
.premium-gallery-card img.is-loaded {
    opacity: .94;
}
.premium-gallery-card strong,
.premium-gallery-feature strong {
    font-size: 17px;
}

@media(max-width:1180px) {
    .premium-gallery-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .premium-gallery-albums {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}
@media(max-width:820px) {
    .premium-gallery-head {
        grid-template-columns: 1fr;
    }
    .premium-gallery-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}
@media(max-width:560px) {
    .premium-gallery-albums,
    .premium-gallery-grid {
        grid-template-columns: 1fr;
    }
    .premium-gallery-toolbar {
        border-radius: 8px;
        justify-content: flex-start;
    }
}

/* Governance refinement */
.governance-section {
    background: linear-gradient(180deg,#f5f7fa 0%,#fff 70%);
}
.governance-section.section {
    padding: 50px 0 68px;
}
.governance-intro {
    display: grid;
    grid-template-columns: minmax(0,720px) minmax(280px,480px);
    gap: 34px;
    align-items: end;
    max-width: none;
    margin: 0 0 26px;
}
.governance-intro h2 {
    margin: 0;
    color: #10151b;
    font-size: 38px;
    line-height: 1.1;
    letter-spacing: 0;
    font-weight: 850;
}
.governance-intro p {
    margin: 0;
    color: #687382;
    font-size: 14px;
    line-height: 1.65;
}
.governance-search {
    width: min(100%,460px);
    justify-self: end;
}
.governance-search label {
    display: block;
    margin: 0 0 8px;
    color: var(--sub-red);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
}
.governance-search-box {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: 0 18px 0 50px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 16px 34px rgba(15,23,42,.065);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.governance-search-box:focus-within {
    border-color: rgba(237,28,36,.26);
    background: #fff;
    box-shadow: 0 18px 38px rgba(15,23,42,.09);
}
.governance-search-box span {
    position: absolute;
    left: 18px;
    top: 50%;
    width: 15px;
    height: 15px;
    border: 2px solid #10151b;
    border-radius: 50%;
    transform: translateY(-55%);
    opacity: .86;
}
.governance-search-box span::after {
    content: "";
    position: absolute;
    right: -6px;
    bottom: -4px;
    width: 7px;
    height: 2px;
    border-radius: 999px;
    background: #10151b;
    transform: rotate(45deg);
}
.governance-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #10151b;
    font: inherit;
    font-size: 14px;
    font-weight: 750;
    letter-spacing: 0;
}
.governance-search input::placeholder {
    color: #8b95a3;
    font-weight: 650;
}
.governance-role-block {
    margin-bottom: 44px;
}
.committee-block + .committee-block {
    margin-top: 48px;
}
.committee-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 28px;
    margin-bottom: 16px;
}
.committee-title {
    margin: 0;
    color: #10151b;
    font-size: 28px;
    line-height: 1.12;
    letter-spacing: 0;
    font-weight: 850;
}
.committee-head p {
    max-width: 470px;
    margin: 0;
    color: #737e8d;
    font-size: 13px;
    line-height: 1.55;
}
.governance-role-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
}
.governance-role-card {
    position: relative;
    min-height: 124px;
    padding: 18px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: rgba(255,255,255,.84);
    box-shadow: 0 14px 30px rgba(15,23,42,.055);
    overflow: hidden;
}
.governance-role-card::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 0;
    width: 76px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
}
.governance-role-card span {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 30px;
    border-radius: 999px;
    background: #11161c;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
}
.governance-role-card strong {
    display: block;
    margin-top: 16px;
    color: #11161c;
    font-size: 18px;
    line-height: 1.1;
}
.governance-role-card small {
    display: block;
    margin-top: 7px;
    color: #737e8c;
    font-size: 12px;
    line-height: 1.45;
}
.committee-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 14px;
}
.member-card {
    position: relative;
    display: grid;
    grid-template-columns: 92px minmax(0,1fr);
    align-items: center;
    min-height: 124px;
    padding: 12px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 14px 32px rgba(15,23,42,.06);
    overflow: hidden;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.member-card::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 0;
    width: 68px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
}
.member-card:hover,
.member-card:focus-within {
    transform: translateY(-2px);
    border-color: rgba(237,28,36,.22);
    box-shadow: 0 18px 38px rgba(15,23,42,.09);
}
.member-card.is-hidden {
    display: none;
}
.member-initial {
    display: grid;
    place-items: center;
    width: 78px;
    height: 88px;
    border-radius: 8px;
    background:
        linear-gradient(135deg,rgba(237,28,36,.12),rgba(247,181,0,.08)),
        #11161c;
    color: #fff;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: .04em;
}
.member-photo-wrap {
    width: 78px;
    height: 88px;
    border-radius: 8px;
    overflow: hidden;
    background: linear-gradient(135deg,#eef3f8,#f9fbfd);
}
.member-photo {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    background: transparent;
    filter: saturate(.96) contrast(1.03);
}
.member-photo[data-governance-src] {
    opacity: .28;
}
.member-photo.is-loaded {
    opacity: 1;
}
.member-copy {
    min-width: 0;
    padding: 0;
}
.member-copy h4 {
    margin: 0;
    color: #10151b;
    font-size: 15px;
    line-height: 1.18;
    letter-spacing: 0;
}
.member-copy strong {
    display: block;
    margin-top: 6px;
    color: var(--sub-red);
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.member-copy span,
.member-copy small {
    display: block;
    margin-top: 4px;
    color: #6f7a88;
    font-size: 11px;
    line-height: 1.35;
}
.governance-empty {
    margin-top: 28px;
    padding: 18px 20px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: rgba(255,255,255,.9);
    color: #6f7a88;
    font-size: 14px;
    font-weight: 750;
    text-align: center;
    box-shadow: 0 14px 30px rgba(15,23,42,.055);
}

@media(max-width:1180px) {
    .committee-grid,
    .governance-role-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}
@media(max-width:900px) {
    .governance-intro {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .governance-search {
        justify-self: stretch;
    }
    .committee-head {
        display: grid;
    }
    .committee-grid,
    .governance-role-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}
@media(max-width:620px) {
    .governance-section.section {
        padding: 38px 0 50px;
    }
    .governance-intro h2 {
        font-size: 30px;
    }
    .committee-grid,
    .governance-role-grid {
        grid-template-columns: 1fr;
    }
    .member-card {
        grid-template-columns: 82px minmax(0,1fr);
    }
    .member-photo-wrap {
        width: 70px;
        height: 80px;
    }
}

/* =========================================================
   CAREER PAGE - CTC recruitment in the NW system
   ========================================================= */
.career-inner-hero {
    min-height: 274px;
}
.career-inner-hero .inner-hero-media {
    object-position: center 50%;
    filter: saturate(.92) contrast(1.04);
}
.career-inner-hero .inner-hero-overlay {
    background:
        linear-gradient(90deg,rgba(7,10,14,.84) 0%,rgba(7,10,14,.62) 44%,rgba(7,10,14,.32) 78%,rgba(7,10,14,.22) 100%),
        linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.25));
}
.career-inner-hero .inner-hero-copy {
    padding-top: 38px;
    padding-bottom: 34px;
}
.career-inner-hero h1 {
    max-width: 980px;
    font-size: clamp(38px,3.2vw,54px);
    letter-spacing: -.04em;
}
.career-inner-hero p {
    max-width: 760px;
}

.career-command {
    background: linear-gradient(180deg,#f7f8fa 0%,#f2f5f8 100%);
}
.career-command.section-compact {
    padding: 46px 0 30px;
}
.career-command-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(340px,36%);
    gap: 28px;
    align-items: end;
}
.career-command-copy {
    max-width: 920px;
}
.career-command-copy h2 {
    max-width: 860px;
    margin: 0;
    color: #10151b;
    font-size: clamp(30px,2.35vw,39px);
    line-height: 1.08;
    letter-spacing: -.045em;
    font-weight: 850;
}
.career-command-copy p {
    max-width: 860px;
    margin: 14px 0 0;
    color: #687382;
    font-size: 14px;
    line-height: 1.66;
}
.career-role-summary {
    display: grid;
    gap: 10px;
}
.career-role-summary div {
    position: relative;
    min-height: 82px;
    padding: 16px 18px 16px 70px;
    border: 1px solid #e0e5eb;
    border-radius: 8px;
    background: rgba(255,255,255,.95);
    box-shadow: 0 12px 28px rgba(15,23,42,.05);
}
.career-role-summary span {
    position: absolute;
    left: 18px;
    top: 17px;
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 27px;
    border-radius: 999px;
    background: #11161c;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}
.career-role-summary strong,
.career-opening-list strong {
    display: block;
    color: #11161c;
    font-size: 17px;
    line-height: 1.12;
    letter-spacing: -.025em;
}
.career-role-summary small,
.career-opening-list small {
    display: block;
    margin-top: 6px;
    color: #75808e;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 760;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.career-field {
    background: linear-gradient(180deg,#f2f5f8 0%,#fff 100%);
}
.career-field.section-compact {
    padding: 22px 0 58px;
}
.career-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(315px,31%);
    gap: 28px;
    align-items: start;
}
.career-main {
    display: grid;
    gap: 12px;
    min-width: 0;
}
.career-panel,
.career-side-panel {
    position: relative;
    border: 1px solid #e0e5eb;
    border-radius: 8px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 28px rgba(15,23,42,.05);
    overflow: hidden;
}
.career-panel {
    padding: 28px 32px;
}
.career-panel::before,
.career-side-panel::before {
    content: "";
    position: absolute;
    left: 24px;
    top: 0;
    width: 96px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
}
.career-panel h2,
.career-panel-head h2 {
    margin: 0;
    color: #10151b;
    font-size: clamp(27px,2vw,34px);
    line-height: 1.1;
    letter-spacing: -.04em;
    font-weight: 850;
}
.career-panel p {
    margin: 13px 0 0;
    color: #65707f;
    font-size: 13.5px;
    line-height: 1.7;
}
.career-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}
.career-panel-head > p {
    max-width: 370px;
    margin: 4px 0 0;
    color: #7b8592;
    font-size: 12.5px;
    line-height: 1.52;
}
.career-event-strip,
.career-scope-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}
.career-event-strip span,
.career-scope-grid span {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid #dfe5ec;
    border-radius: 999px;
    background: #fbfcfd;
    color: #2a3038;
    font-size: 12.5px;
    font-weight: 780;
}
.career-event-strip span::before,
.career-scope-grid span::before {
    content: "";
    width: 7px;
    height: 7px;
    margin-right: 9px;
    border-radius: 999px;
    background: var(--sub-red);
    box-shadow: 0 0 0 4px rgba(237,28,36,.08);
}
.career-responsibility-grid,
.career-criteria-list,
.career-benefit-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
}
.career-responsibility-grid div,
.career-criteria-list div,
.career-benefit-list div {
    position: relative;
    min-height: 122px;
    padding: 17px 18px;
    border: 1px solid #e6ebf0;
    border-radius: 8px;
    background: #fbfcfd;
}
.career-responsibility-grid div::before,
.career-criteria-list div::before,
.career-benefit-list div::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 14px;
    width: 3px;
    border-radius: 0 999px 999px 0;
    background: linear-gradient(180deg,var(--sub-red),var(--sub-gold));
}
.career-responsibility-grid span {
    display: inline-grid;
    place-items: center;
    min-width: 39px;
    height: 25px;
    margin-bottom: 14px;
    border-radius: 999px;
    background: #fff;
    color: var(--sub-red);
    font-size: 10.5px;
    font-weight: 900;
    box-shadow: 0 0 0 1px #e7ebf0;
}
.career-responsibility-grid strong,
.career-criteria-list strong,
.career-benefit-list strong {
    display: block;
    color: #12171d;
    font-size: 17px;
    line-height: 1.15;
    letter-spacing: -.025em;
}
.career-responsibility-grid p,
.career-criteria-list p,
.career-benefit-list p {
    margin: 8px 0 0;
    color: #697382;
    font-size: 12px;
    line-height: 1.52;
}

.career-side-rail {
    position: sticky;
    top: 102px;
    display: grid;
    gap: 16px;
    min-width: 0;
}
.career-side-panel {
    padding: 18px;
}
.career-side-panel::before {
    left: 18px;
    width: 86px;
}
.career-side-panel p {
    margin: 13px 0 0;
    color: #687382;
    font-size: 13px;
    line-height: 1.62;
}
.career-primary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 45px;
    margin-top: 17px;
    padding: 0 16px;
    border-radius: 6px;
    background: var(--sub-red);
    color: #fff;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .025em;
    text-transform: uppercase;
    box-shadow: 0 12px 24px rgba(237,28,36,.16);
}
.career-primary-action svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.career-opening-list {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}
.career-opening-list div {
    position: relative;
    padding: 14px 14px 14px 56px;
    border: 1px solid #e6ebf0;
    border-radius: 8px;
    background: #fbfcfd;
}
.career-opening-list span {
    position: absolute;
    left: 14px;
    top: 15px;
    display: inline-grid;
    place-items: center;
    width: 29px;
    height: 24px;
    border-radius: 999px;
    background: #fff;
    color: var(--sub-red);
    font-size: 10px;
    font-weight: 900;
    box-shadow: 0 0 0 1px #e7ebf0;
}
.career-check-list {
    display: grid;
    gap: 10px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}
.career-check-list li {
    position: relative;
    padding-left: 20px;
    color: #343b45;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 720;
}
.career-check-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .55em;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--sub-red);
    box-shadow: 0 0 0 4px rgba(237,28,36,.08);
}
.career-update-panel {
    background: #11161c;
    border-color: rgba(255,255,255,.08);
}
.career-update-panel::before {
    background: linear-gradient(90deg,var(--sub-gold),var(--sub-red));
}
.career-update-panel .side-panel-head span {
    color: rgba(255,255,255,.58);
}
.career-update-panel .side-panel-head strong,
.career-update-panel p {
    color: #fff;
}
.career-update-panel p {
    color: rgba(255,255,255,.72);
}

@media(max-width:1180px){
    .career-command-grid,
    .career-layout {
        grid-template-columns: 1fr;
    }
    .career-side-rail {
        position: static;
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}
@media(max-width:760px){
    .career-command.section-compact {
        padding: 40px 0 22px;
    }
    .career-field.section-compact {
        padding: 20px 0 44px;
    }
    .career-panel {
        padding: 24px 20px;
    }
    .career-panel-head {
        display: block;
    }
    .career-panel-head > p {
        margin-top: 10px;
    }
    .career-responsibility-grid,
    .career-criteria-list,
    .career-benefit-list,
    .career-side-rail {
        grid-template-columns: 1fr;
    }
    .career-role-summary div {
        min-height: 76px;
    }
}

/* Career page final layout pass: align with Services rows and side rail. */
.career-command .services-command-copy {
    max-width: 900px;
}
.career-command .services-command-copy h2 {
    max-width: 800px;
}
.career-command .services-command-copy p {
    max-width: 850px;
}
.career-field .services-layout {
    align-items: start;
}
.career-track {
    gap: 12px;
}
.career-row {
    grid-template-columns: minmax(250px,.34fr) minmax(0,1fr);
    min-height: 198px;
    border: 1px solid #e0e5eb;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15,23,42,.045);
}
.career-row .service-row-media {
    min-height: 198px;
}
.career-row .service-row-copy {
    justify-content: center;
    padding: 24px 28px;
}
.career-row h3 {
    font-size: clamp(23px,1.75vw,29px);
}
.career-row p {
    max-width: 920px;
    font-size: 13.5px;
}
.career-row-media img {
    filter: saturate(.96) contrast(1.02);
}
.career-row-label {
    position: absolute;
    z-index: 2;
    left: 14px;
    bottom: 14px;
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(17,22,28,.84);
    color: #fff;
    font-size: 10px;
    font-weight: 880;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.career-pill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 15px;
}
.career-pill-list span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 11px;
    border: 1px solid #dfe5ec;
    border-radius: 999px;
    background: #fbfcfd;
    color: #2a3038;
    font-size: 11.5px;
    font-weight: 780;
}
.career-pill-list span::before {
    content: "";
    width: 6px;
    height: 6px;
    margin-right: 8px;
    border-radius: 999px;
    background: var(--sub-red);
    box-shadow: 0 0 0 3px rgba(237,28,36,.08);
}
.career-compact-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
    margin-top: 16px;
}
.career-compact-grid div {
    position: relative;
    min-height: 74px;
    padding: 13px 14px 13px 16px;
    border: 1px solid #e7ebf0;
    border-radius: 7px;
    background: #fbfcfd;
}
.career-compact-grid div::before {
    content: "";
    position: absolute;
    left: 0;
    top: 13px;
    bottom: 13px;
    width: 3px;
    border-radius: 0 999px 999px 0;
    background: linear-gradient(180deg,var(--sub-red),var(--sub-gold));
}
.career-compact-grid strong {
    display: block;
    color: #151a21;
    font-size: 13px;
    line-height: 1.2;
}
.career-compact-grid small {
    display: block;
    margin-top: 6px;
    color: #6f7a88;
    font-size: 11px;
    line-height: 1.38;
}
.career-side-copy {
    margin: 13px 0 0;
    color: #687382;
    font-size: 13px;
    line-height: 1.62;
}

@media(max-width:1180px) {
    .career-field .services-side-rail {
        position: static;
        grid-template-columns: 1fr 1fr;
    }
}
@media(max-width:860px) {
    .career-field .services-side-rail {
        grid-template-columns: 1fr;
    }
}
@media(max-width:620px) {
    .career-row {
        grid-template-columns: 1fr;
    }
    .career-compact-grid {
        grid-template-columns: 1fr;
    }
}

/* Career page corrected: source-content job description, no decorative image rows. */
.career-hero-clean {
    min-height: 260px;
    background:
        linear-gradient(110deg,rgba(9,13,18,.96),rgba(17,23,31,.90) 48%,rgba(32,38,47,.72)),
        linear-gradient(135deg,#11161c,#202733);
}
.career-hero-clean .inner-hero-overlay {
    background:
        linear-gradient(90deg,rgba(6,9,13,.86) 0%,rgba(6,9,13,.62) 52%,rgba(6,9,13,.30) 100%),
        radial-gradient(circle at 82% 22%,rgba(237,28,36,.18),transparent 34%);
}
.career-hero-clean .inner-hero-copy {
    padding-top: 42px;
    padding-bottom: 38px;
}
.career-hero-clean h1 {
    max-width: 820px;
    font-size: clamp(40px,3.35vw,56px);
}
.career-hero-clean p {
    max-width: 640px;
}

.career-page.section-compact {
    padding: 30px 0 64px;
}
.career-two-column {
    grid-template-columns: minmax(0,1fr) minmax(310px,30%);
}
.career-main-column {
    display: grid;
    gap: 14px;
    min-width: 0;
}
.career-job-card {
    position: relative;
    padding: 30px 34px;
    border: 1px solid #e0e5eb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15,23,42,.045);
    overflow: hidden;
}
.career-job-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg,var(--sub-red),var(--sub-gold));
}
.career-job-card h2 {
    margin: 8px 0 0;
    color: #10151b;
    font-size: clamp(26px,2vw,34px);
    line-height: 1.1;
    letter-spacing: -.04em;
    font-weight: 850;
}
.career-job-card h3 {
    margin: 26px 0 10px;
    color: #161b22;
    font-size: 20px;
    line-height: 1.18;
    letter-spacing: -.025em;
}
.career-job-card p {
    margin: 14px 0 0;
    color: #65707f;
    font-size: 14px;
    line-height: 1.72;
}
.career-job-card strong {
    color: #141920;
    font-weight: 850;
}
.career-duty-list,
.career-requirement-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin-top: 18px;
}
.career-duty-list div,
.career-requirement-list div {
    position: relative;
    min-height: 118px;
    padding: 17px 18px 17px 20px;
    border: 1px solid #e7ebf0;
    border-radius: 8px;
    background: #fbfcfd;
}
.career-duty-list div::before,
.career-requirement-list div::before {
    content: "";
    position: absolute;
    left: 0;
    top: 15px;
    bottom: 15px;
    width: 3px;
    border-radius: 0 999px 999px 0;
    background: linear-gradient(180deg,var(--sub-red),var(--sub-gold));
}
.career-duty-list strong,
.career-requirement-list strong {
    display: block;
    margin: 0 0 7px;
    color: #12171d;
    font-size: 15px;
    line-height: 1.18;
    letter-spacing: -.02em;
}
.career-duty-list p,
.career-requirement-list p {
    margin: 0;
    color: #697382;
    font-size: 12.5px;
    line-height: 1.56;
}
.career-skill-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px 10px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}
.career-skill-list li {
    position: relative;
    min-height: 42px;
    padding: 11px 13px 11px 30px;
    border: 1px solid #e7ebf0;
    border-radius: 7px;
    background: #fbfcfd;
    color: #252c35;
    font-size: 12.5px;
    line-height: 1.35;
    font-weight: 760;
}
.career-skill-list li::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 17px;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--sub-red);
    box-shadow: 0 0 0 4px rgba(237,28,36,.08);
}
.career-application-rail {
    position: sticky;
    top: 102px;
    align-self: start;
}
.career-application-rail .side-panel {
    padding: 20px;
}
.career-apply-card {
    background:
        linear-gradient(135deg,rgba(237,28,36,.06),transparent 45%),
        #fff;
}
.career-primary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 46px;
    margin-top: 6px;
    padding: 0 16px;
    border-radius: 6px;
    background: var(--sub-red);
    color: #fff;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .025em;
    text-transform: uppercase;
    box-shadow: 0 12px 24px rgba(237,28,36,.16);
}
.career-primary-action svg {
    flex: none;
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.career-summary-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}
.career-summary-list div {
    padding: 13px 14px;
    border: 1px solid #e7ebf0;
    border-radius: 7px;
    background: #fbfcfd;
}
.career-summary-list span {
    display: block;
    margin-bottom: 5px;
    color: var(--sub-red);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.career-summary-list strong {
    display: block;
    color: #151a21;
    font-size: 13px;
    line-height: 1.35;
}
.career-update-panel p {
    margin: 12px 0 0;
    font-size: 13px;
    line-height: 1.62;
}
.career-bottom-apply {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px;
    border: 1px solid #e0e5eb;
    border-radius: 8px;
    background:
        linear-gradient(135deg,rgba(237,28,36,.06),transparent 46%),
        #fff;
    box-shadow: 0 12px 28px rgba(15,23,42,.045);
}
.career-bottom-apply span {
    display: block;
    margin-bottom: 7px;
    color: var(--sub-red);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.career-bottom-apply strong {
    display: block;
    color: #11161c;
    font-size: 22px;
    line-height: 1.15;
    letter-spacing: -.035em;
}
.career-bottom-apply p {
    max-width: 560px;
    margin: 8px 0 0;
    color: #687382;
    font-size: 13px;
    line-height: 1.55;
}
.career-bottom-apply .career-primary-action {
    flex: 0 0 178px;
    margin-top: 0;
}

@media(max-width:1180px) {
    .career-two-column {
        grid-template-columns: 1fr;
    }
    .career-application-rail {
        position: static;
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}
@media(max-width:900px) {
    .career-application-rail {
        grid-template-columns: 1fr;
    }
}
@media(max-width:680px) {
    .career-page.section-compact {
        padding: 22px 0 46px;
    }
    .career-job-card {
        padding: 24px 20px;
    }
    .career-duty-list,
    .career-requirement-list,
    .career-skill-list {
        grid-template-columns: 1fr;
    }
    .career-bottom-apply {
        display: grid;
        gap: 16px;
    }
    .career-bottom-apply .career-primary-action {
        width: 100%;
        flex-basis: auto;
    }
}

/* =========================================================
   GET INVOLVED PAGE - contact/intake form
   ========================================================= */
.involved-inner-hero {
    min-height: 260px;
    background:
        linear-gradient(110deg,rgba(9,13,18,.96),rgba(17,23,31,.90) 48%,rgba(32,38,47,.72)),
        linear-gradient(135deg,#11161c,#202733);
}
.involved-inner-hero .inner-hero-media {
    object-position: center 50%;
    filter: saturate(.92) contrast(1.04);
}
.involved-inner-hero .inner-hero-overlay {
    background:
        linear-gradient(90deg,rgba(7,10,14,.82) 0%,rgba(7,10,14,.60) 43%,rgba(7,10,14,.30) 78%,rgba(7,10,14,.20) 100%),
        linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.24));
}
.involved-inner-hero .inner-hero-copy {
    padding-top: 42px;
    padding-bottom: 38px;
}
.involved-inner-hero h1 {
    max-width: 760px;
    font-size: clamp(40px,3.35vw,56px);
}
.involved-inner-hero p {
    max-width: 680px;
}
.involved-command .services-command-copy {
    max-width: 900px;
}
.involved-command .services-command-copy h2 {
    max-width: 780px;
}
.involved-command .services-command-copy p {
    max-width: 850px;
}
.involved-page.section-compact {
    padding: 30px 0 64px;
}
.involved-two-column {
    grid-template-columns: minmax(0,1fr) minmax(300px,31%);
    grid-template-areas: "form info";
    align-items: start;
}
.involved-form-column {
    grid-area: form;
}
.involved-info-column {
    grid-area: info;
    position: sticky;
    top: 102px;
    display: grid;
    gap: 16px;
    align-self: start;
}
.involved-info-card,
.involved-form-card {
    position: relative;
    border: 1px solid #e0e5eb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15,23,42,.045);
    overflow: hidden;
}
.involved-info-card {
    padding: 20px;
}
.involved-info-card::before,
.involved-form-card::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 0;
    width: 86px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
}
.involved-opportunity-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}
.involved-opportunity-list span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid #e7ebf0;
    border-radius: 999px;
    background: #fbfcfd;
    color: #252c35;
    font-size: 11.5px;
    font-weight: 800;
}
.involved-form-column { min-width: 0; }
.involved-form-card {
    padding: 30px 34px 34px;
}
.involved-form-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 22px;
}
.involved-form-head h2 {
    margin: 0;
    color: #10151b;
    font-size: clamp(28px,2.15vw,36px);
    line-height: 1.08;
    letter-spacing: -.04em;
    font-weight: 850;
}
.involved-form-head p {
    max-width: 390px;
    margin: 5px 0 0;
    color: #687382;
    font-size: 13px;
    line-height: 1.58;
}
.involved-form-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
}
.involved-field {
    display: grid;
    gap: 8px;
    min-width: 0;
}
.involved-field-full {
    grid-column: 1 / -1;
}
.involved-field label {
    color: #20262e;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .105em;
    text-transform: uppercase;
}
.involved-control {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid #dfe5ec;
    border-radius: 7px;
    background: #fbfcfd;
    color: #151a21;
    font-size: 14px;
    outline: none;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
select.involved-control {
    appearance: auto;
}
.involved-control:focus {
    border-color: rgba(237,28,36,.42);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(237,28,36,.08);
}
.involved-message {
    min-height: 136px;
    padding-top: 13px;
    resize: vertical;
}
.involved-submit-row {
    display: flex;
    justify-content: flex-start;
}
.involved-submit {
    min-width: 178px;
    min-height: 46px;
    padding: 0 22px;
    border: 0;
    border-radius: 6px;
    background: var(--sub-red);
    color: #fff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .025em;
    text-transform: uppercase;
    box-shadow: 0 12px 24px rgba(237,28,36,.16);
}
.involved-submit:hover,
.involved-submit:focus-visible {
    background: #d9151c;
}

@media(max-width:1180px) {
    .involved-two-column {
        grid-template-columns: 1fr;
        grid-template-areas:
            "form"
            "info";
    }
    .involved-info-column {
        position: static;
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}
@media(max-width:900px) {
    .involved-info-column {
        grid-template-columns: 1fr;
    }
    .involved-form-head {
        display: block;
    }
    .involved-form-head p {
        max-width: 100%;
        margin-top: 10px;
    }
}
@media(max-width:680px) {
    .involved-page.section-compact {
        padding: 22px 0 46px;
    }
    .involved-form-card {
        padding: 24px 20px;
    }
    .involved-form-grid {
        grid-template-columns: 1fr;
    }
    .involved-submit {
        width: 100%;
    }
}

.media-inner-hero .inner-hero-media {
    object-position: center 48%;
    filter: saturate(.95) contrast(1.05);
}
.media-inner-hero .inner-hero-overlay {
    background:
        linear-gradient(90deg,rgba(7,10,14,.84) 0%,rgba(7,10,14,.64) 44%,rgba(7,10,14,.34) 78%,rgba(7,10,14,.24) 100%),
        linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.26));
}
.media-inner-hero h1 {
    max-width: 840px;
}
.media-inner-hero p {
    max-width: 690px;
}
.media-archive-section {
    background: linear-gradient(180deg,#f5f7fa 0%,#fff 46%);
}
.media-archive-section.section-compact {
    padding: 46px 0 72px;
}
.media-archive-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 24px;
}
.media-archive-head h2 {
    max-width: 760px;
    margin: 0;
    color: #10151b;
    font-size: clamp(34px,3vw,52px);
    line-height: 1.02;
    letter-spacing: -.045em;
    font-weight: 900;
}
.media-archive-head p {
    max-width: 410px;
    margin: 0 0 8px;
    color: #66717f;
    font-size: 14px;
    line-height: 1.62;
}
.media-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 14px;
}
.media-card {
    position: relative;
    display: block;
    min-width: 0;
    aspect-ratio: 4 / 3;
    padding: 0;
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 8px;
    background: #111820;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 14px 30px rgba(15,23,42,.08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.media-card:hover,
.media-card:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(237,28,36,.36);
    box-shadow: 0 18px 36px rgba(15,23,42,.14);
    outline: none;
}
.media-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .22s ease, opacity .18s ease;
}
.media-card img[data-gallery-src] {
    opacity: .35;
}
.media-card img.is-loaded {
    opacity: 1;
}
.media-card:hover img,
.media-card:focus-visible img {
    transform: scale(1.035);
}
.media-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,rgba(7,10,14,0) 42%,rgba(7,10,14,.74) 100%);
    pointer-events: none;
}
.media-card span {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 13px;
    z-index: 1;
    display: grid;
    gap: 3px;
    text-align: left;
}
.media-card small {
    color: rgba(255,255,255,.72);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.media-card strong {
    color: #fff;
    font-size: 16px;
    line-height: 1.1;
    font-weight: 850;
}

@media(max-width:1180px) {
    .media-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}
@media(max-width:820px) {
    .media-archive-head {
        display: block;
    }
    .media-archive-head p {
        max-width: 100%;
        margin-top: 10px;
    }
    .media-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 10px;
    }
}
@media(max-width:520px) {
    .media-archive-section.section-compact {
        padding: 34px 0 52px;
    }
    .media-grid {
        grid-template-columns: 1fr;
    }
    .media-card {
        aspect-ratio: 16 / 11;
    }
}

.support-inner-hero .inner-hero-media {
    object-position: center 48%;
    filter: saturate(.9) contrast(1.04);
}
.support-inner-hero .inner-hero-overlay {
    background:
        linear-gradient(90deg,rgba(7,10,14,.86) 0%,rgba(7,10,14,.62) 44%,rgba(7,10,14,.32) 78%,rgba(7,10,14,.24) 100%),
        linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.28));
}
.support-inner-hero h1 {
    max-width: 880px;
}
.support-inner-hero p {
    max-width: 720px;
}
.support-section {
    background: linear-gradient(180deg,#f5f7fa 0%,#fff 48%);
}
.support-section.section-compact {
    padding: 46px 0 72px;
}
.support-layout {
    display: grid;
    grid-template-columns: minmax(260px,28%) minmax(0,1fr);
    gap: 28px;
    align-items: start;
}
.faq-layout {
    grid-template-columns: minmax(280px,30%) minmax(0,1fr);
}
.support-side {
    position: sticky;
    top: 102px;
    min-width: 0;
}
.support-side-card,
.policy-card,
.faq-panel {
    position: relative;
    border: 1px solid #e0e5eb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15,23,42,.045);
    overflow: hidden;
}
.support-side-card {
    padding: 24px;
    display: grid;
    gap: 10px;
}
.support-side-card::before,
.policy-card::before,
.faq-panel::before {
    content: "";
    position: absolute;
    left: 22px;
    top: 0;
    width: 96px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
}
.support-side-card h2 {
    margin: 0 0 4px;
    color: #10151b;
    font-size: clamp(24px,2vw,32px);
    line-height: 1.08;
    letter-spacing: -.04em;
    font-weight: 880;
}
.support-side-card p {
    margin: 0 0 6px;
    color: #687382;
    font-size: 13px;
    line-height: 1.62;
}
.support-side-card a:not(.support-action) {
    display: block;
    padding: 9px 0;
    border-top: 1px solid #edf0f4;
    color: #272e38;
    font-size: 13px;
    font-weight: 780;
}
.support-side-card a:not(.support-action):hover {
    color: var(--sub-red);
}
.support-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    width: fit-content;
    padding: 0 18px;
    border-radius: 6px;
    background: var(--sub-red);
    color: #fff;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: 0 12px 24px rgba(237,28,36,.14);
}
.support-action:hover {
    background: #d9151c;
    color: #fff;
}
.policy-panel {
    display: grid;
    gap: 16px;
    min-width: 0;
}
.policy-card {
    padding: 28px 32px;
    scroll-margin-top: 120px;
}
.policy-alert {
    background: linear-gradient(180deg,#fff,#fff8f8);
}
.policy-card h2,
.policy-card h3,
.policy-card h4 {
    margin: 0;
    color: #10151b;
    line-height: 1.16;
    letter-spacing: -.035em;
    font-weight: 880;
}
.policy-card h2 {
    font-size: clamp(28px,2.6vw,42px);
}
.policy-card h3 {
    font-size: clamp(22px,1.8vw,30px);
}
.policy-card h4 {
    margin-top: 24px;
    font-size: 17px;
}
.policy-card p {
    margin: 13px 0 0;
    color: #5f6b78;
    font-size: 14px;
    line-height: 1.72;
}
.policy-card ul {
    margin: 14px 0 0;
    padding: 0;
    display: grid;
    gap: 9px;
    list-style: none;
}
.policy-card li {
    position: relative;
    padding-left: 20px;
    color: #5f6b78;
    font-size: 14px;
    line-height: 1.62;
}
.policy-card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--sub-red);
}
.faq-panel {
    padding: 24px;
    display: grid;
    gap: 10px;
}
.faq-item {
    border: 1px solid #e5e9ef;
    border-radius: 8px;
    background: #fbfcfd;
    overflow: hidden;
}
.faq-item summary {
    position: relative;
    min-height: 58px;
    padding: 18px 54px 18px 18px;
    color: #151a21;
    cursor: pointer;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 850;
    list-style: none;
}
.faq-item summary::-webkit-details-marker {
    display: none;
}
.faq-item summary::after {
    content: "+";
    position: absolute;
    right: 18px;
    top: 50%;
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #fff;
    color: var(--sub-red);
    border: 1px solid #e4e8ef;
    font-size: 18px;
    line-height: 1;
}
.faq-item[open] {
    background: #fff;
    border-color: rgba(237,28,36,.22);
}
.faq-item[open] summary::after {
    content: "-";
}
.faq-item p {
    margin: 0;
    padding: 0 18px 18px;
    color: #62707f;
    font-size: 14px;
    line-height: 1.65;
}

@media(max-width:760px) {
    .support-layout,
    .faq-layout {
        grid-template-columns: 1fr;
    }
    .support-side {
        position: static;
    }
}
@media(max-width:680px) {
    .support-section.section-compact {
        padding: 34px 0 52px;
    }
    .support-side-card,
    .policy-card,
    .faq-panel {
        padding: 22px 18px;
    }
    .faq-item summary {
        padding: 16px 48px 16px 15px;
        font-size: 14px;
    }
}

.apply-inner-hero .inner-hero-media {
    object-position: center 48%;
    filter: saturate(.92) contrast(1.04);
}
.apply-inner-hero .inner-hero-overlay {
    background:
        linear-gradient(90deg,rgba(7,10,14,.84) 0%,rgba(7,10,14,.62) 44%,rgba(7,10,14,.32) 78%,rgba(7,10,14,.22) 100%),
        linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.28));
}
.apply-command .services-command-copy {
    max-width: 920px;
}
.apply-command .services-command-copy h2 {
    max-width: 790px;
}
.apply-page.section-compact {
    padding: 30px 0 72px;
}
.apply-two-column {
    grid-template-columns: minmax(0,1fr) minmax(300px,31%);
    align-items: start;
}
.apply-form-column {
    min-width: 0;
}
.apply-info-column {
    position: sticky;
    top: 102px;
    display: grid;
    gap: 16px;
    align-self: start;
}
.apply-form-card,
.apply-info-card {
    position: relative;
    border: 1px solid #e0e5eb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15,23,42,.045);
    overflow: hidden;
}
.apply-form-card {
    padding: 30px 34px 34px;
}
.apply-info-card {
    padding: 20px;
}
.apply-form-card::before,
.apply-info-card::before {
    content: "";
    position: absolute;
    left: 22px;
    top: 0;
    width: 96px;
    height: 3px;
    background: linear-gradient(90deg,var(--sub-red),var(--sub-gold));
}
.apply-form-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 22px;
}
.apply-form-head h2 {
    margin: 0;
    color: #10151b;
    font-size: clamp(28px,2.15vw,36px);
    line-height: 1.08;
    letter-spacing: -.04em;
    font-weight: 850;
}
.apply-form-head p,
.apply-info-card p {
    margin: 5px 0 0;
    color: #687382;
    font-size: 13px;
    line-height: 1.58;
}
.apply-info-card a {
    color: var(--sub-red);
    font-weight: 800;
}
.apply-validation {
    margin-bottom: 16px;
    color: var(--sub-red);
    font-size: 13px;
    line-height: 1.5;
}
.apply-form-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
}
.apply-field {
    display: grid;
    gap: 8px;
    min-width: 0;
}
.apply-field-full {
    grid-column: 1 / -1;
}
.apply-field label {
    color: #20262e;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .105em;
    text-transform: uppercase;
}
.apply-control {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid #dfe5ec;
    border-radius: 7px;
    background: #fbfcfd;
    color: #151a21;
    font-size: 14px;
    outline: none;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.apply-control:focus {
    border-color: rgba(237,28,36,.42);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(237,28,36,.08);
}
.apply-error {
    color: var(--sub-red);
    font-size: 12px;
}
.apply-submit-row {
    display: flex;
    justify-content: flex-start;
}
.apply-submit {
    min-width: 210px;
    min-height: 46px;
    padding: 0 22px;
    border: 0;
    border-radius: 6px;
    background: var(--sub-red);
    color: #fff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .025em;
    text-transform: uppercase;
    box-shadow: 0 12px 24px rgba(237,28,36,.16);
}
.apply-submit:hover,
.apply-submit:focus-visible {
    background: #d9151c;
}
.confirmation-page {
    min-height: calc(100vh - 84px);
    background: linear-gradient(180deg,#f5f7fa,#fff);
}
.confirmation-page.section-compact {
    padding: 54px 0 72px;
}
.confirmation-card {
    width: min(100%, 920px);
    margin: 0 auto;
    border: 1px solid #dfe5ec;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15,23,42,.10);
    overflow: hidden;
}
.confirmation-topbar {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 24px;
    background: linear-gradient(135deg,#111827,#202937);
    color: #fff;
    overflow: hidden;
}
.confirmation-topbar::after {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    width: 260px;
    opacity: .12;
    pointer-events: none;
    background:
        linear-gradient(45deg,rgba(255,255,255,.34) 25%,transparent 25% 75%,rgba(255,255,255,.34) 75%),
        linear-gradient(45deg,rgba(255,255,255,.34) 25%,transparent 25% 75%,rgba(255,255,255,.34) 75%);
    background-size: 28px 28px;
    background-position: 0 0,14px 14px;
    mask-image: linear-gradient(to left,#000,transparent 88%);
}
.confirmation-topbar strong {
    display: block;
    font-size: 22px;
    line-height: 1.1;
    font-weight: 850;
}
.confirmation-topbar span {
    display: block;
    margin-top: 4px;
    color: #9eabc0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.confirmation-topbar b {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.09);
    color: #f5c518;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}
.confirmation-topbar i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 5px rgba(34,197,94,.14);
}
.confirmation-body {
    padding: 22px 24px 26px;
}
.confirmation-success {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e7ebf0;
}
.confirmation-success > span {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: #eaf8ef;
    color: #178a42;
    font-size: 22px;
    font-weight: 900;
}
.confirmation-success h1 {
    margin: 0;
    color: #121821;
    font-size: clamp(22px,2.2vw,30px);
    line-height: 1.16;
    letter-spacing: -.03em;
    font-weight: 850;
}
.confirmation-success p {
    margin: 7px 0 0;
    color: #657086;
    font-size: 13px;
    line-height: 1.55;
}
.confirmation-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 18px 0 11px;
}
.confirmation-head h2 {
    margin: 0;
    color: #151b24;
    font-size: 18px;
    font-weight: 850;
}
.confirmation-head span {
    color: #7a8699;
    font-size: 12px;
}
.confirmation-summary {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    border: 1px solid #e1e6ed;
    border-radius: 13px;
    overflow: hidden;
}
.confirmation-summary div {
    min-height: 76px;
    padding: 14px;
    border-right: 1px solid #e8ecf1;
    border-bottom: 1px solid #e8ecf1;
}
.confirmation-summary div:nth-child(3n) {
    border-right: 0;
}
.confirmation-summary div:nth-last-child(-n+3) {
    border-bottom: 0;
}
.confirmation-summary span {
    display: block;
    margin-bottom: 6px;
    color: #748197;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.confirmation-summary strong {
    display: block;
    color: #172033;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 800;
    overflow-wrap: anywhere;
}
.confirmation-pill {
    display: inline-flex !important;
    width: fit-content;
    padding: 5px 9px;
    border-radius: 999px;
    background: #fff0f0;
    color: #c62828 !important;
    font-size: 12px !important;
}
.confirmation-note {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 13px;
    background: #fff8e5;
    border: 1px solid #f3dfaa;
    color: #745300;
    font-size: 13px;
    line-height: 1.5;
}
.confirmation-warning {
    background: #fff0f0;
    border-color: #ffd0d0;
    color: #9f1d1d;
}
.confirmation-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #e7ebf0;
}
.confirmation-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 17px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.confirmation-btn-primary {
    background: var(--sub-red);
    color: #fff;
    box-shadow: 0 10px 20px rgba(237,28,36,.16);
}
.confirmation-btn-dark {
    background: #202938;
    color: #fff;
}
.confirmation-btn-light {
    background: #f3f5f8;
    color: #253047;
    border: 1px solid #dce2e9;
}
.confirmation-footer {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 14px 24px;
    border-top: 1px solid #e3e8ee;
    background: #f8fafc;
    color: #68758a;
    font-size: 12px;
    line-height: 1.5;
}
.confirmation-footer a {
    color: #0b63ce;
    font-weight: 800;
}

@media(max-width:1080px) {
    .apply-two-column {
        grid-template-columns: 1fr;
    }
    .apply-info-column {
        position: static;
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}
@media(max-width:780px) {
    .apply-form-head,
    .confirmation-head {
        display: block;
    }
    .apply-info-column {
        grid-template-columns: 1fr;
    }
    .apply-form-grid,
    .confirmation-summary {
        grid-template-columns: 1fr;
    }
    .confirmation-summary div,
    .confirmation-summary div:nth-child(3n),
    .confirmation-summary div:nth-last-child(-n+3) {
        border-right: 0;
        border-bottom: 1px solid #e8ecf1;
    }
    .confirmation-summary div:last-child {
        border-bottom: 0;
    }
}
@media(max-width:560px) {
    .apply-page.section-compact,
    .confirmation-page.section-compact {
        padding: 32px 0 52px;
    }
    .apply-form-card {
        padding: 24px 20px;
    }
    .apply-submit,
    .confirmation-btn {
        width: 100%;
    }
    .confirmation-topbar {
        display: block;
    }
    .confirmation-topbar b {
        margin-top: 12px;
    }
}
