@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#102b2b;--muted:#526363;--mint:#d4ed78;--cream:#f6f5ef;--line:#dbe1db;--teal:#0d5b55;--white:#fff;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',sans-serif;line-height:1.55}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.1;letter-spacing:-.045em}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.skip{position:absolute;top:-70px;left:10px;background:var(--mint);padding:8px;z-index:10}.skip:focus{top:10px}.site-header{background:var(--cream);border-bottom:1px solid var(--line)}.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.07em;font-size:18px;line-height:1}.brand small{display:block;font-size:9px;letter-spacing:.13em;margin-top:6px}.brand-mark{background:var(--ink);color:var(--mint);width:43px;height:43px;border-radius:10px;display:grid;place-items:center;font-size:19px;letter-spacing:-.1em}.brand-mark span{font-size:15px}.nav nav{display:flex;gap:32px;font-weight:600;font-size:14px}.nav nav a:hover,.text-link:hover{color:var(--teal)}.button{background:var(--mint);border:1px solid var(--mint);color:var(--ink);border-radius:100px;padding:16px 24px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:14px;font-weight:800;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#e4f6a3}.button span{font-size:20px;font-weight:400;line-height:0}.button-small{padding:12px 18px;gap:12px}.hero{background:var(--cream);overflow:hidden}.hero-grid{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;padding:72px 0}.eyebrow,.kicker{font-size:11px;font-weight:800;letter-spacing:.19em;color:var(--teal)}.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:25px}.dot{width:8px;height:8px;background:#32ab7d;border-radius:50%}.hero h1{font-size:clamp(48px,6vw,84px);max-width:760px;margin-bottom:25px}.hero h1 em{font-style:normal;color:var(--teal)}.hero-copy>p{max-width:560px;font-size:18px;color:var(--muted)}.hero-actions{display:flex;gap:27px;align-items:center;margin:34px 0 19px}.text-link{font-size:14px;font-weight:800}.hero-copy .micro{font-size:12px;color:#778782}.hero-art{height:470px;position:relative;background:#e6ece4;border-radius:220px 220px 35px 35px;overflow:hidden}.hero-art:before{content:'';position:absolute;inset:auto -20% -55% -20%;height:75%;background:#c7d9c8;border-radius:50%}.globe{position:absolute;width:300px;height:300px;border:2px solid #68968a;border-radius:50%;left:50%;top:45%;transform:translate(-50%,-50%);background:linear-gradient(130deg,#b6d2bb,#e4eed4);box-shadow:30px 28px 0 #a9c7ad}.globe:before,.globe:after{content:'';position:absolute;top:0;bottom:0;border:2px solid #81aa93;border-radius:50%;width:38%;left:31%}.globe:after{width:75%;left:12.5%}.globe-equator{position:absolute;top:50%;width:100%;border-top:2px solid #81aa93}.globe-line{position:absolute;left:5%;right:5%;height:35%;border-top:2px solid #81aa93;border-radius:50%;z-index:1}.g1{top:25%}.g2{top:70%}.orbit{position:absolute;border:1px solid #9dbbac;border-radius:50%;transform:rotate(-23deg);left:-12%;right:-12%;top:12%;bottom:12%}.orbit-two{left:8%;right:8%;top:-17%;bottom:-17%;transform:rotate(35deg)}.journey-card{position:absolute;left:10%;right:9%;bottom:38px;display:flex;align-items:center;gap:16px;padding:18px 20px;background:var(--ink);color:white;border-radius:12px;box-shadow:0 12px 35px #0b362844;font-size:10px;letter-spacing:.15em;font-weight:800}.journey-card strong{display:block;font:800 23px Manrope,sans-serif;letter-spacing:-.05em}.journey-icon{font-size:30px;color:var(--mint)}.journey-card .arrow{margin-left:auto;font-size:26px;color:var(--mint)}.spark{position:absolute;color:#0c635a;font-size:35px}.s1{top:13%;left:16%}.s2{right:12%;top:18%}.strip{background:var(--ink);color:#d5e1d5}.strip-inner{display:flex;justify-content:space-between;gap:20px;padding:21px 0;font-size:11px;font-weight:800;letter-spacing:.16em}.section{padding:110px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:48px}.section h2{font-size:clamp(36px,4vw,56px);margin:14px 0 0}.section-head p{max-width:360px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{min-height:300px;background:white;border:1px solid var(--line);padding:32px;border-radius:15px;display:flex;flex-direction:column;align-items:start}.card-num{font-size:11px;font-weight:800;color:#849693}.card-icon{margin-top:26px;font-size:38px;line-height:1;color:var(--teal)}.card h3{font-size:23px;margin:22px 0 8px}.card p{font-size:14px;color:var(--muted);margin:0}.process{background:var(--teal);color:white}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:14%;align-items:start}.process .light{color:var(--mint)}.process h2{margin-bottom:22px}.process-grid>div>p{color:#cee1db;max-width:430px;margin-bottom:30px}.button-light{background:var(--mint)}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:26px;border-top:1px solid #78a6a0;padding:29px 0}.steps li:last-child{border-bottom:1px solid #78a6a0}.steps li>span{color:var(--mint);font-weight:800;font-size:12px}.steps h3{font-size:21px;margin:0 0 8px}.steps p{color:#cee1db;font-size:14px;margin:0}.enquiry{background:#f0f2ec}.enquiry-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:8%;align-items:start}.enquiry-grid>div>p{color:var(--muted);max-width:360px;margin-top:25px}.contact-note{margin-top:50px;display:flex;gap:16px;align-items:center}.contact-note>span{width:48px;height:48px;background:#dbe7db;display:grid;place-items:center;border-radius:50%;font-size:23px}.contact-note strong,.contact-note a{display:block;font-size:14px}.contact-note a{text-decoration:underline;text-underline-offset:4px}.fine{font-size:12px!important;color:#657673!important}.form{background:white;border-radius:18px;padding:38px;box-shadow:0 15px 50px #1d40300d}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form label{display:block;font-size:12px;font-weight:800;margin-bottom:19px}.form input,.form select,.form textarea{width:100%;display:block;margin-top:8px;background:#f8faf7;border:1px solid #d9e3dc;border-radius:7px;padding:13px 14px;color:var(--ink);outline:none;font-weight:500}.form :is(input,select,textarea):focus{border-color:var(--teal);box-shadow:0 0 0 3px #0d5b5522}.form textarea{resize:vertical}.form .check{display:flex;gap:10px;align-items:start;font-weight:500;line-height:1.5}.check input{width:17px;height:17px;flex:none;margin:1px 0 0;accent-color:var(--teal)}.form-submit{width:100%;border-radius:7px;justify-content:space-between}.form .fine{margin:13px 0 0}.honeypot{position:absolute;left:-9999px}.form-notice{padding:14px;margin-bottom:20px;background:#e9f4df;border-radius:6px;font-size:14px;font-weight:700}footer{background:var(--ink);color:#d0ded5;padding:65px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:30px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px;font-size:14px}.footer-grid strong{color:white;margin-bottom:8px}.footer-grid a:hover{text-decoration:underline}.footer-brand{font:800 27px Manrope,sans-serif;letter-spacing:-.07em;color:white}.footer-brand span{color:var(--mint)}.footer-grid p{font-size:13px;max-width:280px;margin-top:12px}.footer-bottom{border-top:1px solid #48635b;margin-top:60px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#adbdaf}
@media(max-width:900px){.nav nav{display:none}.hero-grid{gap:25px;min-height:auto}.hero h1{font-size:clamp(44px,6vw,64px)}.hero-art{height:390px}.globe{width:220px;height:220px}.process-grid{gap:7%}.enquiry-grid{gap:5%}}
@media(max-width:700px){.wrap{width:min(100% - 32px,560px)}.nav{min-height:72px}.brand{font-size:15px}.brand-mark{width:39px;height:39px}.nav>.button{font-size:0;padding:10px 14px}.nav>.button span{font-size:22px}.hero-grid{display:flex;flex-direction:column;padding:64px 0 40px;align-items:stretch}.hero h1{font-size:clamp(43px,11vw,68px)}.hero-copy>p{font-size:16px}.hero-art{height:350px;border-radius:170px 170px 28px 28px}.journey-card{bottom:25px}.strip-inner{display:grid;grid-template-columns:1fr 1fr;gap:12px}.section{padding:75px 0}.section-head,.process-grid,.enquiry-grid{display:block}.section-head p{margin-top:20px}.cards{grid-template-columns:1fr}.card{min-height:230px}.process-grid .steps{margin-top:55px}.enquiry-grid .form{margin-top:40px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}}
@media(max-width:480px){.hero-actions{display:flex;align-items:start;flex-direction:column;gap:18px}.form{padding:23px}.form-row{display:block}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}
/* Destination and people pages */
.flags-section{padding:42px 0 46px;background:#fff;border-bottom:1px solid var(--line)}.flag-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.flag-intro h2{font-size:clamp(26px,3vw,38px);margin:5px 0 0}.flags-row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.flags-row a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:110px;border:1px solid var(--line);border-radius:12px;background:#f7faf5;text-align:center;padding:10px 3px;font-size:14px}.flags-row a:hover,.flags-row a:focus-visible{background:#e9f4d3;border-color:#9fbe87}.flag{display:block;font-size:42px;line-height:1.35;animation:flag-wave 3.5s ease-in-out infinite;transform-origin:bottom center}.flags-row a:nth-child(2n) .flag{animation-delay:.5s}.flags-row a:nth-child(3n) .flag{animation-delay:1s}@keyframes flag-wave{0%,100%{transform:rotate(-4deg) skewY(0)}50%{transform:rotate(5deg) skewY(-3deg)}}.ceo-section{background:#edf2eb}.ceo-grid{display:grid;grid-template-columns:minmax(270px,.68fr) 1.32fr;gap:7%;align-items:center}.profile-photo{background:linear-gradient(145deg,#d8e8d4,#accab5);border:1px solid #9cbcab;border-radius:22px;aspect-ratio:4/4.3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--teal)}.profile-photo>span{font:800 clamp(66px,10vw,120px) Manrope,sans-serif;letter-spacing:-.1em}.profile-photo small{font-size:12px;letter-spacing:.18em;font-weight:800}.ceo-grid p{font-size:19px;color:var(--muted);max-width:650px;line-height:1.7;margin:26px 0}.ceo-grid strong,.role-line{display:block}.role-line{color:var(--muted);font-size:14px;margin-top:4px}.showcase{background:white}.slideshow{position:relative;overflow:hidden;border-radius:20px;background:#d6ded9}.slide{position:relative}.scene{height:480px;background-image:url('student-life-triptych.png');background-repeat:no-repeat;background-size:300% 100%}.scene-one{background-position:0% 50%}.scene-two{background-position:50% 50%}.scene-three{background-position:100% 50%}.slide-caption{position:absolute;bottom:0;left:0;right:0;color:white;font:800 clamp(22px,3vw,37px) Manrope,sans-serif;letter-spacing:-.04em;padding:60px 85px 30px;background:linear-gradient(transparent,#102b2bd9)}.slide-controls{position:absolute;bottom:26px;right:28px;display:flex;align-items:center;gap:10px;color:white;font-weight:700;background:#102b2baa;border-radius:50px;padding:5px 9px}.slide-controls button{border:0;border-radius:50%;width:34px;height:34px;background:white;color:var(--ink);font-size:23px;cursor:pointer;line-height:1}.quick-links{background:#f1f5ee}.quick-links .card:hover{border-color:#9fbe87;transform:translateY(-3px)}.inner-hero{padding:90px 0 75px;background:var(--teal);color:white}.inner-hero h1{font-size:clamp(42px,5vw,70px);max-width:820px;margin:14px 0}.inner-hero p{max-width:690px;color:#d9e8e1;font-size:18px}.inner-hero .kicker{color:var(--mint)}.inner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.inner-card{background:white;border:1px solid var(--line);border-radius:16px;padding:30px;scroll-margin-top:25px}.inner-card h2{font-size:28px;margin:15px 0}.inner-card p{color:var(--muted)}.inner-card .flag{display:inline-block}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.story{background:white;border:1px solid var(--line);padding:30px;border-radius:16px}.story h2{font-size:27px}.story p{color:var(--muted)}.staff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.staff{display:flex;gap:22px;align-items:center;background:white;border:1px solid var(--line);padding:20px;border-radius:16px}.staff .profile-photo{aspect-ratio:1;width:150px;flex:none;border-radius:12px}.staff .profile-photo span{font-size:43px}.staff .profile-photo small{font-size:9px}.staff h2{font-size:25px;margin:0 0 8px}.staff p{color:var(--muted);margin:0}.page-contact{background:#ecf4e1;text-align:center}.page-contact h2{margin-bottom:25px}.page-contact .button{margin:0 8px 10px}.contact-note a[href^="tel"]{display:block;margin-top:7px}
@media(max-width:1000px){.flags-row{grid-template-columns:repeat(4,1fr)}.story-grid{grid-template-columns:1fr 1fr}.staff-grid{grid-template-columns:1fr}}
@media(max-width:700px){.flags-row{grid-template-columns:repeat(4,1fr);gap:7px}.flags-row a{min-height:94px;font-size:12px}.flag{font-size:32px}.ceo-grid,.inner-grid,.story-grid{grid-template-columns:1fr}.ceo-grid .profile-photo{max-width:350px;width:100%}.scene{height:360px}.slide-caption{padding:60px 20px 75px}.slide-controls{right:16px;bottom:16px}.inner-hero{padding:65px 0}.staff{align-items:flex-start}.staff .profile-photo{width:100px}}
@media(prefers-reduced-motion:reduce){.flag{animation:none}html{scroll-behavior:auto}}
.scene{background-size:300% auto}

.staff .profile-photo{overflow:hidden}
.staff .profile-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.staff .profile-photo .chairman-portrait{object-position:center 23%}
.staff .profile-photo .finance-portrait{object-position:center 39%}
/* Eight destination flags stay in one row; narrow screens can scroll across them. */
.flags-row{grid-template-columns:repeat(8,minmax(105px,1fr));overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:8px}
.flag{display:inline-block;transform-origin:10% 80%;animation:flag-wave 2.6s ease-in-out infinite;filter:drop-shadow(1px 3px 2px #102b2b26)}
.flags-row a:nth-child(2n) .flag{animation-delay:-.75s}
.flags-row a:nth-child(3n) .flag{animation-delay:-1.4s}
@keyframes flag-wave{0%,100%{transform:perspective(140px) rotateY(-18deg) skewY(-4deg) rotate(-3deg)}50%{transform:perspective(140px) rotateY(18deg) skewY(4deg) rotate(4deg)}}
@media(max-width:1000px){.flags-row{grid-template-columns:repeat(8,minmax(105px,1fr))}}
@media(max-width:700px){.flags-row{grid-template-columns:repeat(8,105px)}}
@media(prefers-reduced-motion:reduce){.flag{animation:none}}
/* Keep staff photos inside fixed portrait frames. */
.staff .profile-photo{width:150px;height:150px;aspect-ratio:auto;flex:0 0 150px;min-width:0;min-height:0;overflow:hidden}
.staff .profile-photo img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;display:block}
@media(max-width:700px){.staff .profile-photo{width:100px;height:100px;flex-basis:100px}}
/* Official company logo in the header and footer. */
.brand-logo{display:block;width:66px;height:66px;flex:none;object-fit:contain;border-radius:9px}
.footer-logo{display:block;width:120px;height:120px;object-fit:contain;border-radius:10px;margin-bottom:15px}
@media(max-width:700px){.brand-logo{width:54px;height:54px}}
