/* =========================================================================
   VERGE THEME — main.css (Direction 1 "Current")
   Sora + Inter · purple/blue/cyan brand · dark hero · medium-rounded.
   ========================================================================= */

/* -------------------------------- TOKENS -------------------------------- */
:root {
	--verge-purple:      #5f2b83;
	--verge-purple-600:  #4e2269;
	--verge-purple-700:  #3d1a52;
	--verge-blue:        #086fb8;
	--verge-blue-600:    #0a5f9c;
	--verge-blue-700:    #084e80;
	--verge-cyan:        #3fc3db;
	--verge-cyan-600:    #2aa8c0;
	--verge-cyan-700:    #1f8b9f;

	--verge-emerald:      var(--verge-blue);
	--verge-emerald-600:  var(--verge-blue-600);
	--verge-emerald-700:  var(--verge-blue-700);
	--verge-ink:          var(--verge-purple);
	--verge-ink-800:      var(--verge-purple-600);
	--verge-coral:        var(--verge-cyan);
	--verge-coral-600:    var(--verge-cyan-600);

	--verge-black:  #12151c;
	--verge-900:    #1a202c;
	--verge-800:    #2d3748;
	--verge-700:    #4a5568;
	--verge-600:    #718096;
	--verge-500:    #a0aec0;
	--verge-400:    #cbd5e0;
	--verge-300:    #e2e8f0;
	--verge-200:    #edf2f7;
	--verge-100:    #f7fafc;
	--verge-white:  #ffffff;
	--verge-cream:  #f8fafc;

	--color-text:          var(--verge-800);
	--color-heading:       var(--verge-ink);
	--color-bg:            var(--verge-white);
	--color-bg-alt:        var(--verge-cream);
	--color-accent:        var(--verge-blue);
	--color-accent-ink:    var(--verge-blue-700);
	--color-accent-bright: var(--verge-cyan);
	--color-cta:           var(--verge-cyan);
	--color-border:        var(--verge-300);

	--font-head: "Sora", system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

	--fs-xs:.8125rem; --fs-sm:.9375rem; --fs-base:1.0625rem; --fs-lg:1.25rem;
	--fs-xl:1.5rem; --fs-2xl:2rem; --fs-3xl:2.75rem; --fs-4xl:clamp(2.75rem,6vw,4.5rem);

	--space-1:.5rem; --space-2:1rem; --space-3:1.5rem; --space-4:2rem;
	--space-5:3rem; --space-6:4rem; --space-7:6rem; --space-8:8rem;

	--container:1200px; --container-wide:1440px;
	--radius:14px; --radius-lg:24px; --radius-pill:999px;

	--shadow-sm:0 1px 2px rgba(11,31,58,.06),0 2px 6px rgba(11,31,58,.06);
	--shadow-md:0 8px 24px rgba(11,31,58,.10);
	--shadow-lg:0 24px 60px rgba(11,31,58,.16);
	--ring:0 0 0 3px rgba(8,111,184,.40);

	--ease:cubic-bezier(.16,.84,.44,1); --dur:.45s;
}

