/* legacy-base */

:root {
  --navy:#06152b;
  --navy2:#0b2e5c;
  --blue:#0d59bb;
  --gold:#ffc400;
  --gold2:#ffe174;
  --red:#df202b;
  --green:#1f7a3e;
  --orange:#e99b00;
  --purple:#713d9d;
  --ink:#142033;
  --muted:#627085;
  --line:#d8e1ed;
  --bg:#f5f7fb;
  --white:#fff;
  --shadow:0 18px 48px rgba(6,21,43,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img{display:block;max-width:100%}
.wrap{width:min(1480px,calc(100% - 28px));margin:auto}
.preview{background:var(--gold);color:#101820;text-align:center;padding:.36rem .8rem;font-size:.8rem;font-weight:900}
header{position:sticky;top:0;z-index:100;background:var(--navy);box-shadow:0 8px 28px rgba(6,21,43,.25)}
.navbar{height:86px;display:flex;align-items:center;gap:1rem}
.brand img{height:78px;width:auto;max-width:360px;object-fit:contain}
nav{display:flex;align-items:center;gap:.2rem;margin-left:auto}
nav a,.dropbtn{color:#fff;background:transparent;border:0;padding:.8rem .75rem;font-weight:850;border-radius:8px;cursor:pointer}
nav a:hover,.dropbtn:hover{color:var(--gold);background:rgba(255,255,255,.07)}
.dropdown{position:relative}
.dropdown-menu{display:none;position:absolute;top:calc(100% + 5px);left:0;min-width:205px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:.4rem;box-shadow:var(--shadow)}
.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{display:block}
.dropdown-menu a{display:block;color:var(--ink);padding:.7rem}
.dropdown-menu a:hover{background:#eef4ff;color:var(--blue)}
.nav-cta{background:var(--gold);color:#111;padding:.82rem 1.05rem;border-radius:9px;font-weight:950;margin-left:.7rem}
.mobile-toggle{display:none;margin-left:auto;background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:8px;padding:.55rem .7rem}
.mobile-menu{display:none;background:var(--navy);padding:.6rem 1rem 1rem}
.mobile-menu a{display:block;color:#fff;padding:.7rem 0;font-weight:800}
.page{display:none}
.page.active{display:block}

/* Refined hero */
.hero-wrap{background:var(--navy);position:relative;overflow:hidden;border-bottom:0}
.hero{display:grid;grid-template-columns:43% 57%;min-height:520px;position:relative}
.hero-left{padding:2.9rem 1.4rem 2.1rem 1.55rem;background:
linear-gradient(90deg,rgba(6,21,43,1) 0%,rgba(6,21,43,.99) 76%,rgba(6,21,43,.88) 100%);
display:flex;flex-direction:column;justify-content:center;position:relative;z-index:4}
.hero-left:after{content:"";position:absolute;right:-120px;top:0;bottom:0;width:160px;background:linear-gradient(90deg,rgba(6,21,43,.98),rgba(6,21,43,0));pointer-events:none}
.hero-kicker{font-size:clamp(1.45rem,2.5vw,2.35rem);font-weight:950;font-style:italic;text-transform:uppercase;color:#fff;letter-spacing:-.025em}
.hero h1{font-size:clamp(3.1rem,5.45vw,5.8rem);line-height:.88;margin:.22rem 0 .9rem;text-transform:uppercase;font-weight:1000;letter-spacing:-.055em;color:#fff}
.hero h1 .yellow{display:block;color:var(--gold);font-style:italic}
.hero-sub{color:#fff;font-weight:750;font-size:clamp(1rem,1.45vw,1.24rem);line-height:1.45;max-width:560px;margin:0 0 1.2rem}
.hero-art{position:relative;background-image:none;background-size:cover;background-position:center right;min-height:520px}
.hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,21,43,.72) 0%,rgba(6,21,43,.08) 20%,rgba(6,21,43,0) 46%)}
.hero-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:.8rem;max-width:720px}
.benefit{display:grid;grid-template-columns:42px 1fr;gap:.55rem;padding:.3rem .8rem .3rem 0;border-right:1px solid rgba(255,255,255,.22);margin-right:.8rem}
.benefit:last-child{border-right:0;margin-right:0}
.benefit .ico{font-size:1.6rem}
.benefit b{display:block;color:var(--gold);font-size:.8rem;text-transform:uppercase;line-height:1.15}
.benefit small{display:block;color:#e4edf7;font-size:.73rem;line-height:1.33;margin-top:.18rem}
.hero-actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:1rem}
.hero-btn{border:0;border-radius:9px;padding:.85rem 1rem;font-weight:950;cursor:pointer;display:inline-flex;align-items:center;gap:.55rem}
.hero-btn.gold{background:var(--gold);color:#111}
.hero-btn.outline{background:rgba(255,255,255,.03);color:#fff;border:1px solid rgba(255,255,255,.75)}

/* curved hero-to-roadmap transition */
.hero-transition{height:36px;background:#fff;position:relative;margin-top:-1px}
.hero-transition:before{content:"";position:absolute;left:-4%;right:-4%;top:-34px;height:70px;background:#fff;border-radius:50% 50% 0 0 / 60% 60% 0 0;box-shadow:0 -2px 0 rgba(255,196,0,.55)}
.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 435px;gap:1rem;align-items:start;margin-top:-10px;position:relative;z-index:6}
.left-stack,.right-stack{display:grid;gap:1rem}
.panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(6,21,43,.08)}
.roadmap-panel{padding:1rem}
.panel-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.panel-head h2{margin:0;color:var(--navy);text-transform:uppercase;font-size:clamp(1.45rem,2.5vw,2.25rem);font-style:italic;letter-spacing:-.03em}
.panel-head small{color:#4c5a6e;font-weight:700}
.roadmap{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}
.step{position:relative;border:2px solid var(--accent);border-radius:13px;background:#fff;padding:.82rem;min-height:195px;cursor:pointer;transition:.2s transform,.2s box-shadow}
.step:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(6,21,43,.11)}
.step .num{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:950;margin:0 auto .55rem}
.step .ico{text-align:center;font-size:2rem}
.step h3{margin:.3rem 0;color:var(--accent);font-size:.84rem;text-transform:uppercase;line-height:1.08}
.step p{font-size:.73rem;line-height:1.4;color:#2c384b;margin:0}
.step:not(:last-child):after{content:"→";position:absolute;right:-14px;top:47%;z-index:3;background:#fff;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:950;color:#111}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
.quick{position:relative;background:#fff;border:1px solid var(--line);border-radius:15px;padding:1rem;min-height:145px;cursor:pointer;transition:.2s transform,.2s box-shadow}
.quick:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.quick .bigicon{font-size:2rem}
.quick h3{margin:.35rem 0;color:var(--accent);font-size:1.02rem;text-transform:uppercase;font-style:italic}
.quick p{margin:0;color:#48576b;font-size:.84rem;line-height:1.42}
.quick .go{position:absolute;right:.75rem;bottom:.7rem;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:950}
.upcoming{padding:1rem}
.up-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.45rem}
.upcoming h3{margin:0;color:var(--navy2);font-size:1.05rem;text-transform:uppercase;font-style:italic}
.small-btn{border:0;background:var(--navy2);color:#fff;border-radius:7px;padding:.4rem .6rem;font-weight:850;cursor:pointer}
.up-row{display:grid;grid-template-columns:70px 1fr auto;gap:.8rem;align-items:center;padding:.78rem 0;border-bottom:1px solid var(--line)}
.datebox{border:1px solid #9cb1c8;border-radius:8px;overflow:hidden;text-align:center}
.datebox span{display:block;background:var(--navy);color:#fff;font-size:.7rem;font-weight:900;padding:.22rem}
.datebox b{display:block;font-size:1.2rem;color:var(--navy);padding:.26rem}
.up-row strong{display:block;font-size:.89rem}
.up-row small{display:block;color:#4b5b70;margin-top:.16rem}
.pill{background:var(--gold);border-radius:6px;padding:.42rem .5rem;font-size:.7rem;font-weight:950}
.full-schedule{width:100%;margin-top:.75rem;border:0;background:var(--navy2);color:#fff;border-radius:8px;padding:.75rem;font-weight:950;cursor:pointer}
.why{padding:1rem;position:relative;overflow:hidden}
.why h3{margin:.05rem 0 .6rem;color:var(--navy2);text-transform:uppercase;font-style:italic}
.why ul{list-style:none;margin:0;padding:0;display:grid;gap:.42rem}
.why li{font-size:.86rem}
.why li:before{content:"✓";color:var(--blue);font-weight:1000;margin-right:.45rem}
.cert{position:absolute;right:.8rem;bottom:.7rem;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:var(--navy2);border:5px solid var(--gold);color:#fff;text-align:center;font-size:.65rem;font-weight:950}
.home-section{padding:0 0 1rem}
.brand-strip{background:var(--navy);color:#fff;border-top:4px solid var(--gold);padding:.9rem 0;margin-top:1rem;text-transform:uppercase;font-style:italic;font-weight:950}
.brand-strip .wrap{display:flex;justify-content:space-around;gap:1rem;flex-wrap:wrap}
.brand-strip span:last-child{color:var(--gold)}

/* Internal pages */
.page-hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-bottom:4px solid var(--gold);padding:3rem 0}
.page-hero h1{font-size:clamp(2.4rem,5vw,4.4rem);margin:.15rem 0 .6rem}
.page-hero p{max-width:820px;color:#dce7f4;line-height:1.6;font-size:1.05rem}
.content{padding:2rem 0 4rem}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1rem}
.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:1.2rem;box-shadow:0 9px 25px rgba(6,21,43,.06);margin-bottom:1rem}
.card h2,.card h3{color:var(--navy);margin:.15rem 0 .6rem}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1rem}
.metric{background:#fff;border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:13px;padding:1rem;text-align:center}
.metric b{display:block;font-size:2rem;color:var(--accent)}
.metric span{font-weight:850;color:var(--navy)}
.checks{display:grid;gap:.5rem}
.check{display:flex;gap:.5rem}
.check:before{content:"✓";color:var(--green);font-weight:950}
.notice{background:#fff7d7;border:1px solid #e7ca62;border-radius:11px;padding:1rem}
.actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:.85rem}
.action{border:0;border-radius:8px;padding:.72rem .9rem;font-weight:900;cursor:pointer}
.action.blue{background:var(--blue);color:#fff}
.action.gold{background:var(--gold);color:#111}
.action.red{background:var(--red);color:#fff}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}
.resource{background:#fff;border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:13px;padding:1rem}
.resource h3{margin:.15rem 0;color:var(--navy)}
.resource p{color:var(--muted);line-height:1.5}
.resource a{color:var(--accent);font-weight:900}
.contract-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{display:block;font-weight:850;margin:.7rem 0 .28rem}
input,textarea,select{width:100%;border:1px solid var(--line);border-radius:8px;padding:.74rem;background:#fff}
textarea{min-height:130px}

/* Calendar */
.tools{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.filters,.views{display:flex;gap:.45rem;flex-wrap:wrap}
.filter,.view{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.58rem .75rem;font-weight:850;cursor:pointer}
.filter.active,.view.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.calendar{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:var(--shadow)}
.cal-head{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;border-bottom:1px solid var(--line);padding:.8rem 1rem}
.cal-head button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:.4rem .6rem;cursor:pointer}
.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.dow,.day{border-right:1px solid #e6edf5;border-bottom:1px solid #e6edf5}
.dow{background:#f8fafc;text-align:center;font-size:.78rem;font-weight:900;padding:.45rem}
.day{min-height:103px;padding:.44rem}
.day.muted{background:#fafcfe;color:#9aa5b3}
.event{margin-top:.3rem;color:#fff;font-size:.67rem;font-weight:850;border-radius:6px;padding:.3rem .35rem;cursor:pointer}
.event.seg1{background:var(--blue)} .event.seg2{background:var(--orange)} .event.roadtest{background:var(--red)}
.list-view,.year-view{display:none;padding:1rem}
.list-row{display:grid;grid-template-columns:78px 1fr auto;gap:.8rem;align-items:center;padding:.8rem;border-bottom:1px solid var(--line)}
.list-date{background:#eef4ff;border-radius:9px;padding:.5rem;text-align:center}
.list-date b{display:block;font-size:1.2rem;color:var(--navy)}
.year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.year-box{border:1px solid var(--line);border-radius:10px;padding:.8rem}

footer{background:var(--navy);color:#fff;border-top:5px solid var(--gold);padding:2rem 0 1rem}
.footer-grid{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:1.5rem}
.footer-logo img{height:82px;width:auto}
footer h4{color:var(--gold);margin:.1rem 0 .55rem}
footer a{display:block;color:#dbe5f1;margin:.35rem 0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:1.1rem;padding-top:.8rem;font-size:.8rem;color:#99abc0}
.toast{position:fixed;right:16px;bottom:16px;z-index:200;background:var(--navy);color:#fff;border-radius:9px;padding:.75rem .9rem;display:none;box-shadow:var(--shadow)}

@media(max-width:1120px){
 nav,.nav-cta{display:none} .mobile-toggle{display:block}
 .hero{grid-template-columns:1fr} .hero-left{padding:2.2rem 1rem} .hero-art{min-height:360px}
 .hero-left:after{display:none} .home-grid{grid-template-columns:1fr} .right-stack{grid-template-columns:1fr 1fr}
 .roadmap{grid-template-columns:repeat(2,1fr)} .step:not(:last-child):after{display:none}
 .quick-grid{grid-template-columns:repeat(2,1fr)} .hero-benefits{max-width:none}
}
@media(max-width:720px){
 .navbar{height:74px} .brand img{height:66px;max-width:250px}
 .hero-art{min-height:280px} .hero h1{font-size:3.35rem}
 .hero-benefits,.roadmap,.quick-grid,.right-stack,.metrics,.resource-grid,.contract-grid,.contact-grid,.footer-grid,.year-grid{grid-template-columns:1fr}
 .benefit{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:.6rem}
 .content-grid{grid-template-columns:1fr} .up-row{grid-template-columns:64px 1fr} .pill{grid-column:1/-1;justify-self:start}
}

/* home-content-update-2026-08-29 */

/* Homepage trust-point consistency */
.hero-benefits .benefit{align-items:center}
.hero-benefits .benefit b{font-family:Arial,Helvetica,sans-serif;font-size:.84rem;font-weight:900;line-height:1.18;letter-spacing:.01em;text-transform:none;color:#fff}
.hero-benefits .benefit small{font-family:Arial,Helvetica,sans-serif;font-size:.73rem;font-weight:800;line-height:1.3;color:#e8eef6;margin-top:.18rem}
/* Compact course-level upcoming classes */
.course-group{border-top:1px solid var(--line);padding:.68rem 0 .15rem}
.course-group:first-of-type{border-top:0}
.course-group-title{display:inline-block;border-radius:7px;padding:.28rem .5rem;font-size:.74rem;font-weight:950;text-transform:uppercase;margin-bottom:.22rem}
.seg1-title{background:#e8f1ff;color:#0d59bb}
.seg2-title{background:#e9f7ed;color:#1f7a3e}
.course-range{display:grid;grid-template-columns:92px 1fr;gap:.7rem;align-items:baseline;padding:.48rem 0;border-bottom:1px solid var(--line)}
.course-range:last-child{border-bottom:0}
.course-range strong{font-size:.82rem;color:var(--navy2);text-transform:uppercase}
.course-range span{font-size:.92rem;font-weight:850;color:#263448}
@media(max-width:720px){.hero-benefits .benefit b{font-size:.82rem}.hero-benefits .benefit small{font-size:.72rem}.course-range{grid-template-columns:82px 1fr}}

/* legacy-base */

/* ===== v15 INTERNAL PAGE HARMONIZATION =====
   Mirrors the approved homepage visual language without changing #home. */

/* Consistent internal-page canvas and typography */
.page:not(#home){
  background:#f7f8fa !important;
  color:#0d2241 !important;
}
.page:not(#home) .wrap{
  width:min(1180px,calc(100% - 32px)) !important;
}
.page:not(#home) p,
.page:not(#home) li,
.page:not(#home) label,
.page:not(#home) input,
.page:not(#home) textarea,
.page:not(#home) select{
  font-family:inherit !important;
}
.page:not(#home) p,
.page:not(#home) li{
  color:#415069 !important;
  line-height:1.58 !important;
}

/* Internal page header = same clean white/navy/red language used on home */
.page:not(#home) .page-hero{
  background:linear-gradient(135deg,#ffffff 0%,#f7f9fc 62%,#eef4fb 100%) !important;
  color:#0b1f3d !important;
  border-top:0 !important;
  border-bottom:1px solid #e2e7ee !important;
  box-shadow:inset 0 -4px 0 #cf1018 !important;
  padding:2.2rem 0 2rem !important;
}
.page:not(#home) .page-hero h1{
  color:#0b1f3d !important;
  font-size:clamp(2.25rem,4.2vw,3.75rem) !important;
  line-height:.98 !important;
  letter-spacing:-.035em !important;
  margin:0 0 .55rem !important;
  font-weight:950 !important;
}
.page:not(#home) .page-hero h1::after{
  content:"" !important;
  display:block !important;
  width:68px !important;
  height:3px !important;
  margin-top:.6rem !important;
  background:#cf1018 !important;
  border-radius:99px !important;
}
.page:not(#home) .page-hero p{
  max-width:780px !important;
  margin:0 !important;
  color:#415069 !important;
  font-size:1rem !important;
  font-weight:650 !important;
  line-height:1.5 !important;
}

/* Same vertical rhythm as homepage sections */
.page:not(#home) .content{
  padding:1.45rem 0 3.4rem !important;
}
.page:not(#home) .content-grid,
.page:not(#home) .contract-grid,
.page:not(#home) .contact-grid,
.page:not(#home) .resource-grid{
  gap:1rem !important;
  align-items:start !important;
}
.page:not(#home) .content-grid{
  grid-template-columns:minmax(0,1fr) minmax(290px,340px) !important;
}

/* Cards align to homepage panels */
.page:not(#home) .card,
.page:not(#home) .resource,
.page:not(#home) .calendar{
  background:#fff !important;
  border:1px solid #d9e0e8 !important;
  border-radius:14px !important;
  box-shadow:0 7px 20px rgba(7,23,46,.055) !important;
}
.page:not(#home) .card{
  padding:1.18rem 1.2rem !important;
  margin-bottom:1rem !important;
}
.page:not(#home) .card h2,
.page:not(#home) .card h3,
.page:not(#home) .resource h3{
  color:#0b1f3d !important;
  line-height:1.18 !important;
  letter-spacing:-.015em !important;
}
.page:not(#home) .card h2{
  font-size:1.35rem !important;
  font-weight:925 !important;
  margin:.05rem 0 .62rem !important;
}
.page:not(#home) .card h3,
.page:not(#home) .resource h3{
  font-size:1.02rem !important;
  font-weight:900 !important;
  margin:.05rem 0 .45rem !important;
}

/* Metrics = same compact bordered visual language as homepage tiles */
.page:not(#home) .metrics{
  gap:.75rem !important;
  margin-bottom:1rem !important;
}
.page:not(#home) .metric{
  background:#fff !important;
  border:1px solid #d9e0e8 !important;
  border-top:4px solid var(--accent,#cf1018) !important;
  border-radius:12px !important;
  padding:.9rem .75rem !important;
  box-shadow:0 5px 16px rgba(7,23,46,.04) !important;
}
.page:not(#home) .metric b{
  font-size:1.72rem !important;
  line-height:1 !important;
  font-weight:950 !important;
}
.page:not(#home) .metric span{
  color:#0b1f3d !important;
  font-size:.82rem !important;
  font-weight:875 !important;
  line-height:1.25 !important;
}

/* Lists and notices use restrained homepage palette */
.page:not(#home) .checks{
  gap:.58rem !important;
}
.page:not(#home) .check{
  color:#22334f !important;
  line-height:1.45 !important;
  align-items:flex-start !important;
}
.page:not(#home) .check::before{
  color:#cf1018 !important;
  margin-top:.02rem !important;
}
.page:not(#home) .notice{
  background:#fff !important;
  border:1px solid #d9e0e8 !important;
  border-left:4px solid #cf1018 !important;
  border-radius:11px !important;
  color:#22334f !important;
  box-shadow:0 4px 14px rgba(7,23,46,.035) !important;
}

/* Buttons match homepage CTA geometry */
.page:not(#home) .action,
.page:not(#home) .filter,
.page:not(#home) .view,
.page:not(#home) .cal-head button{
  border-radius:8px !important;
  font-family:inherit !important;
  font-weight:900 !important;
}
.page:not(#home) .action{
  min-height:44px !important;
  padding:.7rem .9rem !important;
  box-shadow:none !important;
}
.page:not(#home) .action.blue,
.page:not(#home) .action.gold,
.page:not(#home) .action.red{
  background:#cf1018 !important;
  color:#fff !important;
  border:1px solid #cf1018 !important;
}
.page:not(#home) .action:hover{
  filter:brightness(.95) !important;
}

/* Parent resources follow the same bordered-card treatment */
.page:not(#home) .resource-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.page:not(#home) .resource{
  border-top:4px solid var(--accent,#cf1018) !important;
  padding:1.05rem !important;
}
.page:not(#home) .resource p{
  margin:.25rem 0 .6rem !important;
}
.page:not(#home) .resource a{
  color:#0b4f9e !important;
  font-weight:900 !important;
}

/* Forms */
.page:not(#home) input,
.page:not(#home) textarea,
.page:not(#home) select{
  border:1px solid #cfd7e2 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#0d2241 !important;
  min-height:44px !important;
  outline:none !important;
}
.page:not(#home) input:focus,
.page:not(#home) textarea:focus,
.page:not(#home) select:focus{
  border-color:#0b4f9e !important;
  box-shadow:0 0 0 3px rgba(11,79,158,.10) !important;
}

/* Schedule/calendar adopts the same panel styling */
.page:not(#home) .tools{
  background:#fff !important;
  border:1px solid #d9e0e8 !important;
  border-radius:12px !important;
  padding:.75rem !important;
  box-shadow:0 5px 16px rgba(7,23,46,.035) !important;
}
.page:not(#home) .filter,
.page:not(#home) .view{
  background:#fff !important;
  color:#0b1f3d !important;
  border:1px solid #cfd7e2 !important;
}
.page:not(#home) .filter.active,
.page:not(#home) .view.active{
  background:#0b1f3d !important;
  color:#fff !important;
  border-color:#0b1f3d !important;
}
.page:not(#home) .cal-head{
  background:#f7f9fc !important;
  border-bottom:1px solid #d9e0e8 !important;
  color:#0b1f3d !important;
}
.page:not(#home) .list-date{
  background:#f3f6fa !important;
  border:1px solid #e0e5ec !important;
}

/* Consistent two-column supporting pages */
.page:not(#home) .contract-grid,
.page:not(#home) .contact-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

/* Responsive behavior mirrors homepage's clean stacking */
@media(max-width:960px){
  .page:not(#home) .content-grid,
  .page:not(#home) .contract-grid,
  .page:not(#home) .contact-grid{
    grid-template-columns:1fr !important;
  }
  .page:not(#home) .resource-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:720px){
  .page:not(#home) .wrap{
    width:min(100% - 22px,1180px) !important;
  }
  .page:not(#home) .page-hero{
    padding:1.55rem 0 1.45rem !important;
  }
  .page:not(#home) .page-hero h1{
    font-size:2.3rem !important;
  }
  .page:not(#home) .content{
    padding:1rem 0 2.6rem !important;
  }
  .page:not(#home) .metrics,
  .page:not(#home) .resource-grid{
    grid-template-columns:1fr !important;
  }
  .page:not(#home) .card,
  .page:not(#home) .resource{
    padding:1rem !important;
  }
  .page:not(#home) .tools{
    padding:.65rem !important;
  }
}

/* upcoming-courses-refinement */

#home .upcoming-courses{overflow:hidden}
#home .upcoming-courses .up-head{margin-bottom:0}
#home .upcoming-courses .course-section{margin:0;padding:1rem 1rem .9rem 1.25rem;border-bottom:1px solid #e5e9ef}
#home .upcoming-courses .course-section:last-of-type{border-bottom:0}
#home .upcoming-courses .course-header{margin:0 0 .6rem;padding-left:.15rem}
#home .upcoming-courses .course-header strong{display:block;color:var(--navy);font-size:.88rem;line-height:1.2;text-transform:uppercase;letter-spacing:.02em}
#home .upcoming-courses .course-section-seg1 .course-header strong{color:var(--red)}
#home .upcoming-courses .course-header span{display:block;margin-top:.2rem;color:#617087;font-size:.72rem;font-weight:700}
#home .upcoming-courses .course-list{display:grid;gap:.38rem;padding-left:.55rem}
#home .upcoming-courses .course-date-row{appearance:none;width:100%;display:grid;grid-template-columns:82px 1fr 18px;align-items:center;gap:.55rem;padding:.62rem .7rem;border:1px solid #dde3eb;border-radius:8px;background:#fff;color:var(--navy);text-align:left;font-family:inherit;cursor:pointer}
#home .upcoming-courses .course-date-row:hover{border-color:#b9c5d4;background:#f8fafc}
#home .upcoming-courses .course-month{font-size:.71rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
#home .upcoming-courses .course-dates{font-size:.79rem;font-weight:700;line-height:1.25}
#home .upcoming-courses .course-arrow{justify-self:end;font-size:1.25rem;line-height:1;font-weight:900}
#home .upcoming-courses .full-schedule{margin:.9rem 1rem 1rem 1.25rem;width:calc(100% - 2.25rem)}
@media(max-width:620px){#home .upcoming-courses .course-section{padding:.9rem .85rem}#home .upcoming-courses .course-list{padding-left:.25rem}#home .upcoming-courses .course-date-row{grid-template-columns:1fr 20px;gap:.15rem .5rem}#home .upcoming-courses .course-month{grid-column:1}#home .upcoming-courses .course-dates{grid-column:1}#home .upcoming-courses .course-arrow{grid-column:2;grid-row:1 / span 2}#home .upcoming-courses .full-schedule{margin:.85rem;width:calc(100% - 1.7rem)}}

/* roadtest-page-redesign */

/* Road Test page redesign */
#roadtest .roadtest-hero{
  background:linear-gradient(90deg,#fff 0%,#fff 43%,#eef3f8 100%);
  border-bottom:3px solid var(--red);
}
#roadtest .roadtest-hero-grid{
  min-height:310px;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  align-items:stretch;
  gap:1.5rem;
}
#roadtest .roadtest-hero-copy{
  padding:3.2rem 0 2.6rem;
  align-self:center;
}
#roadtest .roadtest-eyebrow{
  color:var(--red);font-weight:900;text-transform:uppercase;
  letter-spacing:.08em;font-size:.78rem;margin-bottom:.35rem
}
#roadtest .roadtest-hero h1{
  margin:0;color:var(--navy);font-size:clamp(2.7rem,5vw,4.5rem);
  line-height:.96;letter-spacing:-.035em
}
#roadtest .roadtest-underline{width:88px;height:4px;background:var(--red);margin:1rem 0 1.35rem}
#roadtest .roadtest-hero p{max-width:610px;color:#24364f;font-size:1rem;line-height:1.55;margin:.45rem 0}
#roadtest .roadtest-hero .roadtest-hero-lead{font-weight:850;color:var(--navy);font-size:1.12rem}
#roadtest .roadtest-kid-wrap{align-self:stretch;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
#roadtest .roadtest-kid{width:100%;height:100%;max-height:310px;object-fit:cover;object-position:center 20%;display:block}

#roadtest .roadtest-content{background:#f6f8fb;padding:1.8rem 0 2.5rem}
#roadtest .roadtest-layout{
  display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.72fr);
  gap:1rem;align-items:start
}
#roadtest .roadtest-main,#roadtest .roadtest-sidebar{display:grid;gap:1rem}
#roadtest .roadtest-card{
  background:#fff;border:1px solid #dbe2ea;border-radius:14px;
  box-shadow:0 7px 20px rgba(10,34,66,.06);overflow:hidden
}
#roadtest .roadtest-card-heading{
  display:flex;gap:.8rem;align-items:flex-start;padding:1.05rem 1.15rem .9rem
}
#roadtest .roadtest-card-heading.compact{padding-bottom:.75rem}
#roadtest .roadtest-card-heading h2{
  margin:.05rem 0 .2rem;color:var(--navy);font-size:1.2rem;line-height:1.15
}
#roadtest .roadtest-card-heading p{margin:0;color:#627085;font-size:.78rem;line-height:1.45}
#roadtest .roadtest-icon{
  flex:0 0 42px;width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;background:var(--navy);color:#fff;
  font-weight:950;font-size:1.15rem
}
#roadtest .roadtest-icon.red{background:var(--red)}
#roadtest .roadtest-checks{display:grid;gap:.46rem;padding:0 1.15rem 1.15rem}
#roadtest .rt-check,#roadtest .rt-mini-checks span{
  position:relative;padding-left:1.55rem;color:#26364d;font-size:.79rem;line-height:1.42
}
#roadtest .rt-check:before,#roadtest .rt-mini-checks span:before{
  content:"✓";position:absolute;left:0;top:.08rem;width:16px;height:16px;border-radius:50%;
  display:grid;place-items:center;background:#20a34a;color:#fff;font-weight:900;font-size:.62rem
}

#roadtest .rt-phase{border-top:1px solid #e1e6ed;padding:1.05rem 1.15rem 1.2rem}
#roadtest .rt-phase.last{padding-bottom:1.3rem}
#roadtest .rt-phase-head{display:flex;gap:.72rem;align-items:flex-start;margin-bottom:.85rem}
#roadtest .rt-phase-number{
  flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:var(--red);color:#fff;font-weight:950;font-size:1rem
}
#roadtest .rt-phase-number.navy{background:var(--navy)}
#roadtest .rt-phase-number.rednum{background:var(--red)}
#roadtest .rt-phase h3{margin:.05rem 0 .18rem;color:var(--navy);font-size:1.05rem}
#roadtest .rt-phase-head p{margin:0;color:#59697f;font-size:.75rem;line-height:1.4}
#roadtest .rt-warning-grid,#roadtest .rt-subgrid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
#roadtest .rt-warning{border-radius:10px;padding:.78rem .85rem;border:1px solid #ead8a4;background:#fff8db}
#roadtest .docs-warning{border-color:#f0c6c9;background:#fff0f1}
#roadtest .rt-warning strong{display:block;color:var(--navy);margin-bottom:.3rem;font-size:.82rem}
#roadtest .rt-warning p{margin:0;color:#3a4656;font-size:.72rem;line-height:1.5}
#roadtest .rt-subgrid{margin-top:.7rem}
#roadtest .rt-subcard{border:1px solid #dde3ea;border-radius:10px;padding:.8rem;background:#fbfcfe}
#roadtest .rt-subcard h4{margin:0 0 .65rem;color:var(--navy);font-size:.82rem}
#roadtest .rt-mini-checks{display:grid;gap:.42rem}
#roadtest .rt-mini-checks.two-col{grid-template-columns:1fr 1fr}
#roadtest .phase-list{padding-left:.15rem}
#roadtest .rt-mini-checks span:before{background:var(--navy)}
#roadtest .rt-subcard .rt-mini-checks span:before{background:var(--red)}

#roadtest .price-card{text-align:center}
#roadtest .price-card .roadtest-card-heading{text-align:left;background:var(--red)}
#roadtest .price-card .roadtest-card-heading h2,#roadtest .price-card .roadtest-card-heading p{color:#fff}
#roadtest .price-card .roadtest-icon{background:#fff;color:var(--red)}
#roadtest .roadtest-price{font-size:3.3rem;line-height:1;font-weight:950;color:var(--red);margin:1rem 0 .25rem}
#roadtest .roadtest-price-label{font-weight:900;color:var(--navy);font-size:1rem}
#roadtest .roadtest-price-note{margin:.9rem 1rem 1rem;color:#748096;font-size:.69rem}

#roadtest .study-card .roadtest-card-heading{background:var(--navy)}
#roadtest .study-card .roadtest-card-heading h2,#roadtest .study-card .roadtest-card-heading p{color:#fff}
#roadtest .study-card .roadtest-icon{background:#fff;color:var(--navy)}
#roadtest .study-guide-graphic{
  display:block;margin:.85rem;border:1px solid #d8e0e9;border-radius:11px;
  overflow:hidden;text-decoration:none;background:#fff;box-shadow:0 6px 15px rgba(7,29,61,.11)
}
#roadtest .study-logo{padding:1rem 1rem .35rem;text-align:center;color:var(--navy);font-weight:950;font-size:.75rem;line-height:1}
#roadtest .study-logo span{color:var(--red);font-size:.55rem;letter-spacing:.08em}
#roadtest .study-title{text-align:center;color:var(--navy);font-size:1.55rem;line-height:.95;font-weight:950;padding:.4rem .5rem .75rem}
#roadtest .study-road{height:118px;background:linear-gradient(#d7edf9 0 38%,#78a95d 38% 58%,#515962 58%);position:relative;overflow:hidden}
#roadtest .study-road:before,#roadtest .study-road:after{content:"";position:absolute;bottom:0;width:26%;height:55%;background:#6f9f50;clip-path:polygon(0 100%,100% 100%,65% 0)}
#roadtest .study-road:before{left:0} #roadtest .study-road:after{right:0;transform:scaleX(-1)}
#roadtest .study-road-line{position:absolute;left:50%;bottom:0;width:5px;height:68px;background:#f7c63b;transform:translateX(-50%);box-shadow:0 -18px 0 -1px #f7c63b}
#roadtest .study-link-label{background:var(--navy);color:#fff;text-align:center;padding:.72rem .55rem;font-weight:850;font-size:.75rem}

@media(max-width:900px){
  #roadtest .roadtest-hero-grid{grid-template-columns:1fr;min-height:0}
  #roadtest .roadtest-hero-copy{padding:2.2rem 0 .4rem}
  #roadtest .roadtest-kid-wrap{max-height:250px}
  #roadtest .roadtest-kid{max-height:250px}
  #roadtest .roadtest-layout{grid-template-columns:1fr}
  #roadtest .roadtest-sidebar{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  #roadtest .roadtest-sidebar,#roadtest .rt-warning-grid,#roadtest .rt-subgrid,#roadtest .rt-mini-checks.two-col{grid-template-columns:1fr}
  #roadtest .roadtest-hero h1{font-size:2.65rem}
  #roadtest .roadtest-card-heading{padding:.95rem}
  #roadtest .rt-phase{padding:.95rem}
}

/* segment-pages-redesign */

#segment1 .program-hero,#segment2 .program-hero{
  background:linear-gradient(90deg,#fff 0%,#fff 44%,#eef3f8 100%);
  border-bottom:3px solid var(--red)
}
#segment1 .program-hero-grid,#segment2 .program-hero-grid{
  display:grid;grid-template-columns:1.02fr .98fr;min-height:290px;gap:1.3rem;align-items:stretch
}
.program-hero-copy{padding:2.8rem 0 2.2rem;align-self:center}
.program-eyebrow{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}
.program-hero-copy h1{margin:.2rem 0 0;color:var(--navy);font-size:clamp(2.65rem,5vw,4.4rem);line-height:.95;letter-spacing:-.035em}
.program-hero-copy h2{margin:.55rem 0 0;color:var(--navy);font-size:1.55rem;line-height:1.1}
.program-underline{width:88px;height:4px;background:var(--red);margin:1rem 0 1.15rem}
.program-hero-copy p{max-width:600px;margin:0;color:#31435c;font-size:.96rem;line-height:1.55}
.program-hero-art{display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.program-hero-art img{width:100%;height:100%;max-height:290px;object-fit:cover;object-position:center 20%;display:block}

.program-content{background:#f6f8fb;padding:1.6rem 0 2.5rem}
.program-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.72fr);gap:1rem;align-items:start}
.program-main,.program-sidebar{display:grid;gap:1rem}
.program-card{background:#fff;border:1px solid #dbe2ea;border-radius:14px;box-shadow:0 7px 20px rgba(10,34,66,.06);overflow:hidden}
.program-card-head{display:flex;gap:.8rem;align-items:center;padding:1rem 1.1rem;background:#fff}
.program-card-head.navy{background:var(--navy)}
.program-card-head.red{background:var(--red)}
.program-card-head h2{margin:0;color:var(--navy);font-size:1.13rem}
.program-card-head p{margin:.18rem 0 0;color:#66758b;font-size:.73rem}
.program-card-head.navy h2,.program-card-head.navy p,.program-card-head.red h2,.program-card-head.red p{color:#fff}
.program-icon{flex:0 0 40px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:950;font-size:1rem}
.program-icon.white{background:#fff;color:var(--navy)}
.program-card-head.red .program-icon.white{color:var(--red)}

.program-checks{display:grid;gap:.45rem;padding:0 1.1rem 1.1rem}
.program-checks.compact{padding-top:1rem}
.program-checks span,.program-mini-grid span{position:relative;padding-left:1.45rem;color:#26364d;font-size:.78rem;line-height:1.42}
.program-checks span:before,.program-mini-grid span:before{content:"✓";position:absolute;left:0;top:.08rem;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:#28a745;color:#fff;font-size:.58rem;font-weight:900}
.program-phase{padding:1rem 1.1rem 1.15rem;border-top:1px solid #e0e6ed}
.program-phase.last{padding-bottom:1.2rem}
.program-phase-title{display:flex;gap:.72rem;align-items:flex-start;margin-bottom:.72rem}
.program-phase-title>span{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:950}
.program-phase-title h3{margin:.03rem 0 .14rem;color:var(--navy);font-size:1rem}
.program-phase-title p{margin:0;color:#5e6d82;font-size:.74rem;line-height:1.42}
.program-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:.42rem .85rem}
.program-mini-grid span:before{background:var(--red)}

.price-card{text-align:center}
.program-price{font-size:3.2rem;font-weight:950;color:var(--red);line-height:1;margin:1rem 0 .25rem}
.program-price-name{font-weight:900;color:var(--navy);font-size:.98rem}
.program-price-sub{color:#5f6f84;font-size:.72rem;line-height:1.35;margin:.25rem 1rem}
.program-note{color:#7a8697;font-size:.67rem;margin:.85rem 1rem 1rem}
.contract-card p{margin:.95rem 1rem .7rem;color:#5d6a7d;font-size:.75rem;line-height:1.45}
.program-link-btn{display:block;margin:.7rem 1rem 1rem;padding:.72rem .8rem;background:var(--navy);color:#fff;text-decoration:none;border-radius:8px;text-align:center;font-weight:850;font-size:.76rem}
.resource-links{display:grid;padding:.35rem 1rem 1rem}
.resource-links a{padding:.55rem .1rem;border-bottom:1px solid #e2e7ed;color:var(--navy);text-decoration:none;font-size:.74rem;font-weight:750}
.resource-links a:last-child{border-bottom:0}
.resource-links a:hover{color:var(--red)}

@media(max-width:900px){
  #segment1 .program-hero-grid,#segment2 .program-hero-grid{grid-template-columns:1fr;min-height:0}
  .program-hero-copy{padding:2.1rem 0 .5rem}
  .program-hero-art{max-height:240px}
  .program-hero-art img{max-height:240px}
  .program-layout{grid-template-columns:1fr}
  .program-sidebar{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .program-sidebar,.program-mini-grid{grid-template-columns:1fr}
  .program-card-head{padding:.9rem}
  .program-phase{padding:.9rem}
  .program-hero-copy h1{font-size:2.6rem}
}

/* program-hero-art-cleanup */

#segment1 .program-hero-art img,
#segment2 .program-hero-art img{
  object-position:center center !important;
}

/* segment-expect-roadtest-match */

/* ONLY Segment 1/2 What-to-Expect cards: match Road Test card/header treatment */
#segment1 .program-card-head.expect-head,
#segment2 .program-card-head.expect-head{
  display:flex;
  gap:.8rem;
  align-items:flex-start;
  padding:1.05rem 1.15rem .9rem;
  background:#fff !important;
  border-bottom:1px solid #e1e6ed;
}
#segment1 .program-card-head.expect-head h2,
#segment2 .program-card-head.expect-head h2{
  margin:.05rem 0 .2rem;
  color:var(--navy) !important;
  font-size:1.2rem;
  line-height:1.15;
}
#segment1 .program-card-head.expect-head p,
#segment2 .program-card-head.expect-head p{
  margin:0;
  color:#627085 !important;
  font-size:.78rem;
  line-height:1.45;
}
#segment1 .program-card-head.expect-head .program-icon,
#segment2 .program-card-head.expect-head .program-icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--navy) !important;
  color:#fff !important;
  font-weight:950;
  font-size:1.15rem;
}
#segment1 .program-card:has(.expect-head),
#segment2 .program-card:has(.expect-head){
  border:1px solid #dbe2ea;
  border-radius:14px;
  box-shadow:0 7px 20px rgba(10,34,66,.06);
  overflow:hidden;
  background:#fff;
}

/* segment1-sidebar-refinement */

/* Segment 1 right-column refinement only */
#segment1 .program-sidebar .program-card-head{
  padding:.72rem .85rem !important;
  gap:.58rem !important;
}
#segment1 .program-sidebar .program-card-head h2{
  font-size:.94rem !important;
  line-height:1.15 !important;
}
#segment1 .program-sidebar .program-icon{
  flex-basis:32px !important;
  width:32px !important;
  height:32px !important;
  font-size:.82rem !important;
}
#segment1 .program-sidebar .program-link-btn{
  margin:.6rem .85rem .85rem !important;
  padding:.58rem .68rem !important;
  border-radius:7px !important;
  font-size:.7rem !important;
  font-weight:800 !important;
}
#segment1 .program-sidebar .resource-links{
  padding:.25rem .85rem .8rem !important;
}
#segment1 .program-sidebar .resource-links a{
  padding:.45rem .05rem !important;
  font-size:.7rem !important;
}
#segment1 .program-sidebar .program-checks.compact{
  padding:.8rem .9rem .9rem !important;
}
#segment1 .program-sidebar .program-checks span{
  font-size:.73rem !important;
}

/* subtle-sidebar-headers */

/* Subtle right-column card headers for Segment 1, Segment 2, and Road Test */
#segment1 .program-sidebar .program-card-head,
#segment2 .program-sidebar .program-card-head,
#roadtest .roadtest-sidebar .roadtest-card-heading{
  background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%) !important;
  border-bottom:1px solid #dfe5ec !important;
  padding:.72rem .85rem !important;
  gap:.58rem !important;
  box-shadow:none !important;
}

#segment1 .program-sidebar .program-card-head h2,
#segment2 .program-sidebar .program-card-head h2,
#roadtest .roadtest-sidebar .roadtest-card-heading h2{
  color:var(--navy) !important;
  font-size:.94rem !important;
  line-height:1.18 !important;
  font-weight:850 !important;
  letter-spacing:0 !important;
}

#segment1 .program-sidebar .program-card-head p,
#segment2 .program-sidebar .program-card-head p,
#roadtest .roadtest-sidebar .roadtest-card-heading p{
  color:#68778b !important;
  font-size:.7rem !important;
  line-height:1.35 !important;
}

#segment1 .program-sidebar .program-icon,
#segment2 .program-sidebar .program-icon,
#roadtest .roadtest-sidebar .roadtest-icon{
  flex:0 0 30px !important;
  width:30px !important;
  height:30px !important;
  border-radius:9px !important;
  background:#eef3f8 !important;
  color:var(--navy) !important;
  border:1px solid #d6e0ea !important;
  font-size:.78rem !important;
  box-shadow:none !important;
}

/* Keep a subtle red cue for pricing / bring-to-class cards without solid red bars */
#segment1 .program-sidebar .price-card .program-card-head,
#segment2 .program-sidebar .price-card .program-card-head,
#segment1 .program-sidebar .program-card-head.red,
#segment2 .program-sidebar .program-card-head.red,
#roadtest .roadtest-sidebar .price-card .roadtest-card-heading{
  border-top:3px solid var(--red) !important;
}

#segment1 .program-sidebar .price-card .program-icon,
#segment2 .program-sidebar .price-card .program-icon,
#segment1 .program-sidebar .program-card-head.red .program-icon,
#segment2 .program-sidebar .program-card-head.red .program-icon,
#roadtest .roadtest-sidebar .price-card .roadtest-icon{
  background:#fff1f2 !important;
  color:var(--red) !important;
  border-color:#f1c9cc !important;
}

/* Contract/resources/study cards retain a subtle navy cue */
#segment1 .program-sidebar .contract-card .program-card-head,
#segment2 .program-sidebar .contract-card .program-card-head,
#segment1 .program-sidebar .resource-card .program-card-head,
#segment2 .program-sidebar .resource-card .program-card-head,
#roadtest .roadtest-sidebar .study-card .roadtest-card-heading{
  border-top:3px solid var(--navy) !important;
}

#roadtest .roadtest-sidebar .study-card .roadtest-icon{
  background:#edf3fa !important;
  color:var(--navy) !important;
  border-color:#d3deea !important;
}

/* Slightly soften right-side buttons to match the lighter header treatment */
#segment1 .program-sidebar .program-link-btn,
#segment2 .program-sidebar .program-link-btn,
#roadtest .roadtest-sidebar .study-link-label{
  box-shadow:none !important;
  border-radius:7px !important;
  font-size:.7rem !important;
  letter-spacing:0 !important;
}

/* level1-upcoming-studyguide-refinement */

/* Home Upcoming Courses header - match subtle sidebar header treatment */
#home .upcoming-courses .subtle-course-head{
  display:flex !important;
  align-items:center !important;
  gap:.58rem !important;
  padding:.72rem .85rem !important;
  margin:0 !important;
  background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%) !important;
  border-top:3px solid var(--navy) !important;
  border-bottom:1px solid #dfe5ec !important;
  box-shadow:none !important;
}
#home .upcoming-courses .subtle-course-head h3{
  margin:0 !important;
  color:var(--navy) !important;
  font-size:.94rem !important;
  line-height:1.18 !important;
  font-weight:850 !important;
}
#home .upcoming-courses .up-head-icon{
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:#eef3f8;
  color:var(--navy);
  border:1px solid #d6e0ea;
  font-size:.78rem;
}

/* Level 1 right-column cards - same restrained treatment as Segment pages */
#level1 .level1-sidebar{
  display:grid;
  gap:1rem;
}
#level1 .level1-side-card{
  padding:0 !important;
  overflow:hidden;
  border:1px solid #dbe2ea !important;
  border-radius:14px !important;
  box-shadow:0 7px 20px rgba(10,34,66,.06) !important;
}
#level1 .level1-side-head{
  display:flex;
  align-items:center;
  gap:.58rem;
  padding:.72rem .85rem;
  background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);
  border-top:3px solid var(--navy);
  border-bottom:1px solid #dfe5ec;
}
#level1 .level1-side-head h3{
  margin:0;
  color:var(--navy);
  font-size:.94rem;
  line-height:1.18;
  font-weight:850;
}
#level1 .level1-side-icon{
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:#eef3f8;
  color:var(--navy);
  border:1px solid #d6e0ea;
  font-size:.78rem;
}
#level1 .level1-side-icon.red{
  background:#fff1f2;
  color:var(--red);
  border-color:#f1c9cc;
}
#level1 .level1-side-card p{
  margin:.8rem .85rem .55rem;
  color:#627085;
  font-size:.74rem;
  line-height:1.45;
}
#level1 .level1-side-btn{
  display:block;
  margin:.6rem .85rem .85rem;
  padding:.58rem .68rem;
  border-radius:7px;
  background:var(--navy);
  color:#fff;
  text-decoration:none;
  text-align:center;
  font-size:.7rem;
  font-weight:800;
  box-shadow:none;
}
#level1 .level1-side-btn:hover{
  filter:brightness(1.06);
}
#level1 .level1-payment-card{
  margin-top:1rem;
}

/* practice-page-refinement */

#practice .practice-expect-card{
  background:#fff;
  border:1px solid #dbe2ea;
  border-radius:14px;
  box-shadow:0 7px 20px rgba(10,34,66,.06);
  overflow:hidden;
  margin-bottom:1rem;
}
#practice .practice-expect-head{
  display:flex;
  gap:.8rem;
  align-items:flex-start;
  padding:1.05rem 1.15rem .9rem;
  background:#fff;
  border-bottom:1px solid #e1e6ed;
}
#practice .practice-expect-head h2{
  margin:.05rem 0 .2rem;
  color:var(--navy);
  font-size:1.2rem;
  line-height:1.15;
}
#practice .practice-expect-head p{
  margin:0;
  color:#627085;
  font-size:.78rem;
  line-height:1.45;
}
#practice .practice-expect-icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--navy);
  color:#fff;
  font-size:1.08rem;
  font-weight:950;
}
#practice .practice-phase{
  padding:1rem 1.1rem 1.15rem;
  border-bottom:1px solid #e1e6ed;
}
#practice .practice-phase.last{border-bottom:0}
#practice .practice-phase-title{
  display:flex;
  gap:.72rem;
  align-items:flex-start;
  margin-bottom:.72rem;
}
#practice .practice-phase-title>span{
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--red);
  color:#fff;
  font-weight:950;
}
#practice .practice-phase-title h3{
  margin:.03rem 0 .15rem;
  color:var(--navy);
  font-size:1rem;
}
#practice .practice-phase-title p{
  margin:0;
  color:#5e6d82;
  font-size:.75rem;
  line-height:1.48;
}
#practice .practice-detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.45rem .8rem;
}
#practice .practice-detail-grid span{
  position:relative;
  padding-left:1.45rem;
  color:#26364d;
  font-size:.76rem;
  line-height:1.4;
}
#practice .practice-detail-grid span:before{
  content:"✓";
  position:absolute;
  left:0;
  top:.08rem;
  width:15px;
  height:15px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--red);
  color:#fff;
  font-size:.58rem;
  font-weight:900;
}
#practice .practice-purpose-card h2{
  text-transform:none;
}
#practice .practice-purpose-card>p{
  margin-bottom:1rem;
}
#practice .practice-purpose-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.75rem;
}
#practice .practice-purpose-grid>div{
  background:#f8fafc;
  border:1px solid #e0e6ed;
  border-radius:10px;
  padding:.78rem .82rem;
}
#practice .practice-purpose-grid h3{
  margin:0 0 .45rem;
  color:var(--navy);
  font-size:.82rem;
}
#practice .practice-purpose-grid ul{
  margin:0;
  padding-left:1.05rem;
}
#practice .practice-purpose-grid li{
  margin:.23rem 0;
  color:#435169;
  font-size:.73rem;
  line-height:1.35;
}
#practice .practice-tip{
  margin-top:.85rem;
  padding:.78rem .85rem;
  background:#eef4fa;
  border-left:3px solid var(--navy);
  border-radius:8px;
  color:#435169;
  font-size:.74rem;
  line-height:1.45;
}
#practice .practice-guide-card{
  padding:0 !important;
  overflow:hidden;
  border:1px solid #dbe2ea !important;
  border-radius:14px !important;
  box-shadow:0 7px 20px rgba(10,34,66,.06) !important;
}
#practice .practice-guide-head{
  display:flex;
  align-items:center;
  gap:.58rem;
  padding:.72rem .85rem;
  background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
  border-top:3px solid var(--navy);
  border-bottom:1px solid #dfe5ec;
}
#practice .practice-guide-head h3{
  margin:0;
  color:var(--navy);
  font-size:.94rem;
  line-height:1.18;
  font-weight:850;
}
#practice .practice-guide-icon{
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:#eef3f8;
  color:var(--navy);
  border:1px solid #d6e0ea;
  font-size:.78rem;
}
#practice .practice-guide-card p{
  margin:.8rem .85rem .55rem;
  color:#627085;
  font-size:.74rem;
  line-height:1.45;
}
#practice .practice-guide-btn{
  display:block;
  margin:.6rem .85rem .85rem;
  padding:.58rem .68rem;
  border-radius:7px;
  background:var(--navy);
  color:#fff;
  text-decoration:none;
  text-align:center;
  font-size:.7rem;
  font-weight:800;
  box-shadow:none;
}
@media(max-width:650px){
  #practice .practice-detail-grid,
  #practice .practice-purpose-grid{
    grid-template-columns:1fr;
  }
}

/* parent-resources-theme-refresh */

#parents .parents-layout{
  align-items:start;
}
#parents .parents-main-card,
#parents .parents-side-card{
  background:#fff;
  border:1px solid #dbe2ea;
  border-radius:14px;
  box-shadow:0 7px 20px rgba(10,34,66,.06);
  overflow:hidden;
}
#parents .parents-main-head{
  display:flex;
  gap:.8rem;
  align-items:flex-start;
  padding:1.05rem 1.15rem .9rem;
  background:#fff;
  border-bottom:1px solid #e1e6ed;
}
#parents .parents-main-icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--navy);
  color:#fff;
  font-weight:950;
}
#parents .parents-main-head h2{
  margin:.05rem 0 .2rem;
  color:var(--navy);
  font-size:1.2rem;
  line-height:1.15;
}
#parents .parents-main-head p{
  margin:0;
  color:#627085;
  font-size:.78rem;
  line-height:1.45;
}
#parents .parents-resource-row{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:.8rem;
  align-items:center;
  padding:1rem 1.1rem;
  border-bottom:1px solid #e5e9ef;
}
#parents .parents-resource-row:last-child{
  border-bottom:0;
}
#parents .parents-resource-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eef3f8;
  color:var(--navy);
  border:1px solid #d6e0ea;
  font-size:.75rem;
  font-weight:900;
}
#parents .parents-resource-copy h3{
  margin:0 0 .16rem;
  color:var(--navy);
  font-size:.92rem;
}
#parents .parents-resource-copy p{
  margin:0;
  color:#617086;
  font-size:.74rem;
  line-height:1.42;
}
#parents .parents-resource-row>a{
  display:inline-block;
  padding:.52rem .64rem;
  border-radius:7px;
  background:var(--navy);
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
  font-size:.68rem;
  font-weight:800;
  box-shadow:none;
}
#parents .parents-sidebar{
  display:grid;
  gap:1rem;
}
#parents .parents-side-head{
  display:flex;
  align-items:center;
  gap:.58rem;
  padding:.72rem .85rem;
  background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
  border-top:3px solid var(--navy);
  border-bottom:1px solid #dfe5ec;
}
#parents .parents-side-head h3{
  margin:0;
  color:var(--navy);
  font-size:.94rem;
  line-height:1.18;
  font-weight:850;
}
#parents .parents-side-icon{
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:#eef3f8;
  color:var(--navy);
  border:1px solid #d6e0ea;
  font-size:.78rem;
}
#parents .parents-side-icon.red{
  background:#fff1f2;
  color:var(--red);
  border-color:#f1c9cc;
}
#parents .parents-side-card>p,
#parents .parents-side-copy{
  margin:.8rem .85rem .55rem;
  color:#627085;
  font-size:.74rem;
  line-height:1.45;
}
#parents .parents-side-btn{
  display:block;
  margin:.6rem .85rem .85rem;
  padding:.58rem .68rem;
  border-radius:7px;
  background:var(--navy);
  color:#fff;
  text-decoration:none;
  text-align:center;
  font-size:.7rem;
  font-weight:800;
}
#parents .parents-side-checks{
  display:grid;
  gap:.5rem;
  padding:.8rem .9rem .9rem;
}
#parents .parents-side-checks span{
  position:relative;
  padding-left:1.35rem;
  color:#34445a;
  font-size:.73rem;
  line-height:1.4;
}
#parents .parents-side-checks span:before{
  content:"✓";
  position:absolute;
  left:0;
  top:.03rem;
  width:15px;
  height:15px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--red);
  color:#fff;
  font-size:.55rem;
  font-weight:900;
}
@media(max-width:800px){
  #parents .parents-resource-row{
    grid-template-columns:34px 1fr;
  }
  #parents .parents-resource-row>a{
    grid-column:2;
    justify-self:start;
  }
}

