@import url("https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@500;700;800;900&family=Barlow:wght@400;500;600&display=swap");
:root{--midnight:#132b4a;--ink:#132b4a;--muted:#4a5a6e;--rule:#cccfce;--rule2:#afb2b3;--cornflower:#0086cf;--link:#00669e;--meadow:#3faa53;--meadow-dark:#2a7a3b;--meadow-tint:#dcefe0;--hibiscus:#c9007d;--hibiscus-text:#a8006a;--fog:#f2f4f5;--soft:#c9d3df;--display:"Schibsted Grotesk",Arial,sans-serif;--body:Barlow,"Arial Narrow",Arial,sans-serif;--pad:clamp(20px,5vw,64px)}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.55}
a{color:var(--link)}a:hover{color:var(--midnight)}
img{max-width:100%}
.wrap{max-width:1320px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.display{font-family:var(--display);font-weight:900;letter-spacing:-.035em;line-height:.9;margin:0}
.h-xl{font-size:clamp(50px,7.6vw,120px)}
.h-lg{font-size:clamp(44px,5.6vw,84px)}
.h-md{font-size:clamp(36px,4.6vw,66px)}
.h-sm{font-family:var(--display);font-weight:800;font-size:clamp(26px,2.8vw,40px);line-height:1.08;letter-spacing:-.02em;margin:0}
.eyebrow{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.muted{color:var(--muted)}
.row{display:flex;flex-wrap:wrap}
.sec{padding-top:150px;padding-bottom:140px}
.sec-fog{background:var(--fog)}
.sec-dark{background:var(--midnight);color:#fff}
.sec-dark .muted{color:var(--soft)}
.sec-dark a{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;background:var(--midnight);color:#fff;text-decoration:none;font-family:var(--display);font-weight:700;font-size:16px;border:0;border-radius:0;cursor:pointer}
.btn:hover{background:#0e2139;color:#fff}
.btn-block{display:flex;width:100%;min-height:56px;font-size:17px}
.tlink{font-family:var(--display);font-weight:700;text-underline-offset:5px}
.photo{display:block;width:100%;object-fit:cover;background:#2a4466}
.photo-ph{display:flex;align-items:flex-end;padding:22px;color:var(--soft);font-size:14px;background:#2a4466 repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 2px,transparent 2px 14px)}
.panel{background:#fff;color:var(--ink);border:2px solid var(--midnight);padding:40px 36px 36px;display:flex;flex-direction:column;gap:20px;box-shadow:0 30px 60px -34px rgba(19,43,74,.5);position:relative}
dl.rates{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 20px;font-size:16px}
dl.rates dt{font-weight:600}dl.rates dd{margin:0}
.save{font-weight:600;color:var(--meadow-dark)}
.state-band{background:var(--meadow);color:var(--midnight);font-family:var(--display);font-weight:800;font-size:15px;padding:10px 18px;letter-spacing:.02em}
.status-tag{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:2px solid var(--midnight);font-family:var(--display);font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.util{background:#0e2139;color:var(--soft);font-size:14px}
.util .wrap{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;align-items:center;padding-top:10px;padding-bottom:10px}
.util a{color:#fff;text-decoration:none;margin-left:24px}
.util a:first-child{margin-left:0}
.site-head{background:#fff;border-bottom:1px solid var(--rule)}
.site-head .wrap{display:flex;flex-wrap:wrap;gap:16px 40px;align-items:center;justify-content:space-between;padding-top:20px;padding-bottom:20px}
.site-head img{display:block;height:58px;width:auto}
.nav{display:flex;flex-wrap:wrap;gap:6px 30px;font-family:var(--display);font-weight:700;font-size:16px}
.nav a{color:var(--ink);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.nav a[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:10}
.site-foot{background:var(--midnight);color:var(--soft);font-size:15px}
.site-foot .wrap{padding-top:96px;padding-bottom:56px;display:flex;flex-direction:column;gap:56px}
.site-foot a{color:#fff;text-underline-offset:4px}
.foot-cols{display:flex;flex-wrap:wrap;gap:48px 64px}
.foot-cols>div{flex:1 1 240px;display:flex;flex-direction:column;gap:12px}
.foot-cols strong{font-family:var(--display);font-weight:800;font-size:20px;color:#fff}
.foot-base{border-top:1px solid #2f4a6c;padding-top:24px;display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;font-size:14px}
.hero{background:linear-gradient(var(--midnight) 0,var(--midnight) calc(100% - 180px),#fff calc(100% - 180px));color:#fff}
.hero .wrap{padding-top:120px}
.hero-top{display:flex;flex-wrap:wrap;gap:40px 64px;align-items:flex-end}
.hero h1{flex:1 1 760px;font-family:var(--display);font-weight:800;font-size:clamp(46px,6.4vw,96px);line-height:.96;letter-spacing:-.025em;margin:0;text-wrap:balance}
.hero-side{flex:0 1 330px;display:flex;flex-direction:column;gap:18px;padding-bottom:10px}
.hero-side p{margin:0;color:var(--soft);font-size:19px}
.hero-side a{color:#fff}
.hero-media{display:flex;flex-wrap:wrap;align-items:flex-start;margin-top:88px}
.hero-media .photo,.hero-media .photo-ph{flex:0 1 60%;width:60%;min-width:min(300px,100%);height:540px}
.hero-card{flex:1 1 340px;margin-top:230px;margin-left:-96px;background:#fff;color:var(--ink);padding:48px 48px 52px;position:relative;display:flex;flex-direction:column;gap:14px;box-shadow:0 30px 60px -30px rgba(19,43,74,.45)}
.hero-card h2{margin:0;font-family:var(--display);font-weight:800;font-size:40px;line-height:1.02;letter-spacing:-.015em}
.hero-card .eyebrow{color:var(--hibiscus-text)}
.filters{flex:1 1 260px;max-width:300px;display:flex;flex-direction:column;gap:36px;font-size:16px}
.filters label.lead,.filters legend{font-family:var(--display);font-weight:700;font-size:15px;padding:0;margin-bottom:10px}
.filters select{height:48px;border:2px solid var(--midnight);border-radius:0;background:#fff;color:var(--ink);font:inherit;padding:0 12px;width:100%}
.filters fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.filters .opt{display:flex;gap:10px;align-items:center;min-height:32px}
.filters .opt input{width:20px;height:20px}
.note{color:var(--muted);font-size:14px}
.list{flex:999 1 620px;min-width:0;display:flex;flex-direction:column}
.summary-bar{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;padding-bottom:28px;margin-bottom:36px;border-bottom:1px solid var(--rule);font-size:16px}
.summary-bar strong{font-family:var(--display);font-weight:800;font-size:20px}
.linkbtn{min-height:44px;padding:0 4px;border:0;background:none;color:var(--link);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.month{margin:0;padding-bottom:14px;border-bottom:3px solid var(--midnight);font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-.01em}
.month-block{margin-bottom:64px}
.course{border-bottom:1px solid var(--rule)}
.course .state-band{margin-top:24px}
.course-in{display:flex;flex-wrap:wrap;gap:20px 36px;padding:28px 0 32px;align-items:flex-start}
.c-date{flex:0 0 76px;display:flex;flex-direction:column;font-family:var(--display)}
.c-date span:first-child{font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.c-date span:last-child{font-weight:800;font-size:34px;line-height:1}
.c-main{flex:1 1 340px;display:flex;flex-direction:column;gap:8px;min-width:0}
.c-main h4{margin:0;font-family:var(--display);font-weight:700;font-size:24px;line-height:1.18;letter-spacing:-.01em}
.c-main h4 a{color:var(--ink);text-decoration:none}
.c-main h4 a:hover{text-decoration:underline}
.c-side{flex:0 1 230px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;font-size:16px}
.empty{padding:40px 0;color:var(--muted)}
.dim{opacity:.5}
.shelf{flex:999 1 560px;min-width:0;display:flex;gap:28px;overflow-x:auto;padding-bottom:16px}
.shelf a{flex:0 0 236px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink)}
.cover{height:312px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:var(--midnight)}
.cover span:last-child{font-family:var(--display);font-weight:800;font-size:24px;line-height:1.08}
.rows{border-top:3px solid var(--midnight)}
.rowline{display:flex;flex-wrap:wrap;gap:10px 40px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--rule)}
.rowline .big{font-family:var(--display);font-weight:800;font-size:26px;line-height:1.15}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.steps li{display:flex;gap:28px;padding:26px 0;border-top:1px solid var(--rule2)}
.steps li:last-child{border-bottom:1px solid var(--rule2)}
.steps .n{flex:0 0 44px;font-family:var(--display);font-weight:800;font-size:34px;line-height:1;color:var(--meadow-dark)}
.overlap-right{margin-left:-72px}
.input{flex:1 1 220px;height:52px;border:2px solid var(--midnight);border-radius:0;padding:0 14px;font:inherit;color:var(--ink)}
@media (max-width:760px){
  .hero-card,.overlap-right{margin-left:0!important;margin-top:24px!important}
  .hero-media .photo,.hero-media .photo-ph{width:100%;flex-basis:100%;height:300px}
  .sec{padding-top:88px;padding-bottom:80px}
  .filters{max-width:none}
}
:focus-visible{outline:3px solid var(--cornflower);outline-offset:2px}