:root {
  color-scheme: light;
  --navy:#131f37; --navy-deep:#101a2f; --blue:#233b65; --ink:#17243c;
  --red:#a9223b; --red-deep:#86152c; --rose:#ffc1c9; --paper:#fcfaf7;
  --muted:#4c5a6d; --border:#dedfe3; --blush:#f8ebec;
  --wrap: min(1200px, calc(100% - 112px));
  font-family: "Segoe UI", Arial, sans-serif;
}
*, *::before, *::after { box-sizing:border-box }
html { scroll-behavior:smooth }
body { margin:0; color:var(--ink); background:var(--paper); font-size:16px; line-height:1.6 }
[hidden] { display:none !important }
img { display:block; max-width:100% }
a { color:var(--red); text-underline-offset:.22em }
button, input { font:inherit }
button { cursor:pointer }
button:disabled { cursor:not-allowed; opacity:.65 }
:focus-visible { outline:3px solid #d83d57; outline-offset:4px }
h1,h2,h3,p { margin:0 }
h1,h2,h3 { font-weight:750; line-height:1.05; letter-spacing:-.047em }
h1 { font-size:clamp(3rem,5.4vw,5.9rem) }
h2 { font-size:clamp(2.05rem,4vw,4rem) }
h3 { font-size:clamp(1.4rem,2.4vw,2rem) }
p { color:var(--muted) }
svg { flex-shrink:0 }
.wrap { width:var(--wrap); margin-inline:auto }
.skip { position:fixed; left:1rem; top:1rem; background:white; z-index:9; padding:.75rem; transform:translateY(-200%) }
.skip:focus { transform:none }
.utility { background:var(--navy-deep); color:#e5e9f1; font-size:.79rem; font-weight:650; letter-spacing:.025em }
.utility .wrap { min-height:37px; display:flex; justify-content:space-between; align-items:center; gap:12px }
.utility a,.utility span { display:inline-flex; align-items:center; gap:8px }
.utility a { color:white; text-decoration:none }
.utility a:hover { text-decoration:underline }
.utility svg { width:15px; height:15px; color:#ffa8b6 }
.header { background:#fff; position:relative; z-index:1 }
.nav-wrap { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:20px }
.brand { display:inline-flex; gap:11px; align-items:center; text-decoration:none; color:inherit; font-size:.91rem; font-weight:800; line-height:1.12; letter-spacing:.045em; white-space:nowrap }
.brand small { font-size:.68em; letter-spacing:.1em; font-weight:730; margin-left:2px }
.brand-mark { display:grid; place-items:center; position:relative; width:42px; height:42px; color:white; background:var(--red); border-radius:9px }
.brand-mark svg:first-child { fill:currentColor; stroke:none; width:31px;height:31px }
.brand-mark svg:last-child { position:absolute;width:26px;height:26px }
#site-nav { display:flex; align-items:center; gap:clamp(16px,2.6vw,39px) }
#site-nav > a:not(.btn) { color:var(--ink); font-size:.91rem; font-weight:700; text-decoration:none }
#site-nav > a:hover,#site-nav > [aria-current] { text-decoration:underline !important }
.menu { display:none }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:14px; padding:13px 20px; min-height:48px; width:fit-content; border:1px solid transparent; border-radius:5px; text-decoration:none; font-size:.91rem; font-weight:750; line-height:1.25; transition:background-color .18s,color .18s,border-color .18s }
.btn svg,.text-link svg { width:19px;height:19px }
.primary { color:white; background:var(--red) }
.primary:hover:not(:disabled) { background:var(--red-deep) }
.outline { color:white; border-color:#8290a5; background:transparent }
.outline:hover { background:#fff; color:var(--navy) }
.light { color:var(--ink); background:#fff }
.light:hover { background:var(--blush) }
.text-link { display:inline-flex; align-items:center; gap:10px; font-weight:750; white-space:normal }
.text-link:hover { color:var(--red-deep) }
.eyebrow { display:flex; align-items:center; gap:10px; font-size:.73rem; font-weight:800; line-height:1.35; letter-spacing:.15em; text-transform:uppercase; color:var(--red); margin-bottom:17px }
.eyebrow::before { content:""; width:23px; height:2px; background:currentColor; flex-shrink:0 }
.hero { display:grid; grid-template-columns:51% 49%; background:var(--navy); color:white; min-height:530px }
.hero-copy { display:flex; align-items:center; padding:clamp(48px,6vw,100px) 36px clamp(54px,6vw,100px) max(56px,calc((100vw - 1200px) / 2)); background:radial-gradient(ellipse at 0% 100%,#273b61,transparent 70%) }
.hero .eyebrow,.admit .eyebrow { color:#ffadba }
.hero h1 { font-size:clamp(3.1rem,5.1vw,5.4rem); letter-spacing:-.062em; line-height:1.01 }
.hero em { color:var(--rose); font-style:normal }
.hero p:not(.eyebrow) { margin-top:22px; color:#e4e9f3; max-width:38ch; font-size:clamp(1rem,1.4vw,1.18rem) }
.actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px }
.hero-image { position:relative; min-width:0; background:#3e4c62 }
.hero-image img { position:absolute; width:100%;height:100%; object-fit:cover; object-position:51% 43% }
.photo-tag { position:absolute; right:20px; bottom:20px; color:white; background:#131f37ed; padding:9px 12px; border-radius:4px; display:flex; align-items:center; gap:8px; font-size:.62rem; font-weight:760; letter-spacing:.08em }
.photo-tag span { width:7px;height:7px;border-radius:50%;background:#ff93a5 }
.photo-tag b { color:#ff93a5 }
.facts { display:grid; grid-template-columns:repeat(3,1fr); background:#fff; border:1px solid var(--border); border-top:none; border-radius:0 0 8px 8px }
.facts div { display:flex; align-items:center; gap:15px; padding:22px clamp(14px,3.1vw,42px) }
.facts div+div { border-left:1px solid var(--border) }
.facts svg { color:var(--red); width:26px;height:26px }
.facts strong,.facts small { display:block }
.facts strong { font-size:.96rem; line-height:1.3 }
.facts small { font-size:.8rem; color:var(--muted); margin-top:4px }
.section { padding-block:clamp(46px,6.4vw,95px) }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:27px }
.section-head p:not(.eyebrow),.training p:not(.eyebrow),.admit p:not(.eyebrow),.next p { margin-top:14px }
.section-head .text-link { padding-bottom:5px }
.program-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px }
.program-grid > div { display:flex }
.program { flex:1; min-width:0; background:#fff; border:1px solid var(--border); border-radius:9px; overflow:hidden; transition:border-color .18s,box-shadow .18s }
.program:hover { border-color:#a9223b;box-shadow:0 10px 32px #18284512 }
.program > a { color:var(--ink); display:flex; flex-direction:column; height:100%; padding:23px; text-decoration:none }
.program > a:focus-visible { outline-offset:-4px }
.program-top { display:flex;justify-content:space-between;align-items:center;margin-bottom:23px }
.tile-icon { display:inline-grid;place-items:center;background:var(--blush);color:var(--red);border-radius:7px;width:46px;height:46px;flex-shrink:0 }
.card-no { font:700 .76rem ui-monospace,monospace; color:#677185 }
.category { color:var(--red); text-transform:uppercase; font-size:.65rem; font-weight:800; letter-spacing:.1em; margin-bottom:8px }
.program h3 { margin-bottom:10px; max-width:18ch }
.program p:not(.category) { font-size:.94rem; margin-bottom:21px }
.program-link { display:flex; align-items:center; gap:8px; margin-top:auto; font-weight:750; font-size:.85rem; color:var(--red) }
.program-link svg { width:17px; height:17px }
.training { background:#f0f3f8; border-block:1px solid #e0e5ee }
.training-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(24px,6.5vw,90px); padding-block:clamp(38px,6vw,85px) }
.training-grid .text-link { margin-top:21px }
.training-art,.course-art { background-color:var(--blue); background-image:linear-gradient(#a7b7d025 1px,transparent 1px),linear-gradient(90deg,#a7b7d025 1px,transparent 1px),linear-gradient(145deg,#253d66,#14223c); background-size:26px 26px,26px 26px,auto; border-radius:9px; position:relative; overflow:hidden }
.training-art { min-height:300px; display:grid; place-items:center }
.training-art > svg { position:absolute; width:100%; height:49%; top:27%; left:0 }
.art-cross { color:#ffffff16 }
.art-cross svg { width:194px; height:194px; stroke-width:.7 }
.training-art > span { position:absolute; top:18px; left:20px; font:700 .69rem ui-monospace,monospace; color:#fff; letter-spacing:.1em }
.training-art b { color:#ff96a8 }
.campus-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px }
.campus-grid:not(.section-head + .campus-grid) { margin-top:23px }
.campus { min-height:172px; position:relative; isolation:isolate; overflow:hidden; display:flex; gap:17px; align-items:center; padding:25px; border-radius:8px; color:white; text-decoration:none; background:var(--blue) }
.campus::after { content:""; width:260px;height:260px; position:absolute; z-index:-1; right:-70px; bottom:-130px; border:1px solid #ffffff50; border-radius:50%; box-shadow:0 0 0 16px #ffffff16,0 0 0 35px #ffffff13,0 0 0 57px #ffffff0b,0 0 0 84px #ffffff0a; transition:transform .2s }
.campus:hover::after { transform:scale(1.2) }
.vegas,.course-art.las-vegas { background-color:#76243b }
.campus .tile-icon { background:#ffffff1b;color:#fff }
.campus > svg { margin-left:auto }
.campus div span { font-size:.68rem; font-weight:800; letter-spacing:.12em }
.campus h3 { font-size:clamp(1.85rem,3vw,3.1rem); margin-top:6px }
.admit { background:var(--navy); color:white }
.admit-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,6vw,90px); padding-block:clamp(43px,6vw,82px); align-items:center }
.admit p:not(.eyebrow) { color:#e3e9f4; max-width:39ch }
.admit .btn { margin-top:20px }
.admit ol { list-style:none; padding:0; margin:0; border-top:1px solid #ffffff40 }
.admit li { display:flex; align-items:center; gap:15px; padding:15px 0; border-bottom:1px solid #ffffff40; color:#dce4f1; font-size:.91rem }
.admit li b { font-family:ui-monospace,monospace; color:#ffa6b5 }
.admit li strong { display:block; color:#fff; font-size:1.02rem }
.inquiry { background:#f8edef; padding-block:clamp(42px,6vw,85px) }
.inquiry-grid { display:grid; grid-template-columns:.85fr 1.15fr; align-items:start; gap:clamp(24px,6vw,82px) }
.inquiry-intro { padding-top:clamp(0px,2.4vw,31px) }
.inquiry-intro p:not(.eyebrow) { margin-top:15px; max-width:35ch }
.call-card { display:flex; align-items:center; gap:13px; max-width:315px; border-top:1px solid #d7b9c0; margin-top:24px; padding-top:15px; text-decoration:none }
.call-card small,.call-card strong { display:block }
.call-card small { font-size:.68rem; font-weight:800; letter-spacing:.1em }
.call-card strong { font-size:1.4rem; letter-spacing:-.03em; line-height:1.3 }
.call-card > svg:last-child { margin-left:auto }
.form { background:#fff; border:1px solid #ead6da; border-radius:10px; padding:clamp(17px,3vw,35px); box-shadow:0 15px 44px #6629360c }
.form h3 { margin-bottom:6px }
.form-note { font-size:.82rem; margin-bottom:16px }
.fields { display:grid; grid-template-columns:1fr 1fr; gap:12px }
.field { display:block; font-size:.83rem; font-weight:700; min-width:0 }
.field span { color:var(--red) }
.field input { display:block; width:100%; min-height:42px; border:1px solid #aeb7c5; border-radius:4px; margin-top:3px; background:#fff; color:var(--ink); padding:6px 9px }
.fields .field:last-child { grid-column:1/-1 }
.form fieldset { padding:0; margin:16px 0; border:0; min-width:0 }
.form legend { font-size:.86rem; font-weight:750; margin-bottom:5px }
.checks { display:grid; grid-template-columns:1fr 1fr; gap:5px 12px }
.check { display:flex; align-items:flex-start; gap:6px; font-size:.83rem }
.check input { accent-color:var(--red); width:17px;height:17px; margin:2px 0 0; flex-shrink:0 }
.captcha { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,.8fr); align-items:end; gap:10px; margin-bottom:9px }
#captcha-image { min-height:25px; max-height:52px; font-size:.72rem }
.refresh { color:var(--red); background:none; border:0; padding:5px 0; text-align:left; text-decoration:underline; font-size:.77rem }
.banner { background:#ecf0f6; border-top:1px solid #e2e6ed; padding:18px 0 clamp(39px,6vw,84px) }
.crumb { display:flex; flex-wrap:wrap; align-items:center; gap:5px 9px; color:var(--muted); font-size:.83rem; margin-bottom:clamp(29px,5vw,64px) }
.crumb a { color:var(--ink) }
.banner-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:clamp(18px,5vw,66px); align-items:center }
.banner-grid > :only-child { grid-column:1/-1 }
.banner h1 { font-size:clamp(2.85rem,6vw,5.65rem); max-width:17ch }
.banner .lead { margin-top:17px; max-width:66ch; font-size:clamp(1rem,1.7vw,1.24rem) }
.banner .btn { margin-top:21px }
.course-art { display:grid; justify-items:center; align-content:center; gap:15px; min-height:235px; color:#fff }
.course-art.las-vegas { background-image:linear-gradient(#ffffff24 1px,transparent 1px),linear-gradient(90deg,#ffffff24 1px,transparent 1px),linear-gradient(145deg,#962b47,#54263e) }
.course-art svg { width:88px;height:88px; stroke-width:1; color:#ffc1c9 }
.course-art span { font:700 .72rem ui-monospace,monospace; letter-spacing:.15em }
.about-photo { width:100%; height:clamp(190px,27vw,330px); object-fit:cover; border-radius:8px }
.split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.62fr); gap:clamp(25px,7vw,95px); align-items:start }
.split:has(.prose) { grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr) }
.split + .split { border-top:1px solid var(--border) }
.split h2,.career-list h2 { font-size:clamp(1.8rem,3.4vw,3.2rem) }
.prose > * + * { margin-top:15px }
.detail-rows { border-top:1px solid var(--border); margin-block:19px }
.detail-rows article { display:flex; gap:18px; padding:17px 0; border-bottom:1px solid var(--border) }
.detail-rows article > span { font:700 .78rem ui-monospace,monospace; color:var(--red); padding-top:5px }
.detail-rows h3 { font-size:1.27rem; letter-spacing:-.028em; margin-bottom:6px }
.setting { margin-block:25px 7px }
.setting ~ .text-link { margin-top:18px }
.side-box { border-radius:9px; background:#fff; border:1px solid var(--border); padding:clamp(17px,3vw,32px) }
.side-box p:not(.eyebrow) { margin-block:10px 14px }
.side-box .aside-phone { font-size:.85rem; margin-bottom:0 !important }
.next { display:flex; align-items:center; justify-content:space-between; gap:19px; padding:clamp(20px,3vw,37px); border:1px solid #e8ccd3; background:var(--blush); border-radius:9px; margin-bottom:clamp(38px,6vw,75px) }
.next h2 { font-size:clamp(1.65rem,3.2vw,3rem) }
.next .btn { flex-shrink:0 }
.filters { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:21px }
.filters button { border:1px solid #bfc6d1; border-radius:40px; background:white; color:var(--ink); padding:7px 14px; font-size:.85rem; font-weight:700 }
.filters button[aria-pressed=true] { background:var(--navy); color:white; border-color:var(--navy) }
.career-list article { display:grid; grid-template-columns:32px 1fr auto; align-items:center; gap:17px; border-bottom:1px solid var(--border); padding:22px 0 }
.career-list article:first-child { border-top:1px solid var(--border) }
.career-list article > svg { color:var(--red) }
.career-list article .eyebrow { margin-bottom:7px }
.career-list article p:not(.eyebrow) { margin-top:7px }
details { border-bottom:1px solid var(--border); padding:13px 0; margin-top:0 !important }
details:first-child { border-top:1px solid var(--border) }
details summary { font-weight:750; cursor:pointer }
details p { margin:8px 0 0 15px }
.footer { color:#fff; background:var(--navy-deep); padding-top:44px }
.foot-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:24px }
.foot-grid > div > a:not(.brand) { display:block; color:#e1e6f0; text-decoration:none; font-size:.87rem; margin-top:7px }
.foot-grid > div > a:hover { text-decoration:underline }
.foot-grid p { color:#d4dceb; margin-top:13px; font-size:.85rem }
.foot-grid h2 { font-size:.94rem; letter-spacing:0; margin-bottom:13px }
.foot-grid .foot-phone { font-weight:750 }
.foot-note { border-top:1px solid #ffffff35; padding-block:15px; margin-top:27px; color:#d4dceb; font-size:.75rem }
@media (max-width:1050px) {
  :root { --wrap:calc(100% - 72px) }
  .hero-copy { padding-left:36px }
  .hero h1 { font-size:clamp(2.85rem,5.45vw,4.9rem) }
  .hero { min-height:485px }
}
@media (max-width:790px) {
  :root { --wrap:calc(100% - 40px) }
  .nav-wrap { min-height:69px; flex-wrap:wrap; gap:0 }
  .menu { display:inline-flex; align-items:center; gap:9px; min-height:42px; padding:6px 11px; color:var(--ink); background:#f2f4f7; border:1px solid #d8dce4; border-radius:5px; font-weight:750; font-size:.85rem }
  #site-nav { flex-basis:100%; gap:12px 18px; flex-wrap:wrap; padding:4px 0 15px }
  .menu:not([hidden]) + #site-nav:not(.open) { display:none }
  #site-nav.open { display:grid; gap:8px }
  #site-nav > a:not(.btn) { padding-block:6px }
  .hero { grid-template-columns:1fr; min-height:0 }
  .hero-copy { padding:42px 20px 40px }
  .hero h1 { font-size:clamp(2.95rem,8vw,5.2rem) }
  .hero-image { min-height:clamp(245px,61vw,480px) }
  .facts div { padding-inline:10px; gap:7px }
  .facts svg { width:20px;height:20px }
  .facts strong { font-size:.83rem }
  .facts small { font-size:.71rem }
  .program-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .inquiry-grid { grid-template-columns:1fr 1.1fr; gap:20px }
  .training-art { min-height:235px }
  .foot-grid { grid-template-columns:1fr 1fr }
}
@media (max-width:550px) {
  .utility { font-size:.7rem }
  .utility a span { display:none }
  .utility .wrap { gap:6px }
  .utility svg { width:13px;height:13px }
  .hero h1 { font-size:clamp(2.63rem,10vw,3.75rem) }
  .photo-tag { font-size:.54rem; right:10px; bottom:10px }
  .facts { grid-template-columns:1fr; margin-top:12px; border-top:1px solid var(--border); border-radius:7px }
  .facts div { padding:10px 12px; gap:12px }
  .facts div+div { border-left:0; border-top:1px solid var(--border) }
  .facts div span { display:flex; align-items:baseline; flex-wrap:wrap; gap:0 8px }
  .facts small { margin:0 }
  .section-head,.next { align-items:flex-start; flex-direction:column; gap:12px }
  .program-grid,.training-grid,.campus-grid,.admit-grid,.inquiry-grid,.banner-grid,.split,.split:has(.prose) { grid-template-columns:minmax(0,1fr) }
  .program-top { margin-bottom:15px }
  .program > a { padding:17px }
  .training-grid { gap:20px }
  .training-art { min-height:184px; order:2 }
  .campus { min-height:119px; padding:17px }
  .course-art { min-height:140px }
  .course-art svg { width:51px;height:51px }
  .banner h1 { font-size:clamp(2.6rem,10vw,3.5rem); overflow-wrap:anywhere }
  .checks { grid-template-columns:1fr }
  .career-list article { grid-template-columns:22px 1fr }
  .career-list article .text-link { grid-column:2 }
  .foot-grid { gap:20px 10px }
  .foot-grid .brand { font-size:.71rem; gap:5px }
  .foot-grid .brand-mark { width:32px;height:32px }
  .foot-grid .brand-mark svg:first-child { width:25px;height:25px }
  .foot-grid .brand-mark svg:last-child { width:19px;height:19px }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important }
}