/* global-button-legibility */

/* Global button/link legibility refinement */
button,
.btn,
.action,
.program-link-btn,
.level1-side-btn,
.practice-guide-btn,
.parents-side-btn,
.parents-resource-row > a,
.study-link-label,
.full-schedule,
.course-date-row,
a[class*="btn"],
a[class*="button"]{
  font-family:inherit !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  line-height:1.25 !important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

/* Primary dark/navy buttons */
.btn,
.action.blue,
.program-link-btn,
.level1-side-btn,
.practice-guide-btn,
.parents-side-btn,
.parents-resource-row > a,
.full-schedule{
  font-size:.78rem !important;
  padding:.72rem .9rem !important;
  min-height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.35rem !important;
  color:#fff !important;
  background:#10284d !important;
  border:1px solid #10284d !important;
  border-radius:8px !important;
  text-decoration:none !important;
  text-shadow:0 1px 1px rgba(0,0,0,.08);
  box-shadow:0 2px 5px rgba(16,40,77,.12) !important;
}

/* Red primary variants */
.btn.red,
.action.red,
.program-link-btn.red{
  background:#c91f2b !important;
  border-color:#c91f2b !important;
  color:#fff !important;
}

/* Gold buttons need dark text for contrast */
.action.gold,
.btn.gold{
  background:#f0b323 !important;
  border-color:#d49a12 !important;
  color:#10284d !important;
  text-shadow:none !important;
}

/* Course/date buttons */
.course-date-row{
  font-size:.76rem !important;
  min-height:44px !important;
  padding:.7rem .8rem !important;
  color:#10284d !important;
}
.course-date-row .course-month,
.course-date-row .course-dates{
  font-weight:800 !important;
  color:#10284d !important;
}
.course-date-row .course-arrow{
  font-size:1.15rem !important;
  font-weight:900 !important;
  color:#c91f2b !important;
}

/* Study guide CTA */
.study-link-label{
  font-size:.76rem !important;
  font-weight:850 !important;
  padding:.68rem .8rem !important;
  line-height:1.2 !important;
}

/* Hover/focus improves discoverability and accessibility */
button:hover,
.btn:hover,
.action:hover,
.program-link-btn:hover,
.level1-side-btn:hover,
.practice-guide-btn:hover,
.parents-side-btn:hover,
.parents-resource-row > a:hover,
.full-schedule:hover,
.course-date-row:hover,
a[class*="btn"]:hover,
a[class*="button"]:hover{
  filter:brightness(1.06);
  transform:translateY(-1px);
}
button:focus-visible,
.btn:focus-visible,
.action:focus-visible,
.program-link-btn:focus-visible,
.level1-side-btn:focus-visible,
.practice-guide-btn:focus-visible,
.parents-side-btn:focus-visible,
.parents-resource-row > a:focus-visible,
.full-schedule:focus-visible,
.course-date-row:focus-visible,
a[class*="btn"]:focus-visible,
a[class*="button"]:focus-visible{
  outline:3px solid rgba(13,89,187,.28) !important;
  outline-offset:2px !important;
}

/* Prevent tiny uppercase labels from becoming hard to read */
button,
.btn,
.action,
.program-link-btn,
.level1-side-btn,
.practice-guide-btn,
.parents-side-btn,
.parents-resource-row > a,
.full-schedule{
  text-transform:none !important;
}

/* Mobile touch/readability */
@media(max-width:700px){
  button,
  .btn,
  .action,
  .program-link-btn,
  .level1-side-btn,
  .practice-guide-btn,
  .parents-side-btn,
  .parents-resource-row > a,
  .full-schedule,
  .course-date-row{
    font-size:.82rem !important;
    min-height:46px !important;
    padding:.76rem .9rem !important;
  }
}

/* contracts-parents-viewcourses-refresh */

/* ===== Course Contracts ===== */
#contracts .contracts-layout{
  display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(250px,.8fr);
  gap:1rem;
  align-items:start;
}
#contracts .contracts-main-card,
#contracts .contracts-side-card{
  background:#fff;
  border:1px solid #dbe2ea;
  border-radius:14px;
  box-shadow:0 7px 20px rgba(10,34,66,.06);
  overflow:hidden;
}
#contracts .contracts-main-head{
  display:flex;
  gap:.8rem;
  align-items:flex-start;
  padding:1.05rem 1.15rem .9rem;
  border-bottom:1px solid #e1e6ed;
}
#contracts .contracts-main-icon{
  flex:0 0 42px;
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--navy);color:#fff;font-weight:900;
}
#contracts .contracts-main-head h2{
  margin:.05rem 0 .2rem;color:var(--navy);font-size:1.2rem;
}
#contracts .contracts-main-head p{
  margin:0;color:#627085;font-size:.78rem;line-height:1.45;
}
#contracts .contracts-list{padding:1rem;display:grid;gap:.85rem}
#contracts .contract-choice{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:.8rem;
  padding:1rem;
  border:1px solid #dce3ea;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