/* --------------------------------- BASE --------------------------------- */
*,*::before,*::after { box-sizing:border-box; } * { margin:0; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body { font-family:var(--font-body); font-size:var(--fs-base); line-height:1.65; color:var(--color-text); background:var(--color-bg); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden; }
h1,h2,h3,h4,h5 { font-family:var(--font-head); color:var(--color-heading); line-height:1.08; font-weight:700; letter-spacing:-.02em; }
img,picture,svg,video { display:block; max-width:100%; height:auto; }
a { color:var(--color-accent-ink); text-decoration:none; transition:color .2s var(--ease); }
a:hover { color:var(--verge-ink); }
ul,ol { padding:0; list-style:none; }
:focus-visible { outline:none; box-shadow:var(--ring); border-radius:6px; }
.screen-reader-text { position:absolute!important; width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link { position:absolute; left:-999px; top:0; background:var(--verge-ink); color:#fff; padding:.75rem 1.25rem; z-index:999; border-radius:0 0 8px 0; }
.skip-link:focus { left:0; color:#fff; }

/* -------------------------------- LAYOUT -------------------------------- */
.container { width:100%; max-width:var(--container); margin-inline:auto; padding-inline:clamp(1.25rem,4vw,2.5rem); }
.container--wide { max-width:var(--container-wide); }
.section { padding-block:clamp(3.5rem,8vw,7rem); }
.section--tight { padding-block:clamp(2.5rem,5vw,4rem); }
.section--alt { background:var(--color-bg-alt); }
.section--ink { background:var(--verge-ink); color:var(--verge-200); }
.section--ink h2,.section--ink h3 { color:#fff; }
.section-head { max-width:60ch; margin-bottom:var(--space-5); }
.section-head--center { margin-inline:auto; text-align:center; }
.eyebrow { display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-head); font-weight:700; font-size:var(--fs-sm); letter-spacing:.12em; text-transform:uppercase; color:var(--color-accent-ink); margin-bottom:var(--space-2); }
.eyebrow::before { content:""; width:28px; height:3px; border-radius:3px; background:var(--color-accent); }
.section--ink .eyebrow { color:var(--color-accent-bright); }
.section-title { font-size:var(--fs-3xl); }
.section-lead { font-size:var(--fs-lg); color:var(--verge-600); margin-top:var(--space-2); }
.section--ink .section-lead { color:var(--verge-400); }
.grid { display:grid; gap:var(--space-4); }
.grid--2 { grid-template-columns:repeat(2,1fr); }
.grid--3 { grid-template-columns:repeat(3,1fr); }
.grid--4 { grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){ .grid--3,.grid--4{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .grid--2,.grid--3,.grid--4{grid-template-columns:1fr;} }

/* -------------------------------- BUTTONS ------------------------------- */
.btn { display:inline-flex; align-items:center; gap:.55rem; font-family:var(--font-head); font-weight:600; font-size:var(--fs-base); line-height:1; padding:.95rem 1.6rem; border-radius:var(--radius-pill); border:2px solid transparent; cursor:pointer; transition:transform .2s var(--ease), background .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease); white-space:nowrap; }
.btn .icon { transition:transform .2s var(--ease); }
.btn:hover .icon { transform:translateX(3px); }
.btn:active { transform:translateY(1px); }
.btn--primary { background:var(--verge-ink); color:#fff; }
.btn--primary:hover { background:var(--verge-ink-800); color:#fff; box-shadow:var(--shadow-md); }
.btn--accent { background:var(--color-cta); color:var(--verge-purple-700); box-shadow:0 8px 20px rgba(63,195,219,.38); }
.btn--accent:hover { background:var(--verge-cyan-600); color:var(--verge-purple-700); transform:translateY(-2px); }
.btn--emerald { background:var(--color-accent); color:#fff; }
.btn--emerald:hover { background:var(--verge-emerald-600); color:#fff; transform:translateY(-2px); }
.btn--ghost { background:transparent; color:var(--verge-ink); border-color:var(--color-border); }
.btn--ghost:hover { border-color:var(--verge-ink); color:var(--verge-ink); }
.btn--light { background:#fff; color:var(--verge-ink); }
.btn--light:hover { background:var(--verge-100); color:var(--verge-ink); }
.btn--sm { padding:.55rem 1.1rem; font-size:var(--fs-sm); }

/* -------------------------------- TOP BAR ------------------------------- */
.topbar { background:var(--verge-ink); color:var(--verge-300); font-size:var(--fs-sm); }
.topbar__inner { display:flex; align-items:center; justify-content:space-between; min-height:44px; gap:1rem; }
.topbar__tag { margin:0; color:var(--verge-400); }
.topbar__actions { display:flex; align-items:center; gap:1.25rem; }
.topbar__menu { display:flex; gap:1.25rem; }
.topbar__link,.topbar__menu a { color:var(--verge-300); display:inline-flex; align-items:center; gap:.4rem; }
.topbar__link:hover,.topbar__menu a:hover { color:#fff; }
.topbar__link--phone { font-weight:600; color:#fff; }
@media (max-width:760px){ .topbar__tag{display:none;} .topbar__inner{justify-content:flex-end;} }

/* Announcement bar */
.announce-bar { background:linear-gradient(90deg,var(--verge-cyan),var(--verge-blue)); color:#06251d; }
.announce-bar__inner { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:.75rem 1.25rem; min-height:44px; padding-block:.5rem; text-align:center; }
.announce-bar__text { margin:0; font-family:var(--font-head); font-weight:600; font-size:var(--fs-sm); color:var(--verge-purple-700); display:inline-flex; align-items:center; gap:.6rem; flex-wrap:wrap; justify-content:center; }
.announce-bar__badge { background:var(--verge-purple); color:#fff; font-size:var(--fs-xs); font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:.2rem .6rem; border-radius:var(--radius-pill); }
.announce-bar__cta { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--font-head); font-weight:700; font-size:var(--fs-sm); color:var(--verge-purple-700); background:#fff; padding:.4rem 1rem; border-radius:var(--radius-pill); transition:transform .2s var(--ease), box-shadow .2s var(--ease); }
.announce-bar__cta:hover { color:var(--verge-purple-700); transform:translateY(-1px); box-shadow:var(--shadow-sm); }
.announce-bar__cta .icon { transition:transform .2s var(--ease); }
.announce-bar__cta:hover .icon { transform:translateX(3px); }

/* -------------------------------- HEADER -------------------------------- */
.site-header { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.92); backdrop-filter:saturate(160%) blur(10px); border-bottom:1px solid var(--color-border); transition:box-shadow .3s var(--ease); }
.site-header.is-stuck { box-shadow:var(--shadow-md); }
.site-header__inner { display:flex; align-items:center; justify-content:space-between; min-height:76px; gap:1.5rem; }
.brand { display:inline-flex; align-items:center; gap:.7rem; color:var(--verge-ink); }
.brand:hover { color:var(--verge-ink); }
.brand__mark { display:grid; place-items:center; width:44px; height:44px; border-radius:12px; font-family:var(--font-head); font-weight:800; font-size:1.5rem; color:#fff; background:linear-gradient(135deg,var(--verge-cyan) 0%,var(--verge-blue) 45%,var(--verge-purple) 100%); box-shadow:var(--shadow-sm); }
.brand__text { display:flex; flex-direction:column; line-height:1.05; }
.brand__name { font-family:var(--font-head); font-weight:800; font-size:1.25rem; letter-spacing:-.02em; text-transform:uppercase; }
.brand__sub { font-size:var(--fs-xs); color:var(--verge-600); letter-spacing:.02em; }
.custom-logo { max-height:52px; width:auto; }

.main-nav { display:flex; align-items:center; gap:1.75rem; }
.nav-menu { display:flex; align-items:center; gap:1.5rem; }
.nav-menu > li { position:relative; }
.nav-menu > li > a { font-family:var(--font-head); font-weight:600; color:var(--verge-800); font-size:var(--fs-base); padding:.5rem 0; display:inline-flex; align-items:center; gap:.35rem; position:relative; }
.nav-menu > li > a::after { content:""; position:absolute; left:0; bottom:-2px; width:0; height:3px; border-radius:3px; background:var(--color-accent); transition:width .25s var(--ease); }
.nav-menu > li:hover > a::after, .nav-menu > li.current-menu-item > a::after { width:100%; }
.nav-menu > li.menu-item-has-children > a::after { content:none; }
.nav-menu .sub-menu { position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%) translateY(8px); min-width:260px; background:#fff; border:1px solid var(--color-border); border-radius:var(--radius); box-shadow:var(--shadow-lg); padding:.6rem; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s var(--ease), transform .25s var(--ease); z-index:50; }
.nav-menu .sub-menu::before { content:""; position:absolute; top:-16px; left:0; right:0; height:16px; }
.nav-menu > li:hover > .sub-menu, .nav-menu > li:focus-within > .sub-menu { opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.nav-menu .sub-menu a { display:block; padding:.7rem .9rem; border-radius:10px; font-family:var(--font-head); font-weight:500; font-size:var(--fs-sm); color:var(--verge-800); }
.nav-menu .sub-menu a:hover { background:var(--verge-100); color:var(--verge-ink); }

.main-nav__cta { padding:.7rem 1.3rem; }
.main-nav__cta-wrap { position:relative; }
.main-nav__cta-wrap .main-nav__cta { border:0; cursor:pointer; font-family:var(--font-head); }
.main-nav__cta-wrap .main-nav__cta .icon { transition:transform .25s var(--ease); }
.main-nav__cta-wrap.is-open .main-nav__cta .icon { transform:rotate(90deg); }
.main-nav__cta-menu { position:absolute; top:calc(100% + 12px); right:0; min-width:210px; background:#fff; border:1px solid var(--color-border); border-radius:var(--radius); box-shadow:var(--shadow-lg); padding:.5rem; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(8px); transition:opacity .25s var(--ease), transform .25s var(--ease); z-index:60; }
.main-nav__cta-menu::before { content:""; position:absolute; top:-14px; left:0; right:0; height:14px; }
.main-nav__cta-wrap:hover .main-nav__cta-menu, .main-nav__cta-wrap:focus-within .main-nav__cta-menu, .main-nav__cta-wrap.is-open .main-nav__cta-menu { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
.main-nav__cta-menu a { display:flex; align-items:center; gap:.5rem; padding:.7rem .9rem; border-radius:10px; font-family:var(--font-head); font-weight:600; font-size:var(--fs-sm); color:var(--verge-800); }
.main-nav__cta-menu a:hover { background:var(--verge-100); color:var(--verge-ink); }
.main-nav__cta-menu a .icon { color:var(--verge-blue); flex:0 0 auto; }

.nav-toggle { display:none; background:none; border:0; cursor:pointer; width:48px; height:48px; align-items:center; justify-content:center; }
.nav-toggle__box { position:relative; width:26px; height:18px; display:block; }
.nav-toggle__bar,.nav-toggle__bar::before,.nav-toggle__bar::after { position:absolute; left:0; height:3px; width:100%; border-radius:3px; background:var(--verge-ink); transition:transform .3s var(--ease), opacity .2s var(--ease); }
.nav-toggle__bar { top:50%; transform:translateY(-50%); }
.nav-toggle__bar::before { content:""; top:-8px; } .nav-toggle__bar::after { content:""; top:8px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar { background:transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar::before { transform:translateY(8px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar::after { transform:translateY(-8px) rotate(-45deg); }

@media (max-width:980px){
	.nav-toggle{ display:inline-flex; }
	.main-nav{ position:fixed; inset:0 0 0 auto; width:min(360px,84vw); background:#fff; flex-direction:column; align-items:stretch; padding:6rem 1.5rem 2rem; gap:.5rem; transform:translateX(100%); transition:transform .35s var(--ease); box-shadow:var(--shadow-lg); overflow-y:auto; }
	.main-nav.is-open{ transform:translateX(0); }
	.nav-menu{ flex-direction:column; align-items:stretch; gap:.25rem; }
	.nav-menu > li > a{ padding:.85rem .25rem; font-size:var(--fs-lg); justify-content:space-between; }
	.nav-menu > li > a::after{ content:none; }
	.nav-menu .sub-menu{ position:static; transform:none; opacity:1; visibility:visible; pointer-events:auto; box-shadow:none; border:0; border-left:2px solid var(--color-border); border-radius:0; margin:0 0 .5rem .5rem; padding:0 0 0 .5rem; max-height:0; overflow:hidden; transition:max-height .3s var(--ease); }
	.nav-menu > li.is-open > .sub-menu{ max-height:500px; }
	.main-nav__cta-wrap{ margin-top:1rem; }
	.main-nav__cta{ width:100%; justify-content:center; }
	.main-nav__cta-menu{ position:static; opacity:1; visibility:visible; pointer-events:auto; transform:none; box-shadow:none; border:0; margin-top:.5rem; }
	body.nav-open{ overflow:hidden; }
	.nav-scrim{ position:fixed; inset:0; background:rgba(11,31,58,.5); opacity:0; visibility:hidden; transition:opacity .3s var(--ease); z-index:99; }
	.nav-scrim.is-open{ opacity:1; visibility:visible; }
}

/* --------------------------------- HERO --------------------------------- */
.hero { position:relative; background:radial-gradient(1200px 600px at 80% -10%, rgba(63,195,219,.22), transparent 60%), linear-gradient(160deg,var(--verge-purple) 0%,#3d1a52 55%,#2a1139 100%); color:#fff; overflow:hidden; padding-block:clamp(4rem,9vw,8rem); }
.hero::after { content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px); background-size:26px 26px; opacity:.6; pointer-events:none; }
.hero--image { background:var(--verge-purple); }
.hero--image::before { content:""; position:absolute; inset:0; z-index:0; background-image:linear-gradient(160deg, rgba(95,43,131,.86) 0%, rgba(61,26,82,.80) 55%, rgba(42,17,57,.88) 100%), var(--hero-image,none); background-size:cover; background-position:center; background-repeat:no-repeat; }
.hero__inner { position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.hero__eyebrow { color:#fff; }
.hero__eyebrow::before { background:#fff; }
.hero__title { color:#fff; font-size:var(--fs-4xl); font-weight:800; margin-bottom:1.25rem; }
.hero__title .accent { color:var(--color-accent-bright); }
.hero__lead { font-size:var(--fs-lg); color:var(--verge-300); max-width:48ch; margin-bottom:2rem; }
.hero__actions { display:flex; flex-wrap:wrap; gap:1rem; }
.hero__pills { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:2.25rem; }
.hero__pill { display:inline-flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); color:#fff; padding:.5rem 1rem; border-radius:var(--radius-pill); font-family:var(--font-head); font-weight:600; font-size:var(--fs-sm); }
.hero__pill .icon { color:var(--color-accent-bright); }
.hero__visual { position:relative; }
.hero__card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-lg); backdrop-filter:blur(6px); padding:1.75rem; box-shadow:var(--shadow-lg); }
.hero__card + .hero__card { margin-top:1rem; }
.hero__stat { display:flex; align-items:baseline; gap:.6rem; }
.hero__stat-num { font-family:var(--font-head); font-weight:800; font-size:2.75rem; color:var(--color-accent-bright); }
.hero__stat-label { color:var(--verge-300); font-size:var(--fs-sm); }
@media (max-width:860px){ .hero__inner{grid-template-columns:1fr;} .hero__visual{order:-1;} }

/* -------------------------------- APPROACH ------------------------------ */
.steps { counter-reset:step; }
.step { position:relative; background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-lg); padding:2rem 1.75rem; transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease); }
.step:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:transparent; }
.step__num { counter-increment:step; position:absolute; top:-18px; left:1.75rem; width:44px; height:44px; border-radius:12px; display:grid; place-items:center; font-family:var(--font-head); font-weight:800; color:#fff; background:linear-gradient(135deg,var(--verge-blue),var(--verge-purple)); }
.step__num::before { content:counter(step,decimal-leading-zero); }
.step__icon { width:56px; height:56px; border-radius:14px; display:grid; place-items:center; background:var(--verge-100); color:var(--verge-emerald-700); margin:.5rem 0 1.1rem; }
.step__title { font-size:var(--fs-xl); margin-bottom:.5rem; }
.step__text { color:var(--verge-600); font-size:var(--fs-sm); }

/* --------------------------------- STORIES ------------------------------ */
.story { position:relative; border-radius:var(--radius-lg); overflow:hidden; background:var(--verge-ink); color:#fff; min-height:420px; display:flex; align-items:flex-end; box-shadow:var(--shadow-md); transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.story:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.story__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.85; }
.story__img--ph { position:absolute; inset:0; background:linear-gradient(160deg,var(--verge-blue-600),var(--verge-purple)); }
.story__overlay { position:relative; z-index:2; padding:1.75rem; background:linear-gradient(to top, rgba(42,17,57,.92) 20%, rgba(42,17,57,.1)); width:100%; }
.story__quote { font-family:var(--font-head); font-weight:600; font-size:var(--fs-lg); line-height:1.3; margin-bottom:.75rem; }
.story__name { font-weight:700; color:var(--color-accent-bright); }
.story__role { font-size:var(--fs-sm); color:var(--verge-300); }
.story__icon { position:absolute; top:1.5rem; left:1.5rem; z-index:2; color:var(--color-accent-bright); opacity:.8; }

/* --------------------------------- IMPACT ------------------------------- */
.impact { text-align:center; }
.impact__num { font-family:var(--font-head); font-weight:800; font-size:clamp(2.75rem,6vw,4.25rem); line-height:1; color:var(--color-accent-bright); }
.impact__num .suffix { color:#fff; }
.impact__label { color:var(--verge-300); margin-top:.5rem; font-size:var(--fs-base); }

/* -------------------------------- PROGRAMS ------------------------------ */
.program { display:flex; flex-direction:column; background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-lg); overflow:hidden; transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.program:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.program__media { position:relative; aspect-ratio:4/3; overflow:hidden; }
.program__media img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.program:hover .program__media img { transform:scale(1.05); }
.program__media--ph { background:linear-gradient(135deg,var(--verge-cyan),var(--verge-blue) 55%,var(--verge-purple)); }
.program__tag { position:absolute; top:1rem; left:1rem; background:rgba(255,255,255,.95); color:var(--verge-ink); font-family:var(--font-head); font-weight:700; font-size:var(--fs-xs); padding:.35rem .8rem; border-radius:var(--radius-pill); text-transform:uppercase; letter-spacing:.06em; }
.program__body { padding:1.5rem; display:flex; flex-direction:column; flex:1; }
.program__title { font-size:var(--fs-xl); margin-bottom:.5rem; }
.program__text { color:var(--verge-600); font-size:var(--fs-sm); flex:1; }
.program__more { margin-top:1rem; display:inline-flex; align-items:center; gap:.4rem; font-family:var(--font-head); font-weight:600; }

/* ------------------------------ ASPIRE PROMO ---------------------------- */
.aspire-promo { position:relative; overflow:hidden; background:radial-gradient(900px 400px at 90% 0%, rgba(63,195,219,.16), transparent 60%), linear-gradient(140deg,var(--verge-purple) 0%,#3d1a52 60%,#2a1139 100%); color:#fff; }
.aspire-promo__inner { max-width:1100px; display:grid; grid-template-columns:minmax(0,440px) minmax(0,1fr); gap:clamp(2rem,5vw,4rem); align-items:center; }
.aspire-promo__media { align-self:stretch; }
.aspire-promo__media img { width:100%; height:100%; min-height:280px; object-fit:cover; border-radius:var(--radius-lg); border:6px solid #fff; display:block; box-shadow:0 20px 50px rgba(0,0,0,.35); }
@media (max-width:820px) {
	.aspire-promo__inner { grid-template-columns:1fr; }
	.aspire-promo__media img { min-height:220px; }
}
.aspire-promo__eyebrow { color:var(--verge-cyan); }
.aspire-promo .section-title { color:#fff; }
.aspire-promo .section-lead { color:var(--verge-300); }
.aspire-promo__points { margin:1.5rem 0 2rem; display:grid; gap:.75rem; }
.aspire-promo__points li { display:flex; align-items:center; gap:.7rem; font-family:var(--font-head); font-weight:500; color:#fff; }
.aspire-promo__points .icon { color:var(--verge-cyan); flex:0 0 auto; }
.aspire-promo__actions { display:flex; flex-wrap:wrap; gap:1rem; }
.aspire-promo__actions .btn--ghost { color:#fff; border-color:rgba(255,255,255,.35); }
.aspire-promo__actions .btn--ghost:hover { border-color:#fff; color:#fff; }

/* ------------------------------ VIDEO FEATURE --------------------------- */
.video-feature { background:linear-gradient(140deg,var(--verge-blue) 0%,var(--verge-purple) 60%,#2a1139 100%); }
.video-feature__head { text-align:center; max-width:640px; margin:0 auto clamp(1.75rem,3vw,2.5rem); }
.video-feature__head .eyebrow { margin-inline:auto; color:var(--color-accent-bright); }
.video-feature__head .section-title { color:#fff; }
.video-player { position:relative; max-width:900px; margin:0 auto; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); background:#000; aspect-ratio:16/9; }
.video-player__el { display:block; width:100%; height:100%; object-fit:cover; }
.video-player__play {
	position:absolute; inset:0; margin:auto; width:84px; height:84px; border-radius:50%;
	display:grid; place-items:center; cursor:pointer; border:0;
	background:var(--verge-purple); color:#fff;
	box-shadow:0 10px 30px rgba(0,0,0,.35);
	transition:transform .2s var(--ease), background .2s var(--ease), opacity .3s var(--ease);
}
.video-player__play::before {
	content:""; position:absolute; inset:-10px; border-radius:50%;
	border:2px solid rgba(255,255,255,.5); opacity:.6;
}
.video-player__play svg { margin-left:4px; }
.video-player__play:hover { transform:scale(1.06); background:var(--verge-cyan); color:var(--verge-purple-700); }
.video-player.is-playing .video-player__play { opacity:0; visibility:hidden; pointer-events:none; }

/* ------------------------------- EVENT CARDS ---------------------------- */
.event-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-lg); overflow:hidden; transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.event-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.event-card__media { position:relative; aspect-ratio:16/10; overflow:hidden; }
.event-card__media img { width:100%; height:100%; object-fit:cover; }
.event-card__media--ph { position:absolute; inset:0; background:linear-gradient(135deg,var(--verge-cyan),var(--verge-blue) 55%,var(--verge-purple)); }
.event-card__body { padding:1.4rem; display:flex; flex-direction:column; flex:1; }
.event-card__date { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--font-head); font-weight:700; font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.04em; color:var(--verge-blue); margin-bottom:.4rem; }
.event-card__date .icon,.event-card__loc .icon { color:var(--verge-blue); flex:0 0 auto; }
.event-card__title { font-size:var(--fs-lg); margin-bottom:.5rem; }
.event-card__loc { display:flex; align-items:center; gap:.4rem; color:var(--verge-600); font-size:var(--fs-sm); margin-bottom:1rem; }
.event-card__actions { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:.75rem; flex-wrap:wrap; }
.event-card__ics { display:inline-flex; align-items:center; gap:.35rem; font-family:var(--font-head); font-weight:600; font-size:var(--fs-xs); color:var(--verge-700); }
.event-card__ics:hover { color:var(--verge-blue); }
.event-card__ics .icon { color:var(--verge-blue); }

/* -------------------------------- APPLY CTA ----------------------------- */
.apply-band { position:relative; overflow:hidden; background:linear-gradient(130deg,var(--verge-blue) 0%,var(--verge-purple) 100%); color:#fff; border-radius:var(--radius-lg); padding:clamp(2.5rem,6vw,4.5rem); text-align:center; }
.apply-band::before { content:""; position:absolute; right:-60px; top:-60px; width:260px; height:260px; border-radius:50%; background:rgba(255,255,255,.08); }
.apply-band h2 { color:#fff; font-size:var(--fs-3xl); margin-bottom:1rem; position:relative; }
.apply-band p { color:rgba(255,255,255,.9); max-width:52ch; margin:0 auto 2rem; position:relative; }
.apply-band .btn { position:relative; }

/* ----------------------------- INNER / MISC ----------------------------- */
.page-hero { background:var(--verge-ink); color:#fff; padding-block:clamp(3rem,7vw,5rem); }
.page-hero__eyebrow { color:var(--verge-cyan); font-family:var(--font-head); font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:var(--fs-sm); }
.page-hero__title { color:#fff; font-size:var(--fs-3xl); }
.prose { max-width:72ch; } .prose > * + * { margin-top:1.25rem; }
.prose h2 { font-size:var(--fs-2xl); margin-top:2.5rem; } .prose h3 { font-size:var(--fs-xl); margin-top:2rem; }
.prose a { text-decoration:underline; text-underline-offset:3px; }
.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-4); }
@media (max-width:900px){ .post-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .post-grid{grid-template-columns:1fr;} }
.card { background:#fff; border:1px solid var(--color-border); border-radius:var(--radius); overflow:hidden; transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.card__media { display:block; aspect-ratio:4/3; overflow:hidden; }
.card__media img { width:100%; height:100%; object-fit:cover; }
.card__body { padding:1.35rem; }
.card__title { font-size:var(--fs-lg); margin-bottom:.35rem; }
.card__meta { color:var(--verge-500); font-size:var(--fs-xs); margin-bottom:.6rem; }
.card__excerpt { color:var(--verge-600); font-size:var(--fs-sm); }
.card__more { display:inline-flex; align-items:center; gap:.4rem; margin-top:.8rem; font-family:var(--font-head); font-weight:600; }
.pagination { margin-top:var(--space-5); display:flex; justify-content:center; }
.pagination .page-numbers { display:inline-flex; gap:.4rem; }
.pagination a,.pagination span { padding:.5rem .9rem; border-radius:10px; border:1px solid var(--color-border); font-family:var(--font-head); font-weight:600; }
.pagination .current { background:var(--verge-ink); color:#fff; border-color:var(--verge-ink); }
.single__media { border-radius:var(--radius-lg); overflow:hidden; margin-bottom:2rem; }

/* --------------------------------- FOOTER ------------------------------- */
.site-footer { background:var(--verge-black); color:var(--verge-400); padding-top:clamp(3rem,6vw,5rem); }
.site-footer__grid { display:grid; grid-template-columns:1.2fr 2fr; gap:clamp(2rem,5vw,4rem); padding-bottom:3rem; }
.footer-logo { display:inline-flex; align-items:center; }
.footer-logo img { height:auto; width:auto; max-height:52px; max-width:220px; display:block; }
.site-footer__blurb { margin:1.25rem 0 1.75rem; max-width:42ch; color:var(--verge-500); }
.site-footer__cols { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.site-footer__col h3,.widget__title { color:#fff; font-family:var(--font-head); font-size:var(--fs-base); margin-bottom:1rem; }
.site-footer__col li { margin-bottom:.6rem; }
.site-footer__col a { color:var(--verge-400); }
.site-footer__col a:hover { color:var(--verge-cyan); }
.site-footer__contact { font-style:normal; }
.site-footer__contact-line { display:flex; align-items:flex-start; gap:.6rem; margin-bottom:.9rem; color:var(--verge-400); font-size:var(--fs-sm); line-height:1.4; }
.site-footer__contact-line .icon { color:var(--verge-cyan); flex:0 0 auto; margin-top:.1rem; }
.site-footer__contact-line small { color:var(--verge-500); font-size:var(--fs-xs); }
.site-footer__hours { color:var(--verge-500); font-size:var(--fs-xs); margin-top:.25rem; padding-top:.75rem; border-top:1px solid rgba(255,255,255,.08); }
.site-footer__social { display:flex; gap:.6rem; margin-top:1.25rem; }
.site-footer__social-link { display:grid; place-items:center; width:40px; height:40px; border-radius:10px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:var(--verge-300); transition:background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease); }
.site-footer__social-link:hover { background:var(--verge-cyan); color:var(--verge-purple-700); transform:translateY(-2px); }
.site-footer__bar { border-top:1px solid rgba(255,255,255,.08); }
.site-footer__bar-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:1.5rem; }
.site-footer__copy { color:var(--verge-500); font-size:var(--fs-sm); margin:0; }
.site-footer__legal { display:flex; gap:1.25rem; }
.site-footer__legal a { color:var(--verge-500); font-size:var(--fs-sm); }
.site-footer__legal a:hover { color:#fff; }
@media (max-width:800px){ .site-footer__grid{grid-template-columns:1fr;} .site-footer__cols{grid-template-columns:repeat(2,1fr);} .site-footer__bar-inner{flex-direction:column; align-items:flex-start;} }
@media (max-width:480px){ .site-footer__cols{grid-template-columns:1fr;} }

/* ------------------------------ SCROLL REVEAL --------------------------- */
[data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
[data-reveal].is-visible { opacity:1; transform:none; }
[data-reveal-delay="1"]{transition-delay:.08s;} [data-reveal-delay="2"]{transition-delay:.16s;}
[data-reveal-delay="3"]{transition-delay:.24s;} [data-reveal-delay="4"]{transition-delay:.32s;}
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{animation:none!important; transition:none!important; scroll-behavior:auto!important;} [data-reveal]{opacity:1; transform:none;} }

/* ------------------------- PARTNER WITH US (employer form) ---------------- */
.page-hero__sub { color:var(--verge-300); font-size:var(--fs-lg); margin-top:.75rem; max-width:60ch; }
.partner__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
.partner-def { background:var(--color-bg-alt); border:1px solid var(--color-border); border-radius:var(--radius-lg); padding:1.5rem 1.6rem; margin-top:1.25rem; }
.partner-def__title { font-size:var(--fs-lg); color:var(--verge-purple); margin-bottom:.4rem; }
.partner-def p { color:var(--verge-600); font-size:var(--fs-sm); line-height:1.6; }

.partner__form-wrap { background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:clamp(1.5rem,3vw,2.25rem); }
.partner-form__title { font-size:var(--fs-xl); margin-bottom:1.25rem; color:var(--verge-purple); }
.partner-form__row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.partner-form__field { display:block; margin-bottom:1rem; }
.partner-form__field > span { display:block; font-family:var(--font-head); font-weight:600; font-size:var(--fs-sm); color:var(--verge-800); margin-bottom:.35rem; }
.partner-form__field em { color:var(--verge-cyan-700); font-style:normal; }
.partner-form__field input, .partner-form__field select, .partner-form__field textarea {
	width:100%; font-family:var(--font-body); font-size:var(--fs-base); color:var(--verge-900);
	padding:.7rem .85rem; border:1px solid var(--color-border); border-radius:10px; background:#fff;
	transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.partner-form__field input:focus, .partner-form__field select:focus, .partner-form__field textarea:focus {
	outline:none; border-color:var(--verge-blue); box-shadow:0 0 0 3px rgba(8,111,184,.18);
}
.partner-form__field textarea { resize:vertical; }
.partner-form .btn { margin-top:.5rem; }
/* honeypot: hidden from humans */
.partner-form__hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.partner-alert { border-radius:var(--radius); padding:1.25rem 1.5rem; }
.partner-alert--success { background:rgba(63,195,219,.12); border:1px solid var(--verge-cyan); }
.partner-alert--success h2 { color:var(--verge-purple); font-size:var(--fs-xl); margin-bottom:.4rem; }
.partner-alert--error { background:#fdecec; border:1px solid #e7a2a2; color:#8a1f1f; margin-bottom:1.25rem; }

@media (max-width:860px){
	.partner__grid { grid-template-columns:1fr; }
	.partner-form__row { grid-template-columns:1fr; }
}

/* ------------------------- EMPLOYER CTA BAND ------------------------------ */
.employer-promo { position:relative; overflow:hidden; background:radial-gradient(900px 400px at 90% 0%, rgba(63,195,219,.16), transparent 60%), linear-gradient(140deg,var(--verge-purple) 0%,#3d1a52 60%,#2a1139 100%); color:#fff; }
.employer-promo__inner { max-width:1100px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,440px); gap:clamp(2rem,5vw,4rem); align-items:center; }
.employer-promo .eyebrow { color:var(--verge-cyan); }
.employer-promo__content h2 { font-size:var(--fs-2xl); color:#fff; margin:.25rem 0 .5rem; }
.employer-promo__content p { color:var(--verge-300); }
.employer-promo__actions { margin-top:1.5rem; display:flex; flex-wrap:wrap; gap:1rem; }
.employer-promo__media { align-self:stretch; }
.employer-promo__media img { width:100%; height:100%; min-height:280px; object-fit:cover; border-radius:var(--radius-lg); border:6px solid #fff; display:block; box-shadow:var(--shadow-lg); }
@media (max-width:820px) {
	.employer-promo__inner { grid-template-columns:1fr; }
	.employer-promo__media { order:-1; } /* image on top when stacked */
	.employer-promo__media img { min-height:220px; }
}
