@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#080e17;--panel:#111c2a;--panel2:#142235;--ink:#f6faff;--soft:#c2ceda;--muted:#9dacbd;--line:#27394d;--cyan:#3cdcf2;--blue:#1684ed;--font:'DM Sans',Arial,sans-serif;--display:'Space Grotesk',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--font)}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(3rem,6vw,5.8rem)}h2{font-size:clamp(2rem,4vw,3.35rem)}h3{font-size:1.35rem}.shell{width:min(1200px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-999px;top:10px;background:#fff;color:#000;padding:8px;z-index:99}.skip:focus{left:10px}header{position:sticky;top:0;z-index:20;background:rgba(8,14,23,.96);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:32px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.mark{display:block;width:64px;height:48px;position:relative;overflow:hidden;flex:none}.mark img{position:absolute;width:165px;max-width:none;left:-49px;top:-17px}.brand-name{font:bold .95rem/1.12 var(--display);letter-spacing:.06em;white-space:nowrap}.brand-name small{display:block;color:var(--cyan);font-size:.68rem;letter-spacing:.18em;margin-top:3px}.menu{display:flex;align-items:center;gap:16px}.menu>a,.dropdown>button{font-weight:700;font-size:.9rem;text-decoration:none;background:none;border:0;color:var(--soft);padding:12px 3px}.menu>a:hover,.menu>a:focus,.dropdown>button:hover,.dropdown>button:focus{color:var(--cyan)}.menu .nav-contact{color:#071726;background:var(--cyan);padding:10px 15px;border-radius:4px}.dropdown{position:relative}.submenu{display:none;position:absolute;top:100%;left:0;min-width:205px;padding:8px;background:#122033;border:1px solid #34516c;box-shadow:0 20px 40px #0006;border-radius:6px}.submenu a{display:block;color:var(--soft);text-decoration:none;padding:10px 12px;font-size:.9rem}.submenu a:hover,.submenu a:focus{background:#223850;color:#fff}.dropdown:hover .submenu,.dropdown:focus-within .submenu,.dropdown.open .submenu{display:block}.menu-toggle{display:none;background:none;color:white;border:1px solid var(--line);padding:7px 12px;border-radius:5px}
.eyebrow{color:var(--cyan);font-weight:700;font-size:.82rem;letter-spacing:.17em;text-transform:uppercase;margin-bottom:16px}.button,.button-outline{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;text-decoration:none;border-radius:4px;font-weight:700;font-size:.95rem}.button{border:1px solid var(--cyan);background:var(--cyan);color:#071826}.button:hover,.button:focus{background:#89eefa}.button-outline{border:1px solid #8296a9;background:#0b1721b8;color:white}.button-outline:hover,.button-outline:focus{border-color:var(--cyan);color:var(--cyan)}.text-link{display:inline-block;color:var(--cyan);font-weight:700;text-decoration:none;margin-top:12px}.text-link:hover{text-decoration:underline}.muted{color:var(--muted)}
.video-hero{height:min(690px,calc(100svh - 76px));min-height:560px;position:relative;display:flex;align-items:center;overflow:hidden;background:linear-gradient(120deg,#071322,#17395a)}.hero-videos,.hero-videos video,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-videos video{object-fit:cover;opacity:0;transition:opacity 1.2s ease}.hero-videos video.active{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(3,10,19,.9) 0%,rgba(4,13,25,.72) 45%,rgba(5,13,23,.34) 100%),linear-gradient(0deg,#080e17 0%,transparent 35%)}.hero-copy{z-index:1;position:relative}.hero-copy h1{max-width:800px;margin:0 0 20px}.hero-copy h1 em{color:var(--cyan);font-style:normal}.hero-copy>p:not(.eyebrow){max-width:580px;color:#ecf4fb;font-size:1.16rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.video-control{position:absolute;right:max(24px,calc((100vw - 1200px)/2));bottom:28px;z-index:2;border:1px solid #ffffff85;background:#071322ac;color:white;border-radius:5px;padding:8px 13px}.video-progress{display:flex;position:absolute;bottom:40px;left:max(24px,calc((100vw - 1200px)/2));gap:8px}.video-progress span{width:28px;height:3px;background:#fff6}.video-progress span.active{background:var(--cyan)}
.section{padding:88px 0}.toned{background:#0e1825}.split-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.split-intro p:not(.eyebrow){font-size:1.1rem;color:var(--soft)}.section-heading{margin-bottom:30px}.section-heading.spaced{margin-top:70px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tile{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);padding:29px;border-radius:6px;min-height:255px;text-decoration:none}.tile:hover:is(a){border-color:var(--cyan)}.tile span{font-weight:700;color:var(--cyan);letter-spacing:.14em;font-size:.78rem}.tile h3{font-size:1.6rem;margin:20px 0 12px}.tile p{color:var(--soft);margin-bottom:18px}.tile b{margin-top:auto;color:var(--cyan);font-size:.9rem}.feature-strip{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}.feature-strip img{height:385px;width:100%;object-fit:cover;object-position:left top;border:1px solid var(--line)}.feature-strip p:not(.eyebrow){color:var(--soft)}.cta{background:linear-gradient(110deg,#12314f,#0d223a);padding:70px 0;border-block:1px solid #385c7a}.cta p:not(.eyebrow){color:#d8e7f3}.cta h2{margin-bottom:12px}.page-intro{padding:85px 0 67px;background:radial-gradient(circle at 80% 20%,#153e61,#0d1a2a 55%,#090f18);border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(3rem,5vw,4.6rem);margin-bottom:22px}.lede{color:#d2dfeb;font-size:1.14rem;max-width:760px}.course-feature{background:linear-gradient(120deg,#152d45,#0f1928);border:1px solid #375570;display:grid;grid-template-columns:1fr .9fr;gap:25px;padding:34px;align-items:center;border-radius:6px}.course-feature p:not(.eyebrow){color:var(--soft)}.course-feature img{height:330px;width:100%;object-fit:cover;object-position:left top}.tags{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 28px}.tags span{border:1px solid #4a7997;padding:6px 10px;border-radius:4px;color:#d8eaf6;font-size:.85rem}.after-grid{margin:28px 0 0}.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.text-panel,.address-panel,.contact-panel{padding:35px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.text-panel p:not(.eyebrow),.address-panel p:not(.eyebrow),.contact-panel p:not(.eyebrow){color:var(--soft)}.checks{padding-left:20px;color:var(--soft);margin-bottom:30px}.checks li{padding:5px 0}.address-panel{background:linear-gradient(145deg,#1b4163,#112437)}.address-panel h3{font-size:1.75rem}.address-panel p{font-size:1.15rem}.visual-panel img{height:100%;min-height:390px;width:100%;object-fit:cover;object-position:left top}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.gallery-card{margin:0;border:1px solid var(--line);background:var(--panel);overflow:hidden;border-radius:5px}.gallery-card:first-child{grid-column:span 2}.gallery-card img{width:100%;height:300px;object-fit:cover;object-position:left top;display:block;transition:transform .35s}.gallery-card:first-child img{height:450px}.gallery-card a{display:block;overflow:hidden}.gallery-card a:hover img{transform:scale(1.025)}.gallery-card figcaption{padding:21px 25px}.gallery-card h2{font-size:1.45rem;margin-bottom:5px}.gallery-card p{color:var(--muted);margin:0}.faculty-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.faculty-card{border:1px solid var(--line);background:var(--panel);padding:30px;display:grid;grid-template-columns:70px 1fr;gap:23px;border-radius:5px}.faculty-card h2{font-size:1.65rem}.faculty-card p:last-child{color:var(--soft)}.avatar{width:65px;height:65px;border-radius:50%;border:1px solid #4a7695;background:#1e405d;display:grid;place-items:center;color:var(--cyan);font:700 1.2rem var(--display)}.contact-item{border-top:1px solid var(--line);padding:19px 0;display:grid;gap:5px}.contact-item strong{color:var(--cyan)}.contact-item address{font-style:normal}.contact-item a{text-decoration:none}.contact-panel form{display:grid;gap:8px}.contact-panel label{font-weight:700;font-size:.9rem;margin-top:10px}.contact-panel input,.contact-panel select,.contact-panel textarea{background:#081420;border:1px solid #53677b;color:white;border-radius:4px;padding:11px 12px;width:100%}.contact-panel input:focus,.contact-panel select:focus,.contact-panel textarea:focus{outline:2px solid var(--cyan)}.contact-panel form button{margin-top:13px}.form-note{font-size:.85rem}
footer{border-top:1px solid var(--line);background:#060b12;padding:50px 0 22px}.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.foot h3{font-size:1rem}.foot a{display:block;color:var(--soft);text-decoration:none;margin-bottom:7px}.foot .footer-brand{color:var(--ink);font:700 1.2rem var(--display)}.foot p{color:var(--muted)}.foot a:hover{color:var(--cyan)}.copyright{border-top:1px solid var(--line);color:var(--muted);font-size:.83rem;padding-top:20px;margin-top:35px}
@media(max-width:1050px){.brand-name{display:none}.menu{gap:12px}.tiles{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.shell{width:min(100% - 34px,1200px)}.nav{min-height:67px}.brand-name{display:block;font-size:.78rem}.mark{width:55px;height:41px}.mark img{width:150px;left:-45px;top:-16px}.menu-toggle{display:block}.menu{display:none;position:absolute;top:67px;left:0;right:0;background:#0b1725;border-bottom:1px solid var(--line);padding:15px 17px 23px;max-height:calc(100svh - 67px);overflow:auto}.menu.open{display:block}.menu>a,.dropdown>button{display:block;text-align:left;width:100%;padding:12px 7px;font-size:1rem}.menu .nav-contact{padding:10px}.dropdown .submenu{position:static;display:none;box-shadow:none;border:0;padding-left:12px;background:#122033}.dropdown.open .submenu{display:block}.dropdown:hover:not(.open) .submenu,.dropdown:focus-within:not(.open) .submenu{display:none}.video-hero{height:610px;min-height:560px}.hero-shade{background:linear-gradient(90deg,#06101ce8,#071421b9)}.hero-copy h1{font-size:clamp(3.2rem,12vw,4.6rem)}.section{padding:64px 0}.split-intro,.feature-strip,.course-feature,.two-col,.gallery-grid,.faculty-grid,.foot{grid-template-columns:1fr}.tiles{grid-template-columns:1fr}.feature-strip img{height:260px}.course-feature img{height:260px}.gallery-card:first-child{grid-column:span 1}.gallery-card:first-child img{height:300px}.page-intro{padding:65px 0 50px}.faculty-card{grid-template-columns:55px 1fr;padding:20px;gap:15px}.avatar{width:53px;height:53px}.video-progress{bottom:18px}.video-control{bottom:12px}.foot{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-videos video{transition:none}.gallery-card img{transition:none}}

/* Header retains the existing VA design; compact space for the expanded menus. */
@media(min-width:761px){.nav{gap:18px}.menu{gap:10px}.menu>a,.dropdown>button{font-size:.82rem}.dropdown .nav-contact{color:#071726;background:var(--cyan);padding:10px 15px;border-radius:4px}}
@media(max-width:1180px) and (min-width:761px){.brand-name{display:none}.menu{gap:7px}.menu>a,.dropdown>button{font-size:.78rem}}
@media(max-width:760px){.dropdown .nav-contact{color:var(--soft);background:transparent;padding:12px 7px;border-radius:0}}
[id]{scroll-margin-top:96px}

.mark{width:64px;height:49px;display:grid;place-items:center;overflow:visible}.mark img{position:static;width:64px;height:auto;max-width:100%}
@media(max-width:760px){.mark{width:55px;height:43px}.mark img{width:55px}}
.gallery-card a{cursor:pointer}.gallery-card img{user-select:none;-webkit-user-drag:none}
.project-kicker{color:var(--cyan);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.82rem}.project-detail{display:grid;grid-template-columns:1.3fr .7fr;gap:30px}.project-detail img{display:block;width:100%;height:auto;border:1px solid var(--line);pointer-events:none;user-select:none;-webkit-user-drag:none}.project-notes{background:var(--panel);border:1px solid var(--line);padding:30px;align-self:start}.project-notes h2{font-size:1.7rem}.project-notes p,.project-notes li{color:var(--soft)}.project-notes ul{padding-left:20px}.project-notes li{margin:10px 0}.gallery-cats{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.gallery-cats a{border:1px solid #4c7294;padding:10px 14px;text-decoration:none;border-radius:4px}.gallery-cats a:hover{background:#204161}.motto{padding:30px;border-left:3px solid var(--cyan);background:#122239;font:600 clamp(1.4rem,3vw,2rem)/1.4 var(--display)}
@media(max-width:850px){.project-detail{grid-template-columns:1fr}}

.contact-layout{grid-template-columns:1.15fr .85fr}.honeypot{position:absolute!important;left:-9999px!important;height:1px!important;width:1px!important;opacity:0}.contact-panel form button{justify-self:start}.contact-panel .form-note{font-size:.86rem;color:var(--muted)}@media(max-width:760px){.contact-layout{grid-template-columns:1fr}}

/* Footer */
footer{padding:68px 0 24px;background:radial-gradient(circle at 10% 0%,#102638 0%,#070d16 43%,#060b12 100%)}.foot{grid-template-columns:minmax(230px,1.7fr) repeat(3,minmax(150px,1fr));gap:clamp(26px,4vw,70px)}.foot h3{color:var(--ink);font-size:.82rem;text-transform:uppercase;letter-spacing:.13em;margin:0 0 18px}.foot a{margin-bottom:12px}.foot .footer-brand{display:inline-block;font-family:var(--display);font-size:1.55rem;line-height:1.07;letter-spacing:.03em;margin-bottom:17px}.footer-brand small{display:block;color:var(--cyan);font-size:.57em;letter-spacing:.13em;margin-top:5px}.foot-intro p{max-width:330px;line-height:1.6}.foot .footer-cta,.foot .footer-whatsapp{display:inline-flex;align-items:center;gap:12px;color:var(--cyan);font-weight:700;border:1px solid #3b8192;padding:11px 16px;border-radius:9px;margin-top:12px}.foot .footer-cta:hover,.foot .footer-whatsapp:hover{background:#123444;border-color:var(--cyan)}.foot-contact p{margin:0 0 15px;line-height:1.55}.copyright{display:flex;justify-content:space-between;gap:15px}.foot a:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}@media(max-width:950px){.foot{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.foot{grid-template-columns:1fr;gap:26px}.copyright{flex-direction:column;gap:5px}}

.social-links{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:16px}.foot .social-links a{display:inline-block;font-size:.82rem;color:var(--cyan);margin:0}.foot .social-links a:hover{text-decoration:underline}

/* Illustrated VA guide: decorative on page changes, useful beside form feedback. */
.va-traveller{position:fixed;z-index:50;right:18px;bottom:18px;width:70px;height:76px;pointer-events:none;opacity:0;transform:translateY(75px) rotate(-15deg)}
.va-traveller.arrived{animation:buddy-arrives 1.35s ease-out forwards}.va-traveller.departing{animation:buddy-departs .4s ease-in forwards}
.va-traveller svg,.va-field-hint svg{display:block;width:100%;height:100%;filter:drop-shadow(0 7px 13px #0009)}
.buddy-head{fill:#1293e3;stroke:#7feeff;stroke-width:2}.buddy-eye{fill:#081626}.buddy-smile,.buddy-antenna,.buddy-ear,.buddy-feet{fill:none;stroke:#8af3ff;stroke-width:3;stroke-linecap:round}.buddy-mark{fill:#fff;font:bold 13px var(--display)}
@keyframes buddy-arrives{0%{opacity:0;transform:translateY(80px) rotate(-15deg)}25%{opacity:1;transform:translateY(-12px) rotate(7deg)}45%{transform:translateY(3px) rotate(-4deg)}75%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(0)}}
@keyframes buddy-departs{0%{opacity:1;transform:translateX(0) rotate(0)}100%{opacity:0;transform:translateX(150px) rotate(15deg)}}
.contact-panel [aria-invalid="true"]{border-color:#ffae7a;outline:2px solid #ffae7a55}
.va-field-hint{display:flex;align-items:center;gap:10px;color:#fce8d7;background:#38251f;border:1px solid #b87554;border-radius:10px;padding:5px 13px 5px 5px;font-size:.9rem;line-height:1.35;max-width:fit-content}
.va-field-hint svg{width:44px;height:48px;flex:none;animation:buddy-nods .55s ease-in-out 2}
@keyframes buddy-nods{50%{transform:rotate(10deg) translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.va-traveller{display:none}.va-field-hint svg{animation:none}}