#contracts .contract-choice:before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:4px;
  background:var(--navy);
}
#contracts .contract-choice-seg2:before{background:var(--red)}
#contracts .contract-choice-icon{
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;
  background:#eef3f8;color:var(--navy);
  border:1px solid #d6e0ea;font-weight:900;
}
#contracts .contract-choice-seg2 .contract-choice-icon{
  background:#fff1f2;color:var(--red);border-color:#f1c9cc;
}
#contracts .contract-choice-copy h3{
  margin:0 0 .18rem;color:var(--navy);font-size:.95rem;
}
#contracts .contract-choice-copy p,
#contracts .contract-note{
  margin:0;color:#617086;font-size:.74rem;line-height:1.4;
}
#contracts .contract-note{margin-top:.35rem;font-weight:700}
#contracts .contract-modern-btn{
  display:flex;align-items:center;justify-content:center;
  min-height:42px;padding:.7rem .85rem;
  background:var(--navy);color:#fff;text-decoration:none;
  border-radius:8px;font-size:.78rem;font-weight:800;
  line-height:1.2;white-space:nowrap;
}
#contracts .contracts-side-head{
  display:flex;align-items:center;gap:.58rem;
  padding:.72rem .85rem;
  background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
  border-top:3px solid var(--navy);
  border-bottom:1px solid #dfe5ec;
}
#contracts .contracts-side-head h3{
  margin:0;color:var(--navy);font-size:.94rem;font-weight:850;
}
#contracts .contracts-side-icon{
  flex:0 0 30px;width:30px;height:30px;border-radius:9px;
  display:grid;place-items:center;background:#eef3f8;color:var(--navy);
  border:1px solid #d6e0ea;font-size:.78rem;
}
#contracts .contracts-side-checks{
  display:grid;gap:.52rem;padding:.85rem .9rem .95rem;
}
#contracts .contracts-side-checks span{
  position:relative;padding-left:1.35rem;
  color:#34445a;font-size:.73rem;line-height:1.4;
}
#contracts .contracts-side-checks span:before{
  content:"✓";position:absolute;left:0;top:.03rem;
  width:15px;height:15px;border-radius:50%;
  display:grid;place-items:center;background:var(--red);color:#fff;
  font-size:.55rem;font-weight:900;
}

