/*
Theme Name: Holy Crescent Horizon
Author: Holy Crescent Maritime College
Description: Bespoke, accessible maritime college website.
Version: 2.0.0
Text Domain: hcmc-horizon
*/
@font-face{font-family:'Libre Baskerville';src:url('assets/libre-baskerville.ttf') format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-700.ttf') format('truetype');font-weight:600 800;font-style:normal;font-display:swap}
:root{--bg:#FFFFFF;--surface:#F2F6FA;--ink:#071A32;--accent:#165EBC;--muted:#526176;--line:#DCE4ED;--deep:#071A32;--light:#DCE4ED;--font-display:'Libre Baskerville',serif;--font-body:Manrope,sans-serif;--radius:4px;--space:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}a:hover{text-decoration:none}p{margin:0 0 1.25rem;color:var(--muted);max-width:65ch}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.05;margin:0 0 1.25rem;letter-spacing:-.015em}h1{font-size:clamp(3.4rem,7.3vw,7rem)}h2{font-size:clamp(2.65rem,4.5vw,4.3rem)}h3{font-size:1.8rem}figure{margin:0}[hidden]{display:none!important}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:100px}.surface{background:var(--surface)}.eyebrow{font:700 .78rem/1.5 var(--font-body);letter-spacing:.14em;margin-bottom:24px;color:inherit}.meta{font-size:.8rem;color:var(--muted)}.note{font-size:.85rem;line-height:1.65}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:var(--accent);z-index:100}.skip:focus{top:10px}.utility{background:var(--ink);color:var(--light);font-size:.75rem;letter-spacing:.025em}.utility .wrap{display:flex;justify-content:space-between;padding-block:8px}.site-header{background:var(--bg);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.nav-wrap{height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;line-height:1.25}.brand img{width:54px;height:54px;object-fit:contain}.brand span{font:600 1.58rem/1.05 var(--font-display);letter-spacing:.01em}.brand small{display:block;font:700 .67rem/1.8 var(--font-body);letter-spacing:.19em}nav{display:flex;gap:28px;align-items:center}nav>a{font-size:.85rem;font-weight:700;white-space:nowrap}nav>a:not(.button):hover{color:var(--muted);text-decoration:underline;text-underline-offset:7px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--accent);color:var(--ink);font:700 .88rem/1.3 var(--font-body);padding:19px 26px;border:1px solid var(--accent);border-radius:var(--radius);transition:transform .2s,opacity .2s;min-height:52px}.button:hover{transform:translateY(-2px);opacity:.92}.button:active{transform:translateY(1px)}.button.small{padding:15px 20px;gap:24px;min-height:48px}.button span{font-size:1.25rem}.button.outline{background:transparent;border-color:var(--ink)}.text-link{font-weight:700;font-size:.9rem;display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link:hover{border-color:var(--accent)}.light{color:var(--bg);border-color:var(--light)}.menu-toggle{display:none}.hero{background:var(--ink);color:var(--bg);overflow:hidden}.hero-grid{display:grid;grid-template-columns:.93fr 1.07fr;align-items:stretch;min-height:610px}.hero-copy{padding:78px 38px 80px 0;position:relative;z-index:1;align-self:center}.hero h1{font-size:clamp(3.4rem,6.7vw,6.65rem);line-height:.99;letter-spacing:-.015em;margin-bottom:26px}.hero h1 span{color:var(--accent)}.hero-copy>p:not(.eyebrow){font-size:1rem;color:var(--light);max-width:39ch;line-height:1.8;margin-bottom:32px}.hero-photo{margin-right:calc((min(1280px,100vw - 112px) - 100vw)/2);position:relative;min-width:0}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:44% center}.actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.actions .text-link{font-size:.82rem}.credentials{background:var(--surface);border-bottom:1px solid var(--line)}.credentials .wrap{display:grid;grid-template-columns:1fr 1fr 1.3fr;padding-block:30px;gap:40px}.credentials .wrap>div{display:flex;flex-direction:column;border-right:1px solid var(--line)}.credentials .wrap>div:last-child{border:0}.credentials strong{font-size:.98rem}.credentials span{font-size:.8rem;color:var(--muted)}.section-title{max-width:650px;margin-bottom:48px}.section-title p:not(.eyebrow){max-width:50ch}.course-list{border-top:1px solid var(--line)}.course-row{display:grid;grid-template-columns:100px 1fr 175px 48px;align-items:center;gap:24px;padding:30px 0;border-bottom:1px solid var(--line)}.course-code{font:600 1.7rem/1 var(--font-display);color:var(--muted)}.course-row h3{font-size:1.9rem;margin:6px 0 8px;max-width:35ch}.course-row h3 a:hover{text-decoration:underline;text-underline-offset:4px}.course-row p{font-size:.85rem;margin:0}.course-duration{font-size:.9rem;font-weight:700}.course-duration small{display:block;color:var(--muted);font-weight:400;font-size:.8rem;margin-top:5px}.row-link{display:flex;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;font-size:1.5rem;transition:background .2s}.row-link:hover{background:var(--accent);border-color:var(--accent)}.after-list{display:flex;justify-content:space-between;gap:35px;align-items:center;margin-top:28px}.after-list p{font-size:.8rem;max-width:65ch;margin:0}.after-list a{white-space:nowrap}.campus-story{background:var(--ink);color:var(--bg);padding:80px 0}.story-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center}.story-photo img{width:100%;aspect-ratio:1.1;object-fit:cover;object-position:25% center}.story-copy p{color:var(--light);font-size:.95rem}.story-copy h2{font-size:clamp(2.75rem,4vw,4rem)}.story-copy a{margin-top:15px}.admissions-steps{display:grid;grid-template-columns:1fr 1fr;gap:110px}.admissions-steps>div p{max-width:40ch}.admissions-steps ol{list-style:none;margin:0;padding:0;counter-reset:steps}.admissions-steps li{border-top:1px solid var(--line);padding:26px 0 24px 0}.admissions-steps li h3{margin-bottom:10px;font-size:2rem}.admissions-steps li p{font-size:.9rem;margin:0}.wide-photo{display:grid;grid-template-columns:1.4fr .6fr;background:var(--surface);align-items:center}.wide-photo img{width:100%;height:390px;object-fit:cover}.wide-photo>div{padding:35px}.wide-photo h2{font-size:3rem}.wide-photo p{font-size:.85rem}.faq-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.faq-section details{padding:22px 0;border-bottom:1px solid var(--line)}.faq-section details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-weight:700;list-style:none;padding-right:32px;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;font-size:1.3rem;top:-3px}details[open] summary:after{content:'−'}details p{padding-top:15px;font-size:.9rem;margin-bottom:0}.admissions-band{background:var(--accent);padding:55px 0}.admissions-band>.wrap{display:flex;justify-content:space-between;gap:35px;align-items:center}.admissions-band h2{font-size:3.5rem;margin-bottom:10px}.admissions-band p{color:var(--ink);margin:0}.admissions-band .button{background:var(--ink);color:var(--bg);border-color:var(--ink);min-width:185px}footer{background:var(--deep);color:var(--bg);padding:68px 0 28px}footer p{color:var(--light);font-size:.84rem}footer a:hover{color:var(--accent)}.footer-grid{display:grid;grid-template-columns:1.3fr .6fr .9fr 1.1fr;gap:45px}.footer-grid>div:not(:first-child)>a{display:block;font-size:.82rem;margin-bottom:8px}.footer-grid h3{font:700 .9rem var(--font-body);margin-bottom:22px}.footer-brand{margin-bottom:25px}.footer-approval{font-size:.75rem;border-bottom:1px solid var(--muted);padding-bottom:7px;display:inline-block}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--muted);margin-top:50px;padding-top:25px;color:var(--light);font-size:.75rem;gap:30px}.footer-bottom>div{display:flex;gap:24px}.whatsapp{position:fixed;bottom:20px;right:24px;display:flex;align-items:center;gap:9px;border:1px solid var(--light);background:var(--ink);color:var(--bg);padding:12px 17px;border-radius:4px;font-size:.8rem;font-weight:700;z-index:15}.whatsapp:hover{background:var(--deep)}.page-intro{background:var(--ink);color:var(--bg);padding:30px 0 70px}.breadcrumb{display:flex;gap:12px;font-size:.78rem;color:var(--light);margin-bottom:40px;flex-wrap:wrap}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.page-intro h1{max-width:1000px;white-space:pre-line;font-size:clamp(3rem,6.7vw,6rem)}.page-intro>div>p:not(.eyebrow){max-width:65ch;color:var(--light);margin-bottom:0}.course-controls{display:flex;gap:35px;justify-content:space-between;align-items:end;margin-bottom:25px}.course-controls label{width:40%;font-weight:700;font-size:.85rem}.course-controls input{margin-top:10px}.filters{display:flex;gap:10px;flex-wrap:wrap}.filter{background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:14px 22px;border-radius:4px;font-size:.86rem;min-height:50px}.filter.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}input,select,textarea{display:block;width:100%;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:14px 15px;border-radius:4px;font-size:1rem;min-width:0}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{resize:vertical;min-height:120px}.course-list+.note{margin-top:30px}.course-detail{display:grid;grid-template-columns:1.35fr .65fr;gap:95px;align-items:start}.course-detail h2{font-size:2.8rem;margin-top:45px}.course-detail article>h2:first-child{margin-top:0}.course-detail .prose{font-size:1.08rem}.course-intro h1{font-size:clamp(3rem,5vw,5rem);max-width:950px}.course-aside{background:var(--surface);padding:30px;position:sticky;top:125px}.course-aside h2{margin-top:0;font-size:2.4rem}.course-aside dl{margin:25px 0}.course-aside dl>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.88rem}.course-aside dt{color:var(--muted)}.course-aside dd{margin:0;font-weight:700}.course-aside .button{display:flex;font-size:.8rem;gap:12px;padding:17px}.aside-call{display:block;text-align:center;font-weight:700;font-size:.82rem;margin-top:18px}.checklist{list-style:none;padding:0}.checklist li{padding:12px 0;border-bottom:1px solid var(--line)}.checklist li:before{content:'✓';color:var(--ink);margin-right:15px}.detail-photo{margin-top:36px;width:100%;max-height:360px;object-fit:cover}.batch-list{padding:0;list-style:none;margin-bottom:26px}.batch-list li{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.batch-list li>time{font-weight:700}.batch-list span{font-size:.85rem;color:var(--muted)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-layout img{aspect-ratio:1;object-fit:cover}.about-layout p{font-size:.95rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:90px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:55px 35px}.gallery-wide{grid-column:1/-1}.gallery figure img{width:100%;height:330px;object-fit:cover}.gallery .gallery-wide img{height:auto;max-height:580px;object-fit:cover}.gallery figcaption{padding-top:24px}.gallery h2{font-size:2.2rem;margin-bottom:10px}.gallery figcaption p{font-size:.9rem;margin-bottom:8px}.schedule-list article{display:grid;grid-template-columns:155px 1fr 100px;gap:30px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.schedule-list article:first-child{border-top:1px solid var(--line)}.schedule-list time{font-weight:700;font-size:.95rem}.schedule-list h2{font-size:2rem;margin-bottom:8px}.schedule-list p{font-size:.85rem;margin:0}.notice{padding:36px;margin-top:45px}.notice h2{font-size:2.4rem}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.contact-info h2{font-size:3rem}.big-phone{font:600 2.8rem var(--font-display);display:block;margin-bottom:12px}.contact-info>p{font-size:.9rem}.email-link{display:block;margin-bottom:8px;overflow-wrap:anywhere;font-size:.9rem}.contact-info>.button{margin-top:25px}.address{margin-top:45px}.address h3{font-size:2rem}.address p{font-size:.92rem}.contact-photo{margin-top:32px;max-height:250px;width:100%;object-fit:cover}.form-panel{padding:40px;background:var(--surface)}.form-panel h2{font-size:3rem}.form-panel>p{font-size:.9rem}.form-panel label{font-size:.86rem;font-weight:700;display:block;margin-bottom:20px}.form-panel input,.form-panel textarea,.form-panel select{margin-top:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.consent{display:flex!important;gap:12px;font-weight:400!important;line-height:1.6}.consent input{width:19px;height:19px;margin-top:4px;flex-shrink:0;accent-color:var(--ink)}.consent a{text-decoration:underline}.form-panel .button{width:100%}.form-panel .note{margin:18px 0 0;font-size:.78rem}.honeypot{position:absolute;left:-9999px;height:1px;overflow:hidden}#form-status:not(:empty){margin-top:20px;padding:16px;border:1px solid var(--ink);background:var(--bg);font-size:.9rem}#form-status.error{border-width:2px}#form-status.success{border-left:5px solid var(--ink)}.prose h2{font-size:2.6rem;margin-top:45px}.prose a{text-decoration:underline}.prose li{margin-bottom:12px}.narrow{max-width:850px}.prose p{max-width:70ch}
@media(min-width:1600px){.hero-grid{min-height:650px}.hero h1{font-size:7rem}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}nav{gap:18px}.brand span{font-size:1.35rem}.brand img{width:46px;height:46px}.brand small{font-size:.58rem}.hero-grid{min-height:555px}.hero-photo{margin-right:-32px}.hero-copy{padding-block:60px}.hero h1{font-size:6.9vw}.hero .actions{gap:20px}.hero .actions .button{padding:17px 20px}.footer-grid{gap:25px;grid-template-columns:1.1fr .6fr .9fr 1fr}.footer-grid .brand{gap:8px}.course-detail{gap:50px}.contact-grid{gap:45px}.faq-section{gap:50px}.story-grid{gap:45px}.section{padding-block:80px}}
@media(max-width:950px){.nav-wrap{height:80px}.menu-toggle{display:flex;align-items:center;gap:14px;background:var(--bg);color:var(--ink);padding:12px;border:1px solid var(--line);font-size:.85rem;border-radius:4px}nav{display:none;position:absolute;top:80px;left:0;right:0;padding:22px 32px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 12px 20px #071A3212}nav.open{display:flex;flex-wrap:wrap;gap:24px}nav>a{padding:8px}.hero-grid{min-height:500px;grid-template-columns:1.05fr 1fr}.hero-copy{padding-right:25px}.hero h1{font-size:7.2vw}.hero .eyebrow{font-size:.66rem}.hero-copy>p:not(.eyebrow){font-size:.9rem}.hero .actions{align-items:start;flex-direction:column}.credentials .wrap{gap:25px}.credentials strong{font-size:.86rem}.credentials span{font-size:.75rem}.course-row{grid-template-columns:70px 1fr 130px 44px;gap:18px}.course-row h3{font-size:1.7rem}.course-code{font-size:1.35rem}.admissions-steps{gap:60px}.footer-grid{grid-template-columns:1fr 1fr;gap:45px}.story-photo img{aspect-ratio:.85}.wide-photo>div{padding:25px}.wide-photo h2{font-size:2.5rem}.course-controls{align-items:start;flex-direction:column;gap:22px}.course-controls label{width:100%}.course-detail{grid-template-columns:1fr .8fr;gap:35px}.course-aside{padding:22px}.contact-grid{grid-template-columns:1fr 1.1fr;gap:30px}.form-panel{padding:25px}.form-grid{grid-template-columns:1fr;gap:0}.contact-info h2{font-size:2.6rem}.big-phone{font-size:2.2rem}.about-layout{gap:40px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.section{padding-block:60px}.utility .wrap{font-size:.66rem;gap:12px}.utility span{max-width:45%}.utility a{align-self:center}.brand span{font-size:1.35rem}.brand img{width:44px;height:44px}.nav-wrap{gap:16px;height:76px}nav{top:76px;padding:20px;flex-direction:column;align-items:stretch}nav>a{font-size:1rem}nav.open{gap:10px}nav .button{justify-content:center}.menu-toggle{font-size:.78rem;padding:10px}.hero-grid{display:flex;flex-direction:column;min-height:0;width:100%}.hero-copy{padding:44px 20px 40px;align-self:stretch}.hero .eyebrow{font-size:.64rem;margin-bottom:18px}.hero h1{font-size:clamp(3.4rem,14.3vw,5.7rem);margin-bottom:20px}.hero-copy>p:not(.eyebrow){font-size:.9rem;max-width:43ch;margin-bottom:24px}.hero .actions{flex-direction:row;align-items:center;gap:22px}.hero .actions .button{font-size:.8rem;min-height:48px;padding:15px 19px;gap:17px}.hero .actions .text-link{font-size:.77rem}.hero-photo{height:245px;margin:0;width:100%}.hero-photo img{object-position:center 45%}.credentials .wrap{grid-template-columns:1fr 1fr;gap:20px;padding-block:25px}.credentials .wrap>div:nth-child(2){border:0}.credentials .wrap>div:last-child{grid-column:1/-1;border-top:1px solid var(--line);padding-top:17px;flex-direction:row;gap:15px;align-items:center}.credentials .wrap>div:last-child span{font-size:.7rem}.section-title{margin-bottom:30px}h2{font-size:2.8rem}.eyebrow{font-size:.7rem}.course-row{grid-template-columns:1fr 43px;gap:12px;padding:25px 0}.course-code{display:none}.course-row>div:nth-child(2){grid-column:1}.course-row h3{font-size:1.85rem;margin-top:5px;max-width:28ch}.course-row p{font-size:.79rem}.course-duration{grid-column:1;grid-row:2;display:flex;gap:15px;align-items:center;font-size:.8rem}.course-duration small{margin:0;font-size:.78rem}.row-link{grid-column:2;grid-row:1/3;width:43px;height:43px}.after-list{flex-direction:column;align-items:start;gap:20px}.after-list p{font-size:.75rem}.campus-story{padding:0 0 50px}.story-grid{display:flex;flex-direction:column;gap:35px;width:100%}.story-photo{width:100%}.story-photo img{height:310px;aspect-ratio:auto}.story-copy{padding-inline:20px}.story-copy h2{font-size:2.8rem}.admissions-steps{grid-template-columns:1fr;gap:32px}.admissions-steps li{padding-block:22px}.wide-photo{grid-template-columns:1fr}.wide-photo img{height:265px}.wide-photo>div{padding:30px}.wide-photo h2{font-size:2.8rem}.faq-section{grid-template-columns:1fr;gap:20px}.faq-section>h2 br{display:none}summary{font-size:.91rem}.admissions-band{padding:40px 0}.admissions-band>.wrap{flex-direction:column;align-items:start;gap:25px}.admissions-band h2{font-size:3rem}.admissions-band p{font-size:.9rem}.admissions-band .button{min-width:180px}footer{padding:48px 0 85px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid h3{margin-bottom:15px}.footer-grid>div:not(:first-child)>a{font-size:.86rem}.footer-bottom{flex-direction:column;gap:15px;margin-top:35px;padding-top:22px;font-size:.68rem}.footer-bottom>div{gap:16px;flex-wrap:wrap}.whatsapp{right:14px;bottom:14px;padding:11px 14px;font-size:.75rem}.page-intro{padding:24px 0 44px}.breadcrumb{margin-bottom:30px;font-size:.72rem}.page-intro h1{font-size:3.4rem}.page-intro>div>p:not(.eyebrow){font-size:.9rem}.course-intro h1{font-size:3rem}.course-detail{display:flex;flex-direction:column;gap:35px}.course-detail article{order:2}.course-aside{position:static;width:100%;order:1;padding:25px}.course-aside h2{font-size:2.4rem}.course-detail h2{font-size:2.4rem}.course-aside dl{margin:15px 0}.course-aside .button{justify-content:center}.filters{gap:8px}.filter{font-size:.8rem;padding:11px 15px;min-height:46px}.about-layout,.two-col{grid-template-columns:1fr;gap:35px}.about-layout img{aspect-ratio:1.5}.gallery{grid-template-columns:1fr;gap:36px}.gallery-wide{grid-column:auto}.gallery figure img{height:250px}.gallery .gallery-wide img{height:260px;object-fit:cover}.gallery figcaption{padding-top:18px}.gallery h2{font-size:2rem}.schedule-list article{grid-template-columns:1fr auto;gap:12px;padding-block:24px}.schedule-list time{grid-column:1/-1;font-size:.85rem}.schedule-list article>div{grid-column:1}.schedule-list article>a{font-size:.8rem;white-space:nowrap}.schedule-list h2{font-size:1.7rem}.notice{padding:25px}.notice h2{font-size:2rem}.contact-grid{display:flex;flex-direction:column;gap:40px}.contact-info,.form-panel{width:100%}.form-panel{padding:25px 20px}.contact-photo{max-height:220px}.form-panel h2{font-size:2.6rem}.form-panel label{font-size:.86rem}.consent{font-size:.8rem!important}.prose h2{font-size:2.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header,.utility,.whatsapp,.admissions-band,footer,.menu-toggle,.actions{display:none!important}.wrap{width:100%}.section{padding-block:25px}.hero,.page-intro{background:var(--bg);color:var(--ink)}.hero h1 span,.hero p,.page-intro p{color:var(--ink)!important}.course-aside{position:static}.hero-photo{max-height:250px}.course-detail{display:block}a{text-decoration:underline}}
@media(max-width:700px){.whatsapp span{display:none}.whatsapp{padding:13px;border-radius:50%}.contact-grid .form-panel{order:-1}}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:var(--ink)}.hero a:focus-visible,footer a:focus-visible,.page-intro a:focus-visible,.campus-story a:focus-visible{outline-color:var(--accent)}

/* Bluewater: photographic collegiate redesign */
:root{--radius:2px}body{line-height:1.75}h1,h2,h3{font-weight:400;line-height:1.22;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,5.1vw,4.7rem)}h2{font-size:clamp(2rem,3.1vw,2.9rem)}h3{font-size:1.45rem;line-height:1.35}p{font-size:1rem}.section{padding-block:104px}.wrap{width:min(1280px,calc(100% - 96px))}.eyebrow{font:700 .69rem/1.6 var(--font-body);letter-spacing:.16em;color:var(--accent);margin-bottom:22px}.button{background:var(--accent);color:var(--bg);border-color:var(--accent);border-radius:2px;font-size:.83rem;font-weight:700;min-height:54px;gap:25px;padding:18px 25px}.button.outline{color:var(--ink)}.text-link{font-size:.82rem;display:inline-flex;gap:24px;align-items:center;padding-bottom:8px;border-color:var(--line)}.text-link:hover{color:var(--accent)}.utility{font-size:.72rem;color:var(--light);letter-spacing:0}.utility .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px 24px;padding-block:10px}.utility-address{display:flex;align-items:center;gap:10px}.utility-phones{display:flex;gap:24px;margin-left:auto}.utility a{white-space:nowrap}.utility a:hover{text-decoration:underline}.nav-wrap{height:110px;gap:25px}.brand{gap:13px}.brand img{height:72px;width:72px}.brand span{font:700 1.22rem/1.2 var(--font-display);letter-spacing:-.035em}.brand b{display:block;font-weight:700}.brand small{font:700 .62rem/1.5 var(--font-body);letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-top:9px}nav{gap:26px}nav>a{font-size:.8rem}.button.small{padding:16px 20px}.hero{position:relative;min-height:660px;background:var(--ink);isolation:isolate}.hero-backdrop{position:absolute;inset:0;z-index:-2}.hero-backdrop img{width:100%;height:100%;object-fit:cover;object-position:70% 57%}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,26,50,.93),rgba(7,26,50,.57) 50%,rgba(7,26,50,.1))}.hero-inner{min-height:660px;display:flex;flex-direction:column;justify-content:center;position:relative;padding-top:30px;padding-bottom:90px}.hero-copy{padding:50px 0;max-width:780px;align-self:auto}.hero .eyebrow{color:var(--light);font-size:.67rem}.hero h1{font-size:clamp(2.65rem,4.6vw,4.6rem);line-height:1.2;letter-spacing:-.04em;margin-bottom:28px}.hero h1 em{font-weight:400;font-style:normal;color:var(--bg)}.hero-copy>p:not(.eyebrow){font-size:1.05rem;max-width:44ch;line-height:1.8;color:var(--light);margin-bottom:32px}.hero .actions{flex-direction:row;align-items:center;gap:28px}.hero-secondary{font-size:.82rem;color:white;display:flex;gap:16px;align-items:center;border-bottom:1px solid #ffffff66;padding:12px 0}.hero-bottom{position:absolute;bottom:27px;left:0;right:0;display:flex;justify-content:space-between;border-top:1px solid #ffffff40;padding-top:22px;font-size:.65rem;letter-spacing:.14em}.hero-bottom a{letter-spacing:0;font-size:.75rem}.credentials{background:white}.credentials .wrap{padding-block:32px;grid-template-columns:1fr 1fr 1fr;gap:30px}.credentials .wrap>div{flex-direction:row;align-items:center;gap:18px}.credentials .wrap>div>div{display:flex;flex-direction:column}.credentials strong{font-size:.87rem}.credentials span{font-size:.73rem}.credential-icon{font:400 1.9rem var(--font-display)!important;color:var(--accent)!important}.welcome{display:grid;grid-template-columns:1.08fr 1fr;gap:90px;align-items:center}.welcome-pictures{position:relative;padding-bottom:80px}.welcome-main{margin-right:35px}.welcome-main img{width:100%;height:auto}.welcome-small{width:61%;margin-top:-25px;margin-left:auto;border:9px solid white;position:relative}.welcome-small img{width:100%;height:auto}.photo-caption{font-size:.67rem;position:absolute;bottom:34px;left:0;letter-spacing:.03em;color:var(--muted)}.welcome h2{margin-bottom:28px}.welcome-copy p{font-size:.95rem}.welcome-copy .text-link{margin-top:12px}.section-heading{display:flex;justify-content:space-between;gap:80px;align-items:end;margin-bottom:46px}.section-heading>div:first-child{flex:1.1}.section-heading>div:last-child,.section-heading>p{flex:.8;max-width:400px}.section-heading h2{margin-bottom:0}.section-heading p{font-size:.93rem}.section-heading p.eyebrow{font-size:.69rem}.course-list{display:grid;grid-template-columns:1fr 1fr;gap:32px;border:0}.course-row{display:flex;flex-direction:column;align-items:stretch;padding:0;gap:0;border:1px solid var(--line);background:white;min-width:0}.course-image{display:block;position:relative;overflow:hidden;aspect-ratio:1.95}.course-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.course-row:hover .course-image img{transform:scale(1.025)}.course-image>span{position:absolute;bottom:18px;left:24px;background:var(--ink);color:white;padding:7px 13px;font-size:.7rem;font-weight:700;letter-spacing:.04em}.course-card-body{padding:26px 28px 25px;display:flex;flex-direction:column;flex:1}.course-card-meta{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:.69rem}.course-card-meta>span:first-child{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.course-row h3{font:400 clamp(1.3rem,1.8vw,1.7rem)/1.35 var(--font-display);letter-spacing:-.035em;margin:17px 0 12px;max-width:100%}.course-row p{font-size:.85rem;margin-bottom:24px}.course-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:auto;border-top:1px solid var(--line);padding-top:20px}.course-card-bottom>span{font-size:.91rem;font-weight:700}.course-card-bottom small{font-size:.64rem;font-weight:400;color:var(--muted);display:block;margin-top:2px}.course-card-bottom .text-link{font-size:.76rem}.after-list p{font-size:.72rem;max-width:68ch}.after-list{margin-top:30px}.campus-panorama img{width:100%;height:auto;max-height:none}.campus-feature-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:25px}.campus-feature-bottom p{font-size:.87rem;margin:0}.campus-feature-bottom strong{color:var(--ink);font-weight:400}.journey{background:var(--ink);color:white;padding:80px 0}.journey-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:stretch}.journey-photo{position:relative;max-height:670px;overflow:hidden}.journey-photo img{width:100%;height:100%;object-fit:cover}.journey-photo span{position:absolute;left:25px;bottom:25px;color:white;background:var(--ink);padding:12px;font-size:.72rem}.journey-copy{padding-block:20px}.journey-copy .eyebrow{color:var(--light)}.journey-copy p{color:var(--light);font-size:.92rem}.journey-copy h2{font-size:clamp(2rem,3vw,2.8rem)}.journey-copy ol{list-style:none;padding:0;margin:32px 0}.journey-copy li{display:flex;gap:24px;padding:20px 0;border-top:1px solid #ffffff30}.journey-copy li>span{font:400 1.5rem var(--font-display);color:var(--light)}.journey-copy li h3{font:700 1rem var(--font-body);letter-spacing:0;margin-bottom:8px}.journey-copy li p{font-size:.82rem;margin:0}.faq-section{gap:100px}.faq-section h2{font-size:2.7rem}.faq-section summary{font-size:.9rem}.admissions-band{background:var(--surface);padding:64px 0}.admissions-band h2{font-size:2.5rem}.admissions-band p{font-size:.95rem;color:var(--muted)}.admissions-band .button{background:var(--accent);border-color:var(--accent)}footer{padding-top:75px}.footer-grid{grid-template-columns:1.2fr .6fr 1fr 1.15fr;gap:35px}.footer-brand span{font-size:1rem;line-height:1.3}.footer-brand img{width:54px;height:54px}.footer-brand small{color:var(--light);font-size:.55rem}.footer-grid>div:not(:first-child)>a{overflow-wrap:anywhere}.footer-grid h3{font-size:.83rem;letter-spacing:0}.footer-bottom{font-size:.68rem}.whatsapp{border-radius:28px;padding:12px 18px;box-shadow:0 3px 16px #071a3222}.page-intro{padding:30px 0 66px;background:var(--ink)}.page-intro h1,.course-intro h1{font-size:clamp(2.35rem,4.5vw,4rem);max-width:1040px;line-height:1.22}.page-intro .eyebrow{color:var(--light)}.page-intro>div>p:not(.eyebrow){font-size:.95rem;max-width:70ch}.breadcrumb{margin-bottom:32px;font-size:.7rem}.course-detail{gap:65px;grid-template-columns:1.35fr .7fr}.course-detail h2{font-size:2rem}.course-feature-photo{margin:0 0 40px}.course-feature-photo img{width:100%;max-height:450px;object-fit:cover}.course-feature-photo figcaption{font-size:.66rem;color:var(--muted);padding-top:8px}.course-aside{top:135px;border-top:3px solid var(--accent)}.course-aside h2{font-size:1.7rem}.course-aside .button{font-size:.75rem}.detail-photo{height:auto;max-height:none;object-fit:contain}.about-layout{gap:70px}.about-layout img{aspect-ratio:auto;object-fit:contain}.about-layout h2{font-size:2.2rem}.two-col h2{font-size:2.6rem}.gallery{gap:55px 35px}.gallery figure img,.gallery .gallery-wide img{height:auto;max-height:none;object-fit:contain}.gallery .gallery-wide{max-width:1280px}.gallery h2{font-size:1.65rem}.full-photo{display:block;position:relative}.full-photo-label{position:absolute;bottom:14px;right:14px;background:var(--ink);color:white;padding:7px 12px;font-size:.68rem}.schedule-list article{grid-template-columns:110px 1fr 160px 90px;gap:24px}.schedule-list h2{font-size:1.35rem;line-height:1.4}.schedule-thumb img{width:110px;height:85px;object-fit:cover}.schedule-date{display:flex;flex-direction:column;font-size:.85rem}.schedule-date>span{font-size:.7rem;color:var(--muted)}.schedule-date strong{font-size:1.1rem}.schedule-date small{font-size:.65rem}.notice h2{font-size:1.8rem}.tbd{padding:15px 20px;background:var(--surface)}.contact-info h2,.form-panel h2{font-size:2rem}.big-phone{font:700 1.7rem var(--font-body);letter-spacing:-.04em}.address h3{font-size:1.5rem}.contact-photo{height:auto;max-height:none;object-fit:contain}.contact-grid{gap:70px}.form-panel{border-top:3px solid var(--accent)}.prose h2{font-size:2rem}.prose p,.prose li{font-size:.97rem}
@media(min-width:1600px){.hero h1{font-size:4.8rem}.hero-inner,.hero{min-height:730px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.utility .wrap{justify-content:flex-start}.utility-phones{margin-left:0}.nav-wrap{height:100px}.brand span{font-size:1.05rem}.brand img{width:62px;height:62px}nav{gap:18px}nav>a{font-size:.73rem}.welcome{gap:50px}.section{padding-block:80px}.hero-inner,.hero{min-height:600px}.hero h1{font-size:4rem}.hero-copy{max-width:690px}.journey-grid{gap:50px}.section-heading{gap:45px}.footer-grid{grid-template-columns:1fr 1fr;gap:45px}.course-detail{gap:40px}.contact-grid{gap:40px}.faq-section{gap:60px}}
@media(max-width:950px){.menu-toggle{display:flex}.nav-wrap{height:94px}nav{top:94px;padding:24px 32px}nav.open{gap:15px;flex-direction:column;align-items:stretch}nav.open a{padding:12px}nav.open .button{justify-content:center}.hero h1{font-size:3.3rem}.hero-copy{max-width:620px}.hero .actions{flex-direction:row;align-items:center}.hero-copy>p:not(.eyebrow){font-size:.95rem}.credentials .wrap{gap:18px}.credentials .wrap>div{gap:12px}.credentials strong{font-size:.75rem}.credentials span{font-size:.66rem}.credential-icon{font-size:1.45rem!important}.welcome{gap:35px}.welcome h2{font-size:2.1rem}.welcome-small{width:80%;margin-top:10px}.welcome-main{margin-right:0}.section-heading{align-items:start}.course-card-body{padding:22px}.course-card-bottom{align-items:start;flex-direction:column;gap:15px}.journey-grid{grid-template-columns:.75fr 1fr;gap:35px}.faq-section h2{font-size:2.1rem}.course-detail{grid-template-columns:1fr .75fr;gap:30px}.course-aside{padding:22px}.course-aside h2{font-size:1.5rem}.contact-grid{grid-template-columns:1fr 1.1fr;gap:28px}.about-layout{gap:35px}.schedule-list article{grid-template-columns:80px 1fr 120px;gap:20px}.schedule-thumb img{width:80px;height:75px}.schedule-list article>.text-link{grid-column:2}.schedule-list h2{font-size:1.2rem}.admissions-band h2{font-size:2rem}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.section{padding-block:62px}.utility .wrap{gap:8px;font-size:.64rem;padding-block:10px}.utility-address{gap:7px;width:100%;line-height:1.65}.utility-phones{width:100%;gap:19px;flex-wrap:wrap;font-size:.65rem}.utility .wrap>a{font-size:.65rem}.nav-wrap{height:90px;gap:12px}.brand img{width:56px;height:56px}.brand span{font-size:.95rem}.brand small{font-size:.51rem;margin-top:6px}.brand{gap:10px}.menu-toggle{font-size:.72rem;padding:10px;gap:8px}nav{top:90px;padding:20px}nav>a{font-size:.88rem}.hero,.hero-inner{min-height:605px}.hero-inner{padding-top:10px;padding-bottom:74px}.hero-copy{padding:38px 0;max-width:100%}.hero h1{font-size:clamp(2.3rem,7.2vw,3rem);line-height:1.24;margin-bottom:24px}.hero .eyebrow{font-size:.58rem;letter-spacing:.1em;max-width:35ch}.hero-copy>p:not(.eyebrow){font-size:.9rem;max-width:33ch}.hero .actions{gap:19px;flex-direction:column;align-items:start}.hero .button{font-size:.8rem}.hero-secondary{font-size:.78rem}.hero-backdrop img{object-position:60% center}.hero:after{background:linear-gradient(90deg,rgba(7,26,50,.9),rgba(7,26,50,.48))}.hero-bottom{font-size:.54rem;letter-spacing:.07em;bottom:24px;padding-top:18px;gap:15px}.hero-bottom a{font-size:.65rem}.credentials .wrap{grid-template-columns:1fr;gap:0;padding-block:8px}.credentials .wrap>div{border-right:0;border-bottom:1px solid var(--line);padding:17px 0;gap:20px}.credentials .wrap>div>div{flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}.credentials strong{font-size:.76rem}.credentials span{font-size:.69rem}.credential-icon{font-size:1.4rem!important;min-width:26px}.welcome{grid-template-columns:1fr;gap:25px}.welcome-pictures{padding-bottom:32px}.welcome-main{margin-right:32px}.welcome-small{width:64%;margin-top:-15px;border-width:6px}.photo-caption{bottom:0;font-size:.6rem}.welcome-copy{padding-top:12px}.welcome h2{font-size:2.1rem}.welcome-copy p{font-size:.9rem}.eyebrow{font-size:.62rem;margin-bottom:17px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:2.1rem;margin-bottom:23px}.section-heading p{font-size:.9rem}.course-list{grid-template-columns:1fr;gap:26px}.course-image{aspect-ratio:1.7}.course-row h3{font-size:1.45rem}.course-card-body{padding:23px}.course-card-bottom{flex-direction:row;align-items:center}.course-card-bottom .text-link{font-size:.7rem;white-space:nowrap}.course-card-bottom>span{font-size:.86rem}.course-card-bottom small{font-size:.57rem}.course-card-meta{font-size:.64rem}.after-list{align-items:start;gap:20px;flex-direction:column}.after-list p{font-size:.68rem}.campus-feature-bottom{align-items:start;flex-direction:column;gap:20px}.campus-feature-bottom p{font-size:.8rem}.journey{padding:50px 0}.journey-grid{grid-template-columns:1fr;gap:35px}.journey-photo{max-height:350px}.journey-photo img{height:350px;object-position:center 47%}.journey-copy{padding:0}.journey-copy h2{font-size:2rem}.journey-copy p{font-size:.87rem}.journey-copy li h3{font-size:.95rem}.journey-copy li p{font-size:.8rem}.faq-section{grid-template-columns:1fr;gap:22px}.faq-section h2{font-size:2.1rem}.admissions-band{padding:44px 0}.admissions-band>.wrap{align-items:start;flex-direction:column;gap:24px}.admissions-band h2{font-size:1.8rem}.admissions-band p{font-size:.85rem}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-brand span{font-size:1.08rem}.footer-grid>div:not(:first-child)>a{font-size:.84rem}.footer-grid h3{margin-bottom:15px}.footer-bottom{flex-direction:column;margin-top:34px;gap:18px;padding-bottom:45px}.footer-bottom>div{gap:18px;flex-wrap:wrap}.whatsapp{bottom:14px;right:14px;padding:10px 14px}.whatsapp span{display:inline}.page-intro{padding:24px 0 43px}.page-intro h1,.course-intro h1{font-size:2.2rem}.page-intro>div>p:not(.eyebrow){font-size:.86rem}.breadcrumb{font-size:.65rem;margin-bottom:25px}.course-controls{gap:20px}.filters{gap:7px}.filter{padding:12px 16px;font-size:.75rem;min-height:44px}.course-detail{grid-template-columns:1fr;gap:35px}.course-aside{position:static;order:-1;padding:25px}.course-aside h2{font-size:1.6rem}.course-detail h2{font-size:1.75rem}.course-detail .prose{font-size:.95rem}.course-feature-photo img{max-height:300px}.about-layout,.two-col{grid-template-columns:1fr;gap:32px}.about-layout h2,.two-col h2{font-size:2rem}.gallery{grid-template-columns:1fr;gap:34px}.gallery h2{font-size:1.4rem}.gallery figcaption{padding-top:18px}.gallery figcaption p{font-size:.83rem}.schedule-list article{grid-template-columns:65px 1fr;gap:15px;padding:23px 0}.schedule-thumb img{width:65px;height:70px}.schedule-list h2{font-size:1.08rem}.schedule-date{grid-column:2}.schedule-list article>.text-link{grid-column:2;width:max-content}.schedule-list p{font-size:.73rem}.notice{padding:24px}.notice h2{font-size:1.5rem}.notice p{font-size:.85rem}.contact-grid{grid-template-columns:1fr;gap:40px}.form-panel{padding:26px 20px}.contact-info h2,.form-panel h2{font-size:1.85rem}.big-phone{font-size:1.7rem}.form-grid{grid-template-columns:1fr;gap:0}.prose h2{font-size:1.7rem}.prose p,.prose li{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.course-image img,.button{transition:none}.course-row:hover .course-image img{transform:none}}
.utility-address>span:last-child{max-width:none;flex:1}.utility-address>span:first-child{flex:0 0 auto}
@media(max-width:700px){.schedule-list article>.schedule-thumb{grid-column:1;grid-row:1}.schedule-list article>div:nth-child(2){grid-column:2;grid-row:1}.schedule-list article>.schedule-date{grid-column:2;grid-row:2}.schedule-list article>.text-link{grid-column:2;grid-row:3}.schedule-list h2{overflow-wrap:normal}}

/* Ocean film and touch-friendly contact ribbon */
.utility .utility-shell{display:flex;align-items:center;padding-block:0;gap:0}.contact-scroller{width:100%;min-width:0}.contact-track{width:100%}.contact-group{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;padding:10px 0}.contact-group>a{white-space:nowrap}.utility-address{width:auto;max-width:none}.contact-motion{display:none}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;opacity:0;transition:opacity 1s ease}.hero-video.is-playing{opacity:1}.hero-backdrop{overflow:hidden}.hero-bottom{align-items:center}.video-toggle{display:inline-flex;gap:9px;align-items:center;border:1px solid #ffffff66;color:white;background:#071a3233;border-radius:30px;padding:9px 15px;min-height:40px;font-size:.7rem;letter-spacing:0}.video-toggle:hover{background:#071a3299}.video-toggle>span:first-child{font-size:1rem}.hero-bottom>span{margin-right:auto;margin-left:20px}.hero-copy{max-width:810px}.course-row{transition:box-shadow .25s,border-color .25s}.course-row:hover{border-color:#a4b7cb;box-shadow:0 16px 40px #071a320d}.course-card-bottom .text-link{transition:color .2s,gap .2s}.course-row:hover .text-link{color:var(--accent)}.welcome-main,.welcome-small{box-shadow:0 14px 36px #071a320d}.campus-panorama{overflow:hidden}.site-header{box-shadow:0 2px 14px #071a3205}.button{transition:background .2s,transform .2s,box-shadow .2s}.button:hover{opacity:1;box-shadow:0 6px 18px #071a3222}.full-photo-label{border:1px solid #ffffff66;background:#071a32dd}.gallery .full-photo{overflow:hidden}.gallery .full-photo img{transition:filter .3s}.gallery .full-photo:hover img{filter:brightness(1.04)}
@media(max-width:1024px){.utility .utility-shell{width:100%;padding:0 0 0 12px;min-height:42px}.contact-scroller{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x;cursor:grab;overscroll-behavior-x:contain;scroll-behavior:auto;flex:1;width:auto}.contact-scroller::-webkit-scrollbar{display:none}.contact-scroller:active{cursor:grabbing}.contact-track{display:flex;width:max-content}.contact-group{flex-wrap:nowrap;justify-content:flex-start;flex:0 0 auto;width:max-content;gap:28px;padding:11px 28px 11px 0;font-size:.71rem;line-height:20px}.contact-group .utility-address{width:auto;flex:0 0 auto;white-space:nowrap;font-size:inherit;line-height:inherit;gap:8px}.contact-group .utility-address span{max-width:none}.contact-group>a{font-size:inherit;flex:0 0 auto}.contact-motion:not([hidden]){display:flex;align-items:center;justify-content:center;flex:0 0 44px;align-self:stretch;min-height:44px;background:var(--ink);color:white;border:0;border-left:1px solid #ffffff33;font-size:1rem}.contact-scroller:focus-visible{outline:2px solid white;outline-offset:-3px}.contact-motion:focus-visible{outline-offset:-4px}}
@media(max-width:700px){.hero,.hero-inner{min-height:620px}.hero-bottom{flex-wrap:wrap;gap:12px;bottom:22px;padding-top:18px}.hero-bottom>span{display:none}.hero-bottom>a{font-size:.65rem;margin-left:auto}.video-toggle{font-size:.65rem;padding:8px 13px}.hero-video{object-position:63% center}.course-card-body{padding:24px}.contact-group{font-size:.7rem}.hero:after{background:linear-gradient(90deg,rgba(7,26,50,.9),rgba(7,26,50,.35))}}
@media(prefers-reduced-motion:reduce){.hero-video,.course-row,.gallery .full-photo img{transition:none}}

/* Refined motion and interactive feedback throughout the college website */
.hero-video{object-position:50% center}
.site-header{transition:box-shadow .3s ease,border-color .3s ease}
.site-header.has-scrolled{box-shadow:0 8px 30px #071a3214;border-bottom-color:transparent}
#primary-nav>a:not(.button){position:relative;text-decoration:none}
#primary-nav>a:not(.button):after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
#primary-nav>a:not(.button):hover:after,#primary-nav>a:not(.button):focus-visible:after{transform:scaleX(1)}
.button span,.text-link span,.hero-secondary span{display:inline-block;transition:transform .25s ease}
.button:hover span,.text-link:hover span,.hero-secondary:hover span{transform:translate(3px,-2px)}
.course-row{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.gallery .full-photo img,.campus-panorama img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .3s ease}
.schedule-list article{transition:background .25s ease,box-shadow .25s ease}
.schedule-list article:hover{background:var(--surface);box-shadow:12px 0 var(--surface),-12px 0 var(--surface)}
input,select,textarea{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #165ebc14}
.faq-section details{transition:border-color .25s ease,background .25s ease}
.faq-section details[open]{border-color:var(--accent)}
.faq-section details[open]>p{animation:hc-answer .3s ease both}
@keyframes hc-answer{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.course-row:hover{transform:translateY(-6px)}.gallery .full-photo:hover img,.campus-panorama:hover img{transform:scale(1.035)}.whatsapp{transition:transform .25s ease,box-shadow .25s ease}.whatsapp:hover{transform:translateY(-3px);box-shadow:0 8px 24px #071a3226}}
@media(max-width:950px){#primary-nav.open{animation:hc-answer .22s ease both}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.course-row:hover,.gallery .full-photo:hover img,.campus-panorama:hover img,.whatsapp:hover,.button:hover span,.text-link:hover span,.hero-secondary:hover span{transform:none}}

/* Homepage colour refresh — 28 September 2026 */
.home .site-header{border-bottom:3px solid #e9bd45;background:#fff}
.home .brand small{color:#126ba3}
.home .menu-toggle{background:#edf6ff;border-color:#bfd8ee;color:#103b66}
.home .hero:after{background:linear-gradient(90deg,rgba(5,29,57,.79) 0%,rgba(8,43,73,.61) 48%,rgba(8,43,73,.22) 100%)}
.home .hero h1 em{color:#ffdc78}
.home .hero h1{text-shadow:0 2px 14px #03162955}
.home .hero-copy>.eyebrow{color:#ffdf87;border-left:3px solid #f7c84b;padding-left:13px}
.home .hero-copy>p:not(.eyebrow){color:#fff;text-shadow:0 1px 5px #03162999}
.home .hero .actions .button{background:#f7c84b;border-color:#f7c84b;color:#071a32;box-shadow:0 8px 24px #071a3233}
.home .hero .actions .button:hover{background:#ffdc78;border-color:#ffdc78}
.home .hero-secondary{color:#fff;border-bottom-color:#f7c84b}
.home .video-toggle{background:#0c426a88;border-color:#ffffff99}
.home .hero-bottom>a{color:#ffdf87}
.home .trust-strip{background:#f0f8ff}
@media(max-width:700px){.home .hero:after{background:linear-gradient(90deg,rgba(5,29,57,.8),rgba(8,43,73,.51))}.home .hero h1 em{color:#ffdc78}}

/* Campus photo reels: original photographs, native touch scrolling. */
.campus-reel{min-width:0;margin:24px 0 32px}.reel-window{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x pan-y;overscroll-behavior-x:contain;cursor:grab;border-radius:6px;scroll-behavior:auto}.reel-window::-webkit-scrollbar{display:none}.reel-window:active{cursor:grabbing}.reel-track,.reel-group{display:flex;width:max-content}.reel-group{gap:18px;padding-right:18px}.reel-slide{display:block;position:relative;flex:none;width:var(--reel-width,600px);aspect-ratio:1.65;overflow:hidden;background:var(--surface);border-radius:6px;user-select:none;-webkit-user-drag:none}.reel-slide img{width:100%;height:100%;object-fit:cover;pointer-events:none}.reel-slide>span{position:absolute;inset:auto 0 0;padding:32px 20px 16px;background:linear-gradient(transparent,#071a32d9);color:#fff;font-size:.85rem;display:flex;justify-content:space-between;align-items:center}.reel-slide b{color:#ffdc78;font-size:1.4rem}.reel-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;color:var(--muted);font-size:.75rem}.reel-controls>div{display:flex;gap:6px}.reel-controls button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:4px;min-width:44px;min-height:44px;padding:8px 12px;font-size:.75rem}.reel-controls button:hover{background:var(--surface)}.reel-window:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.course-detail>article{min-width:0}.campus-lightbox{width:min(1280px,96vw);max-width:96vw;max-height:94dvh;padding:14px;background:#071a32;color:white;border:1px solid #ffffff44;border-radius:8px}.campus-lightbox::backdrop{background:#020b16e8}.campus-lightbox img{width:100%;height:calc(85dvh - 100px);object-fit:contain}.lightbox-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.lightbox-bar a{color:#ffdc78;text-decoration:underline;font-size:.8rem}.lightbox-bar button{min-height:44px;min-width:44px;background:transparent;color:white;border:1px solid #ffffff77;border-radius:4px;padding:7px 14px}.lightbox-caption{color:white;font-size:.85rem;margin:10px 0}.lightbox-arrows{display:flex;gap:8px}@media(max-width:700px){.reel-group{gap:12px;padding-right:12px}.reel-slide{aspect-ratio:1.3}.reel-slide>span{font-size:.75rem;padding:30px 14px 12px}.reel-controls{align-items:flex-start}.reel-controls>span{max-width:145px}.reel-controls button{padding:8px}.campus-lightbox{padding:10px}.campus-lightbox img{height:65dvh}}

/* Bound course and reel dimensions independently of their scrolling contents. */
.course-detail{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.7fr);align-items:start}
.course-detail>article,.course-detail>.course-aside{width:100%;min-width:0;max-width:100%}
.campus-reel{width:100%;max-width:100%;min-width:0;contain:inline-size}
.reel-window{width:100%;max-width:100%;min-width:0}
.course-feature-photo,.course-feature-photo img,.detail-photo{max-width:100%}
.course-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.course-row,.course-card-body,.course-image{min-width:0;max-width:100%}
.course-image{flex:none;width:100%}
.course-intro h1,.course-row h3,.course-aside dd{overflow-wrap:break-word}
.reel-controls{flex-wrap:wrap}
@media(max-width:950px){.course-detail{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}.course-detail>.course-aside{position:static;order:-1}.course-detail>article{order:0}.course-feature-photo img{height:auto;max-height:400px;object-fit:cover}}
@media(max-width:700px){.course-list{grid-template-columns:minmax(0,1fr)}.course-feature-photo img{max-height:280px}.course-card-bottom{flex-wrap:wrap}.course-controls,.filters{max-width:100%}.filters{flex-wrap:wrap}.course-aside dl>div{flex-wrap:wrap}.course-intro h1{font-size:clamp(1.85rem,7vw,2.6rem)}}
