:root{--navy:#10233f;--red:#b51224;--blue:#1599c3;--orange:#efa51a;--cream:#f7f4ee;--ink:#17202c;--muted:#637083;--white:#fff;--line:#dde2e8;--radius:22px;--shadow:0 20px 60px rgba(16,35,63,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:#fff}h1,h2,h3{font-family:'Manrope',sans-serif;letter-spacing:-.035em;margin-top:0}p{line-height:1.7}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);z-index:20;border-bottom:1px solid rgba(221,226,232,.7)}.brand img{display:block;width:205px;height:62px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav>a{color:var(--navy);text-decoration:none;font-size:14px;font-weight:600}.menu-button{display:none;background:none;border:0;font-size:25px}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--red);color:#fff!important;text-decoration:none;border:0;border-radius:99px;padding:15px 24px;font:700 14px 'DM Sans';cursor:pointer;box-shadow:0 10px 25px rgba(181,18,36,.2)}.button:hover{transform:translateY(-2px)}.button-small{padding:11px 19px}.hero{min-height:720px;padding:80px max(6vw,28px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:7vw;overflow:hidden;background:linear-gradient(125deg,#fff 45%,#f3f8fa)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--red);font-weight:700;font-size:12px;margin-bottom:18px}.hero h1{font-size:clamp(48px,6vw,84px);line-height:1.02;color:var(--navy);margin-bottom:25px}.hero h1 span{color:var(--red)}.lead{font-size:19px;color:var(--muted);max-width:640px}.hero-actions{display:flex;align-items:center;gap:27px;margin:32px 0 43px}.text-link{font-weight:700;color:var(--navy);text-decoration:none}.text-link span{color:var(--red);margin-left:6px}.trust-row{display:flex;gap:32px;color:var(--muted);font-size:13px}.trust-row span{display:flex;flex-direction:column}.trust-row b{font:800 21px 'Manrope';color:var(--navy)}.hero-visual{position:relative;min-height:520px}.photo-main{height:500px;border-radius:120px 22px 120px 22px;background:linear-gradient(rgba(16,35,63,.04),rgba(16,35,63,.2)),url('https://images.unsplash.com/photo-1523240795612-9a054b0db644?auto=format&fit=crop&w=1200&q=85') center/cover;box-shadow:var(--shadow);position:relative;z-index:2}.floating-card{position:absolute;z-index:4;bottom:28px;left:-38px;background:#fff;padding:18px 22px;border-radius:16px;box-shadow:var(--shadow);display:flex;gap:13px;align-items:center}.floating-card div{display:flex;flex-direction:column}.floating-card small{color:var(--muted);margin-top:4px}.card-icon{background:#dff4eb;color:#128451;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-weight:bold}.shape{position:absolute;border-radius:50%}.shape-one{width:140px;height:140px;background:var(--orange);top:-34px;right:-34px}.shape-two{width:90px;height:90px;border:16px solid var(--blue);bottom:-20px;left:-18px}.logo-strip{background:var(--navy);color:#fff;min-height:68px;display:flex;align-items:center;justify-content:center;gap:34px;font-size:12px;letter-spacing:.14em;font-weight:700}.logo-strip i{width:5px;height:5px;border-radius:50%;background:var(--orange)}.section{padding:110px max(6vw,28px)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px;gap:40px}.section-heading h2,.split-copy h2,.story h2,.contact-section h2{font-size:clamp(34px,4vw,55px);line-height:1.12;color:var(--navy);margin-bottom:0}.section-heading>p{max-width:470px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{padding:36px;border:1px solid var(--line);border-radius:var(--radius);transition:.25s;background:#fff}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-card>span{font:800 13px 'Manrope'}.service-card h3{font-size:24px;margin:45px 0 14px}.service-card p{color:var(--muted)}.service-card a{font-weight:700;text-decoration:none;color:var(--navy)}.accent-red{border-top:5px solid var(--red)}.accent-blue{border-top:5px solid var(--blue)}.accent-orange{border-top:5px solid var(--orange)}.courses-section{background:var(--cream)}.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.filter-row button{border:1px solid #d5d8dc;background:transparent;border-radius:99px;padding:10px 16px;color:var(--navy);font-weight:600;cursor:pointer}.filter-row button.active{background:var(--navy);color:#fff}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.course-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 9px 30px rgba(16,35,63,.07)}.course-image{height:190px;background-size:cover;background-position:center;padding:18px}.course-image span{background:rgba(255,255,255,.92);padding:8px 12px;border-radius:99px;font-size:11px;font-weight:700;color:var(--navy)}.image-1{background-image:url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=800&q=80')}.image-2{background-image:url('https://images.unsplash.com/photo-1509062522246-3755977927d7?auto=format&fit=crop&w=800&q=80')}.image-3{background-image:url('https://images.unsplash.com/photo-1524178232363-1fb2b075b655?auto=format&fit=crop&w=800&q=80')}.image-4{background-image:url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=800&q=80')}.image-5{background-image:url('https://images.unsplash.com/photo-1529390079861-591de354faf5?auto=format&fit=crop&w=800&q=80')}.image-6{background-image:url('https://images.unsplash.com/photo-1455390582262-044cdead277a?auto=format&fit=crop&w=800&q=80')}.course-body{padding:25px}.course-body small{color:var(--red);font-weight:700}.course-body h3{font-size:21px;margin:10px 0}.course-body p{font-size:14px;color:var(--muted)}.course-link{background:none;border:0;padding:0;color:var(--navy);font-weight:700;cursor:pointer}.split-section{display:grid;grid-template-columns:1fr 1fr;padding-top:0;padding-bottom:0}.split-image{min-height:630px;background:url('https://images.unsplash.com/photo-1541849546-216549ae216d?auto=format&fit=crop&w=1200&q=85') center/cover;position:relative}.location-pill{position:absolute;bottom:25px;left:25px;background:#fff;border-radius:99px;padding:12px 18px;font-weight:700}.split-copy{background:var(--navy);color:#fff;padding:90px max(6vw,55px)}.split-copy h2{color:#fff}.split-copy p{color:#cbd4e0}.split-copy ul{padding:0;list-style:none;margin:30px 0}.split-copy li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14)}.split-copy li:before{content:'✓';color:var(--orange);margin-right:13px}.projects-section{background:#f5f9fb}.project-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-cards article{padding:32px;background:#fff;border-radius:18px}.project-cards small{color:var(--red);font-weight:800;letter-spacing:.12em}.project-cards h3{font-size:25px;margin:18px 0 8px}.project-cards p{color:var(--muted)}.centered{display:block;text-align:center;margin-top:36px}.story{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.story>div>p{font-size:18px;color:var(--muted)}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:35px}.principles span{display:flex;flex-direction:column;border-left:3px solid var(--orange);padding-left:13px}.principles small{color:var(--muted);margin-top:5px}.contact-section{padding:100px max(6vw,28px);display:grid;grid-template-columns:1fr 1fr;gap:9vw;color:#fff;background:linear-gradient(135deg,#0d1d35,#163459)}.contact-section h2{color:#fff}.contact-section>div>p{color:#c5d0df}.eyebrow.light{color:#ffbd3e}.contact-details{display:flex;flex-direction:column;gap:10px;margin-top:35px}.contact-details a{color:#fff;font-weight:bold}.contact-details span{color:#c5d0df}.contact-section form{background:#fff;color:var(--ink);padding:32px;border-radius:20px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-section label{font-size:13px;font-weight:700}.contact-section input,.contact-section select,.contact-section textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:10px;padding:13px;font:14px 'DM Sans'}.contact-section label:nth-of-type(4){grid-column:1/-1}.contact-section button{justify-self:start}.form-note{font-size:12px;color:#128451;grid-column:1/-1;margin:0}footer{padding:35px max(6vw,28px);display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:12px;color:var(--muted)}footer img{width:150px}.footer-socials{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.footer-socials a{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid rgba(16,35,63,.16);border-radius:99px;color:var(--navy);text-decoration:none;font-size:12px;font-weight:700;transition:.2s ease}.footer-socials a:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}.footer-socials svg{width:17px;height:17px;fill:currentColor;flex:0 0 auto}dialog{max-width:720px;border:0;border-radius:22px;padding:45px;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(8,18,31,.7)}dialog h2{font-size:38px;color:var(--navy)}dialog h3{margin-top:28px}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:28px;cursor:pointer}.reveal{opacity:0;transform:translateY(18px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header nav{display:none;position:absolute;top:86px;left:0;right:0;background:#fff;padding:25px;flex-direction:column;box-shadow:var(--shadow)}.site-header nav.open{display:flex}.menu-button{display:block}.hero{grid-template-columns:1fr;padding-top:55px}.hero-visual{min-height:430px}.photo-main{height:410px}.service-grid,.course-grid,.project-cards{grid-template-columns:1fr 1fr}.split-section,.story,.contact-section{grid-template-columns:1fr}.split-image{min-height:450px}.section-heading{align-items:flex-start;flex-direction:column}.logo-strip{overflow:hidden;justify-content:flex-start;padding:0 25px;white-space:nowrap}.contact-section form{grid-template-columns:1fr}.contact-section label:nth-of-type(4){grid-column:auto}footer{flex-direction:column;text-align:center}}
@media(max-width:600px){.hero{padding:48px 22px 65px}.hero h1{font-size:45px}.trust-row{gap:14px}.floating-card{left:-5px}.section{padding:76px 22px}.service-grid,.course-grid,.project-cards{grid-template-columns:1fr}.split-copy{padding:65px 26px}.split-image{min-height:360px}.principles{grid-template-columns:1fr;gap:18px}.contact-section{padding:70px 22px}.contact-section form{padding:22px}.brand img{width:170px}.hero-actions{align-items:flex-start;flex-direction:column}.section-heading h2,.split-copy h2,.story h2,.contact-section h2{font-size:36px}}

/* Multi-page editorial system */
.site-header nav a.active{color:var(--red);position:relative}.site-header nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:2px;background:var(--red)}
.page-hero{min-height:510px;display:flex;align-items:flex-end;padding:95px max(8vw,28px);color:#fff;background-color:var(--navy);background-size:cover;background-position:center;position:relative}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,22,42,.94),rgba(7,22,42,.36))}.page-hero>div{position:relative;max-width:850px}.page-hero h1,.contact-page h1,.course-detail-hero h1{font-size:clamp(45px,6vw,78px);line-height:1.04;color:#fff;margin-bottom:22px}.page-hero p{font-size:19px;max-width:740px;color:#dce6f0}.page-hero .button{margin-top:22px}.course-hero{background-image:url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1800&q=88')}.mobility-hero{background-image:url('https://images.unsplash.com/photo-1541849546-216549ae216d?auto=format&fit=crop&w=1800&q=88')}.projects-hero{background-image:url('https://images.unsplash.com/photo-1521737711867-e3b97375f902?auto=format&fit=crop&w=1800&q=88')}.about-hero{background-image:url('https://images.unsplash.com/photo-1529156069898-49953e39b3ac?auto=format&fit=crop&w=1800&q=88')}
.home-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;background:#f5f9fb;align-items:center}.home-feature h2{font-size:clamp(38px,5vw,62px);color:var(--navy)}.feature-photo{height:560px;border-radius:24px 110px 24px 110px;background:url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1100&q=88') center/cover;box-shadow:var(--shadow)}.mini-facts{display:flex;gap:15px;margin:34px 0}.mini-facts span{flex:1;padding:15px;border-left:3px solid var(--orange);display:flex;flex-direction:column;color:var(--muted);font-size:12px}.mini-facts b{color:var(--navy);font-size:16px;margin-bottom:3px}.cta-band{background:var(--navy);color:#fff;text-align:center;padding:95px 24px}.cta-band h2{font-size:clamp(36px,5vw,60px);max-width:850px;margin:0 auto 35px}.cta-band>div{display:flex;gap:24px;justify-content:center;align-items:center}.light-link{color:#fff}.catalogue-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:34px}.catalogue-intro h2{font-size:clamp(35px,4vw,53px);color:var(--navy)}.catalogue-intro>p{max-width:470px;color:var(--muted)}.course-card{display:flex;flex-direction:column}.course-body{display:flex;flex-direction:column;flex:1}.course-body .course-link{margin-top:auto;padding-top:8px;text-decoration:none}.process-section,.expertise{padding:100px max(6vw,28px);background:var(--navy);color:#fff;text-align:center}.process-section h2,.expertise h2{font-size:clamp(36px,4vw,55px)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:45px 0}.process-grid article{text-align:left;padding:28px;border:1px solid rgba(255,255,255,.16);border-radius:16px}.process-grid article>b{color:var(--orange);font:800 13px 'Manrope'}.process-grid h3{margin:35px 0 8px;font-size:21px}.process-grid p{color:#c8d3df;font-size:14px}.itinerary{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--cream)}.itinerary h2,.support-grid h2,.values h2{font-size:clamp(36px,4vw,55px);color:var(--navy)}.itinerary>div>p:last-child{color:var(--muted)}.itinerary ol{list-style:none;padding:0;margin:0}.itinerary li{display:grid;grid-template-columns:90px 1fr;padding:21px 0;border-bottom:1px solid #d6d2ca}.itinerary li b{color:var(--red)}.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.check-grid span{padding:20px;background:#f4f7f9;border-radius:12px;font-weight:700}.check-grid span:before{content:'✓';display:inline-grid;place-items:center;width:25px;height:25px;background:#dff4eb;color:#128451;border-radius:50%;margin-right:10px}.project-list{display:grid;gap:15px}.project-list article{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;padding:36px;border:1px solid var(--line);border-radius:16px;align-items:center}.project-list small{color:var(--red);font-weight:700;letter-spacing:.1em}.project-list h3{font-size:28px;margin:12px 0 0}.project-list p{color:var(--muted)}.expertise .button{margin-top:15px}.long-story{border-bottom:1px solid var(--line)}.values{text-align:center;background:var(--cream)}.values .process-grid article{background:#fff;border-color:#ddd;text-align:left}.values .process-grid h3{color:var(--navy)}.values .process-grid p{color:var(--muted)}.company-facts{display:grid;grid-template-columns:repeat(4,1fr);padding:55px max(6vw,28px);background:var(--navy);color:#fff}.company-facts div{padding:20px;border-right:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column}.company-facts small{color:#aebfd2;margin-bottom:8px}.contact-page{min-height:760px;padding:90px max(7vw,28px);display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;color:#fff;background:linear-gradient(125deg,#0b1b31,#173d62)}.contact-intro{padding-top:35px}.contact-intro>p{color:#c8d4e1;font-size:18px}.professional-form{background:#fff;color:var(--ink);border-radius:22px;padding:38px;display:grid;grid-template-columns:1fr 1fr;gap:20px;box-shadow:var(--shadow)}.form-heading,.professional-form .wide{grid-column:1/-1}.form-heading h2{color:var(--navy);font-size:30px;margin-bottom:5px}.form-heading p{color:var(--muted);margin:0}.professional-form label{font-size:13px;font-weight:700}.professional-form input,.professional-form select,.professional-form textarea{width:100%;display:block;margin-top:7px;border:1px solid var(--line);border-radius:10px;padding:13px;font:14px 'DM Sans'}.professional-form .consent{display:flex;align-items:flex-start;font-weight:400;color:var(--muted)}.professional-form .consent input{width:auto;margin:3px 10px 0 0}.professional-form .form-note{grid-column:1/-1;color:#128451}.course-detail-hero{padding:80px max(8vw,28px);background:linear-gradient(135deg,#0c203a,#174766);color:#fff}.course-detail-hero>div{max-width:1100px}.course-detail-hero>div>p{font-size:20px;max-width:820px;color:#d9e4ed}.back-link{display:inline-block;color:#fff;text-decoration:none;margin-bottom:45px}.course-meta{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px;border-top:1px solid rgba(255,255,255,.2);padding-top:26px}.course-meta span{display:flex;flex-direction:column}.course-meta small{color:#aebfd2}.course-meta b{margin-top:4px}.course-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:6vw;padding:90px max(8vw,28px)}.course-content>section{padding:0 0 55px;margin-bottom:55px;border-bottom:1px solid var(--line)}.course-content h2{font-size:34px;color:var(--navy)}.course-content p{color:var(--muted)}.two-col-list{display:grid;grid-template-columns:1fr 1fr;gap:55px}.check-list{list-style:none;padding:0}.check-list li{position:relative;padding:8px 0 8px 31px;line-height:1.55}.check-list li:before{content:'✓';position:absolute;left:0;color:#128451;font-weight:800}.day-list article{display:grid;grid-template-columns:90px 1fr;gap:25px;padding:24px 0;border-bottom:1px solid var(--line)}.day-list article>b{color:var(--red)}.day-list h3{margin-bottom:4px;font-size:20px}.day-list p{margin:0}.schedule-note{font-size:13px;padding:16px;background:var(--cream);border-radius:10px;margin-top:20px}.course-sidebar{position:relative}.booking-card,.included-card{padding:28px;border-radius:18px}.booking-card{position:sticky;top:110px;background:var(--navy);color:#fff;box-shadow:var(--shadow)}.booking-card h3{font-size:25px}.booking-card p{color:#c7d3df}.booking-card .button{width:100%;margin:12px 0}.sidebar-link{display:block;text-align:center;color:#fff;font-size:13px;margin-top:8px}.included-card{margin-top:20px;background:var(--cream)}.included-card ul{padding-left:20px;line-height:1.9}.included-card small{color:var(--muted);line-height:1.5;display:block}.course-cta{text-align:center;background:var(--cream);padding:80px 25px}.course-cta h2{font-size:40px;color:var(--navy)}.course-cta p{color:var(--muted);max-width:700px;margin:0 auto 25px}
@media(max-width:900px){.page-hero{min-height:430px}.home-feature,.itinerary,.support-grid,.contact-page{grid-template-columns:1fr}.feature-photo{height:430px}.process-grid,.company-facts{grid-template-columns:1fr 1fr}.project-list article{grid-template-columns:1fr;gap:5px}.contact-page{padding-top:55px}.course-layout{grid-template-columns:1fr}.booking-card{position:static}.course-meta{grid-template-columns:1fr 1fr;gap:20px}.two-col-list{grid-template-columns:1fr}.site-header nav a.active:after{display:none}}
@media(max-width:600px){.page-hero h1,.contact-page h1,.course-detail-hero h1{font-size:42px}.page-hero{padding:70px 22px}.catalogue-intro{display:block}.process-grid,.company-facts{grid-template-columns:1fr}.process-section,.expertise{padding:75px 22px}.itinerary li{grid-template-columns:70px 1fr}.check-grid{grid-template-columns:1fr}.mini-facts{flex-direction:column}.cta-band>div{flex-direction:column}.professional-form{grid-template-columns:1fr;padding:23px}.professional-form label,.form-heading{grid-column:1/-1}.course-detail-hero{padding:55px 22px}.course-meta{grid-template-columns:1fr 1fr}.course-layout{padding:65px 22px}.day-list article{grid-template-columns:65px 1fr}.home-feature{padding-left:22px;padding-right:22px}}

/* 2026 portfolio refresh */
.booking-card{position:static!important;top:auto!important}.portfolio-note{display:flex;align-items:center;justify-content:center;gap:20px;padding:18px max(6vw,28px);background:#eaf5f8;color:var(--navy);border-bottom:1px solid #cfe3e9}.portfolio-note b{background:var(--blue);color:#fff;padding:7px 12px;border-radius:99px;font-size:12px;white-space:nowrap}.portfolio-note span{font-size:14px}.priority-course{outline:2px solid rgba(21,153,195,.22)}.priority-course .course-image span{color:var(--red)}.real-stories{background:#f7f4ee}.photo-wall{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:470px;gap:16px}.real-photo{margin:0;border-radius:20px;overflow:hidden;background-size:cover;background-position:center;position:relative;box-shadow:0 15px 35px rgba(16,35,63,.12)}.real-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(6,20,37,.85))}.real-photo figcaption{position:absolute;left:22px;bottom:20px;z-index:2;color:#fff;font-weight:700}.photo-a{background-image:url('assets/courses/future-classroom.webp')}.photo-b{background-image:url('assets/courses/project-based-learning.webp')}.photo-c{background-image:url('assets/courses/outdoor-education.webp')}.gallery-link{display:inline-block;margin-top:28px}
@media(max-width:900px){.photo-wall{grid-template-columns:1fr 1fr;grid-template-rows:400px 300px}.photo-a{grid-column:1/-1}.portfolio-note{align-items:flex-start}}
@media(max-width:600px){.portfolio-note{flex-direction:column;gap:8px}.photo-wall{display:block}.real-photo{height:300px;margin-bottom:14px}}

/* Course calendar and provisional booking */
.calendar-hero{background-image:url('https://images.unsplash.com/photo-1506784983877-45594efa4cbe?auto=format&fit=crop&w=1800&q=88')}.calendar-toolbar{display:flex;gap:18px;padding:26px max(6vw,28px);background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgba(16,35,63,.06);position:sticky;top:86px;z-index:10}.calendar-toolbar label{flex:1;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted)}.calendar-toolbar select{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:14px 'DM Sans'}.calendar-summary{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.calendar-summary h2{font-size:45px;color:var(--navy)}.calendar-summary>p{color:var(--muted)}.session-list{display:grid;gap:12px}.session-row{display:grid;grid-template-columns:190px 1fr 170px;align-items:center;gap:25px;padding:24px 26px;border:1px solid var(--line);border-radius:15px;background:#fff;transition:.2s}.session-row:hover{border-color:#a8cbd7;box-shadow:0 12px 30px rgba(16,35,63,.08)}.session-date{display:flex;flex-direction:column;border-right:1px solid var(--line)}.session-date b{color:var(--navy)}.session-date span,.session-course>span{font-size:13px;color:var(--muted);margin-top:4px}.session-course small{font-weight:700;color:var(--red)}.session-course h3{margin:5px 0 0;font-size:19px}.session-course h3 a{color:var(--navy);text-decoration:none}.session-status{display:flex;align-items:center;justify-content:flex-end;gap:13px}.status-open{font-size:12px;font-weight:700;color:#128451;background:#dff4eb;border-radius:99px;padding:7px 10px}.custom-date{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:35px;padding:30px;background:var(--cream);border-radius:18px}.custom-date h3{margin-bottom:5px}.custom-date p{margin:0;color:var(--muted)}.empty-state{padding:30px;background:var(--cream);border-radius:14px}.booking-page{display:grid;grid-template-columns:.8fr 1.2fr;min-height:760px;background:#f4f7f9}.booking-intro{padding:95px max(5vw,35px);background:linear-gradient(145deg,#0b1e36,#164567);color:#fff}.booking-intro h1{font-size:clamp(43px,5vw,68px)}.booking-intro>p{color:#cbd7e2;font-size:18px}.booking-intro ol{list-style:none;padding:0;margin-top:45px}.booking-intro li{padding:14px 0;color:#91a5ba;border-bottom:1px solid rgba(255,255,255,.12)}.booking-intro li.current{color:#fff;font-weight:700}.booking-panel{padding:60px max(5vw,30px)}.selected-session{padding:28px;background:var(--navy);color:#fff;border-radius:18px 18px 0 0}.selected-session>small{color:#9fb5c8}.selected-session h2{font-size:26px;margin:8px 0 20px}.selected-session>div{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.selected-session span{display:flex;flex-direction:column;font-size:11px;color:#9fb5c8}.selected-session b{font-size:14px;color:#fff;margin-bottom:3px}.booking-form{background:#fff;padding:34px;border-radius:0 0 18px 18px;box-shadow:var(--shadow)}.booking-form h2{color:var(--navy)}.booking-form label{display:block;font-size:13px;font-weight:700;margin-bottom:18px}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);border-radius:9px;font:14px 'DM Sans'}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-form .consent{display:flex;font-weight:400;color:var(--muted)}.booking-form .consent input{width:auto;margin:3px 10px 0 0}.booking-disclaimer{font-size:12px;color:var(--muted);margin-top:20px}.booking-success{display:flex;flex-direction:column;gap:4px;margin-top:20px;padding:18px;background:#dff4eb;color:#0a6f43;border-radius:10px}.practical-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}.practical-strip span{display:flex;flex-direction:column;padding:16px;background:var(--cream);border-radius:10px}.practical-strip small{color:var(--muted);margin-bottom:5px}.detailed-days article{align-items:start}.module{padding:15px 0;border-top:1px dashed var(--line)}.module small{color:var(--red);font-weight:700}.module p{margin:6px 0}.orientation-note{padding:13px 15px;background:#eaf5f8;border-radius:9px;font-size:13px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.method-grid span{padding:17px;background:var(--cream);border-radius:10px;font-weight:700;font-size:14px}.priority-list{list-style:none;padding:0}.priority-list li{display:flex;flex-direction:column;padding:16px 0;border-bottom:1px solid var(--line)}.priority-list span{color:var(--muted);margin-top:3px}.sidebar-sessions{display:grid;margin-bottom:18px}.sidebar-sessions a{display:flex;flex-direction:column;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.16);color:#fff;text-decoration:none}.sidebar-sessions span{font-size:12px;color:#b8c7d5;margin-top:3px}.booking-card>.button{width:100%}
@media(max-width:900px){.calendar-toolbar{position:static}.session-row{grid-template-columns:150px 1fr}.session-status{grid-column:2}.booking-page{grid-template-columns:1fr}.booking-intro{padding:65px 28px}.practical-strip,.method-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.calendar-toolbar{flex-direction:column}.calendar-summary,.custom-date{align-items:flex-start;flex-direction:column}.session-row{grid-template-columns:1fr}.session-date{border-right:0;border-bottom:1px solid var(--line);padding-bottom:12px}.session-status{grid-column:auto;justify-content:space-between}.selected-session>div,.form-two,.practical-strip,.method-grid{grid-template-columns:1fr}.booking-panel{padding:30px 18px}.booking-form{padding:23px}}

/* Functional booking steps and mobility destinations */
.booking-steps li{display:flex;align-items:center;gap:12px;cursor:default}.booking-steps li b{width:28px;height:28px;display:grid;place-items:center;border:1px solid #607a93;border-radius:50%;font-size:12px}.booking-steps li.current b{background:var(--orange);border-color:var(--orange);color:var(--navy)}.booking-steps li.complete{color:#bde8d5;cursor:pointer}.booking-steps li.complete b{background:#15845a;border-color:#15845a;color:#fff}.booking-steps li.complete b:after{content:'✓';font-size:12px}.booking-steps li.complete b{font-size:0}.step-help{font-size:12px!important;color:#91a5ba!important;margin-top:20px}.booking-stage{display:none}.booking-stage.active{display:block;animation:stageIn .35s ease}@keyframes stageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.stage-card{padding:34px;background:#fff;border-radius:0 0 18px 18px;box-shadow:var(--shadow)}.stage-card h2,.confirmation-card h2{font-size:31px;color:var(--navy)}.stage-card label{font-size:13px;font-weight:700}.stage-card select{display:block;width:100%;margin:8px 0 20px;padding:14px;border:1px solid var(--line);border-radius:9px;font:14px 'DM Sans'}.stage-note{color:var(--muted);font-size:13px}.stage-heading{margin-bottom:25px}.back-step,.text-button{background:none;border:0;padding:0;color:var(--red);font-weight:700;cursor:pointer;margin-bottom:20px}.confirmation-card{background:#fff;padding:50px;border-radius:20px;box-shadow:var(--shadow);text-align:center}.confirmation-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 24px;border-radius:50%;background:#dff4eb;color:#128451;font-size:28px;font-weight:800}.confirmation-card>p{color:var(--muted)}#confirmationSummary{display:grid;grid-template-columns:1fr 1fr;text-align:left;margin:30px 0;background:var(--cream);border-radius:14px;padding:20px}#confirmationSummary span{display:flex;flex-direction:column;padding:12px}#confirmationSummary small{color:var(--muted);margin-bottom:4px}.confirmation-card .text-button{display:block;margin:20px auto 0}.destinations{background:#f5f9fb}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.destination-card{height:330px;border-radius:20px;overflow:hidden;background-position:center;background-size:cover;position:relative;box-shadow:var(--shadow)}.destination-card:after{content:'';position:absolute;inset:28% 0 0;background:linear-gradient(transparent,rgba(5,18,34,.92))}.destination-card>div{position:absolute;left:25px;right:25px;bottom:22px;z-index:2;color:#fff}.destination-card small{color:#ffd56e;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.destination-card h3{font-size:26px;margin:7px 0}.destination-card p{font-size:13px;color:#dbe5ee;margin:0}.dest-cz{background-image:url('https://images.unsplash.com/photo-1541849546-216549ae216d?auto=format&fit=crop&w=900&q=82')}.dest-es{background-image:url('https://images.unsplash.com/photo-1560969184-10fe8719e047?auto=format&fit=crop&w=900&q=82')}.dest-it{background-image:url('https://images.unsplash.com/photo-1529260830199-42c24126f198?auto=format&fit=crop&w=900&q=82')}.dest-tr{background-image:url('https://images.unsplash.com/photo-1524231757912-21f4fe3a7200?auto=format&fit=crop&w=900&q=82')}.dest-ro{background-image:url('https://images.unsplash.com/photo-1584646098378-0874589d76b1?auto=format&fit=crop&w=900&q=82')}.dest-lt{background-image:url('https://images.unsplash.com/photo-1603384358453-e337643f234d?auto=format&fit=crop&w=900&q=82')}.availability-note{margin-top:25px;padding:17px;background:#fff;border-left:4px solid var(--orange);color:var(--muted);font-size:13px}
@media(max-width:900px){.destination-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){#confirmationSummary,.destination-grid{grid-template-columns:1fr}.confirmation-card{padding:30px 22px}.destination-card{height:290px}}
.footer-legal{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;width:100%;margin-top:14px}.footer-legal a{color:inherit;text-decoration:underline;text-underline-offset:4px;font-size:14px}.legal-page{background:#f7f8fa;padding-bottom:80px}.legal-hero{padding:90px max(6vw,32px) 55px;background:#172235;color:#fff}.legal-hero .eyebrow{color:#f1b9c0}.legal-hero h1{font-size:clamp(42px,7vw,76px);margin:12px 0}.legal-hero p:last-child{color:#d8deea}.legal-content{max-width:960px;margin:48px auto 0;padding:48px 56px;background:#fff;border-radius:24px;box-shadow:0 18px 60px rgba(23,34,53,.08);color:#334057;line-height:1.75}.legal-content h2{color:#172235;margin:40px 0 12px;font-size:25px}.legal-content h2:first-of-type{margin-top:28px}.legal-content a{color:#ad1024;text-decoration:underline}.legal-content li{margin:8px 0}.legal-table,.terms-scale{display:grid;gap:1px;margin:22px 0;background:#dfe4eb;border:1px solid #dfe4eb;border-radius:14px;overflow:hidden}.legal-table>div,.terms-scale>div{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:16px 18px;background:#f8f9fb}.legal-table>div:first-child{background:#172235;color:#fff}.terms-scale>div strong{color:#172235}.booking-form .consent a{color:#ad1024;text-decoration:underline;font-weight:700}@media(max-width:700px){.legal-content{margin:24px 16px 0;padding:28px 22px}.legal-table>div,.terms-scale>div{grid-template-columns:1fr;gap:6px}}
/* Verifiable provisional registration letters */
.verification-page{min-height:75vh;background:#f3f6f9;padding-bottom:80px}
.verification-intro{padding:76px max(6vw,28px);background:#14243d;color:#fff}
.verification-intro h1{max-width:900px;margin:10px 0 18px;font-size:clamp(2.2rem,5vw,4.6rem);line-height:1.02}
.verification-intro>p:last-child{max-width:760px;color:#d6deea;font-size:1.08rem;line-height:1.7}
.verification-panel{width:min(1050px,calc(100% - 36px));margin:-35px auto 0;background:#fff;border-radius:28px;padding:38px;box-shadow:0 18px 55px rgba(20,36,61,.12)}
.verification-form label{font-weight:700;color:#14243d}
.verification-search{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:10px}
.verification-search input{min-width:0;padding:17px 18px;border:1px solid #cfd6df;border-radius:14px;font:600 1rem 'DM Sans',sans-serif;text-transform:uppercase}
.verification-loading{margin:28px 0;padding:18px;border-radius:14px;background:#eef5f8;color:#52637b}
.verification-card{margin-top:30px;border:1px solid #dbe4ea;border-radius:22px;overflow:hidden}
.verification-status{display:flex;align-items:flex-start;gap:18px;padding:28px 30px;background:#eff8f3}
.verification-status>span{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#13754a;color:#fff;font-size:1.6rem;font-weight:800;flex:0 0 auto}
.verification-status h2{margin:3px 0 8px;color:#14243d}
.verification-status p{margin:0;color:#52637b;line-height:1.55}
.verification-card.expired .verification-status{background:#fff7e6}.verification-card.expired .verification-status>span{background:#d38200}
.verification-card.revoked .verification-status,.verification-card.not-found .verification-status{background:#fff0f1}.verification-card.revoked .verification-status>span,.verification-card.not-found .verification-status>span{background:#bd1126}
.verification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:8px 30px 28px}
.verification-grid>div{padding:20px 10px 15px 0;border-bottom:1px solid #e9edf1}
.verification-grid small{display:block;color:#68778d;margin-bottom:6px}.verification-grid b{color:#172235;line-height:1.45}
.verification-privacy{margin:24px 0 0;color:#68778d;font-size:.88rem;line-height:1.55}
.project-application-fieldset{border:1px solid #d9e0e8;border-radius:18px;padding:20px;margin:8px 0 22px;background:#f8fafc}
.project-application-fieldset legend{padding:0 8px;font:700 1rem 'Manrope',sans-serif;color:#172235}
.letter-request{display:flex!important;align-items:flex-start;gap:12px;margin-top:16px;padding:16px;border-radius:14px;background:#eef6f5}
.letter-request input{width:20px;height:20px;flex:0 0 auto;margin-top:2px}.letter-request span{font-weight:600;line-height:1.5}
.letter-request-note{margin:10px 4px 0;color:#627188;font-size:.88rem;line-height:1.5}
@media(max-width:680px){.verification-panel{padding:24px}.verification-search{grid-template-columns:1fr}.verification-grid{grid-template-columns:1fr;padding:5px 22px 24px}.verification-status{padding:24px 22px}.verification-intro{padding-top:55px}}
.project-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.button-secondary{background:#fff;color:var(--navy)!important;box-shadow:none;border:1px solid rgba(255,255,255,.6)}
.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.project-gallery figure,.project-gallery .gallery-feature{height:180px;margin:0;border-radius:14px;overflow:hidden;background:#eef2f5;grid-column:auto;grid-row:auto}.project-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.project-gallery figure:hover img{transform:scale(1.025)}
@media(max-width:760px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-gallery figure,.project-gallery .gallery-feature{height:145px}}
@media(max-width:380px){.project-gallery figure,.project-gallery .gallery-feature{height:120px}}

/* TechAndEdu bounded mosaic gallery */
.techandedu-mosaic{width:min(100%,960px);margin:28px auto 0;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:180px;gap:14px}
.techandedu-mosaic figure,.techandedu-mosaic .gallery-feature{width:100%;height:180px}
.techandedu-mosaic .gallery-feature{grid-column:span 2;grid-row:span 2;height:374px}
@media(max-width:760px){.techandedu-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:145px;gap:10px}.techandedu-mosaic figure,.techandedu-mosaic .gallery-feature{height:145px}.techandedu-mosaic .gallery-feature{grid-column:span 2;grid-row:span 2;height:300px}}
@media(max-width:480px){.techandedu-mosaic{grid-auto-rows:120px}.techandedu-mosaic figure,.techandedu-mosaic .gallery-feature{height:120px}.techandedu-mosaic .gallery-feature{grid-row:span 2;height:250px}}

/* Mobile overflow safeguards */
html,body{max-width:100%;overflow-x:clip}
img,svg,video,iframe{max-width:100%}
.hero>*,.section>*,.course-layout>*,.booking-page>*,.contact-page>*,.project-list article>*,.session-row>*,.professional-form>*,.booking-form>*,.verification-grid>*,.legal-table>div>*{min-width:0}
h1,h2,h3,p,li,a,b,span,small{overflow-wrap:anywhere}
dialog{width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}

@media(max-width:600px){
  .site-header{padding-left:18px;padding-right:18px}
  .brand img{width:min(160px,52vw);height:auto}
  .hero h1,.page-hero h1,.contact-page h1,.course-detail-hero h1{font-size:clamp(34px,11vw,42px)}
  .trust-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .floating-card{right:0;left:0;width:max-content;max-width:100%;padding:14px 16px}
  .button{max-width:100%;white-space:normal;text-align:center}
  .course-meta{grid-template-columns:1fr}
  .selected-session,.stage-card{padding:22px 18px}
  .verification-panel{width:calc(100% - 24px);padding:20px 16px;border-radius:20px}
  .verification-status{flex-direction:column}
  .legal-hero{padding-left:22px;padding-right:22px}
  dialog{padding:30px 20px}
  dialog h2{font-size:30px}
}

/* Brand slogan retained below the descriptive home-page H1. */
.hero-copy h1{font-size:clamp(42px,5vw,68px)}.hero-slogan{font:800 clamp(24px,3vw,40px)/1.15 Manrope,sans-serif;color:var(--navy);letter-spacing:-.035em;margin:0 0 20px}.hero-slogan span{color:var(--red)}

/* Rich course-programme content. */
.detailed-days .module h4{margin:7px 0 5px;color:var(--navy);font-size:17px}
.detailed-days .practical-module{margin:10px 0 4px;padding:16px 18px;border:1px solid #cfe3ea;border-radius:11px;background:#f1f8fa}
.detailed-days .practical-module small{color:#176780}
.day-output{margin-top:14px!important;padding:14px 16px;border-left:3px solid var(--orange);background:#fff8e9;border-radius:0 9px 9px 0;color:var(--ink)!important}
.day-output b{color:var(--navy)}
.final-product{padding:24px 26px;background:linear-gradient(135deg,#edf7f9,#f8fbfc);border:1px solid #cfe5ea;border-radius:14px}
.final-product p{margin:0;color:var(--navy);font-size:17px;font-weight:600;line-height:1.65}
.course-content>section>p{line-height:1.75}
.detailed-days article>div>h3{font-size:24px;margin:0 0 17px;color:var(--navy)}
