:root{
  --blue:#00053E; --gold:#FFC72C; --indigo:#2b2f8f;
  --bg:#05060f; --bg2:#0b0d1f; --panel:#0e1124;
  --card:#272a36; --card2:#2e313e; --cardline:#3a3d4c;
  --ink:#eef0f7; --muted:#cbcedb; --dim:#9498ad; --line:#1c1f33;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Roboto",-apple-system,Segoe UI,Helvetica,Arial,sans-serif;font-weight:300;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,.serif{font-family:"Merriweather",Georgia,"Times New Roman",serif;font-weight:700;color:#fff;line-height:1.12;letter-spacing:-.01em}
/* prevent text orphans/widows (graceful fallback in older browsers) */
h1,h2,h3,h4,.sub,.subhead,.card h3,.card h4,.price .loc,.stat .l,.step h4{text-wrap:balance}
p,.lead,.prose p,.card p,.person .bio,.step p,ul.ticks li,.chip,.price .unit{text-wrap:pretty}
.cond{font-family:"Bebas Neue","Arial Narrow",sans-serif;letter-spacing:.04em}
a{color:var(--gold);text-decoration:none}
img,svg{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 26px}

.btn{display:inline-block;background:var(--gold);color:var(--blue);font-family:"Bebas Neue",sans-serif;font-size:1.15rem;letter-spacing:.06em;padding:13px 30px;border-radius:3px;border:2px solid var(--gold);transition:.15s;cursor:pointer}
.btn:hover{background:#ffd457;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold);background:transparent}

/* photo band (baked-in duotone people imagery) */
.photoband{position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--gold)}
.photoband .pb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(1.05)}
.photoband .pb-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,6,15,.96) 0%,rgba(5,6,15,.82) 40%,rgba(5,6,15,.4) 78%,rgba(5,6,15,.55) 100%)}
.photoband .pb-grid{position:absolute;inset:0;z-index:1;opacity:.25;background-image:linear-gradient(rgba(84,104,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(84,104,255,.14) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%)}
.photoband .wrap{position:relative;z-index:2;padding:112px 26px}
.photoband .pb-in{max-width:640px;border-left:3px solid var(--gold);padding-left:26px}
.photoband .eyebrow{margin-bottom:14px}
.photoband h2{font-size:clamp(1.9rem,3.4vw,2.5rem);margin:2px 0 14px;color:#fff}
.photoband p{color:var(--muted);max-width:52ch;font-size:1.08rem}
.photoband .pb-btn{margin-top:24px}
@media(max-width:760px){.photoband .wrap{padding:64px 22px}.photoband .pb-veil{background:linear-gradient(180deg,rgba(5,6,15,.62),rgba(5,6,15,.93))}.photoband .pb-in{max-width:none}}

/* scroll progress bar */
.scrollbar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),#ffdc6b);z-index:120;transition:width .08s linear}

/* utility + nav */
.util{background:#03040b;color:var(--dim);font-size:.76rem;border-bottom:1px solid var(--line)}
.util .wrap{display:flex;justify-content:flex-end;gap:22px;padding:8px 26px}
.util a{color:var(--dim)} .util a:hover{color:var(--gold)}
header.nav{position:sticky;top:0;z-index:50;background:rgba(5,6,15,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}
.logo{display:flex;align-items:center;gap:13px;flex:0 0 auto;min-width:0}
.logo .mark2{height:48px;width:auto;display:block;flex-shrink:0}
.logo .etsu{font-family:"Merriweather",Georgia,serif;font-weight:700;color:var(--gold);font-size:2rem;letter-spacing:.01em;line-height:1}
.logo .logoimg{height:50px;width:auto;max-width:62vw;object-fit:contain;display:block;flex-shrink:0}
footer.site .logo .logoimg{height:auto;width:auto;max-width:min(240px,72vw);object-fit:contain;display:block}
nav.menu{display:flex;align-items:center;gap:2px}
nav.menu>div{position:relative}
nav.menu a.top{display:block;padding:10px 14px;font-size:.9rem;color:var(--ink);font-weight:400;border-radius:4px}
nav.menu a.top:hover{color:var(--gold)}
.dropdown{position:absolute;top:100%;left:0;background:#0d1024;border:1px solid var(--cardline);border-radius:8px;box-shadow:0 18px 44px rgba(0,0,0,.5);min-width:256px;padding:8px;display:none}
nav.menu>div:hover .dropdown{display:block}
.dropdown a{display:block;padding:10px 12px;font-size:.88rem;color:var(--ink);border-radius:5px}
.dropdown a:hover{background:rgba(255,199,44,.12);color:var(--gold)}
.navbtn{margin-left:10px;padding:10px 22px;font-size:1rem}
.hamburger{display:none;background:none;border:0;font-size:1.7rem;color:var(--gold);cursor:pointer}

/* hero */
.hero{position:relative;background:var(--bg);overflow:hidden;border-bottom:1px solid var(--line)}
.hero.has-photo .hero-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%;opacity:.9}
.hero.has-photo:before{z-index:2;background:linear-gradient(90deg,rgba(0,5,30,.9) 0%,rgba(0,5,30,.72) 34%,rgba(0,7,42,.34) 68%,rgba(0,7,42,.18) 100%)}
.hero.has-photo{border-bottom:none}
.hero.has-photo:after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(5,6,15,0) 0%,rgba(5,6,15,.5) 60%,#05060f 100%)}
.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,#00053E 0%,rgba(0,7,45,.9) 46%,rgba(5,6,15,.92) 100%)}
.hero .glow{position:absolute;z-index:2;width:520px;height:520px;border-radius:50%;filter:blur(80px);opacity:.26;background:var(--gold);right:-120px;top:-160px;pointer-events:none}
.hero .wrap{position:relative;z-index:3;padding:96px 26px 88px}
.eyebrow{font-family:"Bebas Neue",sans-serif;letter-spacing:.34em;font-size:.86rem;color:var(--gold);margin-bottom:18px}
.hero h1{font-size:clamp(2.5rem,5.6vw,4.3rem);max-width:18ch;color:#fff}
.hero .bar{width:70px;height:5px;background:var(--gold);margin:22px 0}
.hero p{font-size:1.16rem;max-width:58ch;margin-bottom:30px;color:var(--muted)}
.hero .btns a{margin-right:12px;margin-bottom:10px}
.herogrid{display:grid;grid-template-columns:1.25fr .85fr;gap:34px;align-items:center}
.heromedia{display:flex;justify-content:center}
.beacon{width:100%;max-width:400px;height:auto;display:block}
@media(max-width:760px){.herogrid{grid-template-columns:1fr}.heromedia{margin-top:18px}.beacon{max-width:240px}
.hero:before{background:linear-gradient(180deg,#00053E 0%,rgba(0,7,45,.88) 55%,rgba(5,6,15,.94) 100%)}
.hero.has-photo .hero-photo{opacity:.72;object-position:56% 38%}
.hero.has-photo:before{background:linear-gradient(180deg,rgba(0,5,30,.76) 0%,rgba(0,5,30,.82) 50%,rgba(5,6,15,.94) 100%)}}

/* sections */
section.block{padding:72px 0;position:relative}
section.block.alt{background:var(--bg2)}
section.block.panel{background:var(--panel)}
.block h2{font-size:2.3rem;margin-bottom:6px;color:#fff}
hr.rule{border:0;height:4px;width:64px;background:var(--gold);margin:16px 0 26px}
.lead{font-size:1.14rem;color:var(--muted);max-width:72ch}
.prose p{margin:0 0 16px;max-width:72ch;color:var(--muted)}
.subhead{font-family:"Bebas Neue",sans-serif;letter-spacing:.12em;font-size:1.3rem;color:#fff;margin:22px 0 6px}

/* split image/text */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.split .media{min-height:440px;position:relative;overflow:hidden;background:var(--bg)}
.split .media svg{position:absolute;inset:0;width:100%;height:100%}
.split .media.framed{display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle at 50% 32%,#0e1228,#070a18)}
.split .media.framed img{position:static;width:auto;height:auto;max-width:96%;max-height:94%;object-fit:contain;border-radius:12px;border:1px solid var(--cardline);box-shadow:0 22px 54px rgba(0,0,0,.5)}
.split .copy{padding:64px 56px;display:flex;flex-direction:column;justify-content:center;background:var(--bg)}
.split.alt .copy{background:var(--bg2)}
.split .copy h2{font-size:2.1rem}

/* grids + cards */
.grid{display:grid;gap:20px;margin-top:30px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:1px solid var(--cardline);border-radius:10px;padding:26px 24px 22px;transition:.18s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 18px 40px rgba(0,0,0,.45),0 0 30px rgba(255,199,44,.14)}
.card .ico{width:42px;height:42px;margin-bottom:16px}
.card h3{font-size:1.45rem;color:var(--gold);margin-bottom:8px;line-height:1.1}
.card h4{font-family:"Merriweather",serif;font-size:1.05rem;color:var(--gold);margin-bottom:7px}
.card p{font-size:.95rem;color:var(--muted)}
.card .div{height:3px;width:100%;background:linear-gradient(90deg,var(--gold),rgba(255,199,44,0));margin-top:auto;margin-bottom:2px;border-radius:2px;opacity:.55}
.card .cardfoot{margin-top:auto;display:flex;flex-direction:column;gap:3px}
.card .cardfoot .more{margin-top:0}
.card .cardfoot .div{margin-top:0}
.card .more{display:inline-block;margin-top:14px;font-family:"Bebas Neue",sans-serif;letter-spacing:.08em;font-size:1rem;color:var(--gold)}
.card.facility .more{margin-top:auto;padding-top:12px}
.card.facility ul.ticks{margin-bottom:4px}
.card .more:after{content:" \2192"}

/* featured pathway card (stands out among pathways) */
.card.feature{background:linear-gradient(150deg,#FFC72C,#ffd866);border-color:var(--gold);grid-column:span 1}
.card.feature .ico path{stroke:var(--blue)!important}
.card.feature h3{color:var(--blue)}
.card.feature p{color:#3a2f00}
.card.feature .tagline{font-family:"Bebas Neue";letter-spacing:.12em;color:var(--blue);font-size:.85rem;margin-bottom:6px;opacity:.8}
.card.feature .more{color:var(--blue)}
.card.feature .div{background:linear-gradient(90deg,var(--blue),rgba(0,5,62,0))}

/* key focus band */
.focus{background:linear-gradient(120deg,#0c1030,#0a0c1c);border-top:1px solid var(--gold);border-bottom:1px solid var(--cardline);position:relative;overflow:hidden}
.focus .glow{position:absolute;width:480px;height:480px;border-radius:50%;background:var(--gold);filter:blur(110px);opacity:.13;left:-120px;top:-160px}
.focus .wrap{position:relative;z-index:2;padding:70px 26px}
.focus .eyebrow{color:var(--gold)}
/* path steps */
.path{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px;counter-reset:step}
.step{position:relative;padding:22px 18px;background:rgba(255,255,255,.03);border:1px solid var(--cardline);border-radius:10px}
.step .n{width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--blue);font-family:"Bebas Neue";font-size:1.4rem;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.step h4{font-family:"Bebas Neue";letter-spacing:.06em;color:#fff;font-size:1.25rem;margin-bottom:6px}
.step p{font-size:.9rem;color:var(--muted)}
.step:not(:last-child):after{content:"\2192";position:absolute;right:-15px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1.4rem;z-index:3}
@media(max-width:880px){.path{grid-template-columns:1fr 1fr}.step:nth-child(2):after,.step:after{content:none}}
@media(max-width:660px){.path{grid-template-columns:1fr}}

/* accessibility */
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--gold);color:var(--blue);padding:12px 18px;border-radius:0 0 6px 0;font-family:"Bebas Neue",sans-serif;letter-spacing:.06em;font-size:1.05rem}
.skip:focus{left:0}
nav.menu>div:focus-within .dropdown{display:block}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible,.more:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:2px}
.card a.more:focus-visible{outline-offset:3px}

/* logo overlaid on art (e.g., "A new identity") */
.media.artlogo{position:relative}
.artlogo-overlay{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center}
.artlogo-overlay:before{content:"";position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(5,6,15,.9) 38%,rgba(5,6,15,.55) 60%,rgba(5,6,15,0) 75%)}
.artlogo-overlay .ring{position:absolute;left:50%;top:50%;width:34%;max-width:190px;aspect-ratio:1;border-radius:50%;border:2px solid var(--ringc,rgba(255,199,44,.55));opacity:0;transform:translate(-50%,-50%) scale(.5)}
.artlogo-overlay img{position:relative;width:50%;max-width:270px;max-height:78%;object-fit:contain;filter:drop-shadow(0 8px 26px rgba(0,0,0,.55))}
.artlogo-overlay.photo:before{display:none}
.artlogo-overlay.photo img{position:relative;width:46%;max-width:300px;aspect-ratio:1;height:auto;object-fit:cover;border-radius:50%;border:3px solid var(--gold);box-shadow:0 16px 44px rgba(0,0,0,.55);background:#0c0f22;filter:none}
@media (prefers-reduced-motion: no-preference){
  .artlogo-overlay .ring{animation:beacon-ring 3.2s ease-out infinite}
  .artlogo-overlay .ring:nth-child(2){animation-delay:1.4s}
  .artlogo-overlay .ring:nth-child(3){animation-delay:2.8s}
  @keyframes beacon-ring{0%{transform:translate(-50%,-50%) scale(.5);opacity:.75}70%{opacity:.12}100%{transform:translate(-50%,-50%) scale(2.8);opacity:0}}
}

/* responsive video embed */
.video-embed{position:relative;width:100%;max-width:980px;margin:6px 0 0;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--cardline);background:#000;box-shadow:0 18px 50px rgba(0,0,0,.45)}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* cost comparison */
.compare{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.price{background:var(--card);border:1px solid var(--cardline);border-radius:12px;padding:28px 18px;text-align:center}
.price.win{background:linear-gradient(160deg,#1c1f12,#14170a);border-color:var(--gold);box-shadow:0 16px 40px rgba(255,199,44,.10)}
.price .loc{font-family:"Bebas Neue",sans-serif;letter-spacing:.12em;color:var(--muted);font-size:1.1rem}
.price.win .loc{color:var(--gold)}
.price .amt{font-family:"Bebas Neue",sans-serif;font-size:3.4rem;line-height:1;color:#fff;margin:10px 0 2px}
.price.win .amt{color:var(--gold)}
.price .unit{font-size:.95rem;color:#c7cbe0;letter-spacing:.04em}
/* lead capture box */
.leadbox{background:linear-gradient(120deg,#0e1228,#0a0c1c);border:1px solid var(--gold);border-radius:16px;padding:36px;margin-top:8px;position:relative;overflow:hidden}
.leadbox .glow{position:absolute;width:360px;height:360px;border-radius:50%;background:var(--gold);filter:blur(110px);opacity:.10;right:-80px;top:-120px}
.leadbox .inner{position:relative;z-index:2}
.leadbox .tag{font-family:"Bebas Neue",sans-serif;letter-spacing:.18em;color:var(--gold);font-size:.9rem}
.leadbox h2{font-size:2rem;margin:6px 0 4px}

/* team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.person{background:var(--card);border:1px solid var(--cardline);border-radius:10px;padding:24px;text-align:center;transition:.18s}
.person:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.person img{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 16px;border:3px solid var(--gold);background:#0c0f22;filter:grayscale(100%);transition:filter .2s}
.person:hover img{filter:grayscale(60%)}
.person .nm{font-family:"Merriweather",serif;font-weight:700;color:#fff;font-size:1.12rem}
.person .ti{font-family:"Bebas Neue",sans-serif;letter-spacing:.06em;color:var(--gold);font-size:1.02rem;margin:6px 0 10px;line-height:1.15}
.person .bio{font-size:.88rem;color:var(--muted)}
.roster{columns:2;column-gap:40px;margin-top:22px;max-width:760px}
.roster div{break-inside:avoid;padding:7px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:.95rem}
.roster div b{color:var(--gold);font-weight:400;font-family:"Bebas Neue";letter-spacing:.05em;font-size:.8rem;display:block}
.memoriam{background:rgba(255,199,44,.06);border-left:4px solid var(--gold);border-radius:6px;padding:16px 20px;margin-top:26px;color:#e7d9a8;font-size:.95rem;max-width:72ch}
.inmemoriam{max-width:560px;margin:10px auto 0;text-align:center;background:var(--card);border:1px solid var(--cardline);border-radius:12px;padding:34px 28px}
.inmemoriam img{width:148px;height:148px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);margin:0 auto 16px;display:block;filter:grayscale(100%)}
.inmemoriam .nm{font-family:"Merriweather",Georgia,serif;font-weight:700;color:#fff;font-size:1.3rem}
.inmemoriam .ti{font-family:"Bebas Neue",sans-serif;letter-spacing:.08em;color:var(--gold);font-size:1.05rem;margin:6px 0 14px}
.inmemoriam .bio{color:var(--muted);font-size:1rem;max-width:46ch;margin:0 auto}
@media(max-width:980px){.team{grid-template-columns:repeat(2,1fr)}}
@media(max-width:660px){.team{grid-template-columns:1fr}.roster{columns:1}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.stat{background:linear-gradient(160deg,#0f1330,#0a0c1c);border:1px solid var(--cardline);border-radius:10px;padding:28px 16px;text-align:center}
.stat .v{font-family:"Bebas Neue",sans-serif;font-size:2.4rem;color:var(--gold);line-height:1}
.stat .l{font-size:1rem;color:#c7cbe0;margin-top:10px;line-height:1.35}

ul.ticks{list-style:none;margin-top:18px}
ul.ticks li{position:relative;padding:11px 0 11px 32px;border-bottom:1px solid var(--line);max-width:74ch;color:var(--ink)}
ul.ticks li:before{content:"";position:absolute;left:2px;top:17px;width:11px;height:11px;background:var(--gold);transform:rotate(45deg)}

.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.chip{background:var(--card);border:1px solid var(--cardline);border-radius:30px;padding:10px 20px;font-size:.9rem;color:var(--muted)}
.marquee{overflow:hidden;display:flex;flex-direction:column;gap:14px;margin-top:22px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mqrow{display:flex;width:-webkit-max-content;width:max-content;-webkit-animation:mqscroll 70s linear infinite;animation:mqscroll 70s linear infinite}
.mqset{display:flex;gap:12px;padding-right:12px;flex:0 0 auto}
.marquee .chip{white-space:nowrap;flex:0 0 auto}
.mqrow.b{-webkit-animation-direction:reverse;animation-direction:reverse}
.marquee:hover .mqrow{-webkit-animation-play-state:paused;animation-play-state:paused}
@-webkit-keyframes mqscroll{to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}
@keyframes mqscroll{to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.mqrow{-webkit-animation:none;animation:none}.marquee{overflow-x:auto}}

/* cta band */
.ctaband{background:linear-gradient(120deg,#00053E,#11163f);border-top:1px solid var(--cardline);position:relative;overflow:hidden}
.ctaband .glow{position:absolute;width:400px;height:400px;border-radius:50%;background:var(--gold);filter:blur(90px);opacity:.16;right:-80px;bottom:-160px}
.ctaband .wrap{position:relative;z-index:2;padding:56px 26px;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap}
.ctaband h2{color:#fff;font-size:2.2rem;max-width:20ch}
.ctaband p{color:var(--muted);max-width:52ch;margin-top:6px}

/* forms */
form.mvp{margin-top:26px;max-width:660px}
form.mvp .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form.mvp label{display:block;font-family:"Bebas Neue",sans-serif;letter-spacing:.08em;font-size:.95rem;margin:14px 0 6px;color:var(--gold)}
form.mvp input,form.mvp select,form.mvp textarea{width:100%;padding:12px 13px;border:1px solid var(--cardline);border-radius:6px;font-family:inherit;font-size:.95rem;background:#0c0f22;color:var(--ink)}
form.mvp textarea{min-height:130px}
.note{background:rgba(255,199,44,.08);border-left:4px solid var(--gold);border-radius:5px;padding:13px 16px;margin-top:18px;font-size:.9rem;color:#e7d9a8;max-width:72ch}
.placeholder{border:1.5px dashed var(--cardline);border-radius:10px;padding:30px;text-align:center;color:var(--dim);background:rgba(255,255,255,.02);margin-top:20px}

/* news posts */
.post{background:var(--card);border:1px solid var(--cardline);border-radius:10px;overflow:hidden;transition:.18s}
.post:hover{transform:translateY(-4px);border-color:var(--gold)}
.post .ph{height:150px;position:relative;overflow:hidden;background:var(--bg)}
.post .ph svg{position:absolute;inset:0;width:100%;height:100%}
.post .ph span{position:absolute;left:14px;bottom:12px;z-index:2;font-family:"Bebas Neue";letter-spacing:.14em;color:var(--blue);background:var(--gold);padding:4px 11px;border-radius:3px;font-size:.78rem}
.post .body{padding:18px}
.post h4{margin:4px 0 6px;color:#fff;font-family:"Merriweather"}
.post p{font-size:.88rem;color:var(--muted)}

/* footer */
footer.site{background:#03040b;color:var(--muted);padding:56px 0 28px;font-size:.9rem;border-top:1px solid var(--line)}
footer.site .cols{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:30px}
footer.site h5{color:#fff;font-family:"Bebas Neue";letter-spacing:.1em;font-size:1.1rem;margin-bottom:12px}
footer.site a{color:var(--muted);display:block;padding:4px 0}
footer.site a:hover{color:var(--gold)}
footer.site .logo{margin-bottom:14px}
footer.site .legal{border-top:1px solid var(--line);margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem;color:var(--dim)}

.procdiagram{margin:30px 0 10px}
.procdiagram img{display:block;width:100%;height:auto}
.procdiagram figcaption{margin-top:14px;text-align:center;color:var(--muted);font-size:.9rem}

/* ---------- motion ---------- */
@media (prefers-reduced-motion: no-preference){
  .anim .reveal{opacity:0;transform:translateY(26px);transition:opacity .5s cubic-bezier(.22,.61,.36,1),transform .5s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
  .anim .reveal.in{opacity:1;transform:none}
  .artsvg{animation:artsway 7s ease-in-out infinite alternate;transform-origin:60% 40%;will-change:transform,filter}
  @keyframes artsway{0%{transform:translate3d(0,0,0) scale(1.05);filter:saturate(.9)}100%{transform:translate3d(-3.5%,2%,0) scale(1.14);filter:saturate(1.4)}}
  /* hero line motif is static — color treatment and hero movement only, no traveling line */
  .hero .artsvg{animation:none}
  .hero .artsvg .ln{stroke-dasharray:none;animation:none}
  .hero .art{animation:herorise 6.5s ease-in-out infinite alternate;transform-origin:50% 100%;will-change:transform}
  @keyframes herorise{0%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}100%{-webkit-transform:translateY(-1.5%) scale(1.045);transform:translateY(-1.5%) scale(1.045)}}
  .beacon{animation:beacon 3.4s ease-in-out infinite}
  @keyframes beacon{0%,100%{transform:scale(.97);opacity:.9}50%{transform:scale(1.04);opacity:1}}
  .hero .glow,.ctaband .glow,.focus .glow,.leadbox .glow{animation:pulse 2.9s ease-in-out infinite}
  @keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.16)}}
  .btn{transition:transform .15s ease,background .15s ease,box-shadow .25s ease}
  .btn:hover{box-shadow:0 10px 26px rgba(255,199,44,.28)}
  .stat,.price{transition:transform .25s ease,border-color .25s ease}
  .stat:hover,.price:hover{transform:translateY(-4px)}
  .eyebrow{animation:fadeglow .7s ease both}
  @keyframes fadeglow{from{opacity:0;letter-spacing:.5em}to{opacity:1}}
}

@media(max-width:980px){
  .g4,.stats{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr}
  .split .media{min-height:260px;order:-1}
  .split .media.artlogo{min-height:360px}
  .split .copy{padding:48px 30px}
  footer.site .cols{grid-template-columns:1fr 1fr}
}
/* tablet + below: collapse nav to hamburger (covers iPad Mini at 768px) */
@media(max-width:900px){
  .hamburger{display:block}
  nav.menu{display:none;position:absolute;top:78px;left:0;right:0;background:#0a0c1c;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--cardline);padding:8px}
  nav.menu.open{display:flex}
  nav.menu>div{width:100%}
  .dropdown{position:static;display:block;border:0;box-shadow:none;padding:0 0 6px 14px;min-width:0}
  .navbtn{margin:10px 0;text-align:center}
}
@media(max-width:660px){
  .g2,.g3,.g4,.stats{grid-template-columns:1fr}
  .split .media.artlogo{min-height:320px}
  footer.site .cols{grid-template-columns:1fr}
  form.mvp .row{grid-template-columns:1fr}
  .ctaband .wrap{flex-direction:column;align-items:flex-start}
}

/* Soft Landings globe hero (scoped re-enable of hero art animation) */
.hero.globe .art{position:absolute;inset:0;z-index:0;opacity:1}
.hero.globe .art svg{position:absolute;inset:0;width:100%;height:100%}
.hero.globe .artsvg{animation:artsway 7s ease-in-out infinite alternate}
.hero.globe .artsvg .ln{stroke-dasharray:26 540;animation:flowline 2.2s linear infinite}
@keyframes flowline{to{stroke-dashoffset:-566}}
@media (prefers-reduced-motion:reduce){.hero.globe .art,.hero.globe .artsvg,.hero.globe .artsvg .ln{animation:none}}

/* STEM partner logo treatment (matches soft-landings card) */
.partner-split{display:flex;gap:44px;align-items:center;flex-wrap:wrap}
.partner-copy{flex:1 1 360px;min-width:0}
.partner-logo{flex:0 0 auto}
.logo-card{display:flex;align-items:center;justify-content:center;width:250px;height:160px;background:#fff;padding:26px;border-radius:18px;border:2px solid var(--gold);box-shadow:0 16px 40px rgba(0,0,0,.5);box-sizing:border-box}
.logo-card img{max-width:100%;max-height:100%;width:auto;height:auto;display:block}
.logofb{width:210px;min-height:96px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:"Bebas Neue","Arial Narrow",sans-serif;letter-spacing:.5px;color:var(--blue);font-size:1.7rem;line-height:1.05;padding:10px}
@media(max-width:820px){.partner-logo{margin:0 auto}}

/* STEM partner badge (consistent graphic, replaces logo images) */
.partner-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:240px;min-height:210px;background:#fff;border:2px solid var(--gold);border-radius:18px;box-shadow:0 16px 40px rgba(0,0,0,.5);padding:28px 22px;text-align:center;box-sizing:border-box}
.badge-icon{display:flex;align-items:center;justify-content:center;width:78px;height:78px;border-radius:50%;background:var(--blue);flex:none}
.badge-icon svg{width:40px;height:40px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.badge-name{font-family:"Bebas Neue","Arial Narrow",sans-serif;color:var(--blue);font-size:1.75rem;line-height:1.02;letter-spacing:.5px}
.badge-cat{font-family:"Roboto",sans-serif;font-weight:500;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:#8a6a00}

/* photo slider (facility tours) */
.pslider{margin-top:30px}
.ps-frame{position:relative;width:100%;aspect-ratio:3/2;border-radius:12px;overflow:hidden;background:var(--card);border:1px solid var(--cardline);outline:none}
.ps-frame:focus-visible{box-shadow:0 0 0 3px var(--gold)}
.ps-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0c0f22}
.ps-stage img{width:100%;height:100%;object-fit:contain;display:block}
.ps-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:52px;height:52px;border-radius:50%;background:rgba(5,6,15,.62);border:1px solid rgba(255,255,255,.28);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;line-height:1;cursor:pointer;transition:.15s;padding:0}
.ps-arrow:hover,.ps-arrow:focus-visible{background:var(--gold);color:var(--blue);border-color:var(--gold)}
.ps-prev{left:14px}
.ps-next{right:14px}
.ps-count{position:absolute;top:16px;left:16px;z-index:3;font-family:"Bebas Neue",sans-serif;letter-spacing:.12em;color:var(--gold);font-size:.92rem;background:rgba(5,6,15,.6);padding:5px 12px;border-radius:20px}
.ps-caption{margin-top:16px;color:var(--muted);font-size:.98rem;min-height:1.4em}
@media(max-width:660px){
  .ps-frame{aspect-ratio:4/3;border-radius:8px}
  .ps-arrow{width:42px;height:42px;font-size:1.4rem}
  .ps-prev{left:8px}
  .ps-next{right:8px}
  .ps-count{font-size:.82rem;padding:4px 10px}
  .ps-caption{font-size:.9rem}
}

/* Cookie consent footer links */
.legal a{display:inline;padding:0;color:var(--dim);text-decoration:underline}
.legal a:hover{color:var(--gold)}