/* ===== Parent Resources: roadmap-style resource boxes ===== */
#parents .parents-main-card{
  overflow:hidden;
}
#parents .parents-roadmap-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.85rem;
  padding:1rem;
  background:#f8fafc;
}
#parents .parents-roadmap-box{
  position:relative;
  min-height:230px;
  padding:1rem .95rem .9rem;
  background:#fff;
  border:1px solid #dbe2ea;
  border-top:4px solid var(--resource-accent);
  border-radius:12px;
  box-shadow:0 4px 12px rgba(10,34,66,.05);
  display:flex;
  flex-direction:column;
}
#parents .parents-roadmap-num{
  position:absolute;right:.75rem;top:.68rem;
  width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--resource-accent);color:#fff;
  font-size:.7rem;font-weight:900;
}
#parents .parents-roadmap-ico{
  width:42px;height:42px;border-radius:11px;
  display:grid;place-items:center;
  background:color-mix(in srgb, var(--resource-accent) 10%, white);
  border:1px solid color-mix(in srgb, var(--resource-accent) 25%, white);
  font-size:1.15rem;
  margin-bottom:.7rem;
}
#parents .parents-roadmap-box h3{
  margin:0 2rem .3rem 0;
  color:var(--navy);font-size:.92rem;line-height:1.25;
}
#parents .parents-roadmap-box p{
  margin:0 0 .75rem;
  color:#617086;font-size:.73rem;line-height:1.45;
  flex:1;
}
#parents .parents-roadmap-box a{
  align-self:flex-start;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:40px;padding:.62rem .75rem;
  border-radius:8px;
  background:var(--resource-accent);
  color:#fff;text-decoration:none;
  font-size:.74rem;font-weight:800;
}

/* ===== New View Courses nav CTA ===== */
.nav-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:.62rem 1rem !important;
  border-radius:9px !important;
  background:var(--red) !important;
  border:1px solid #b91824 !important;
  color:#fff !important;
  font-size:.78rem !important;
  font-weight:850 !important;
  letter-spacing:.01em !important;
  line-height:1.1 !important;
  text-decoration:none !important;
  box-shadow:0 3px 9px rgba(201,31,43,.16) !important;
}
.nav-cta:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
}

@media(max-width:900px){
  #contracts .contracts-layout{grid-template-columns:1fr}
}
@media(max-width:700px){
  #contracts .contract-choice{grid-template-columns:38px 1fr}
  #contracts .contract-modern-btn{grid-column:2;justify-self:start;white-space:normal}
  #parents .parents-roadmap-grid{grid-template-columns:1fr}
  #parents .parents-roadmap-box{min-height:0}
}

/* segment1-important-note-style */

#segment1 .segment1-important-note{padding:0!important;overflow:hidden;border:1px solid #ead9b1!important;border-radius:14px!important;background:#fffdf8!important;box-shadow:0 7px 20px rgba(10,34,66,.06)!important}
#segment1 .segment1-note-head{display:flex;align-items:center;gap:.58rem;padding:.72rem .85rem;background:linear-gradient(180deg,#fffdf8 0%,#fff8e8 100%);border-top:3px solid #e99b00;border-bottom:1px solid #eadfca}
#segment1 .segment1-note-head h2{margin:0;color:var(--navy);font-size:.94rem;line-height:1.18;font-weight:850}
#segment1 .segment1-note-icon{flex:0 0 30px;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#fff1cf;color:#9a6500;border:1px solid #efd59b;font-size:.84rem;font-weight:950}
#segment1 .segment1-note-body{padding:.8rem .85rem .85rem}
#segment1 .segment1-note-body p{margin:0 0 .58rem;color:#45536a;font-size:.76rem;line-height:1.5}
#segment1 .segment1-note-body p:last-child{margin-bottom:0}

/* segment1-class-time-style */

#segment1 .segment1-class-time{
  margin:.22rem 0 .38rem !important;
  color:var(--navy) !important;
  font-size:.77rem !important;
  line-height:1.4 !important;
}
#segment1 .segment1-class-time strong{font-weight:800}

/* segment2-class-time-style */

#segment2 .segment2-class-time{margin:.22rem 0 .38rem!important;color:var(--navy)!important;font-size:.77rem!important;line-height:1.4!important}
#segment2 .segment2-class-time strong{font-weight:800}

/* segment2-important-note-style */

