/* Approved seven-card design: four across and three centered below. */
#upcomingGrid.asi-course-grid,#courseGrid.asi-course-grid{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:stretch!important;gap:20px!important;}
.asi-course-grid .asi-course-card{box-sizing:border-box;flex:0 0 calc((100% - 60px)/4);min-width:0;display:flex;flex-direction:column;border:1px solid #bdcde0;border-top:4px solid #526e96;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 9px 18px rgba(25,53,84,.13);color:#112c48;transition:box-shadow .2s ease,transform .2s ease;}
.asi-course-grid .asi-course-card:hover{transform:translateY(-3px);box-shadow:0 13px 25px rgba(25,53,84,.2);}
.asi-course-grid .asi-course-card--ce{border-top-color:#9a7d39;}
.asi-course-photo{position:relative;height:110px;flex-shrink:0;overflow:hidden;}
.asi-course-photo img{display:block;width:100%!important;height:100%!important;object-fit:cover;object-position:center;transition:transform .35s ease;}
.asi-course-card:hover .asi-course-photo img{transform:scale(1.045);}
.asi-course-duration{position:absolute;right:12px;top:12px;border:1px solid #c9d4e2;border-radius:18px;padding:7px 10px;background:rgba(255,255,255,.95);color:#3c5574;font-size:10px;line-height:1.3;font-weight:800;letter-spacing:.7px;text-transform:uppercase;}
.asi-course-content{display:flex;flex:1;flex-direction:column;padding:17px 15px 15px;}
.asi-course-kicker{font-size:10px;line-height:1.5;letter-spacing:1.2px;font-weight:800;color:#8b7136;min-height:16px;margin-bottom:8px;}
.asi-course-grid .asi-course-title{min-height:46px!important;margin:0 0 10px!important;padding:0!important;font:800 19px/1.2 "Sora",Arial,sans-serif!important;letter-spacing:-.35px!important;text-align:left!important;color:#112c48!important;}
.asi-course-title-link,.asi-course-title-button{font:inherit!important;line-height:inherit!important;color:inherit!important;letter-spacing:inherit!important;text-decoration:none!important;}
.asi-course-title-button{display:block;width:100%;text-align:left;border:0;padding:0;margin:0;background:transparent;cursor:pointer;}
.asi-course-date-label{font-size:10px;line-height:1.4;font-weight:800;letter-spacing:1.2px;color:#7188a0;margin:0 0 6px;}
.asi-course-date{font-size:13px;line-height:1.5;font-weight:750;color:#173957;min-height:42px;overflow-wrap:anywhere;margin-bottom:12px;}
.asi-course-register{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;margin-top:auto;border:1px solid #456886;border-radius:9px;padding:13px 9px;background:linear-gradient(115deg,#102e45,#244e70);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 4px 8px rgba(18,43,68,.12);color:#fff!important;text-decoration:none!important;text-align:center;font:800 13px/1.4 "Sora",Arial,sans-serif;letter-spacing:.2px;transition:background .2s ease,box-shadow .2s ease;}
.asi-course-card--ce .asi-course-register{background:linear-gradient(110deg,#3a506b,#586889);}
.asi-course-register:hover{background:linear-gradient(110deg,#1c4c70,#386b9c);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 7px 13px rgba(18,43,68,.2);}
.asi-course-register:focus-visible,.asi-course-title-button:focus-visible,.asi-course-title-link:focus-visible{outline:3px solid #bc943b;outline-offset:3px;}
.asi-course-card.is-selected{outline:2px solid #526e96;outline-offset:2px;}
@media(max-width:1050px){.asi-course-grid .asi-course-card{flex-basis:calc((100% - 20px)/2);}.asi-course-grid .asi-course-card:last-child{flex-basis:100%;max-width:none;}.asi-course-grid .asi-course-card:last-child .asi-course-photo{height:120px;}.asi-course-grid .asi-course-card:last-child .asi-course-title{min-height:0!important;}}
@media(max-width:560px){#upcomingGrid.asi-course-grid,#courseGrid.asi-course-grid{gap:18px!important;}.asi-course-grid .asi-course-card{flex-basis:100%;}.asi-course-grid .asi-course-title{min-height:0!important;font-size:20px!important;}.asi-course-photo,.asi-course-grid .asi-course-card:last-child .asi-course-photo{height:145px;}.asi-course-date{min-height:0;}.asi-course-content{padding:18px;}.asi-course-register{min-height:48px;font-size:14px;}}
@media(prefers-reduced-motion:reduce){.asi-course-grid .asi-course-card,.asi-course-photo img{transition:none;}.asi-course-grid .asi-course-card:hover,.asi-course-card:hover .asi-course-photo img{transform:none;}}

/* Full-card photography stops exactly above the registration button. */
.asi-course-scene{position:relative;isolation:isolate;display:flex;flex:1;flex-direction:column;overflow:hidden;}
.asi-course-grid .asi-course-scene .asi-course-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:-1;}
.asi-course-scene .asi-course-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.12) 28%,rgba(255,255,255,.72) 45%,rgba(255,255,255,.87) 100%);}
.asi-course-scene .asi-course-duration{z-index:1;}
.asi-course-scene .asi-course-content{position:relative;z-index:1;padding-top:127px;padding-bottom:22px;background:transparent;}
.asi-course-scene .asi-course-date{margin-bottom:0;}
.asi-course-footer{position:relative;z-index:1;padding:0 15px 15px;background:#fff;}
.asi-course-footer .asi-course-register{margin-top:0;}
@media(max-width:1050px){.asi-course-grid .asi-course-card:last-child .asi-course-photo{height:100%!important;}}
@media(max-width:560px){.asi-course-scene .asi-course-content{padding:163px 18px 22px;}.asi-course-footer{padding:0 18px 18px;}}

/* Compact cards with larger, centered course and date labels. */
.asi-course-scene .asi-course-content{padding-top:82px;padding-bottom:12px;}
.asi-course-kicker{font-size:13px;line-height:1.4;letter-spacing:.65px;text-align:center;min-height:19px;margin-bottom:6px;}
.asi-course-grid .asi-course-title{min-height:46px!important;margin-bottom:7px!important;text-align:center!important;}
.asi-course-title-button,.asi-course-title-link{width:100%;text-align:center!important;}
.asi-course-title-link{display:block;}
.asi-course-date-label{font-size:12px;line-height:1.4;letter-spacing:.7px;text-align:center;margin-bottom:5px;}
.asi-course-date{font-size:15px;line-height:1.4;font-weight:800;min-height:42px;text-align:center;}
.asi-course-grid .asi-course-card:last-child .asi-course-title{min-height:46px!important;}
@media(max-width:560px){.asi-course-scene .asi-course-content{padding:80px 16px 12px;}.asi-course-kicker{font-size:13px;}.asi-course-grid .asi-course-title{min-height:0!important;}.asi-course-grid .asi-course-card:last-child .asi-course-title{min-height:0!important;}.asi-course-date-label{font-size:12px;}.asi-course-date{font-size:15px;min-height:0;}.asi-course-footer{padding:0 16px 14px;}}

/* Consistent photo tone: compensate for each source image's brightness. */
.asi-course-card{--photo-brightness:1;}
.asi-course-card[data-key="lh"]{--photo-brightness:.967;}
.asi-course-card[data-key="pc"]{--photo-brightness:1.041;}
.asi-course-card[data-key="title"]{--photo-brightness:1.031;}
.asi-course-card[data-key="bb"]{--photo-brightness:.998;}
.asi-course-card[data-key="pa"]{--photo-brightness:1.118;}
.asi-course-card[data-key="sl"]{--photo-brightness:.855;}
.asi-course-card[data-key="ce"]{--photo-brightness:1.154;}
.asi-course-photo img{filter:brightness(var(--photo-brightness)) contrast(1.06) saturate(1.08);}
.asi-course-scene .asi-course-photo::after{background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.12) 28%,rgba(255,255,255,.42) 48%,rgba(255,255,255,.63) 100%);}
.asi-course-kicker,.asi-course-title,.asi-course-date-label,.asi-course-date{text-shadow:0 1px 3px rgba(255,255,255,.92);}
.asi-course-kicker{color:#80601e;}
.asi-course-date-label{color:#506a83;}

/* More prominent course titles with a restrained navy editorial finish. */
.asi-course-grid .asi-course-title{font-family:"Sora",Arial,sans-serif!important;font-size:clamp(22px,1.65vw,26px)!important;font-weight:800!important;line-height:1.15!important;letter-spacing:-.65px!important;min-height:60px!important;margin:0 0 8px!important;color:#0c2946!important;text-align:center!important;text-shadow:0 1px 0 rgba(255,255,255,.95),0 2px 5px rgba(255,255,255,.65);}
.asi-course-grid .asi-course-title-link,.asi-course-grid .asi-course-title-button{font:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;color:inherit!important;text-align:center!important;}
.asi-course-grid .asi-course-card:last-child .asi-course-title{min-height:60px!important;}
@media(max-width:560px){.asi-course-grid .asi-course-title,.asi-course-grid .asi-course-card:last-child .asi-course-title{font-size:25px!important;line-height:1.15!important;min-height:0!important;letter-spacing:-.6px!important;}}

/* Midpoint between the original and enlarged course-title sizes. */
.asi-course-grid .asi-course-title{font-size:clamp(20.5px,1.45vw,22.5px)!important;line-height:1.17!important;letter-spacing:-.5px!important;min-height:54px!important;}
.asi-course-grid .asi-course-card:last-child .asi-course-title{min-height:54px!important;}
@media(max-width:560px){.asi-course-grid .asi-course-title,.asi-course-grid .asi-course-card:last-child .asi-course-title{font-size:22.5px!important;line-height:1.17!important;min-height:0!important;letter-spacing:-.45px!important;}}


/* Premium lift and a single, subtle light sweep on hover. */
.asi-course-grid .asi-course-card{position:relative;transition:transform .38s cubic-bezier(.2,.75,.25,1),box-shadow .38s ease,border-color .38s ease;}
.asi-course-grid .asi-course-card::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.04) 35%,rgba(255,255,255,.52) 50%,rgba(255,255,255,.08) 63%,transparent 78%);transform:translateX(-150%);opacity:0;}
@media(hover:hover) and (pointer:fine){
 .asi-course-grid .asi-course-card:hover{transform:translateY(-7px);border-color:#8da8c5;box-shadow:0 20px 35px rgba(22,49,78,.23),0 7px 14px rgba(22,49,78,.12);}
 .asi-course-grid .asi-course-card:hover::after{animation:asi-course-shine .85s cubic-bezier(.2,.65,.35,1) both;}
}
@keyframes asi-course-shine{0%{transform:translateX(-150%);opacity:0;}15%{opacity:.7;}80%{opacity:.55;}100%{transform:translateX(150%);opacity:0;}}
@media(prefers-reduced-motion:reduce){.asi-course-grid .asi-course-card{transition:none;}.asi-course-grid .asi-course-card:hover{transform:none;}.asi-course-grid .asi-course-card:hover::after{animation:none;opacity:0;}}

/* ==========================================================================
   Layout v2 — three cards, three cards, Continuing Education across the bottom.
   Course text sits on clear glass panels so the photography shows through.
   ========================================================================== */
@media(min-width:1051px){
 #upcomingGrid.asi-course-grid,#courseGrid.asi-course-grid{gap:22px!important;}
 .asi-course-grid .asi-course-card{flex:0 0 calc((100% - 44px)/3);}
 .asi-course-grid .asi-course-card.asi-course-card--ce{flex:0 0 100%;flex-direction:row;}
}
.asi-course-grid .asi-course-scene .asi-course-photo::after{background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.12) 38%,rgba(255,255,255,.5) 62%,rgba(255,255,255,.62) 100%);}
.asi-course-grid .asi-course-scene .asi-course-content{
 margin:84px 12px 10px;padding:11px 12px 12px;flex:1;
 background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.45);border-radius:14px;
 box-shadow:0 8px 20px rgba(14,38,66,.12),inset 0 1px 0 rgba(255,255,255,.5);
 -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}
.asi-course-grid .asi-course-kicker{font-size:12.5px;line-height:1.3;letter-spacing:.6px;font-weight:800;color:#563a05;min-height:0;margin-bottom:5px;text-shadow:0 0 6px rgba(255,255,255,.95),0 0 12px rgba(255,255,255,.8),0 1px 1px rgba(255,255,255,.9);}
.asi-course-grid .asi-course-title{font-size:clamp(19px,1.5vw,23px)!important;line-height:1.15!important;letter-spacing:-.4px!important;min-height:0!important;margin:0 0 7px!important;color:#04172c!important;text-shadow:0 0 7px rgba(255,255,255,.95),0 0 14px rgba(255,255,255,.85),0 1px 1px rgba(255,255,255,.95)!important;}
.asi-course-grid .asi-course-date-label{font-size:11.5px;line-height:1.3;letter-spacing:1px;font-weight:900;color:#1f3a56;text-transform:uppercase;margin:0 0 3px;text-shadow:0 0 6px rgba(255,255,255,.95),0 0 12px rgba(255,255,255,.8),0 1px 1px rgba(255,255,255,.9);}
.asi-course-grid .asi-course-date{font-size:16.5px;line-height:1.3;font-weight:800;color:#041a33;min-height:0;margin:0;text-shadow:0 0 7px rgba(255,255,255,.95),0 0 14px rgba(255,255,255,.85),0 1px 1px rgba(255,255,255,.95);}
.asi-course-grid .asi-course-footer{padding:0 12px 12px;}
.asi-course-grid .asi-course-register{font-size:14px;min-height:42px;}
@media(min-width:1051px){
 /* Continuing Education: the photo runs the full width of the card, behind the text and the button. */
 .asi-course-grid .asi-course-card--ce{position:relative;}
 .asi-course-grid .asi-course-card--ce .asi-course-scene{position:static;justify-content:center;min-height:150px;}
 .asi-course-grid .asi-course-card--ce .asi-course-scene .asi-course-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0;}
 .asi-course-grid .asi-course-card--ce .asi-course-scene .asi-course-photo::after{background:linear-gradient(90deg,rgba(255,255,255,.4) 0%,rgba(255,255,255,.26) 38%,rgba(255,255,255,.14) 70%,rgba(255,255,255,.06) 100%);}
 .asi-course-grid .asi-course-card--ce .asi-course-scene .asi-course-content{flex:0 1 auto;width:min(500px,calc(100% - 200px));margin:14px auto 14px 22px;z-index:2;}
 .asi-course-grid .asi-course-card--ce .asi-course-footer{position:absolute;right:0;top:0;bottom:0;width:330px;display:flex;align-items:center;justify-content:center;padding:14px 26px;background:transparent;border-left:0;z-index:2;}
 .asi-course-grid .asi-course-card--ce .asi-course-scene{padding-right:330px;}
 .asi-course-grid .asi-course-card--ce .asi-course-duration{z-index:2;}
 .asi-course-grid .asi-course-card--ce .asi-course-content .asi-course-title{min-height:0!important;}
 .asi-course-grid .asi-course-card--ce .asi-course-register{width:100%;box-shadow:0 8px 18px rgba(18,43,68,.3),inset 0 1px 0 rgba(255,255,255,.2);}
}
@media(max-width:1050px){
 .asi-course-grid .asi-course-card:last-child .asi-course-scene .asi-course-content{margin-top:84px;}
}
@media(max-width:560px){
 .asi-course-grid .asi-course-scene .asi-course-content{margin:92px 12px 10px;padding:11px 12px 13px;}
 .asi-course-grid .asi-course-title,.asi-course-grid .asi-course-card:last-child .asi-course-title{font-size:22px!important;}
 .asi-course-grid .asi-course-date{font-size:17px;}
 .asi-course-grid .asi-course-footer{padding:0 12px 14px;}
}
/* Light premium + spotlight banner n3 */
.sched-month-grid{background:radial-gradient(circle at 90% 12%,rgba(201,168,76,.16),transparent 34%),radial-gradient(circle at 6% 100%,color-mix(in srgb,var(--course) 18%,transparent),transparent 42%),linear-gradient(135deg,#17445d 0%,#234f77 54%,#476484 100%)!important;gap:18px!important;padding:26px 24px!important;}
.sched-month-grid .sched-month-card{background:#fff!important;border:1px solid #c8d3e4!important;border-radius:16px!important;box-shadow:0 12px 26px rgba(16,42,67,.14)!important;min-height:0!important;overflow:hidden;}
.sched-month-grid .sched-month-card:not(:has(.sched-session + .sched-session)):hover{transform:translateY(-4px)!important;box-shadow:0 20px 36px rgba(16,42,67,.22)!important;}
.sched-month-grid .sched-month-head{background:linear-gradient(135deg,#0b1f3a 0%,#15385f 100%)!important;border-bottom:3px solid #c9a84c!important;padding:14px 16px!important;}
.sched-month-grid .sched-month-name{color:#fff!important;font-size:16px!important;letter-spacing:.16em!important;}
.sched-month-grid .sched-session-list{background:linear-gradient(180deg,#eef2f8,#f7f9fc);padding:14px!important;}
.sched-month-grid .sched-session{background:#fff!important;border:1px solid #cfd9e8!important;box-shadow:0 4px 12px rgba(16,42,67,.07)!important;}
.sched-month-grid .sched-session-date{color:#0e2440!important;font-size:18px!important;white-space:nowrap;padding-right:0!important;}
.sched-month-grid .sched-session-actions{flex-direction:column;align-items:stretch!important;gap:10px!important;margin-top:10px!important;}
.sched-month-grid .sched-session-format{align-self:flex-start;}
.sched-month-grid .sched-session-register{justify-content:center!important;margin:0!important;padding:10px 12px!important;min-height:38px;border-radius:10px;background:linear-gradient(135deg,#102d50,#15385f);color:#fff!important;text-decoration:none!important;box-shadow:0 6px 14px rgba(16,42,67,.26);}
.sched-month-grid .sched-session-register svg{color:#f0d782;}
.sched-month-grid .sched-session-register:hover{filter:brightness(1.15);transform:translateY(-1px);text-decoration:none!important;}

@media(min-width:861px){
.sched-month-grid .sched-month-card.has-next{grid-column:1/-1;display:grid;grid-template-columns:280px 1fr;align-items:stretch;overflow:hidden;background:linear-gradient(135deg,#0b1f3a 0%,#15385f 100%)!important;border:1px solid #c8d3e4!important;border-bottom:3px solid #c9a84c!important;box-shadow:0 14px 28px rgba(16,42,67,.22)!important;}
.sched-month-grid .sched-month-card.has-next .sched-month-head{background:transparent!important;border-bottom:0!important;border-right:1px solid rgba(255,255,255,.16);display:flex;align-items:center;padding:20px 26px!important;border-radius:0!important;}
.sched-month-grid .sched-month-card.has-next .sched-month-name{font-size:34px!important;letter-spacing:.06em!important;color:#e3cb85!important;text-shadow:none;}
.sched-month-grid .sched-month-card.has-next .sched-session-list{background:transparent!important;padding:20px 26px!important;display:flex;align-items:center;}
.sched-month-grid .sched-month-card.has-next .sched-session{width:100%;display:grid;grid-template-columns:1fr auto;column-gap:30px;align-items:center;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-date{grid-column:1;grid-row:1;font-size:34px!important;color:#fff!important;padding:0!important;letter-spacing:-.6px;}
.sched-month-grid .sched-month-card.has-next .sched-session-meta{grid-column:1;grid-row:2;font-size:14px!important;margin-top:8px;color:#b9c9dc!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-meta svg,.sched-month-grid .sched-month-card.has-next .sched-session-format svg{color:#e3cb85!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-format{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.2)!important;color:#e8eef7!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-actions{grid-column:2;grid-row:1/span 2;flex-direction:row;align-items:center!important;gap:14px!important;margin:0!important;width:auto;}
.sched-month-grid .sched-month-card.has-next .sched-session-register{padding:14px 26px!important;font-size:12.5px!important;min-height:46px;white-space:nowrap;background:linear-gradient(135deg,#f0dc9b,#c9a84c)!important;color:#10263f!important;box-shadow:0 8px 18px rgba(0,0,0,.3)!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-badge{top:-22px!important;left:0!important;right:auto!important;}
}
.sched-month-grid .sched-month-card.has-next::before{display:none!important;}
.sched-month-grid .sched-past-month-grid .sched-month-card{box-shadow:0 6px 14px rgba(16,42,67,.1)!important;}

/* Bigger "Next Class" badge and a bigger In-Person / Live Zoom chip in the banner */
.sched-month-grid .sched-session-badge{font-size:12px!important;font-weight:900!important;letter-spacing:.09em!important;padding:8px 15px!important;border-radius:999px!important;box-shadow:0 8px 18px rgba(0,0,0,.3)!important;}
@media(min-width:861px){
.sched-month-grid .sched-month-card.has-next .sched-session-badge{top:-30px!important;left:0!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-format{font-size:15px!important;padding:12px 20px!important;gap:10px!important;font-weight:800!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-format svg{width:20px!important;height:20px!important;}
}
.sched-month-grid .sched-month-card.has-next .sched-session{overflow:visible;}

/* Banner refinements: badge fully visible, format line under the hours, no oval, bigger Register text */
@media(min-width:861px){
.sched-month-grid .sched-month-card.has-next .sched-session-list{padding:22px 28px!important;}
.sched-month-grid .sched-month-card.has-next .sched-session{grid-template-columns:1fr auto;grid-template-rows:auto auto auto auto;align-items:center;}
.sched-month-grid .sched-month-card.has-next .sched-session-badge{position:static!important;display:inline-block!important;grid-column:1;grid-row:1;justify-self:start;margin:0 0 10px!important;top:auto!important;left:auto!important;right:auto!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-date{grid-column:1;grid-row:2;}
.sched-month-grid .sched-month-card.has-next .sched-session-meta{grid-column:1;grid-row:3;margin-top:8px!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-actions{display:contents!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-format{grid-column:1;grid-row:4;justify-self:start;background:transparent!important;border:0!important;padding:0!important;margin-top:8px!important;font-size:14px!important;font-weight:700!important;color:#b9c9dc!important;box-shadow:none!important;gap:8px!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-format svg{width:16px!important;height:16px!important;color:#e3cb85!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-register{grid-column:2;grid-row:1/span 4;align-self:center;font-size:15px!important;padding:16px 32px!important;min-height:52px;}
}

/* Badge sits in the flow (never clipped) on every screen size */
.sched-month-grid .sched-session.is-next .sched-session-badge{position:static!important;display:inline-block!important;margin:0 0 10px!important;top:auto!important;left:auto!important;right:auto!important;}
/* Narrower desktop / small laptop: keep the banner from squeezing the button */
@media(min-width:861px) and (max-width:1150px){
.sched-month-grid .sched-month-card.has-next{grid-template-columns:190px 1fr!important;}
.sched-month-grid .sched-month-card.has-next .sched-month-head{padding:18px 18px!important;}
.sched-month-grid .sched-month-card.has-next .sched-month-name{font-size:26px!important;padding-left:0!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-list{padding:20px 22px!important;}
.sched-month-grid .sched-month-card.has-next .sched-session{column-gap:16px!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-date{font-size:28px!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-register{padding:14px 22px!important;font-size:14px!important;white-space:nowrap;}
}

/* Bigger Register Now text and arrow; slightly deeper light-blue card backdrop */
.sched-month-grid .sched-session-register{font-size:12.5px!important;letter-spacing:.04em;}
.sched-month-grid .sched-session-register svg{width:16px!important;height:16px!important;}
.sched-month-grid .sched-month-card{background:#dbe3ef!important;}
.sched-month-grid .sched-session-list{background:linear-gradient(180deg,#dbe3ef,#e6ecf5)!important;}
@media(min-width:861px){
.sched-month-grid .sched-month-card.has-next .sched-session-register{font-size:15px!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-register svg{width:18px!important;height:18px!important;}
}

/* ==========================================================================
   Whole-page palette: NAVY + SLATE BLUE + GOLD.  No green, no teal, no purple.
   Design / colors only. No content, markup or SEO changes.
   ========================================================================== */
:root{--asi-navy-900:#07152a;--asi-navy-800:#0b1f3a;--asi-navy-700:#102d50;--asi-navy-600:#15385f;--asi-blue:#1d4f8a;--asi-gold:#c9a84c;--asi-gold-soft:#e3cb85;}

/* One accent for every course */
#courseDashboard,.sched-section,.sched-dates-panel{--course:#1d4f8a!important;--course2:#102d50!important;--courseSoft:#eaeff7!important;--courseShadow:rgba(11,31,58,.20)!important;}
.sched-course-choice{--accent:#1d4f8a!important;--accent2:#102d50!important;}
.sched-guide-item{--guide-accent:#1d4f8a!important;--guide-accent-2:#5c7fb0!important;--guide-tint:rgba(29,79,138,.14)!important;}

/* Page surfaces: cool neutral + faint navy, gold lines */
body{background:linear-gradient(180deg,#eef2f8 0%,#e7ecf4 100%)!important;}

.sched-eyebrow{color:#1d4f8a!important;}
.sched-eyebrow::before,.sched-eyebrow span{background:#c9a84c!important;}
.sched-index-hero .sched-index-trust-card,.sched-trust-card{background:radial-gradient(circle at 100% 0%,rgba(29,79,138,.45),transparent 40%),linear-gradient(150deg,#091a31,#102d50 75%,#15385f)!important;}
.sched-selector{background:radial-gradient(circle at 8% 0%,rgba(29,79,138,.08),transparent 34%),linear-gradient(180deg,#ffffff 0%,#f3f6fb 100%)!important;border-color:#d5dce8!important;}
.sched-selector::before{background:linear-gradient(90deg,#c9a84c,#ead477,#c9a84c)!important;}
.sched-dashboard{border-color:#d5dce8!important;}
.sched-dashboard::before{background:linear-gradient(90deg,#0b1f3a,#1d4f8a,#c9a84c)!important;}

/* Header Register button */
.asi-cta{background:linear-gradient(135deg,#0b1f3a,#15385f)!important;}

/* Course cards: navy buttons, gold kicker */
.asi-course-register{background:linear-gradient(135deg,#0b1f3a,#15385f)!important;}
.asi-course-card{border-top-color:#1d4f8a!important;}
.asi-course-grid .asi-course-card--ce{border-top-color:#c9a84c!important;}

/* Next-available panel and month section share one navy */
.sched-next{background:radial-gradient(circle at 100% 0%,rgba(29,79,138,.45),transparent 36%),linear-gradient(150deg,#091a31,#102d50 75%,#15385f)!important;}
.sched-month-grid{background:radial-gradient(circle at 100% 0%,rgba(29,79,138,.4),transparent 36%),linear-gradient(150deg,#091a31,#102d50 75%,#15385f)!important;}
.sched-month-grid .sched-month-card.has-next{background:linear-gradient(135deg,#0b1f3a 0%,#15385f 100%)!important;}
.sched-month-grid .sched-session-format{background:#eaeff7!important;border-color:#c8d3e4!important;color:#102d50!important;}
.sched-month-grid .sched-session-meta svg,.sched-month-grid .sched-session-format svg{color:#1d4f8a!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-meta svg,.sched-month-grid .sched-month-card.has-next .sched-session-format svg{color:#e3cb85!important;}
.sched-month-grid .sched-session-register{background:linear-gradient(135deg,#0b1f3a,#15385f)!important;}
.sched-month-grid .sched-month-card.has-next .sched-session-register{background:linear-gradient(135deg,#f0dc9b,#c9a84c)!important;}

/* Footer: navy, blue and gold only */
footer.asi-master-footer.asi-master-footer{--mf-teal:#7fa3d6;--mf-blue:#3f6fb0;--mf-line:rgba(206,222,242,.14);}
footer.asi-master-footer{background:radial-gradient(circle at 10% 0%,rgba(29,79,138,.25),transparent 34%),radial-gradient(circle at 88% 2%,rgba(201,168,76,.07),transparent 32%),linear-gradient(145deg,#061326 0%,#0a1c36 52%,#0b2040 100%)!important;}
footer.asi-master-footer::before{background:linear-gradient(90deg,#c9a84c,#f0dfaa,#c9a84c)!important;}
.asi-master-footer__cta{background:linear-gradient(110deg,rgba(29,79,138,.24),rgba(16,45,80,.18) 55%,rgba(201,168,76,.08))!important;}
.asi-master-footer__btn--primary{background:linear-gradient(135deg,#f0dc9b,#c9a84c)!important;border-color:rgba(240,223,170,.6)!important;color:#10263f!important;box-shadow:0 10px 24px rgba(0,0,0,.3)!important;}
.asi-master-footer__btn--primary *{color:#10263f!important;}
.asi-master-footer__section-label,.asi-master-footer__eyebrow,.asi-master-footer__contact-copy small,.asi-master-footer__bottom-center{color:#d6bd78!important;}
.asi-master-footer__link-arrow{color:#e3cb85!important;}
.asi-master-footer__contact-icon,.asi-master-footer__check{background:rgba(201,168,76,.12)!important;border-color:rgba(201,168,76,.35)!important;color:#e3cb85!important;}
.asi-master-footer__status{background:#d6bd78!important;box-shadow:0 0 0 4px rgba(214,189,120,.18)!important;}
.asi-master-footer__link{background:linear-gradient(135deg,rgba(214,226,243,.24),rgba(214,226,243,.15))!important;border-color:rgba(214,226,243,.42)!important;box-shadow:0 4px 12px rgba(0,0,0,.18)!important;}
.asi-master-footer__link:hover{background:linear-gradient(135deg,rgba(240,223,170,.30),rgba(214,226,243,.2))!important;border-color:rgba(240,223,170,.7)!important;}
body .sched-index-hero .sched-eyebrow{color:#1d4f8a!important;}
html body main.sched-page section.sched-index-hero{background:linear-gradient(135deg,#e9eff8 0%,#f5f8fc 70%,#eaeff7 100%)!important;border-color:#d5dce8!important;}
/* G1 light frosted cards, navy text */
.asi-master-footer__card{background:linear-gradient(160deg,#dfe6f1,#cdd7e6)!important;border-color:rgba(255,255,255,.7)!important;box-shadow:0 14px 30px rgba(0,0,0,.3)!important;}
.asi-master-footer__card,.asi-master-footer__card *{color:#0b1f3a!important;}
.asi-master-footer__card .asi-master-footer__section-label,.asi-master-footer__card .asi-master-footer__eyebrow,.asi-master-footer__card .asi-master-footer__contact-copy small{color:#8a6d1f!important;}
.asi-master-footer__card .asi-master-footer__brand-copy,.asi-master-footer__card .asi-master-footer__trust-intro,.asi-master-footer__card p{color:#3b4d66!important;}
.asi-master-footer__card .asi-master-footer__link{background:#fff!important;border-color:#bcc8da!important;box-shadow:0 2px 6px rgba(11,31,58,.08)!important;}
.asi-master-footer__card .asi-master-footer__link:hover{border-color:#c9a84c!important;background:#fffdf6!important;}
.asi-master-footer__card .asi-master-footer__link-arrow{color:#8a6d1f!important;}
.asi-master-footer__card .asi-master-footer__contact,.asi-master-footer__card .asi-master-footer__trust-list>*{background:#fff!important;border-color:#cfd9e8!important;}
.asi-master-footer__card .asi-master-footer__contact-icon,.asi-master-footer__card .asi-master-footer__check{background:#f4edd6!important;border-color:#d9c27a!important;color:#8a6d1f!important;}
.asi-master-footer__card small{color:#5a6b84!important;}
html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__contact-copy,html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__contact-copy *:not(small),html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__trust-list *{color:#0b1f3a!important;}
html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__contact-copy small,html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__trust-list small{color:#5a6b84!important;}
html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__contact-copy small:first-child{color:#8a6d1f!important;}
html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__check{color:#8a6d1f!important;}
html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__check,html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__check *,html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__check::before,html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__check::after{color:#7a5f14!important;border-color:#7a5f14!important;text-shadow:none!important;}
/* H1 hover */
html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__link:hover,html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__link:hover *,html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__link:focus-visible,html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__link:focus-visible *{color:#fff!important;}
/* H1d hover: navy fades to almost white, left to right */
html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__link{background-color:#fff!important;background-image:linear-gradient(90deg,#0f2a4b 0%,#15385f 31%,#f6f8fc 50%,#f6f8fc 100%)!important;background-repeat:no-repeat!important;background-size:200% 100%!important;background-position:100% 0!important;transition:background-position .6s cubic-bezier(.22,.61,.36,1),border-color .3s ease,transform .3s ease,box-shadow .3s ease!important;}
html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__link:hover,html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__link:focus-visible{background-position:0 0!important;border-color:#c9a84c!important;transform:translateY(-2px)!important;box-shadow:0 8px 18px rgba(11,31,58,.3)!important;}
html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__link:hover .asi-master-footer__link-arrow,html body footer.asi-master-footer .asi-master-footer__card .asi-master-footer__link:focus-visible .asi-master-footer__link-arrow{color:#8a6d1f!important;transform:translateX(3px);}
/* Month cards: timeline header (gold dot + fading line) */
.sched-month-grid .sched-month-card:not(.has-next){background:linear-gradient(180deg,#ffffff 0%,#e3eaf4 100%)!important;}
.sched-month-grid .sched-month-card:not(.has-next) .sched-month-head{display:flex!important;align-items:center;gap:10px;}
.sched-month-grid .sched-month-card:not(.has-next) .sched-month-head::before{content:'';width:12px;height:12px;border-radius:50%;background:#e3cb85;box-shadow:0 0 0 4px rgba(227,203,133,.28);flex:none;}
.sched-month-grid .sched-month-card:not(.has-next) .sched-month-head::after{content:'';flex:1;height:2px;margin-left:8px;background:linear-gradient(90deg,#e3cb85,rgba(227,203,133,0));}

/* Register buttons: "Register Now" capitalization (display only) */
html body .sched-month-grid .sched-session-register,html body .sched-session-register{text-transform:capitalize!important;letter-spacing:.02em!important;}

/* Register buttons: bigger arrow + shine sweep on hover */
html body .sched-month-grid .sched-session-register svg{width:22px!important;height:22px!important;stroke-width:2.6!important;flex:none;transition:transform .3s ease!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-register svg{width:24px!important;height:24px!important;}
html body .sched-month-grid .sched-session-register:hover svg{transform:translateX(4px);}
html body .sched-month-grid .sched-session-register{position:relative!important;overflow:hidden!important;isolation:isolate;}
html body .sched-month-grid .sched-session-register::after{content:"";position:absolute;top:-20%;left:-60%;width:40%;height:140%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);transform:skewX(-22deg);transition:none;pointer-events:none;z-index:2;opacity:0;}
html body .sched-month-grid .sched-session-register:hover::after,html body .sched-month-grid .sched-session-register:focus-visible::after{opacity:1;animation:asiShine .9s ease-out 1;}
@keyframes asiShine{from{left:-60%}to{left:130%}}
@media (prefers-reduced-motion:reduce){html body .sched-month-grid .sched-session-register:hover::after{animation:none;opacity:0}}
html body .sched-month-grid .sched-month-card.has-next .sched-session-register svg{color:#10263f!important;}

/* Continuing Education card: center the text box between the left edge and the Register button (desktop) */
@media (min-width:1100px){
html body .asi-course-card--ce .asi-course-scene{padding-right:330px!important;justify-content:center!important;}
html body .asi-course-card--ce .asi-course-scene .asi-course-content{margin:14px auto!important;width:min(500px,calc(100% - 40px))!important;}
html body .asi-course-card--ce .asi-course-footer{top:42px!important;bottom:0!important;padding-top:0!important;padding-bottom:0!important;}
}

/* Help Me Choose + licensing guides: navy sections for contrast */
html body .sched-chooser-help{background:linear-gradient(150deg,#091a31 0%,#102d50 70%,#15385f 100%)!important;border:1px solid rgba(201,168,76,.5)!important;}
html body .sched-chooser-help summary,html body .sched-chooser-help summary span{color:#fff!important;}
html body .sched-chooser-help summary span{color:#b9c9dc!important;}
html body .sched-chooser-help summary::before{background:#c9a84c!important;color:#0b1f3a!important;}
html body .sched-chooser-help[open] summary{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.16)!important;}
html body .sched-chooser-help .sched-guide-item{background:#fff!important;border-color:#cfd9e8!important;}
html body .sched-licensing-guides{background:linear-gradient(110deg,#091a31 0%,#102d50 70%,#15385f 100%)!important;border:1px solid rgba(201,168,76,.5)!important;}
html body .sched-licensing-guides,html body .sched-licensing-guides *:not(a){color:#d3deec!important;}
html body .sched-licensing-guides a{color:#e3cb85!important;}

/* Next Class box: light premium gray for contrast */
html body .sched-month-grid .sched-month-card.has-next{background:linear-gradient(180deg,#e9edf3 0%,#d9e0ea 100%)!important;border:1px solid #bcc8da!important;border-bottom:3px solid #c9a84c!important;box-shadow:0 14px 30px rgba(0,0,0,.28)!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-month-head{border-right:1px solid #cfd9e8!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-month-name{color:#15385f!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-date{color:#0b1f3a!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-meta{color:#4d6280!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-meta svg,html body .sched-month-grid .sched-month-card.has-next .sched-session-format svg{color:#8a6d1f!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-format{background:#f7f9fc!important;border-color:#b6c4d9!important;color:#15385f!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-register{background:linear-gradient(135deg,#0b1f3a,#15385f)!important;color:#fff!important;border-color:#c9a84c!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-register svg{color:#e3cb85!important;}
@media (max-width:860px){html body .sched-month-grid .sched-month-card.has-next .sched-month-name{color:#fff!important;}}
html body .sched-month-grid .sched-month-card.has-next .sched-session-format{text-shadow:none!important;}

/* Next Class box: navy month panel + light spotlight side */
@media(min-width:861px){
html body .sched-month-grid .sched-month-card.has-next .sched-month-head{background:linear-gradient(150deg,#091a31 0%,#102d50 70%,#15385f 100%)!important;border-right:3px solid #c9a84c!important;border-radius:0!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-month-name{color:#e3cb85!important;}
html body .sched-month-grid .sched-month-card.has-next{background:radial-gradient(ellipse 50% 140% at 60% 40%,#ffffff 0%,transparent 70%),linear-gradient(180deg,#e9edf3 0%,#d9e0ea 100%)!important;}}

/* Next Class box: wider navy month panel + year under the month */
@media (min-width:861px){
html body .sched-month-grid .sched-month-card.has-next{grid-template-columns:340px 1fr!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-month-head{flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center;}
html body .sched-month-grid .sched-month-card.has-next .sched-month-head::after{content:"2027";display:block;margin-top:10px;padding-top:10px;border-top:2px solid rgba(201,168,76,.7);min-width:90px;font-size:22px;font-weight:700;letter-spacing:.32em;text-indent:.32em;color:#fff;line-height:1;}
}
@media (min-width:861px) and (max-width:1150px){
html body .sched-month-grid .sched-month-card.has-next{grid-template-columns:250px 1fr!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-month-name{font-size:28px!important;}
}
@media (max-width:860px){
html body .sched-month-grid .sched-month-card.has-next .sched-month-head::after{content:"2027";display:inline-block;margin-left:12px;color:#e3cb85;font-weight:700;letter-spacing:.2em;}
}

/* Month cards: two-column compact rows (desktop/tablet) */
@media (min-width:861px){
html body .sched-month-grid{grid-template-columns:1fr 1fr!important;gap:14px!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-month-head::before,html body .sched-month-grid .sched-month-card:not(.has-next) .sched-month-head::after{display:none!important;}
html body .sched-month-grid .sched-month-card:not(.has-next){display:grid!important;grid-template-columns:128px 1fr!important;align-items:stretch;overflow:hidden;border-radius:16px!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-month-head{display:flex!important;align-items:center;justify-content:center;border-bottom:0!important;border-right:3px solid #c9a84c!important;padding:0 12px!important;background:linear-gradient(150deg,#091a31,#15385f)!important;border-radius:0!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-month-name{font-size:15px!important;letter-spacing:.08em!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-list{padding:14px 16px!important;display:flex;align-items:center;background:transparent!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session{width:100%;display:grid!important;grid-template-columns:1fr auto;column-gap:14px;row-gap:4px;align-items:center;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-date{grid-column:1;grid-row:1;font-size:17px!important;padding:0!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-meta{grid-column:1;grid-row:2;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-actions{display:contents!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-format{grid-column:1;grid-row:3;justify-self:start;margin-top:4px;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-register{grid-column:2;grid-row:1/span 3;width:auto!important;padding:12px 16px!important;white-space:nowrap;}
}
@media (min-width:861px) and (max-width:1150px){
html body .sched-month-grid{grid-template-columns:1fr!important;}
}

/* Month rows: premium hover (soft gold tint, gold edge, lift, brighter month block) */
@media (hover:hover) and (pointer:fine){
html body .sched-month-grid .sched-month-card:not(.has-next){transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease!important;}
html body .sched-month-grid .sched-month-card:not(.has-next):not(:has(.sched-session + .sched-session)):hover{transform:translateY(-3px)!important;border-color:#c9a84c!important;background:linear-gradient(135deg,#fffdf6 0%,#f4e9c8 100%)!important;box-shadow:0 16px 30px rgba(0,0,0,.34),0 0 0 1px rgba(201,168,76,.55),0 0 22px rgba(201,168,76,.28)!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-month-head{transition:background .28s ease!important;}
html body .sched-month-grid .sched-month-card:not(.has-next):not(:has(.sched-session + .sched-session)):hover .sched-month-head{background:linear-gradient(150deg,#15385f 0%,#24528a 100%)!important;}
html body .sched-month-grid .sched-month-card:not(.has-next):not(:has(.sched-session + .sched-session)):hover .sched-session-format{background:#fff!important;border-color:#c9a84c!important;}
}

/* Next Class box: same premium hover */
@media (hover:hover) and (pointer:fine){
html body .sched-month-grid .sched-month-card.has-next{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease!important;}
html body .sched-month-grid .sched-month-card.has-next:not(:has(.sched-session + .sched-session)):hover{transform:translateY(-3px)!important;border-color:#c9a84c!important;background:linear-gradient(135deg,#fffdf6 0%,#f4e9c8 100%)!important;box-shadow:0 18px 34px rgba(0,0,0,.36),0 0 0 1px rgba(201,168,76,.55),0 0 26px rgba(201,168,76,.3)!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-month-head{transition:background .28s ease!important;}
html body .sched-month-grid .sched-month-card.has-next:not(:has(.sched-session + .sched-session)):hover .sched-month-head{background:linear-gradient(150deg,#15385f 0%,#24528a 100%)!important;}
html body .sched-month-grid .sched-month-card.has-next:not(:has(.sched-session + .sched-session)):hover .sched-session-format{background:#fff!important;border-color:#c9a84c!important;}
}

/* Next Class box: shorter height (desktop) */
@media (min-width:861px){
html body .sched-month-grid .sched-month-card.has-next .sched-session-list{padding:12px 28px!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-date{font-size:30px!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-meta{font-size:13px!important;margin-top:4px!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-format{font-size:12px!important;padding:6px 12px!important;gap:6px!important;margin-top:6px!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-format svg{width:15px!important;height:15px!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-badge{font-size:10.5px!important;padding:5px 11px!important;margin-bottom:6px!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-month-head{padding:10px 20px!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-month-name{font-size:30px!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-month-head::after{margin-top:6px!important;padding-top:6px!important;font-size:18px!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-register{min-height:42px!important;padding:11px 24px!important;}
}

/* Next Class box: no white pill behind the In-Person / Live Zoom line */
html body .sched-month-grid .sched-month-card.has-next .sched-session-format,html body .sched-month-grid .sched-month-card.has-next:hover .sched-session-format{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;text-shadow:none!important;}

/* Dates header: every text line 1pt larger */
html body #datesTitle{font-size:calc(20px + 1pt)!important;}
html body #datesSubtitle{font-size:calc(11px + 1pt)!important;}
html body .sched-date-legend .sched-change-class{font-size:calc(9.5px + 1pt)!important;}
html body .sched-date-legend .sched-legend{font-size:calc(10px + 1pt)!important;}

/* Next Class box: In-Person line matches the hours line */
html body .sched-month-grid .sched-month-card.has-next .sched-session-format,html body .sched-month-grid .sched-month-card.has-next:hover .sched-session-format{font-size:13px!important;font-weight:750!important;color:#4d6280!important;letter-spacing:normal!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-format svg{width:13px!important;height:13px!important;color:#8a6d1f!important;}

/* Month rows: darker hours line, In-Person text 1pt larger */
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-meta{color:#4d6280!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-format{font-size:calc(9.75px + 1pt)!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-format svg{width:14px!important;height:14px!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-format{width:max-content!important;max-width:none!important;white-space:nowrap!important;padding:7px 14px!important;}
@media (min-width:1151px){
html body .sched-month-grid .sched-month-card:not(.has-next){grid-template-columns:104px 1fr!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-month-name{font-size:14px!important;letter-spacing:.05em!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-list{padding:14px 14px!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session{column-gap:10px!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-format{padding:6px 12px!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-register{padding:12px 16px!important;}
}
@media (min-width:861px) and (max-width:1439px){
html body .sched-month-grid{grid-template-columns:1fr!important;}
html body .sched-month-grid .sched-month-card:not(.has-next){grid-template-columns:128px 1fr!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-month-name{font-size:15px!important;}
}

/* Course picker: Register Here hover color */
html body .asi-course-register{transition:background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease!important;}
@media (hover:hover) and (pointer:fine){
html body .asi-course-register:hover,html body .asi-course-register:focus-visible{background:linear-gradient(135deg,#f0dc9b 0%,#c9a84c 100%)!important;color:#10263f!important;border-color:#e3cb85!important;box-shadow:0 10px 22px rgba(201,168,76,.4),inset 0 1px 0 rgba(255,255,255,.5)!important;transform:translateY(-1px);}
html body .asi-course-register:hover *,html body .asi-course-register:focus-visible *{color:#10263f!important;}
}

/* Intro trust card: each text line 1pt larger */
html body .sched-trust-card .sched-trust-label{font-size:calc(10px + 1pt)!important;}
html body .sched-trust-card strong{font-size:calc(12.5px + 1pt)!important;}
html body .sched-trust-card span{font-size:calc(10.5px + 1pt)!important;}

/* Course dashboard (left side): navy stat boxes + champagne audience box for contrast */
html body #courseDashboard .sched-primary{background:linear-gradient(160deg,#dbe4f1 0%,#e8edf5 100%)!important;}
html body #courseDashboard .sched-format-chip{background:#fff!important;border:1px solid #aebfd6!important;}
html body #courseDashboard .sched-stat{background:linear-gradient(150deg,#0b1f3a 0%,#15385f 100%)!important;border:1px solid rgba(201,168,76,.5)!important;box-shadow:0 8px 18px rgba(11,31,58,.25)!important;}
html body #courseDashboard .sched-stat-label{color:#e3cb85!important;}
html body #courseDashboard .sched-stat-value{color:#fff!important;}
html body #courseDashboard .sched-audience{background:linear-gradient(135deg,#fffdf6,#f3e8c8)!important;border:1px solid #dccb94!important;box-shadow:0 6px 14px rgba(138,109,31,.14)!important;}
html body #courseDashboard .sched-support-link{background:#fff!important;border:1px solid #aebfd6!important;}

/* Course dashboard header: navy banner with gold kicker, white title, gold base line */

html body #courseDashboard .sched-primary .sched-kicker,html body #courseDashboard .sched-primary .sched-course-title,html body #courseDashboard .sched-primary .sched-course-desc{margin-left:-40px!important;margin-right:-40px!important;padding-left:40px!important;padding-right:40px!important;background:#10294a!important;}
html body #courseDashboard .sched-primary{padding-top:0!important;}
html body #courseDashboard .sched-primary .sched-kicker{margin-bottom:0!important;padding-top:34px!important;padding-bottom:14px!important;color:#e3cb85!important;width:auto;display:flex;border-top:0;}
html body #courseDashboard .sched-primary .sched-kicker .sched-kicker-dot{background:#c9a84c!important;box-shadow:0 0 0 4px rgba(201,168,76,.28)!important;}
html body #courseDashboard .sched-primary .sched-course-title{color:#fff!important;padding-bottom:14px!important;margin:0 -40px!important;}
html body #courseDashboard .sched-primary .sched-course-desc{color:#c9d6e8!important;margin-top:0!important;padding-top:0!important;padding-bottom:30px!important;margin-bottom:24px!important;border-bottom:3px solid #c9a84c;}
@media (max-width:560px){
html body #courseDashboard .sched-primary .sched-kicker,html body #courseDashboard .sched-primary .sched-course-title,html body #courseDashboard .sched-primary .sched-course-desc{margin-left:-22px!important;margin-right:-22px!important;padding-left:22px!important;padding-right:22px!important;}
html body #courseDashboard .sched-primary .sched-course-title{margin:0 -22px!important;}
html body #courseDashboard .sched-primary .sched-kicker{padding-top:26px!important;}
html body #courseDashboard .sched-primary .sched-course-desc{padding-bottom:24px!important;}
}
/* Header banner: description band spans the full width of the card at every size */
html body #courseDashboard .sched-primary .sched-course-desc{max-width:none!important;width:auto!important;box-sizing:content-box!important;}
@media (min-width:861px){html body #courseDashboard .sched-primary .sched-course-desc{padding-right:max(40px,12%)!important;}}
@media (max-width:860px){html body #courseDashboard .sched-primary .sched-course-desc{padding-right:40px!important;}}
@media (max-width:560px){html body #courseDashboard .sched-primary .sched-course-desc{padding-right:22px!important;}}
/* Dashboard text +1pt: kicker, format chips, format note, support links */
html body #courseDashboard .sched-kicker{font-size:calc(10px + 1pt)!important;}
html body #courseDashboard .sched-format-chip{font-size:calc(11px + 1pt)!important;}
html body #courseDashboard .sched-format-explain,html body #courseDashboard .sched-format-explain a{font-size:calc(11px + 1pt)!important;}
html body #courseDashboard .sched-support-link{font-size:calc(10.5px + 1pt)!important;}
@media (max-width:560px){html body #courseDashboard .sched-format-chip{font-size:calc(10.5px + 1pt)!important;}}

/* Intro: gold bars both sides of eyebrow (+1pt), full-width gold bar on highlights card */
html body .sched-index-hero .sched-eyebrow{font-size:calc(11px + 1pt)!important;}
html body .sched-index-hero .sched-eyebrow::after{content:"";width:34px;height:2px;background:linear-gradient(90deg,#e4cd86,#c7a64b)!important;box-shadow:none!important;}
html body .sched-trust-card::before,html body .sched-index-trust-card::before{left:0!important;right:0!important;width:auto!important;top:0!important;height:4px!important;background:linear-gradient(90deg,#c9a84c,#f0dc9b 50%,#c9a84c)!important;}

/* Course header: light premium version for contrast with the navy highlights card */
html body #courseDashboard .sched-primary .sched-kicker,html body #courseDashboard .sched-primary .sched-course-title,html body #courseDashboard .sched-primary .sched-course-desc{background:#f0ede6!important;}
html body #courseDashboard .sched-primary .sched-kicker{color:#1d4f8a!important;}
html body #courseDashboard .sched-primary .sched-course-title{color:#0b1f3a!important;}
html body #courseDashboard .sched-primary .sched-course-desc{color:#4d5f78!important;border-bottom:3px solid #c9a84c!important;}
/* Gold border around the upper-left header box only (kicker + title + description) */
html body #courseDashboard .sched-primary .sched-kicker,html body #courseDashboard .sched-primary .sched-course-title,html body #courseDashboard .sched-primary .sched-course-desc{border-left:3px solid #c9a84c!important;border-right:3px solid #c9a84c!important;padding-left:37px!important;box-sizing:content-box!important;}
html body #courseDashboard .sched-primary .sched-kicker{border-top:3px solid #c9a84c!important;border-top-left-radius:28px;padding-top:31px!important;}
html body #courseDashboard .sched-primary .sched-course-desc{border-bottom:3px solid #c9a84c!important;}
@media (max-width:860px){html body #courseDashboard .sched-primary .sched-kicker{border-top-right-radius:28px;}}
@media (max-width:560px){html body #courseDashboard .sched-primary .sched-kicker,html body #courseDashboard .sched-primary .sched-course-title,html body #courseDashboard .sched-primary .sched-course-desc{padding-left:19px!important;}html body #courseDashboard .sched-primary .sched-kicker{padding-top:23px!important;}}
/* Next-class topics list +1pt */
html body #courseDashboard .sched-next-topic{font-size:calc(11px + 1pt)!important;}
/* Topics list: let longer topics wrap instead of overlapping the next column */
html body #courseDashboard .sched-next-topics-grid{column-gap:16px!important;}
html body #courseDashboard .sched-next-topic{white-space:normal!important;}
/* Class dates header: pearl background to match the course header */
html body .sched-dates-panel .sched-dates-head{background:#f0ede6!important;}
/* Topics list: balanced two-line wrapping for an even look */
@media (min-width:861px){
html body #courseDashboard .sched-next-topics-grid{align-items:start!important;row-gap:12px!important;}
html body #courseDashboard .sched-next-topic{max-width:128px!important;text-wrap:balance;line-height:1.25!important;}
}
/* Highlights card: gold border on the left and top sides only (replaces the separate top bar) */
html body .sched-index-hero aside.sched-trust-card.sched-index-trust-card{border-left:3px solid #c9a84c!important;border-top:3px solid #c9a84c!important;}
html body .sched-index-hero aside.sched-trust-card.sched-index-trust-card::before{display:none!important;}
/* Intro box: gold border on the left and top sides only */
html body main.sched-page section.hero.sched-index-hero.sched-index-hero{border-left:3px solid #c9a84c!important;border-top:3px solid #c9a84c!important;}
/* Class picker box: pearl background and blue-to-gold top bar to match the dates panel */
html body .sched-selector{background:#f0ede6!important;}
html body .sched-selector::before{background:linear-gradient(90deg,#1d4f8a,#102d50,#c9a84c)!important;}
/* Intro heading: "Choose Your 2027" on the first line, the rest on the second (width scales with the text size) */
html body .sched-index-hero .sched-index-hero-copy h2{max-width:12.5em!important;}

/* Premium hover for the main buttons: subtle color shift, soft glow, light sweep */
html body .sched-hero-btn,html body .sched-next-register{position:relative!important;overflow:hidden!important;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease,filter .25s ease!important;}
html body .sched-hero-btn::after,html body .sched-next-register::after{content:"";position:absolute;top:-20%;left:-60%;width:40%;height:140%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);transform:skewX(-22deg);pointer-events:none;z-index:2;opacity:0;}
html body .sched-hero-btn:hover::after,html body .sched-hero-btn:focus-visible::after,html body .sched-next-register:hover::after,html body .sched-next-register:focus-visible::after{opacity:1;animation:asiShine .9s ease-out 1;}
/* gold buttons -> lighter champagne gold */
html body .sched-hero-btn--gold:hover,html body .sched-hero-btn--gold:focus-visible,html body .sched-next-register:hover,html body .sched-next-register:focus-visible,html body .sched-month-grid .sched-month-card.has-next .sched-session-register:hover,html body footer .asi-master-footer__btn--primary:hover{background:linear-gradient(135deg,#f9eec6 0%,#e8cd76 55%,#d4b25c 100%)!important;color:#0b1f3a!important;border-color:#f3e2a6!important;filter:none!important;box-shadow:0 12px 26px rgba(201,168,76,.42),inset 0 1px 0 rgba(255,255,255,.65)!important;transform:translateY(-2px)!important;}
/* navy buttons -> brighter royal blue */
html body .sched-hero-btn--ghost:hover,html body .sched-hero-btn--ghost:focus-visible,html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-register:hover{background:linear-gradient(135deg,#1d4f8a 0%,#2d68a8 100%)!important;color:#fff!important;border-color:rgba(227,203,133,.6)!important;filter:none!important;box-shadow:0 12px 26px rgba(29,79,138,.38),inset 0 1px 0 rgba(255,255,255,.18)!important;transform:translateY(-2px)!important;}
html body .sched-hero-btn--ghost:hover svg,html body .sched-month-grid .sched-session-register:hover svg{color:#f0dc9b!important;}
/* footer outline button -> soft gold tint */
html body footer .asi-master-footer__btn--secondary:hover{background:rgba(227,203,133,.16)!important;border-color:rgba(227,203,133,.65)!important;box-shadow:0 12px 26px rgba(0,0,0,.26)!important;}
/* Header box: no bottom border (left, top and right stay) */
html body #courseDashboard .sched-primary .sched-course-desc{border-bottom:0!important;}
/* Gold left bar runs the full height of the left box */
html body #courseDashboard .sched-primary{background:linear-gradient(#c9a84c,#c9a84c) left top/3px 100% no-repeat,linear-gradient(160deg,#dbe4f1 0%,#e8edf5 100%)!important;}
/* Highlights card: gold border all the way around */
html body .sched-index-hero aside.sched-trust-card.sched-index-trust-card{border:3px solid #c9a84c!important;}
/* Intro box: gold border also down the right side */
html body main.sched-page section.hero.sched-index-hero.sched-index-hero{border-right:3px solid #c9a84c!important;}
/* Class picker box: same soft blue background as the intro box */
html body .sched-selector{background:linear-gradient(135deg,#e9eff8 0%,#f5f8fc 70%,#eaeff7 100%)!important;}

/* Months with two classes (Continuing Education): classes side by side, full-width Register Now bar under each */
@media (min-width:861px){
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-list:has(.sched-session + .sched-session){gap:18px!important;padding:14px 16px!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-list:has(.sched-session + .sched-session) .sched-session{grid-template-columns:minmax(0,1fr)!important;flex:1 1 0!important;min-width:0!important;width:auto!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-list:has(.sched-session + .sched-session) .sched-session-format{padding:6px 10px!important;font-size:11px!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-list:has(.sched-session + .sched-session) .sched-session-register{grid-column:1!important;grid-row:4!important;width:100%!important;margin-top:8px!important;padding:10px 14px!important;min-height:38px;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-list:has(.sched-session + .sched-session) .sched-session + .sched-session{padding-left:14px!important;border-left:1px solid rgba(11,31,58,.16)!important;border-radius:0!important;}
}
@media (min-width:861px){
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-list:has(.sched-session + .sched-session) .sched-session-format{font-size:10px!important;padding:6px 8px!important;gap:5px!important;max-width:100%;white-space:nowrap;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-list:has(.sched-session + .sched-session) .sched-session-format svg{width:13px!important;height:13px!important;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-list:has(.sched-session + .sched-session) .sched-session{padding-right:2px!important;}
}
/* Next Class banner: the "Next Class" badge shows only above the next class (space kept so the rows line up) */
html body .sched-month-grid .sched-month-card.has-next .sched-session:not(.is-next) .sched-session-badge{visibility:hidden!important;}
/* Next Class banner with two classes: Register Now bar under each class */
@media (min-width:861px){
html body .sched-month-grid .sched-month-card.has-next .sched-session-list:has(.sched-session + .sched-session){gap:26px!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-list:has(.sched-session + .sched-session) .sched-session{grid-template-columns:minmax(0,1fr)!important;flex:1 1 0!important;min-width:0!important;width:auto!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-list:has(.sched-session + .sched-session) .sched-session-date{font-size:clamp(20px,1.9vw,28px)!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-list:has(.sched-session + .sched-session) .sched-session-register{grid-column:1!important;grid-row:5!important;width:100%!important;margin-top:14px!important;padding:12px 16px!important;min-height:44px;font-size:14px!important;}
html body .sched-month-grid .sched-month-card.has-next .sched-session-list:has(.sched-session + .sched-session) .sched-session + .sched-session{padding-left:22px!important;border-left:1px solid rgba(11,31,58,.16)!important;border-radius:0!important;}
}

/* Two-class months: hover effect only on the class being hovered, not both */
html body .sched-month-grid .sched-month-card:has(.sched-session + .sched-session):hover{transform:none!important;}
@media (hover:hover) and (pointer:fine){
html body .sched-month-grid .sched-month-card .sched-session-list:has(.sched-session + .sched-session) .sched-session{transition:transform .28s ease,box-shadow .28s ease,background .28s ease!important;border-radius:12px!important;}
html body .sched-month-grid .sched-month-card .sched-session-list:has(.sched-session + .sched-session) .sched-session:hover{transform:translateY(-3px)!important;background:linear-gradient(135deg,#fffdf6 0%,#f4e9c8 100%)!important;box-shadow:0 0 0 8px #f9efd0,0 0 0 9px rgba(201,168,76,.6),0 12px 26px rgba(0,0,0,.2),0 0 22px rgba(201,168,76,.3)!important;position:relative;z-index:2;}
html body .sched-month-grid .sched-month-card:not(.has-next) .sched-session-list:has(.sched-session + .sched-session) .sched-session:hover .sched-session-format{background:#fff!important;border-color:#c9a84c!important;}
}

/* No gap above the footer */
html body footer.asi-master-footer{margin-top:24px!important;}

/* Choose Your 2027 title: same navy as the picker heading */
html body #scheduleTitle{color:#0d2039!important;}

/* Phone header: logo row + 2x2 menu buttons (no sideways swiping) */
@media(max-width:1100px){
html body header.asi-nav .asi-nav__shell{flex-wrap:wrap!important;gap:8px!important;}
html body header.asi-nav nav.asi-links{order:3!important;flex:1 1 100%!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:6px!important;overflow:visible!important;padding:6px!important;border-radius:20px!important;}
html body header.asi-nav nav.asi-links .asi-link{flex:none!important;width:auto!important;white-space:nowrap!important;text-align:center!important;font-size:13px!important;padding:9px 6px!important;border-radius:14px!important;min-width:0!important;}
}
@media(max-width:700px){html body header.asi-nav nav.asi-links{grid-template-columns:1fr 1fr!important;}html body header.asi-nav .brand-logo{flex:1 1 100%!important;min-width:0!important;}}

/* Phones/tablets: space between the Topics list and the Register Now button */
@media (max-width:860px){
html body #courseDashboard .sched-next-topics{margin-bottom:22px!important;}
}