#segment2 .segment2-important-note{padding:0!important;overflow:hidden;border:1px solid #ead9b1!important;border-radius:14px!important;background:#fffdf8!important;box-shadow:0 7px 20px rgba(10,34,66,.06)!important}
#segment2 .segment2-note-head{display:flex;align-items:center;gap:.58rem;padding:.72rem .85rem;background:linear-gradient(180deg,#fffdf8 0%,#fff8e8 100%);border-top:3px solid #e99b00;border-bottom:1px solid #eadfca}
#segment2 .segment2-note-head h2{margin:0;color:var(--navy);font-size:.94rem;line-height:1.18;font-weight:850}
#segment2 .segment2-note-icon{flex:0 0 30px;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#fff1cf;color:#9a6500;border:1px solid #efd59b;font-size:.84rem;font-weight:950}
#segment2 .segment2-note-body{padding:.8rem .85rem .85rem}
#segment2 .segment2-note-body p{margin:0 0 .58rem;color:#45536a;font-size:.76rem;line-height:1.5}
#segment2 .segment2-note-body p:last-child{margin-bottom:0}
#segment2 .segment2-arrival-note{padding:.58rem .65rem;background:#fff4d8;border-radius:7px;color:var(--navy)!important}

/* calendar-list-refinement */

#schedule .schedule-course-group{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;margin:0 0 1.1rem;box-shadow:0 6px 18px rgba(10,34,66,.055)}
#schedule .schedule-course-head{display:flex;align-items:center;gap:.65rem;padding:.78rem .9rem;background:linear-gradient(180deg,#fff 0%,#f6f8fb 100%);border-top:3px solid var(--navy);border-bottom:1px solid var(--line)}
#schedule .schedule-head-icon{width:32px;height:32px;flex:0 0 32px;border-radius:9px;display:grid;place-items:center;background:#eaf0f8;font-size:.9rem}
#schedule .schedule-course-head h2{margin:0;color:var(--navy);font-size:1rem;font-weight:900;line-height:1.15}
#schedule .schedule-course-head p{margin:.14rem 0 0;color:#68778b;font-size:.72rem;line-height:1.3}
#schedule .schedule-course-list{padding:.15rem .85rem}
#schedule .schedule-session-card{display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.88rem 0;border-bottom:1px solid #e6ebf1}
#schedule .schedule-session-card:last-child{border-bottom:0}
#schedule .schedule-session-type{font-size:.72rem;font-weight:900;border-radius:7px;padding:.46rem .52rem;text-align:center;white-space:nowrap}
#schedule .schedule-session-copy{min-width:0}
#schedule .schedule-session-copy h3{margin:0 0 .18rem;color:var(--navy);font-size:.96rem;font-weight:900}
#schedule .schedule-session-desc{margin:0 0 .2rem;color:#46566b;font-size:.76rem;line-height:1.35}
#schedule .schedule-session-meta{margin:0;color:#6b7889;font-size:.72rem;line-height:1.35}
#schedule .schedule-session-meta span{padding:0 .18rem}
#schedule .schedule-details-btn{min-height:42px;padding:.68rem .88rem;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#10284d;color:#fff!important;border:1px solid #10284d;text-decoration:none;font-size:.76rem;font-weight:850;line-height:1.2;box-shadow:0 2px 5px rgba(16,40,77,.12);white-space:nowrap}
#schedule .schedule-details-btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
#schedule .schedule-details-btn:focus-visible{outline:3px solid rgba(13,89,187,.28);outline-offset:2px}
@media(max-width:720px){
 #schedule .schedule-session-card{grid-template-columns:88px 1fr;gap:.65rem}
 #schedule .schedule-details-btn{grid-column:1/-1;width:100%;min-height:46px}
 #schedule .schedule-course-list{padding:.1rem .72rem}
}

/* calendar-year-refinement */

#schedule .year-session-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
#schedule .year-session-month{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:0 5px 15px rgba(10,34,66,.045);min-width:0}
#schedule .year-session-head{display:flex;align-items:center;gap:.5rem;padding:.65rem .72rem;background:linear-gradient(180deg,#fff 0%,#f6f8fb 100%);border-top:3px solid var(--navy);border-bottom:1px solid var(--line)}
#schedule .year-session-icon{width:27px;height:27px;flex:0 0 27px;border-radius:7px;display:grid;place-items:center;background:#eaf0f8;font-size:.76rem}
#schedule .year-session-head h3{margin:0;color:var(--navy);font-size:.88rem;font-weight:900}
#schedule .year-session-list{padding:.22rem .7rem}
#schedule .year-session-item{padding:.62rem 0;border-bottom:1px solid #e8edf2}
#schedule .year-session-item:last-child{border-bottom:0}
#schedule .year-session-title{font-size:.72rem;font-weight:900;line-height:1.28;margin-bottom:.35rem;padding:.36rem .46rem;border-radius:6px;display:inline-block}
#schedule .seg1-year{background:#eaf3ff;color:#0d59bb;border:1px solid #bcd4f4}
#schedule .seg2-year{background:#edf7ef;color:#1f7a3e;border:1px solid #bfddc6}
#schedule .roadtest-year{background:#fff0f1;color:#c91f2b;border:1px solid #f1c2c6}
#schedule .year-session-dates{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;color:#68778b;font-size:.68rem}
#schedule .year-session-dates span{font-weight:700}
#schedule .year-session-dates strong{color:var(--navy);font-size:.74rem;font-weight:850;text-align:right;line-height:1.3}
#schedule .year-session-empty{padding:.8rem .72rem;color:#8a96a5;font-size:.7rem;font-style:italic}
@media(max-width:900px){#schedule .year-session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#schedule .year-session-grid{grid-template-columns:1fr}}

/* contact-production-style */

.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-status{min-height:1.3em;margin-top:.65rem;font-size:.76rem;font-weight:750;color:#42536a}
.contact-status.success{color:#23733a}
.contact-status.error{color:#a51f2a}
#contactForm button[disabled]{opacity:.65;cursor:wait}

/* calendar-refresh-style */

.refresh-schedule-btn{margin-left:auto}
@media(max-width:650px){.refresh-schedule-btn{margin-left:0;width:100%}}

/* legacy-base */

/* ===== v5 Hero refinement ===== */
.hero-wrap {
  background:
    linear-gradient(90deg,#06152b 0%,#06152b 42%,#0a223f 42%,#0a223f 100%);
}
.hero {
  grid-template-columns: 42% 58%;
  min-height: 535px;
  align-items: stretch;
}
.hero-left {
  padding: 3rem 1.7rem 2.4rem 1.65rem;
  justify-content: center;
}
.hero-left::after {
  right: -145px;
  width: 190px;
  background: linear-gradient(90deg,rgba(6,21,43,.99),rgba(6,21,43,0));
}
.hero-kicker {
  margin-bottom:.15rem;
}
.hero h1 {
  max-width: 650px;
  margin-bottom: .8rem;
}
.hero-sub {
  margin-bottom: 1rem;
  max-width: 575px;
}
.hero-benefits {
  margin-top: .65rem;
  max-width: 680px;
}
.benefit {
  min-height: 76px;
  align-items:start;
}
.hero-actions {
  margin-top: .9rem;
}
.hero-btn {
  min-height: 50px;
  padding: .88rem 1.08rem;
  box-shadow: none;
}
.hero-art {
  min-height: 535px;
  background-position: center right;
  background-size: cover;
}
.hero-art::before {
  background:
    linear-gradient(90deg,rgba(6,21,43,.76) 0%,rgba(6,21,43,.3) 10%,rgba(6,21,43,.04) 24%,transparent 42%),
    linear-gradient(0deg,rgba(6,21,43,.08),transparent 26%);
}
.hero-transition {
  height: 30px;
}
.hero-transition::before {
  top:-28px;
  height:58px;
  box-shadow:0 -3px 0 rgba(255,196,0,.6);
}
.home-grid {
  margin-top:-6px;
}
.roadmap-panel {
  border-top-left-radius: 22px;
  border-top-right-radius: 22px;
}
@media (min-width:1121px) {
  .hero-left {
    padding-left: clamp(1.6rem, 2vw, 2.25rem);
  }
}
@media (max-width:1120px) {
  .hero {
    grid-template-columns:1fr;
    min-height:auto;
  }
  .hero-left {
    padding:2.2rem 1.15rem 1.6rem;
  }
  .hero-art {
    min-height:360px;
    background-position:center;
  }
}
@media (max-width:720px) {
  .hero-art { min-height:300px; }
  .hero-actions { display:grid; grid-template-columns:1fr; }
  .hero-btn { width:100%; }
}

/* legacy-base */

/* ===== v6 hero art + benefit order refinement ===== */
.hero-art {
  background-position: center right !important;
  background-size: cover !important;
}
.hero-art::before {
  background:
    linear-gradient(90deg,rgba(6,21,43,.72) 0%,rgba(6,21,43,.24) 11%,rgba(6,21,43,.03) 24%,transparent 42%),
    linear-gradient(0deg,rgba(6,21,43,.08),transparent 24%) !important;
}
.hero-benefits {
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
}
.benefit:first-child .ico {
  color: var(--gold);
  font-size: 1.75rem;
  line-height:1;
}
.benefit:first-child b {
  font-size:.84rem;
}
.benefit:first-child small {
  font-size:.76rem;
  font-weight:700;
}
@media(max-width:720px){
  .hero-benefits{grid-template-columns:1fr !important}
}

/* legacy-base */

/* ===== v7 class-list grouping + trusted reasons ===== */
.month-label{
  margin:.7rem 0 .1rem;
  padding:.38rem .5rem;
  background:#eef3fa;
  color:var(--navy2);
  font-size:.73rem;
  font-weight:950;
  letter-spacing:.04em;
  border-radius:6px;
}
.class-row{
  grid-template-columns:88px 1fr auto !important;
}
.class-tag,.list-class{
  font-size:.72rem;
  font-weight:950;
  border-radius:7px;
  padding:.42rem .48rem;
  text-align:center;
  white-space:nowrap;
}
.seg1-tag,.seg1-label{background:#eaf3ff;color:#0d59bb;border:1px solid #bcd4f4}
.seg2-tag,.seg2-label{background:#edf7ef;color:#1f7a3e;border:1px solid #bfddc6}
.roadtest-label{background:#fff0f1;color:#df202b;border:1px solid #f1c2c6}
.list-month{
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  margin-bottom:1rem;
}
.list-month-head{
  background:var(--navy2);
  color:#fff;
  font-weight:950;
  padding:.72rem .9rem;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.list-row.grouped{
  grid-template-columns:110px 1fr auto;
}
@media(max-width:720px){
  .class-row{grid-template-columns:78px 1fr !important}
  .class-row .pill{grid-column:1/-1}
  .list-row.grouped{grid-template-columns:90px 1fr}
  .list-row.grouped .action{grid-column:1/-1}
}

/* legacy-base */

/* ===== v10 hero polish ===== */
.hero-wrap{
  border-bottom:0;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.08);
}
.hero{
  grid-template-columns:44% 56%;
  min-height:510px;
}
.hero-left{
  padding:2.55rem 1.55rem 2rem 1.7rem;
  justify-content:center;
}
.hero-kicker{
  font-size:clamp(1.35rem,2.1vw,2.05rem);
  line-height:1;
  margin:0 0 .22rem;
  letter-spacing:-.02em;
}
.hero h1{
  font-size:clamp(3rem,5vw,5.25rem);
  line-height:.9;
  max-width:625px;
  margin:.15rem 0 .75rem;
}
.hero-sub{
  font-size:clamp(.98rem,1.25vw,1.15rem);
  max-width:590px;
  margin:0 0 .9rem;
}
.hero-benefits{
  max-width:690px;
  margin-top:.4rem;
  gap:0;
}
.benefit{
  grid-template-columns:36px 1fr;
  gap:.48rem;
  min-height:70px;
  padding:.35rem .72rem .35rem 0;
  margin-right:.72rem;
  align-items:start;
}
.benefit .ico{
  font-size:1.35rem;
  line-height:1.1;
  padding-top:.08rem;
}
.benefit b{
  font-size:.76rem;
  letter-spacing:.01em;
  line-height:1.18;
}
.benefit small{
  font-size:.7rem;
  line-height:1.3;
  margin-top:.14rem;
}
.hero-actions{
  margin-top:.78rem;
  gap:.7rem;
}
.hero-btn{
  min-height:47px;
  padding:.78rem .95rem;
  border-radius:8px;
  font-size:.86rem;
}
.hero-btn.gold{
  box-shadow:0 8px 18px rgba(255,196,0,.12);
}
.hero-art{
  min-height:510px;
  background-size:cover !important;
  background-position:58% center !important;
}
.hero-art::before{
  background:
    linear-gradient(90deg,rgba(6,21,43,.82) 0%,rgba(6,21,43,.46) 9%,rgba(6,21,43,.12) 22%,transparent 40%),
    linear-gradient(0deg,rgba(6,21,43,.16) 0%,transparent 28%) !important;
}
.hero-transition{
  height:24px;
}
.hero-transition::before{
  top:-22px;
  height:48px;
  border-radius:48% 52% 0 0 / 55% 55% 0 0;
  box-shadow:0 -2px 0 rgba(255,196,0,.55);
}
.home-grid{
  margin-top:-2px;
}
.roadmap-panel{
  box-shadow:0 8px 24px rgba(6,21,43,.07);
}
@media(max-width:1120px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-left{padding:2rem 1.1rem 1.45rem}
  .hero-art{min-height:350px;background-position:center !important}
}
@media(max-width:720px){
  .hero h1{font-size:3.05rem}
  .hero-art{min-height:285px}
  .hero-benefits{gap:.15rem}
  .benefit{min-height:auto;margin-right:0;padding:.55rem 0}
  .hero-transition{height:18px}
}

/* legacy-base */

/* ===== v11 clean hero artwork integration ===== */
.hero{
  grid-template-columns:43% 57% !important;
  min-height:500px !important;
}
.hero-left{
  padding:2.5rem 1.55rem 2rem 1.7rem !important;
  background:#06152b !important;
}
.hero-left::after{
  right:-105px !important;
  width:125px !important;
  background:linear-gradient(90deg,rgba(6,21,43,.98),rgba(6,21,43,0)) !important;
}
.hero-art{
  min-height:500px !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
.hero-art::before{
  background:
    linear-gradient(90deg,rgba(6,21,43,.62) 0%,rgba(6,21,43,.20) 10%,rgba(6,21,43,0) 27%),
    linear-gradient(0deg,rgba(6,21,43,.06),transparent 26%) !important;
}
.hero-kicker{margin-bottom:.16rem !important}
.hero h1{margin:.12rem 0 .7rem !important}
.hero-sub{margin-bottom:.82rem !important}
.hero-benefits{margin-top:.28rem !important}
.hero-actions{margin-top:.72rem !important}
.hero-transition{height:21px !important}
.hero-transition::before{
  top:-19px !important;
  height:42px !important;
  box-shadow:0 -2px 0 rgba(255,196,0,.48) !important;
}
@media(max-width:1120px){
  .hero{grid-template-columns:1fr !important;min-height:auto !important}
  .hero-art{min-height:350px !important;background-position:center center !important}
}
@media(max-width:720px){
  .hero-art{min-height:280px !important}
}

/* legacy-base */

/* ===== v12 latest-design hero rebuild ===== */
.hero-wrap{
  background:#06152b !important;
  overflow:hidden;
}
.hero{
  display:grid !important;
  grid-template-columns:43% 57% !important;
  min-height:500px !important;
  align-items:stretch !important;
}
.hero-left{
  position:relative !important;
  z-index:2 !important;
  padding:2.45rem 1.5rem 1.95rem 1.7rem !important;
  background:#06152b !important;
  justify-content:center !important;
}
.hero-left::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  right:-90px !important;
  bottom:0 !important;
  width:105px !important;
  background:linear-gradient(90deg,#06152b 0%,rgba(6,21,43,0) 100%) !important;
  pointer-events:none !important;
}
.hero-art{
  position:relative !important;
  min-height:500px !important;
  overflow:hidden !important;
  background:none !important;
}
.hero-art::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:linear-gradient(90deg,rgba(6,21,43,.30) 0%,rgba(6,21,43,.08) 14%,transparent 28%) !important;
  pointer-events:none !important;
}
.hero-photo{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}
.hero-kicker{
  margin:0 0 .16rem !important;
  font-size:clamp(1.35rem,2.05vw,2rem) !important;
}
.hero h1{
  margin:.12rem 0 .72rem !important;
  font-size:clamp(3rem,4.9vw,5.15rem) !important;
  line-height:.9 !important;
  max-width:620px !important;
}
.hero-sub{
  margin:0 0 .8rem !important;
  max-width:570px !important;
}
.hero-benefits{
  margin-top:.25rem !important;
  max-width:680px !important;
}
.benefit{
  min-height:68px !important;
  grid-template-columns:35px 1fr !important;
  padding:.3rem .68rem .3rem 0 !important;
  margin-right:.68rem !important;
}
.hero-actions{
  margin-top:.7rem !important;
  gap:.68rem !important;
}
.hero-btn{
  min-height:46px !important;
  padding:.76rem .92rem !important;
}
.hero-transition{
  height:20px !important;
}
.hero-transition::before{
  top:-18px !important;
  height:40px !important;
}
@media(max-width:1120px){
  .hero{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  .hero-left{
    padding:2rem 1.05rem 1.4rem !important;
  }
  .hero-left::after{display:none !important}
  .hero-art{
    min-height:340px !important;
  }
  .hero-photo{
    object-position:center center !important;
  }
}
@media(max-width:720px){
  .hero-art{min-height:270px !important}
  .hero h1{font-size:3rem !important}
  .hero-actions{display:grid !important;grid-template-columns:1fr !important}
  .hero-btn{width:100% !important}
}

/* legacy-base */

/* ===== v13 exact approved visual direction ===== */
:root{
  --navy:#061b3a !important;
  --navy2:#0a2f60 !important;
  --blue:#0b4f9e !important;
  --gold:#d71920 !important;   /* red becomes primary accent */
  --gold2:#f5d7d8 !important;
  --red:#cf1018 !important;
  --green:#19692c !important;
  --orange:#e79b00 !important;
  --purple:#6d278e !important;
  --ink:#0d2241 !important;
  --muted:#5d6878 !important;
  --line:#d9e0e8 !important;
  --bg:#f7f8fa !important;
}
body{background:#f7f8fa !important}

/* White navigation like approved design */
.preview{display:none !important}
header{
  background:#fff !important;
  border-bottom:1px solid #e6e8ec !important;
  box-shadow:0 4px 18px rgba(7,23,46,.06) !important;
}
.navbar{height:94px !important}
.brand img{height:84px !important}
nav a,.dropbtn{
  color:#0b1f3d !important;
  font-weight:850 !important;
}
nav a:hover,.dropbtn:hover{
  color:#cf1018 !important;
  background:#fff !important;
}
nav a:first-child{
  color:#cf1018 !important;
  position:relative !important;
}
nav a:first-child::after{
  content:"" !important;
  position:absolute !important;
  left:.75rem !important;
  right:.75rem !important;
  bottom:.2rem !important;
  height:3px !important;
  background:#cf1018 !important;
}
.dropdown-menu{
  background:#fff !important;
  border-color:#e2e6eb !important;
}
.nav-cta{
  background:#cf1018 !important;
  color:#fff !important;
  border-radius:9px !important;
  box-shadow:0 6px 16px rgba(207,16,24,.16) !important;
}
.mobile-toggle{
  border-color:#c9d1dc !important;
  color:#0b1f3d !important;
}
.mobile-menu{background:#fff !important}
.mobile-menu a{color:#0b1f3d !important}

/* Hero becomes bright left panel blending into scenic artwork */
.hero-wrap{
  background:#fff !important;
  border-bottom:0 !important;
}
.hero{
  grid-template-columns:39% 61% !important;
  min-height:445px !important;
  background:#fff !important;
}
.hero-left{
  background:#fff !important;
  color:#0b1f3d !important;
  padding:2.65rem 1.1rem 1.7rem 2.4rem !important;
  z-index:4 !important;
}
.hero-left::after{
  right:-165px !important;
  width:190px !important;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.93) 40%,rgba(255,255,255,0) 100%) !important;
}
.hero-kicker{
  color:#0b1f3d !important;
  font-size:clamp(1.35rem,2vw,2rem) !important;
  margin-bottom:.1rem !important;
}
.hero h1{
  color:#0b1f3d !important;
  font-size:clamp(3rem,4.75vw,5.05rem) !important;
  margin:.12rem 0 .62rem !important;
  max-width:620px !important;
}
.hero h1 .yellow{
  color:#cf1018 !important;
  font-style:normal !important;
  position:relative !important;
}
.hero h1 .yellow::after{
  content:"" !important;
  display:block !important;
  width:72px !important;
  height:3px !important;
  background:#cf1018 !important;
  margin-top:.35rem !important;
}
.hero-sub{
  color:#10223f !important;
  font-size:1rem !important;
  font-weight:700 !important;
  margin-bottom:.9rem !important;
}
.hero-art{
  min-height:445px !important;
  background:#fff !important;
}
.hero-photo{
  object-position:center center !important;
}
.hero-art::before{
  background:linear-gradient(90deg,rgba(255,255,255,.65) 0%,rgba(255,255,255,.20) 13%,transparent 28%) !important;
}

/* Trusted-reasons row */
.hero-benefits{
  margin-top:.35rem !important;
  max-width:705px !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.benefit{
  grid-template-columns:48px 1fr !important;
  min-height:82px !important;
  border-right:1px solid #cdd4df !important;
  margin-right:.72rem !important;
  padding:.3rem .72rem .3rem 0 !important;
}
.benefit:last-child{border-right:0 !important}
.trust-icon{
  width:42px !important;
  height:42px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  color:#fff !important;
  font-size:1.2rem !important;
  font-weight:1000 !important;
}
.trust-icon.red{background:#cf1018 !important}
.trust-icon.navy{background:#0b1f3d !important}
.benefit b{
  color:#0b1f3d !important;
  font-size:.77rem !important;
  line-height:1.2 !important;
}
.benefit small{
  color:#22334f !important;
  font-size:.71rem !important;
  line-height:1.32 !important;
}

/* CTAs */
.hero-actions{
  margin-top:.72rem !important;
  gap:.72rem !important;
}
.hero-btn{
  min-height:47px !important;
  border-radius:8px !important;
  font-size:.84rem !important;
  box-shadow:none !important;
}
.hero-btn.gold{
  background:#cf1018 !important;
  color:#fff !important;
}
.hero-btn.outline{
  background:#fff !important;
  color:#0b1f3d !important;
  border:1px solid #8c9aae !important;
}

/* Remove the old curved navy/yellow treatment, tighten transition */
.hero-transition{
  height:0 !important;
  background:#fff !important;
}
.hero-transition::before{display:none !important}
.home-section{
  padding-top:0 !important;
}
.home-grid{
  margin-top:-1px !important;
  grid-template-columns:minmax(0,1fr) 470px !important;
  gap:1rem !important;
}

/* Roadmap */
.roadmap-panel{
  border-radius:12px !important;
  box-shadow:0 4px 18px rgba(7,23,46,.06) !important;
  border-color:#e0e4e9 !important;
  padding:1rem 1rem .72rem !important;
}
.panel-head{
  justify-content:center !important;
  position:relative !important;
  margin-bottom:.7rem !important;
}
.panel-head h2{
  color:#0b1f3d !important;
  font-size:clamp(1.4rem,2.25vw,2rem) !important;
  font-style:italic !important;
}
.panel-head h2::before,
.panel-head h2::after{
  content:"" !important;
  display:inline-block !important;
  width:34px !important;
  height:4px !important;
  background:#cf1018 !important;
  vertical-align:middle !important;
  margin:0 .45rem !important;
  transform:skewX(-28deg) !important;
}
.panel-head small{
  position:absolute !important;
  right:1rem !important;
  color:#34445c !important;
}
.roadmap{gap:.6rem !important}
.step{
  min-height:186px !important;
  border-width:1.5px !important;
  border-radius:10px !important;
  box-shadow:none !important;
}
.step .num{width:38px !important;height:38px !important}
.step p{font-size:.71rem !important}
.roadmap-note{
  margin:.55rem .2rem 0 !important;
  font-size:.72rem !important;
  color:#27364d !important;
}

/* Upcoming schedule overlaps slightly like reference */
.upcoming{
  border-radius:12px !important;
  box-shadow:0 7px 22px rgba(7,23,46,.12) !important;
}
.up-head{
  background:#061b3a !important;
  color:#fff !important;
  margin:-1rem -1rem .55rem !important;
  padding:.72rem .85rem !important;
  border-radius:12px 12px 0 0 !important;
}
.upcoming h3{color:#fff !important}
.small-btn{
  background:transparent !important;
  border:1px solid #8ca0bb !important;
  color:#fff !important;
}
.month-label{
  background:#061b3a !important;
  color:#fff !important;
  display:inline-block !important;
  padding:.22rem .45rem !important;
  margin:.4rem 0 .05rem !important;
  border-radius:2px !important;
}
.up-row{
  padding:.36rem 0 !important;
  grid-template-columns:88px 1fr auto !important;
  gap:.55rem !important;
}
.up-row strong{font-size:.78rem !important}
.up-row small{font-size:.72rem !important}
.pill{
  background:#ffc400 !important;
  color:#111 !important;
  font-size:.64rem !important;
}
.full-schedule{
  background:#061b3a !important;
  margin-top:.55rem !important;
}

/* Quick cards */
.quick-grid{gap:.75rem !important}
.quick{
  border-radius:10px !important;
  min-height:126px !important;
  box-shadow:0 3px 10px rgba(7,23,46,.04) !important;
}
.quick h3{font-style:italic !important}
.quick .go{width:26px !important;height:26px !important}

/* Trusted/approved card */
.why{
  border-radius:10px !important;
  box-shadow:0 3px 10px rgba(7,23,46,.04) !important;
}
.why h3{color:#0b3a7a !important}

/* Footer strip */
.brand-strip{
  background:#061b3a !important;
  border-top:3px solid #cf1018 !important;
}
.brand-strip span:last-child{color:#cf1018 !important}

/* Internal pages harmonized with new brand direction */
.page-hero{
  background:linear-gradient(135deg,#fff,#eef4fb) !important;
  color:#0b1f3d !important;
  border-bottom:4px solid #cf1018 !important;
}
.page-hero p{color:#415069 !important}
.action.gold{background:#cf1018 !important;color:#fff !important}
footer{border-top:4px solid #cf1018 !important}

@media(max-width:1120px){
  .navbar{height:82px !important}
  .brand img{height:72px !important}
  .hero{grid-template-columns:1fr !important;min-height:auto !important}
  .hero-left{padding:2rem 1rem 1.35rem !important}
  .hero-left::after{display:none !important}
  .hero-art{min-height:340px !important}
  .home-grid{grid-template-columns:1fr !important}
  .right-stack{grid-template-columns:1fr 1fr !important}
}
@media(max-width:720px){
  .hero-art{min-height:270px !important}
  .hero h1{font-size:3rem !important}
  .hero-benefits{grid-template-columns:1fr !important}
  .benefit{
    border-right:0 !important;
    border-bottom:1px solid #d5dbe3 !important;
    min-height:auto !important;
    margin-right:0 !important;
    padding:.55rem 0 !important;
  }
  .hero-actions{display:grid !important;grid-template-columns:1fr !important}
  .right-stack{grid-template-columns:1fr !important}
  .panel-head small{position:static !important}
  .panel-head{display:block !important;text-align:center !important}
  .panel-head h2::before,.panel-head h2::after{display:none !important}
}

/* legacy-base */

/* ===== v14 hero cleanup ===== */
.hero{
  grid-template-columns:40% 60% !important;
  min-height:440px !important;
}
.hero-left{
  padding:2.55rem 1.2rem 1.75rem 2.35rem !important;
}
.hero-left::after{
  right:-150px !important;
  width:175px !important;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 44%,rgba(255,255,255,0) 100%) !important;
}
.hero-art{
  min-height:440px !important;
  overflow:hidden !important;
}
.hero-photo{
  object-fit:cover !important;
  object-position:58% center !important;
}
.hero-art::before{
  background:linear-gradient(90deg,rgba(255,255,255,.58) 0%,rgba(255,255,255,.18) 11%,transparent 26%) !important;
}
.hero-kicker{
  margin-bottom:.08rem !important;
}
.hero h1{
  margin:.1rem 0 .58rem !important;
  font-size:clamp(2.9rem,4.55vw,4.85rem) !important;
  line-height:.9 !important;
}
.hero-sub{
  margin-bottom:.78rem !important;
}
.hero-benefits{
  margin-top:.26rem !important;
}
.benefit{
  min-height:76px !important;
}
.hero-actions{
  margin-top:.62rem !important;
}
@media(max-width:1120px){
  .hero{grid-template-columns:1fr !important;min-height:auto !important}
  .hero-left{padding:2rem 1rem 1.35rem !important}
  .hero-art{min-height:330px !important}
  .hero-photo{object-position:center center !important}
}
@media(max-width:720px){
  .hero-art{min-height:265px !important}
}

/* legacy-base */

/* ===== v15 corrected driver seating ===== */
.hero-art{
  min-height:440px !important;
  overflow:hidden !important;
}
.hero-photo{
  object-fit:cover !important;
  object-position:54% center !important;
}
.hero-art::before{
  background:linear-gradient(90deg,rgba(255,255,255,.54) 0%,rgba(255,255,255,.16) 10%,transparent 24%) !important;
}
@media(max-width:1120px){
  .hero-photo{object-position:center center !important}
}

/* legacy-base */

/* ===== v15 HERO CLEANUP — IMAGE UNCHANGED ===== */

/* Give the existing image and copy clearly defined areas. */
.hero-wrap{
  overflow:hidden !important;
  background:#fff !important;
}
.hero{
  grid-template-columns:41% 59% !important;
  min-height:438px !important;
  align-items:stretch !important;
  overflow:hidden !important;
}
.hero-left{
  position:relative !important;
  z-index:3 !important;
  padding:2.35rem 1.2rem 1.55rem 2.25rem !important;
  justify-content:center !important;
  overflow:visible !important;
  background:#fff !important;
}

/* Narrower blend prevents the copy panel from washing over the car. */
.hero-left::after{
  right:-72px !important;
  width:78px !important;
  background:linear-gradient(
    90deg,
    #fff 0%,
    rgba(255,255,255,.88) 48%,
    rgba(255,255,255,0) 100%
  ) !important;
}

/* Preserve the exact current hero image; only control its display box. */
.hero-art{
  position:relative !important;
  z-index:1 !important;
  min-height:438px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.hero-photo{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:54% center !important; /* same v15 positioning */
  transform:none !important;
  filter:none !important;
}
.hero-art::before{
  background:linear-gradient(
    90deg,
    rgba(255,255,255,.34) 0%,
    rgba(255,255,255,.10) 10%,
    transparent 22%
  ) !important;
}

/* Tighten typography without changing content. */
.hero-kicker{
  margin:0 0 .08rem !important;
  line-height:1 !important;
}
.hero h1{
  max-width:590px !important;
  margin:.08rem 0 .52rem !important;
  font-size:clamp(2.85rem,4.45vw,4.72rem) !important;
  line-height:.91 !important;
}
.hero-sub{
  max-width:560px !important;
  margin:0 0 .7rem !important;
  line-height:1.35 !important;
}

/* Keep the three trust points visually even and inside the copy column. */
.hero-benefits{
  width:100% !important;
  max-width:650px !important;
  margin-top:.18rem !important;
  align-items:stretch !important;
}
.benefit{
  min-width:0 !important;
  min-height:74px !important;
  margin-right:.55rem !important;
  padding:.28rem .55rem .28rem 0 !important;
  align-items:start !important;
}
.benefit:last-child{
  margin-right:0 !important;
}
.benefit b{
  line-height:1.17 !important;
}
.benefit small{
  line-height:1.27 !important;
}

/* Align CTAs and keep them from pushing into the artwork. */
.hero-actions{
  margin-top:.58rem !important;
  gap:.62rem !important;
  flex-wrap:nowrap !important;
}
.hero-btn{
  min-height:45px !important;
  padding:.7rem .82rem !important;
  white-space:nowrap !important;
}

/* Cleaner handoff into roadmap. */
.hero-transition{
  height:0 !important;
  margin:0 !important;
}
.hero-transition::before{
  display:none !important;
}
.home-section{
  padding-top:.72rem !important;
}
.home-grid{
  margin-top:0 !important;
}

/* Responsive cleanup, still using the exact same image. */
@media(max-width:1120px){
  .hero{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  .hero-left{
    padding:1.9rem 1rem 1.3rem !important;
  }
  .hero-left::after{
    display:none !important;
  }
  .hero-art{
    min-height:330px !important;
  }
  .hero-photo{
    object-position:center center !important;
  }
  .hero-actions{
    flex-wrap:wrap !important;
  }
}
@media(max-width:720px){
  .hero h1{
    font-size:2.9rem !important;
  }
  .hero-art{
    min-height:265px !important;
  }
  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .hero-btn{
    width:100% !important;
  }
}

/* home-final-polish */

/* Homepage-only polish: preserve established layout while fixing requested details. */
#home .benefit small{font-weight:400 !important;}
#home .why ul{list-style:none !important;margin:0 !important;padding:0 !important;display:grid !important;gap:.52rem !important;}
#home .why li{position:relative !important;padding-left:1.55rem !important;margin:0 !important;font-size:.86rem !important;line-height:1.45 !important;}
#home .why li::before{content:"✓" !important;position:absolute !important;left:0 !important;top:0 !important;width:1rem !important;margin:0 !important;color:var(--blue) !important;font-weight:1000 !important;text-align:left !important;}
footer .footer-bottom{display:flex !important;align-items:flex-end !important;justify-content:space-between !important;gap:1rem !important;}
.footer-cert{flex:0 0 72px;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--navy2);border:4px solid var(--gold);color:#fff;text-align:center;font-size:.62rem;line-height:1.15;font-weight:950;letter-spacing:.03em;}
@media(max-width:720px){footer .footer-bottom{align-items:center !important}.footer-cert{width:60px;height:60px;flex-basis:60px;font-size:.56rem}}


/* production-v1-2-readable-outline-buttons */
/* High-legibility outline button system. Active/toggle states remain filled so selection is unmistakable. */
:root{
  --btn-navy:#10284d;
  --btn-blue:#0d59bb;
  --btn-red:#c91f2b;
  --btn-gold:#d49400;
}

/* Shared CTA geometry */
.btn,
.action,
.program-link-btn,
.level1-side-btn,
.practice-guide-btn,
.parents-side-btn,
.parents-resource-row > a,
.full-schedule,
.contract-modern-btn,
#schedule .schedule-details-btn,
.hero-btn,
.nav-cta,
.small-btn,
a[class*="btn"],
a[class*="button"]{
  border-radius:11px !important;
  border-width:2px !important;
  border-style:solid !important;
  font-family:inherit !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  text-shadow:none !important;
  box-shadow:0 2px 0 rgba(16,40,77,.05) !important;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease !important;
}

/* Navy/blue CTAs: mostly white with a strong outline for instant readability */
.btn,
.action.blue,
.program-link-btn,
.level1-side-btn,
.practice-guide-btn,
.parents-side-btn,
.parents-resource-row > a,
.full-schedule,
.contract-modern-btn,
#schedule .schedule-details-btn,
.small-btn{
  background:#fff !important;
  color:var(--btn-navy) !important;
  border-color:var(--btn-navy) !important;
}

/* Red CTAs */
.btn.red,
.action.red,
.program-link-btn.red,
.nav-cta{
  background:#fff !important;
  color:var(--btn-red) !important;
  border-color:var(--btn-red) !important;
}

/* Gold CTAs */
.action.gold,
.btn.gold,
.hero-btn.gold{
  background:#fffdf5 !important;
  color:#7b5600 !important;
  border-color:var(--btn-gold) !important;
}

/* Hero outline buttons stay readable on dark hero backgrounds */
.hero-btn.outline{
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.92) !important;
}

/* Header CTA reads as a crisp outlined action instead of a solid block */
.nav-cta{
  padding:.72rem 1rem !important;
  margin-left:.7rem;
  background:rgba(255,255,255,.97) !important;
}

/* Calendar filters/views: clear outline by default; filled only when selected */
.filter,.view{
  min-height:42px;
  border:2px solid #c6d2e2 !important;
  background:#fff !important;
  color:var(--btn-navy) !important;
  border-radius:10px !important;
  padding:.56rem .82rem !important;
  font-weight:900 !important;
  box-shadow:none !important;
}
.filter:hover,.view:hover{
  border-color:var(--btn-blue) !important;
  background:#f6f9ff !important;
  color:var(--btn-blue) !important;
}
.filter.active,.view.active{
  background:var(--btn-navy) !important;
  color:#fff !important;
  border-color:var(--btn-navy) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16) !important;
}
.refresh-schedule-btn{
  background:#fff !important;
  color:var(--btn-blue) !important;
  border-color:var(--btn-blue) !important;
}

/* Course/date selector rows become outlined cards rather than filled buttons */
.course-date-row{
  background:#fff !important;
  border:2px solid #d7e0eb !important;
  border-radius:10px !important;
  box-shadow:none !important;
}
.course-date-row:hover{
  border-color:var(--btn-blue) !important;
  background:#f7faff !important;
}

/* Study-guide label follows the same high-contrast system */
.study-link-label{
  background:#fff !important;
  color:var(--btn-navy) !important;
  border:2px solid var(--btn-navy) !important;
  border-radius:10px !important;
}

/* Strong but restrained hover/focus feedback */
.btn:hover,
.action:hover,
.program-link-btn:hover,
.level1-side-btn:hover,
.practice-guide-btn:hover,
.parents-side-btn:hover,
.parents-resource-row > a:hover,
.full-schedule:hover,
.contract-modern-btn:hover,
#schedule .schedule-details-btn:hover,
.small-btn:hover,
.nav-cta:hover,
a[class*="btn"]:hover,
a[class*="button"]:hover{
  background:#f3f7fc !important;
  color:var(--btn-blue) !important;
  border-color:var(--btn-blue) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 4px 10px rgba(16,40,77,.10) !important;
  filter:none !important;
}
.btn.red:hover,
.action.red:hover,
.program-link-btn.red:hover,
.nav-cta:hover{
  background:#fff7f8 !important;
  color:#a91520 !important;
  border-color:#a91520 !important;
}
.action.gold:hover,
.btn.gold:hover,
.hero-btn.gold:hover{
  background:#fff8df !important;
  color:#684900 !important;
  border-color:#b97e00 !important;
}
.hero-btn.outline:hover{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:#fff !important;
}

/* Keyboard focus */
button:focus-visible,
a:focus-visible,
.btn:focus-visible,
.action:focus-visible,
.program-link-btn:focus-visible,
.level1-side-btn:focus-visible,
.practice-guide-btn:focus-visible,
.parents-side-btn:focus-visible,
.contract-modern-btn:focus-visible,
#schedule .schedule-details-btn:focus-visible{
  outline:3px solid rgba(13,89,187,.28) !important;
  outline-offset:3px !important;
}

/* Mobile tap targets */
@media(max-width:720px){
  .btn,.action,.program-link-btn,.level1-side-btn,.practice-guide-btn,.parents-side-btn,
  .contract-modern-btn,#schedule .schedule-details-btn,.filter,.view,.nav-cta,.hero-btn{
    min-height:46px !important;
  }
}


/* =========================================================
   Production v1.3 — High-legibility outlined button system
   ========================================================= */
:root{
  --pd-btn-navy:#10284d;
  --pd-btn-blue:#0d59bb;
  --pd-btn-red:#c91f2b;
  --pd-btn-green:#1f7a3e;
  --pd-btn-gold:#b77a00;
}

/* Shared outline treatment for actual site actions */
.btn,
.action,
.program-link-btn,
.level1-side-btn,
.practice-guide-btn,
.parents-side-btn,
.parents-resource-row > a,
.parents-roadmap-box > a,
.full-schedule,
.contract-modern-btn,
#schedule .schedule-details-btn,
.refresh-schedule-btn,
.hero-btn,
.nav-cta,
.course-date-row{
  -webkit-appearance:none !important;
  appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.45rem !important;
  min-height:44px !important;
  padding:.72rem 1rem !important;
  border:2px solid var(--pd-btn-navy) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:var(--pd-btn-navy) !important;
  font-weight:900 !important;
  font-size:.82rem !important;
  line-height:1.15 !important;
  letter-spacing:.015em !important;
  text-decoration:none !important;
  box-shadow:0 2px 7px rgba(16,40,77,.08) !important;
  cursor:pointer !important;
  transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease !important;
}

/* Blue actions */
.btn,
.action.blue,
.program-link-btn,
.level1-side-btn,
.practice-guide-btn,
.parents-side-btn,
.parents-resource-row > a,
.parents-roadmap-box > a,
.full-schedule,
.contract-modern-btn,
#schedule .schedule-details-btn,
.refresh-schedule-btn,
.course-date-row{
  border-color:var(--pd-btn-blue) !important;
  color:var(--pd-btn-blue) !important;
  background:#fff !important;
}

/* Red actions */
.btn.red,
.action.red,
.program-link-btn.red,
.nav-cta{
  border-color:var(--pd-btn-red) !important;
  color:#a91520 !important;
  background:#fff !important;
}

/* Gold actions */
.btn.gold,
.action.gold,
.hero-btn.gold{
  border-color:var(--pd-btn-gold) !important;
  color:#715000 !important;
  background:#fffdf5 !important;
}

/* Hero outline buttons remain legible on dark/photographic backgrounds */
.hero-btn.outline{
  border-color:#fff !important;
  color:#fff !important;
  background:rgba(16,40,77,.26) !important;
  box-shadow:0 2px 8px rgba(0,0,0,.16) !important;
}

/* Calendar controls: outline by default, fill only the active selection */
#schedule .filter,
#schedule .view{
  min-height:42px !important;
  padding:.64rem .9rem !important;
  border:2px solid #c9d4e3 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:var(--pd-btn-navy) !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  box-shadow:none !important;
}
#schedule .filter:hover,
#schedule .view:hover{
  border-color:var(--pd-btn-blue) !important;
  color:var(--pd-btn-blue) !important;
  background:#f7faff !important;
}
#schedule .filter.active,
#schedule .view.active{
  border-color:var(--pd-btn-navy) !important;
  background:var(--pd-btn-navy) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 2px 6px rgba(16,40,77,.14) !important;
}

/* Segment filters preserve quick visual recognition without heavy fills */
#schedule .filter[data-filter="seg1"]{border-color:#7fb3f5 !important;color:#0759bf !important}
#schedule .filter[data-filter="seg2"]{border-color:#79bd8b !important;color:#176c34 !important}
#schedule .filter[data-filter="seg1"].active,
#schedule .filter[data-filter="seg2"].active,
#schedule .filter.active{
  border-color:var(--pd-btn-navy) !important;
  color:#fff !important;
}

/* Schedule refresh is intentionally distinct */
#schedule .refresh-schedule-btn{
  border-color:var(--pd-btn-blue) !important;
  color:var(--pd-btn-blue) !important;
  background:#fff !important;
}

/* Strong hover without turning controls into solid blocks */
.btn:hover,
.action:hover,
.program-link-btn:hover,
.level1-side-btn:hover,
.practice-guide-btn:hover,
.parents-side-btn:hover,
.parents-resource-row > a:hover,
.parents-roadmap-box > a:hover,
.full-schedule:hover,
.contract-modern-btn:hover,
#schedule .schedule-details-btn:hover,
.refresh-schedule-btn:hover,
.course-date-row:hover{
  background:#f3f8ff !important;
  color:#084a9c !important;
  border-color:#084a9c !important;
  box-shadow:0 5px 12px rgba(16,40,77,.12) !important;
  transform:translateY(-1px) !important;
}
.btn.red:hover,
.action.red:hover,
.program-link-btn.red:hover,
.nav-cta:hover{
  background:#fff5f6 !important;
  color:#99131c !important;
  border-color:#99131c !important;
}
.btn.gold:hover,
.action.gold:hover,
.hero-btn.gold:hover{
  background:#fff8df !important;
  color:#624500 !important;
  border-color:#9d6900 !important;
}
.hero-btn.outline:hover{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:#fff !important;
}

/* Navigation CTA gets extra shape while staying outlined */
.nav-cta{
  border-radius:999px !important;
  padding:.7rem 1.15rem !important;
}

/* Focus accessibility */
.btn:focus-visible,
.action:focus-visible,
.program-link-btn:focus-visible,
.level1-side-btn:focus-visible,
.practice-guide-btn:focus-visible,
.parents-side-btn:focus-visible,
.parents-resource-row > a:focus-visible,
.parents-roadmap-box > a:focus-visible,
.full-schedule:focus-visible,
.contract-modern-btn:focus-visible,
#schedule .schedule-details-btn:focus-visible,
.refresh-schedule-btn:focus-visible,
.hero-btn:focus-visible,
.nav-cta:focus-visible,
.course-date-row:focus-visible,
#schedule .filter:focus-visible,
#schedule .view:focus-visible{
  outline:3px solid rgba(13,89,187,.27) !important;
  outline-offset:3px !important;
}

/* Logo treatment: use transparent asset with no container fill */
.brand,
.footer-logo{
  background:transparent !important;
}
.brand img,
.footer-logo img{
  background:transparent !important;
  mix-blend-mode:normal !important;
}

@media(max-width:720px){
  .btn,.action,.program-link-btn,.level1-side-btn,.practice-guide-btn,.parents-side-btn,
  .parents-roadmap-box > a,.contract-modern-btn,#schedule .schedule-details-btn,
  .refresh-schedule-btn,#schedule .filter,#schedule .view,.nav-cta,.hero-btn,.course-date-row{
    min-height:46px !important;
  }
}




/* ===== v1.8.1 month-view session start/end markers ===== */
.schedule-date-key{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem 1.25rem;
  align-items:center;
  justify-content:center;
  padding:.8rem 1rem;
  border-bottom:1px solid #e2e8f0;
  background:#f8fafc;
  font-size:.9rem;
  font-weight:700;
  color:#334155;
}
.date-key-item{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
}
.date-key-circle{
  width:22px;
  height:22px;
  border-radius:50%;
  display:inline-block;
  background:#fff;
  box-sizing:border-box;
}
.date-key-circle.seg1-start,.calendar-date.seg1-start{border:3px solid #218739;}
.date-key-circle.seg1-end,.calendar-date.seg1-end{border:3px solid #c62828;}
.date-key-circle.seg2-start,.calendar-date.seg2-start{border:3px solid #d8a700;}
.date-key-circle.seg2-end,.calendar-date.seg2-end{border:3px solid #1769aa;}
.calendar-date{
  display:inline-flex;
  width:29px;
  height:29px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  box-sizing:border-box;
  line-height:1;
}
/* If two course markers share a date, retain a visible secondary ring. */
.calendar-date.seg1-start.seg2-start{border-color:#218739;box-shadow:0 0 0 3px #fff,0 0 0 6px #d8a700;margin:3px;}
.calendar-date.seg1-end.seg2-end{border-color:#c62828;box-shadow:0 0 0 3px #fff,0 0 0 6px #1769aa;margin:3px;}

.day.muted .calendar-date{opacity:.48;}
@media(max-width:620px){
  .schedule-date-key{justify-content:flex-start;font-size:.82rem;}
  .calendar-date{width:25px;height:25px;}
}


/* ===== v1.8 UX / conversion / accessibility / cleanup ===== */
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;background:#fff;color:#10284d;padding:.75rem 1rem;border:2px solid #0d59bb;border-radius:8px;font-weight:900;transition:top .15s}.skip-link:focus{top:1rem}
/* Preserve approved desktop composition: copy left, artwork right. */
@media(min-width:1121px){#home .hero-left{order:1!important}#home .hero-art{order:2!important}}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.15rem}.hero-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.72rem 1.05rem;border-radius:10px;font-weight:900;text-decoration:none}.hero-primary{background:#10284d;color:#fff;border:2px solid #10284d}.hero-secondary{background:#fff;color:#10284d;border:2px solid #c8d4e3}.hero-primary:hover{background:#0d59bb;border-color:#0d59bb}.hero-secondary:hover{border-color:#0d59bb;color:#0d59bb}
.path-selector{background:#fff;padding:2.15rem 0 1.65rem}.path-selector-head{text-align:center;max-width:760px;margin:0 auto 1rem}.path-selector-head>span,.next-action-kicker{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#b21823}.path-selector-head h2{margin:.25rem 0 .35rem;color:#10284d}.path-selector-head p{margin:0;color:#556477}.path-selector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}.path-choice{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;text-align:left;border:1px solid #dbe3ee;border-radius:14px;background:#fff;padding:1rem;cursor:pointer;box-shadow:0 6px 18px rgba(16,40,77,.06)}.path-choice:hover,.path-choice:focus-visible{border-color:#0d59bb;box-shadow:0 8px 24px rgba(16,40,77,.12);transform:translateY(-1px)}.path-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eef5ff;color:#0d59bb;font-weight:900}.path-choice strong,.path-choice small{display:block}.path-choice strong{color:#10284d}.path-choice small{margin-top:.15rem;color:#66758a}
.step[role="link"]:focus-visible,.quick[role="link"]:focus-visible,.path-choice:focus-visible,.contact-reasons button:focus-visible,details summary:focus-visible{outline:3px solid rgba(13,89,187,.27);outline-offset:3px}
.next-action-strip{margin-top:1.25rem;margin-bottom:2rem;padding:1.3rem 1.45rem;border:1px solid #d7e1ee;border-left:5px solid #0d59bb;border-radius:14px;background:#f8fbff;display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.next-action-strip h2{margin:.15rem 0;color:#10284d}.next-action-strip p{margin:0;color:#536376}.next-action-buttons{display:flex;flex-wrap:wrap;gap:.65rem}.next-action-buttons a,.schedule-after a,.faq-cta a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem .9rem;border:2px solid #0d59bb;border-radius:9px;background:#fff;color:#0d59bb;text-decoration:none;font-weight:900}.next-action-buttons a:first-child,.faq-cta a{background:#10284d;color:#fff;border-color:#10284d}
.schedule-enroll-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:.9rem}.schedule-enroll-flow>div{display:grid;grid-template-columns:auto 1fr;column-gap:.7rem;align-items:start;padding:.9rem;border:1px solid #dbe3ed;border-radius:12px;background:#fff}.schedule-enroll-flow span{grid-row:1/3;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#10284d;color:#fff;font-weight:900}.schedule-enroll-flow strong,.schedule-enroll-flow small{grid-column:2}.schedule-enroll-flow strong{color:#10284d}.schedule-enroll-flow small{color:#66758a;margin-top:.12rem}.schedule-load-status{min-height:1px}.schedule-error,.schedule-empty{margin:1rem;padding:1rem;border-radius:10px;background:#fff7f7;border:1px solid #efc8c8;color:#7d2027}.schedule-empty a,.schedule-error a{font-weight:900;color:#0d59bb}.status-chip{display:inline-flex;align-items:center;width:max-content;padding:.25rem .55rem;border-radius:999px;font-size:.72rem;font-weight:900;line-height:1.2;border:1px solid #cbd5e1;background:#f8fafc;color:#475569}.status-open{border-color:#9bc9a5;background:#eff9f1;color:#1f6d32}.status-limited-seats{border-color:#e7c168;background:#fff8df;color:#73520a}.status-full,.status-registration-closed{border-color:#e2a8ad;background:#fff1f2;color:#8a1f29}.status-check-availability{border-color:#a9bdd9;background:#f3f7fc;color:#274b75}.schedule-session-copy .status-chip{margin-top:.45rem}.year-session-item .status-chip{margin-top:.35rem}.event-status{font-size:.62rem;font-weight:900;margin-top:.18rem;opacity:.92}.schedule-after{margin-top:1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.15rem;border-radius:12px;background:#f7f9fc;border:1px solid #dbe3ed}.schedule-after h2{margin:0 0 .2rem;color:#10284d}.schedule-after p{margin:0;color:#617085}.schedule-after>div:last-child{display:flex;gap:.55rem;flex-wrap:wrap}
.faq-layout{max-width:900px}.faq-layout details{border:1px solid #dbe3ed;border-radius:12px;background:#fff;margin:.65rem 0;overflow:hidden}.faq-layout summary{cursor:pointer;list-style:none;padding:1rem 3rem 1rem 1rem;font-weight:900;color:#10284d;position:relative}.faq-layout summary::-webkit-details-marker{display:none}.faq-layout summary:after{content:'+';position:absolute;right:1rem;top:.72rem;font-size:1.4rem;color:#0d59bb}.faq-layout details[open] summary:after{content:'–'}.faq-layout details p{padding:0 1rem 1rem;margin:0;color:#526174;line-height:1.65}.faq-cta{margin-top:1.1rem;padding:1.1rem 1.2rem;border-radius:12px;background:#f8fbff;border:1px solid #d9e5f2;display:flex;align-items:center;justify-content:space-between;gap:1rem}.faq-cta h2{margin:0 0 .2rem;color:#10284d}.faq-cta p{margin:0;color:#617085}
.contact-reasons{display:grid;gap:.55rem;margin:1rem 0}.contact-reasons button{display:block;text-align:left;padding:.75rem .85rem;border:1px solid #dbe3ed;border-radius:10px;background:#fff;cursor:pointer}.contact-reasons button:hover{border-color:#0d59bb;background:#f7faff}.contact-reasons strong,.contact-reasons span{display:block}.contact-reasons strong{color:#10284d}.contact-reasons span{color:#64748b;font-size:.85rem;margin-top:.12rem}.form-help{font-size:.86rem;color:#64748b}.contact-grid label>span{font-weight:600;color:#627085}.contact-status.success{padding:.7rem;border-radius:8px;background:#eff9f1;color:#1f6d32}.contact-status.error{padding:.7rem;border-radius:8px;background:#fff1f2;color:#8a1f29}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(13,89,187,.23);outline-offset:1px;border-color:#0d59bb!important}.field-error{border-color:#b21823!important;background:#fff8f8!important}
.mobile-action-bar{display:none}
@media(max-width:900px){.path-selector-grid,.schedule-enroll-flow{grid-template-columns:1fr}.next-action-strip,.schedule-after,.faq-cta{align-items:flex-start;flex-direction:column}.next-action-buttons,.schedule-after>div:last-child{width:100%}.next-action-buttons a,.schedule-after a{flex:1}.hero-actions a{flex:1 1 190px}}
@media(max-width:720px){body{padding-bottom:68px}.mobile-action-bar{position:fixed;display:grid;grid-template-columns:1fr 1fr;left:0;right:0;bottom:0;z-index:1200;background:#fff;border-top:1px solid #d8e1ec;padding:.55rem .7rem calc(.55rem + env(safe-area-inset-bottom));gap:.55rem;box-shadow:0 -4px 18px rgba(16,40,77,.12)}.mobile-action-bar a{display:flex;align-items:center;justify-content:center;min-height:44px;border:2px solid #10284d;border-radius:9px;text-decoration:none;font-weight:900;color:#10284d}.mobile-action-bar a:first-child{background:#10284d;color:#fff}.path-selector{padding-top:1.5rem}.hero-actions{margin-top:.9rem}.schedule-enroll-flow>div{padding:.75rem}.next-action-strip{margin-left:.8rem;margin-right:.8rem}.schedule-after a{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.dropdown.open .dropdown-menu{display:block}


/* ===== v1.8.2 Month View class-entry legibility =====
   Match the site's high-legibility outlined button system while keeping
   course colors distinct. "" is intentionally omitted
   from Month View by site.js. */
#schedule .month-grid .event{
  -webkit-appearance:none;
  appearance:none;
  display:flex;
  width:100%;
  min-height:40px;
  margin:.38rem 0 0;
  padding:.48rem .52rem;
  align-items:flex-start;
  justify-content:center;
  flex-direction:column;
  gap:.15rem;
  border:2px solid var(--pd-btn-blue);
  border-radius:10px;
  background:#fff;
  color:var(--pd-btn-blue);
  box-shadow:0 2px 7px rgba(16,40,77,.08);
  font-size:.76rem;
  font-weight:900;
  line-height:1.18;
  letter-spacing:.005em;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
#schedule .month-grid .event.seg1{
  border-color:var(--pd-btn-blue);
  color:var(--pd-btn-blue);
  background:#fff;
}
#schedule .month-grid .event.seg2{
  border-color:var(--pd-btn-gold);
  color:#715000;
  background:#fffdf5;
}
#schedule .month-grid .event.roadtest{
  border-color:var(--pd-btn-red);
  color:#a91520;
  background:#fff;
}
#schedule .month-grid .event-title{
  display:block;
  width:100%;
  font-size:.78rem;
  font-weight:900;
  line-height:1.2;
}
#schedule .month-grid .event-status{
  display:block;
  width:100%;
  margin:0;
  font-size:.65rem;
  font-weight:800;
  line-height:1.15;
  opacity:.82;
}
@media (hover:hover) and (pointer:fine){
  #schedule .month-grid .event:hover{
    background:#f5f9ff;
    box-shadow:0 4px 12px rgba(16,40,77,.13);
    transform:translateY(-1px);
  }
  #schedule .month-grid .event.seg2:hover{background:#fff8e5;}
  #schedule .month-grid .event.roadtest:hover{background:#fff7f7;}
}
#schedule .month-grid .event:focus-visible{
  outline:3px solid rgba(13,89,187,.27);
  outline-offset:2px;
}
@media(max-width:760px){
  #schedule .month-grid .event{
    min-height:36px;
    padding:.42rem .4rem;
    font-size:.7rem;
  }
  #schedule .month-grid .event-title{font-size:.71rem;}
  #schedule .month-grid .event-status{font-size:.61rem;}
}


/* ===== v1.8.4 Native Session Details ===== */
.session-dialog-backdrop[hidden]{display:none}
.session-dialog-backdrop{
  position:fixed;inset:0;background:rgba(11,26,48,.55);z-index:9998;
}
.session-dialog{
  width:min(680px,calc(100% - 2rem));
  max-height:calc(100% - 2rem);
  margin:auto;padding:0;border:0;border-radius:18px;background:#fff;color:inherit;
  box-shadow:0 20px 60px rgba(11,26,48,.28);z-index:9999;
}
.session-dialog::backdrop{background:rgba(11,26,48,.55)}
.session-dialog-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding:1.25rem 1.25rem 1rem;border-bottom:1px solid rgba(16,40,77,.12);
}
.session-dialog-head h2{margin:.1rem 0 0}
.session-dialog-close{
  width:44px;height:44px;border:2px solid var(--pd-btn-blue);border-radius:10px;
  background:#fff;color:var(--pd-btn-blue);font-size:1.5rem;font-weight:900;line-height:1;cursor:pointer;
}
.session-dialog-body{padding:1.25rem}
.session-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.session-detail-grid>div{
  padding:.85rem;border:1px solid rgba(16,40,77,.14);border-radius:12px;background:#f8fafc;
}
.session-detail-label{
  display:block;margin-bottom:.25rem;color:#5d6b7d;font-size:.72rem;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;
}
.session-dialog-copy{margin-top:1rem;padding:1rem;border-radius:12px;background:#f8fafc;line-height:1.55}
.session-dialog-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.1rem}
@media(max-width:600px){
  .session-detail-grid{grid-template-columns:1fr}
  .session-dialog-head,.session-dialog-body{padding:1rem}
  .session-dialog-actions .btn{width:100%;justify-content:center}
}


/* ===== v1.8.7 Road Test Study Guide book link ===== */
.roadtest-study-book{
  display:inline-flex;
  align-items:center;
  gap:1rem;
  width:min(100%,430px);
  padding:1rem 1.1rem;
  border:2px solid var(--pd-btn-blue);
  border-radius:16px;
  background:#fff;
  color:var(--pd-btn-blue);
  text-decoration:none;
  box-shadow:0 6px 18px rgba(16,40,77,.10);
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.roadtest-study-book-art{
  position:relative;
  display:flex;
  flex:0 0 auto;
  width:74px;
  height:92px;
  border-radius:7px 10px 10px 7px;
  background:var(--pd-btn-blue);
  box-shadow:0 5px 12px rgba(16,40,77,.18);
  overflow:hidden;
}
.roadtest-study-book-spine{
  width:12px;
  height:100%;
  background:rgba(0,0,0,.14);
  border-right:1px solid rgba(255,255,255,.22);
}
.roadtest-study-book-cover{
  display:flex;
  flex:1;
  flex-direction:column;
  justify-content:center;
  padding:.55rem .5rem;
  color:#fff;
}
.roadtest-study-book-kicker{
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.86;
}
.roadtest-study-book-cover strong{
  margin-top:.18rem;
  font-size:.92rem;
  line-height:1.05;
}
.roadtest-study-book-lines{
  display:block;
  width:70%;
  height:2px;
  margin-top:.5rem;
  background:rgba(255,255,255,.7);
  box-shadow:0 6px 0 rgba(255,255,255,.42);
}
.roadtest-study-book-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:.18rem;
}
.roadtest-study-book-copy strong{
  font-size:1.02rem;
  line-height:1.2;
}
.roadtest-study-book-copy span{
  font-size:.82rem;
  font-weight:800;
  color:#5a6d84;
}
@media (hover:hover) and (pointer:fine){
  .roadtest-study-book:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(16,40,77,.16);
    background:#f7fbff;
  }
}
.roadtest-study-book:focus-visible{
  outline:3px solid rgba(13,89,187,.28);
  outline-offset:3px;
}
@media(max-width:520px){
  .roadtest-study-book{
    width:100%;
    gap:.85rem;
    padding:.9rem;
  }
  .roadtest-study-book-art{
    width:64px;
    height:80px;
  }
}


/* ===== v1.8.9 Contact FAQ prompt ===== */
.contact-faq-prompt{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.45rem;
  margin:0 0 1.25rem;
  padding:1rem 1.1rem;
  border:1px solid rgba(16,40,77,.14);
  border-radius:14px;
  background:#f8fafc;
}
.contact-faq-prompt strong{font-size:1.05rem;line-height:1.25}
.contact-faq-prompt span{color:#5d6b7d;line-height:1.45}
.contact-faq-prompt .btn{margin-top:.25rem}


/* ===== v1.8.11 Segment 1 Important Note banner ===== */
.segment1-important-banner{
  width:100%;
  margin:0 0 1rem;
  border:2px solid #d8a700;
  border-radius:14px;
  background:#fff9df;
  box-shadow:0 4px 14px rgba(16,40,77,.07);
}
.segment1-important-banner .segment1-note-body{padding:1rem 1.15rem}
.segment1-important-banner .segment1-note-body p:last-child{margin-bottom:0}


/* ===== v1.8.13 Your Next Step buttons ===== */
.next-action-strip .next-action-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:center;
}
.next-action-strip .next-step-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:.82rem 1.15rem;
  border:2px solid var(--pd-btn-blue);
  border-radius:10px;
  font-size:.98rem;
  font-weight:800;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  letter-spacing:.01em;
  box-shadow:0 3px 10px rgba(16,40,77,.10);
}
.next-action-strip .next-step-btn.primary{
  background:var(--pd-btn-blue);
  color:#fff;
}
.next-action-strip .next-step-btn.secondary{
  background:#fff;
  color:var(--pd-btn-blue);
}
@media (hover:hover) and (pointer:fine){
  .next-action-strip .next-step-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 6px 14px rgba(16,40,77,.14);
  }
}
.next-action-strip .next-step-btn:focus-visible{
  outline:3px solid rgba(13,89,187,.25);
  outline-offset:3px;
}
@media(max-width:600px){
  .next-action-strip .next-action-buttons{width:100%}
  .next-action-strip .next-step-btn{
    width:100%;
    min-height:50px;
    padding:.9rem 1rem;
  }
}

/* ===== v1.8.14 Contact Info actions ===== */
.contact-directions-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.82rem 1.15rem;font-weight:800;text-decoration:none}
.contact-faq-prompt{margin-top:1rem}
@media(max-width:600px){.contact-directions-btn{width:100%}}


/* ===== v1.8.18 Transparent logo + Michigan roadmap graphic ===== */
.brand img{
  object-fit:contain;
}
.footer-logo img{
  object-fit:contain;
}
.roadmap-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.roadmap-panel-copy{
  min-width:0;
}
.michigan-roadmap-mark{
  width:94px;
  height:auto;
  flex:0 0 auto;
  object-fit:contain;
  filter:drop-shadow(0 4px 8px rgba(6,21,43,.13));
}
@media(max-width:720px){
  .roadmap-panel-head{
    align-items:flex-start;
  }
  .michigan-roadmap-mark{
    width:72px;
  }
}
@media(max-width:460px){
  .michigan-roadmap-mark{
    width:58px;
  }
}


/* ===== v1.8.19 Home page refinement ===== */
#home .hero{
  grid-template-columns:42% 58% !important;
  min-height:405px !important;
}
#home .hero-left{
  padding-top:2.3rem !important;
  padding-bottom:1.4rem !important;
}
#home .hero-art{
  min-height:405px !important;
}
#home .hero-photo{
  object-position:center center !important;
}
#home .roadmap-panel-head{
  display:block !important;
}
@media(max-width:1120px){
  #home .hero{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  #home .hero-art{min-height:315px !important}
}
@media(max-width:720px){
  #home .hero-art{min-height:250px !important}
}

/* ===== v1.8.20 Segment 1 + Road Test refinements ===== */
#segment1 .segment1-important-wrap{margin-bottom:1rem}
#segment1 .segment1-important-wide-box{width:100%;margin:0;border:1px solid rgba(16,40,77,.16);border-radius:16px;background:#fff9df;box-shadow:0 5px 16px rgba(16,40,77,.08);overflow:hidden}
#segment1 .segment1-important-wide-box .segment1-note-head{border-radius:0}
#segment1 .segment1-important-wide-box .segment1-note-body{padding:1rem 1.15rem 1.1rem}
#roadtest .roadtest-ready-box{margin-top:1.35rem;margin-bottom:.25rem}

/* ===== v1.8.21 Class Schedule cleanup ===== */
#schedule .content > .wrap{max-width:1180px}
#schedule .tools{margin-top:0}
#schedule .schedule-after{margin-top:1.25rem}
#schedule .schedule-after p{max-width:760px}
#schedule .schedule-details-btn{font-family:inherit;cursor:pointer}
@media(max-width:720px){#schedule .schedule-after{gap:1rem}}


/* ===== v1.8.22 Segment 2 layout cleanup ===== */
#segment2 .segment2-important-wrap{
  margin-bottom:1rem;
}
#segment2 .segment2-important-wide-box{
  width:100%;
  margin:0;
  border:1px solid rgba(16,40,77,.16);
  border-radius:16px;
  background:#fff9df;
  box-shadow:0 5px 16px rgba(16,40,77,.08);
  overflow:hidden;
}
#segment2 .segment2-important-wide-box .segment2-note-head,
#segment2 .segment2-important-wide-box .program-card-head{
  border-radius:0;
}
#segment2 .segment2-important-wide-box .segment2-note-body,
#segment2 .segment2-important-wide-box .program-card-body{
  padding:1rem 1.15rem 1.1rem;
}


/* ===== v1.8.24 Class Schedule display repair ===== */
#schedule .content{
  padding-top:1.35rem;
}
#schedule .tools{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:1rem;
}
#schedule .calendar{
  min-width:0;
}
#schedule .schedule-course-list{
  width:100%;
}
#schedule .schedule-session-card{
  width:100%;
  box-sizing:border-box;
}
#schedule .schedule-details-btn{
  appearance:none;
  -webkit-appearance:none;
  border:0;
}
@media(max-width:760px){
  #schedule .tools{
    align-items:stretch;
  }
  #schedule .filters,
  #schedule .views{
    width:100%;
  }
}


/* ===== v1.8.25 Road Test structural repair ===== */
#roadtest .roadtest-sidebar{
  align-self:start;
}
#roadtest .price-card{
  display:block;
}
