
:root{
  --navy:#0E2A6B; --navy-2:#0A2058; --navy-3:#06163F; --gold:#C9A646; --gold-2:#E2C36B;
  --ink:#13224A; --muted:#5B6787; --line:#E3E7F1; --soft:#F5F7FC; --soft-2:#EEF1F9; --white:#fff;
  --serif:'Playfair Display',Georgia,serif; --sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --wrap:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{font-family:var(--serif);line-height:1.1;color:var(--navy)}
h2{font-size:clamp(32px,4vw,46px);font-weight:700}
.lead{color:var(--muted);font-size:17px;max-width:620px}
.center{text-align:center}.center .lead{margin:14px auto 0}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;padding:15px 26px;border-radius:6px;transition:transform .15s,background .2s,box-shadow .2s;cursor:pointer;border:0}
.btn svg{width:18px;height:18px}
.btn-gold{background:var(--gold);color:var(--navy-3)}
.btn-gold:hover{background:var(--gold-2);transform:translateY(-1px);box-shadow:0 10px 24px rgba(201,166,70,.35)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.75);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-wa{background:#25D366;color:#fff}.btn-wa:hover{background:#1fb457}

/* top bar + header */
.topbar{background:var(--navy-3);color:#cfd6ea;font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:38px;gap:16px}
.topbar .contacts{display:flex;gap:22px}
.topbar a{display:inline-flex;align-items:center;gap:6px}.topbar a:hover{color:var(--gold-2)}
.topbar svg{width:14px;height:14px}
header{position:sticky;top:0;z-index:50;background:var(--navy);box-shadow:0 6px 24px rgba(6,22,63,.25)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:80px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:54px;height:54px;border-radius:9px;box-shadow:0 0 0 1.5px rgba(201,166,70,.8)}
.brand b{display:block;font-family:var(--serif);color:#fff;font-size:21px;font-weight:700;letter-spacing:.2px;line-height:1.1}
.brand small{display:block;color:var(--gold);font-size:10.5px;letter-spacing:2.6px;font-weight:600;margin-top:3px}
nav ul{display:flex;gap:34px;list-style:none}
nav a{color:#E6EAF5;font-weight:500;font-size:15px;position:relative;padding:6px 0}
nav a:hover,nav a.active{color:var(--gold-2)}
nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--gold)}
.menu-btn{display:none;background:none;border:0;color:#fff;cursor:pointer}
.menu-btn svg{width:28px;height:28px}

/* hero */
.hero{position:relative;color:#fff;min-height:640px;display:flex;align-items:center;overflow:hidden;background:var(--navy-3)}
.hero .bg{position:absolute;inset:0;background:url("https://images.unsplash.com/photo-1461906903741-bf21de16ae85?auto=format&fit=crop&w=2000&q=75") center 40%/cover}
.hero .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,22,63,.94) 0%,rgba(10,32,88,.82) 45%,rgba(10,32,88,.45) 100%)}
.hero .wrap{position:relative;padding-top:90px;padding-bottom:150px;width:100%}
.hero .kicker{display:flex;align-items:center;gap:14px;color:var(--gold-2);font-weight:500;font-size:15px}
.hero .kicker:before{content:"";width:40px;height:1.5px;background:var(--gold)}
.hero h1{color:#fff;font-size:clamp(44px,6.4vw,82px);font-weight:700;margin:20px 0 22px;max-width:780px}
.hero h1 em{font-style:normal;color:var(--gold-2)}
.hero p{font-size:19px;color:#dfe5f5;max-width:640px}
.hero .ctas{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.facts{position:relative;margin-top:-92px;z-index:2}
.facts .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fact{background:rgba(14,42,107,.92);backdrop-filter:blur(6px);border:1px solid rgba(201,166,70,.35);border-radius:10px;padding:22px 22px;color:#fff;box-shadow:0 18px 40px rgba(6,22,63,.25)}
.fact b{display:block;font-family:var(--serif);font-size:24px;color:var(--gold-2);font-weight:700;line-height:1.15}
.fact span{font-size:14px;color:#cfd6ea}

section{padding:100px 0}
/* services */
.services .grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:54px}
.svc{position:relative;border-radius:14px;overflow:hidden;min-height:460px;display:flex;align-items:flex-end;color:#fff;box-shadow:0 20px 44px rgba(14,42,107,.18)}
.svc .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s}
.svc:hover .img{transform:scale(1.04)}
.svc:before{content:"";position:absolute;inset:0;z-index:1}
.svc.visit:before{background:linear-gradient(180deg,rgba(14,42,107,.05) 15%,rgba(10,32,88,.93) 70%)}
.svc.study:before{background:linear-gradient(180deg,rgba(14,42,107,.05) 15%,rgba(16,79,63,.93) 70%)}
.svc .body{position:relative;z-index:2;padding:34px}
.tag{display:inline-block;background:var(--gold);color:var(--navy-3);font-size:12px;font-weight:700;padding:5px 11px;border-radius:4px;letter-spacing:.4px}
.svc h3{color:#fff;font-size:34px;margin:14px 0 10px}
.svc p{color:#e6ebf7;font-size:15.5px}
.svc ul{list-style:none;margin:16px 0 20px;display:grid;gap:7px}
.svc li{display:flex;gap:10px;font-size:15px;color:#fff}
.svc li:before{content:"✓";color:var(--gold-2);font-weight:700}
.svc .more{color:var(--gold-2);font-weight:600;display:inline-flex;gap:8px;align-items:center}
.svc .more:hover{gap:12px}

/* destinations */
.dest{background:var(--soft-2)}
.dest .grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:50px}
.city{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:3/4;color:#fff;box-shadow:0 12px 28px rgba(14,42,107,.15)}
.city img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.city:hover img{transform:scale(1.06)}
.city:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(6,22,63,.88))}
.city div{position:absolute;left:14px;right:14px;bottom:14px;z-index:1}
.city small{font-size:11px;letter-spacing:1.5px;color:#cfd6ea;font-weight:600}
.city b{display:block;font-size:16px;font-weight:700}
.city span{font-size:12.5px;color:var(--gold-2)}

/* process */
.process{position:relative;color:#fff;background:var(--navy-2);overflow:hidden}
.process:before{content:"";position:absolute;inset:0;background:url("https://images.unsplash.com/photo-1758531491352-7887c1fe45b3?auto=format&fit=crop&w=1800&q=60") center/cover;opacity:.16}
.process .wrap{position:relative}
.process h2{color:#fff}.process .lead{color:#cfd6ea}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:54px}
.step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:30px 26px}
.step .n{font-family:var(--serif);font-size:44px;color:var(--gold);opacity:.85;line-height:1}
.step h3{color:#fff;font-size:21px;margin:16px 0 10px}
.step p{color:#cfd6ea;font-size:15px}

/* why */
.why .grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.why .photo{border-radius:14px;overflow:hidden;aspect-ratio:4/3.3;box-shadow:0 22px 48px rgba(14,42,107,.2);position:relative}
.why .photo img{width:100%;height:100%;object-fit:cover}
.why .badge{position:absolute;left:22px;bottom:22px;background:var(--navy);color:#fff;border-radius:10px;padding:16px 20px;border-left:4px solid var(--gold)}
.why .badge b{font-family:var(--serif);font-size:20px;display:block}
.why .badge span{font-size:13px;color:#cfd6ea}
.points{display:grid;gap:16px;margin-top:30px}
.point{display:flex;gap:16px;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:20px 22px}
.point i{flex:none;width:42px;height:42px;border-radius:9px;background:var(--navy);display:flex;align-items:center;justify-content:center}
.point i svg{width:20px;height:20px;color:var(--gold-2)}
.point b{font-family:var(--serif);font-size:18px;color:var(--navy)}
.point p{font-size:14.5px;color:var(--muted)}

/* faq */
.faq{background:var(--soft-2)}
.faq .list{max-width:860px;margin:46px auto 0;display:grid;gap:12px}
details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 24px}
summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";color:var(--gold);font-size:24px;line-height:1}
details[open] summary:after{content:"–"}
details p{color:var(--muted);margin-top:10px;font-size:15.5px}

/* cta */
.cta{background:linear-gradient(120deg,var(--navy-2),var(--navy));color:#fff;position:relative;overflow:hidden;padding:84px 0}
.cta:after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.05)}
.cta .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.cta h2{color:#fff}.cta p{color:#cfd6ea;margin-top:12px;max-width:560px}
.cta .ctas{display:flex;gap:12px;flex-wrap:wrap}

/* contact */
.contact .grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;margin-top:50px}
.cards{display:grid;gap:14px}
.ccard{display:flex;gap:16px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:20px 22px;background:#fff;transition:border-color .2s,box-shadow .2s}
a.ccard:hover{border-color:var(--gold);box-shadow:0 10px 24px rgba(14,42,107,.08)}
.ccard i{flex:none;width:46px;height:46px;border-radius:50%;background:var(--soft-2);display:flex;align-items:center;justify-content:center;color:var(--navy)}
.ccard i svg{width:21px;height:21px}
.ccard small{display:block;color:var(--muted);font-size:13px}
.ccard b{color:var(--navy);font-size:16.5px}
.map{border-radius:14px;overflow:hidden;border:1px solid var(--line);min-height:360px}
.map iframe{width:100%;height:100%;min-height:360px;border:0}

/* footer */
footer{background:var(--navy-3);color:#b9c2db;font-size:14.5px}
footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px;padding:70px 0 50px}
footer h4{font-family:var(--serif);color:var(--gold);font-size:16px;letter-spacing:1px;margin-bottom:18px}
footer ul{list-style:none;display:grid;gap:10px}
footer a:hover{color:var(--gold-2)}
footer .about p{margin-top:16px;max-width:320px}
.social{display:flex;gap:10px;margin-top:20px}
.social a{width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center}
.social a:hover{background:var(--gold);color:var(--navy-3)}
.social svg{width:17px;height:17px}
footer .bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#8d97b5}
.disc{font-size:12.5px;color:#8d97b5;padding-bottom:20px}

.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(0,0,0,.25)}
.wa-float svg{width:32px;height:32px;color:#fff}
.wa-float:hover{transform:scale(1.06)}

@media (max-width:1024px){
  .facts .grid{grid-template-columns:repeat(2,1fr)}
  .dest .grid{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  footer .top{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .topbar .tagline{display:none}
  nav{position:fixed;inset:80px 0 auto 0;background:var(--navy);padding:10px 24px 24px;display:none;box-shadow:0 20px 30px rgba(0,0,0,.25)}
  nav.open{display:block}
  nav ul{flex-direction:column;gap:6px}
  nav a{display:block;padding:12px 0;font-size:17px}
  .menu-btn{display:block}
  header .hdr-cta{display:none}
  .services .grid,.why .grid,.contact .grid{grid-template-columns:1fr}
  section{padding:72px 0}
  .hero{min-height:600px}
  .hero .wrap{padding-top:60px;padding-bottom:130px}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .topbar .contacts{gap:14px;font-size:12px}
  .brand b{font-size:18px}.brand img{width:46px;height:46px}
  .facts .grid,.steps{grid-template-columns:1fr}
  .dest .grid{grid-template-columns:repeat(2,1fr)}
  footer .top{grid-template-columns:1fr}
  .svc{min-height:520px}
  .btn{padding:14px 20px}
}


.band{padding:80px 0;position:relative}
.band-study{--c1:#0B3D33;--c2:#13684F;background:linear-gradient(180deg,#EAF5F0,#F6FBF9)}
.band-visit{--c1:#0B3A5C;--c2:#0F6E9E;background:linear-gradient(180deg,#E8F3FA,#F5FAFD)}
.band-head{text-align:center}
.band-head h2{color:var(--c1);margin-top:14px}
.band-head .lead{margin:10px auto 0}
.band-pill{display:inline-flex;align-items:center;gap:8px;background:var(--c2);color:#fff;font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;padding:8px 16px;border-radius:999px}
.band-pill svg{width:16px;height:16px}
.band-link{display:inline-block;margin-top:14px;color:var(--c2);font-weight:700;font-size:15px}
.band .svc-card{border-top:4px solid var(--c2)}
.band .svc-card i{background:var(--c2);color:#fff}
.band .svc-card h3{color:var(--c1)}
.band .svc-card .go{color:var(--c2)}
.band .svc-card:hover{border-color:var(--c2)}
nav ul{align-items:center}nav>ul>li>a{display:inline-flex;align-items:center;gap:4px}
@media (max-width:1180px){nav ul{align-items:stretch!important}nav{position:fixed;inset:80px 0 auto 0;background:var(--navy);padding:10px 24px 24px;display:none;box-shadow:0 20px 30px rgba(0,0,0,.25);max-height:calc(100vh - 80px);overflow:auto}nav.open{display:block}nav ul{flex-direction:column;gap:6px}nav a{display:block;padding:12px 0;font-size:17px}.menu-btn{display:block}header .hdr-cta{display:none}.dd .menu,.dd .menu.cols,.dd:hover .menu,.dd:hover .menu.cols{display:block;position:static;box-shadow:none;background:transparent;padding:0 0 0 12px;min-width:0}.dd .menu a{color:#cfd6ea;padding:8px 0}.dd>a svg{display:none}}

.dd{position:relative}
.dd>a{display:inline-flex;align-items:center;gap:4px}
.dd>a svg{width:14px;height:14px}
.dd .menu{position:absolute;top:100%;left:-18px;min-width:250px;background:#fff;border-radius:10px;box-shadow:0 18px 40px rgba(6,22,63,.22);padding:10px;display:none;z-index:70}
.dd:hover .menu,.dd:focus-within .menu{display:block}
.dd .menu a{display:flex;gap:10px;align-items:center;color:var(--ink);padding:9px 12px;border-radius:6px;font-size:14.5px}
.dd .menu a:hover{background:var(--soft-2);color:var(--navy)}
.dd .menu.cols{display:none;grid-template-columns:1fr 1fr;min-width:420px}
.dd:hover .menu.cols,.dd:focus-within .menu.cols{display:grid}
.dd .menu .fl{font-size:18px}
.page-hero{position:relative;color:#fff;background:var(--navy-3);overflow:hidden}
.page-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,22,63,.93) 0%,rgba(10,32,88,.78) 50%,rgba(10,32,88,.4) 100%)}
.page-hero .wrap{position:relative;padding-top:86px;padding-bottom:86px}
.page-hero h1{color:#fff;font-size:clamp(38px,5vw,62px);margin:14px 0 14px;max-width:820px}
.page-hero h1 em{font-style:normal;color:var(--gold-2)}
.page-hero p{font-size:18px;color:#dfe5f5;max-width:680px}
.crumbs{font-size:13.5px;color:#cfd6ea}.crumbs a:hover{color:var(--gold-2)}
.crumbs span{margin:0 8px;opacity:.6}
.page-hero .ctas{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.content{padding:80px 0}
.two{display:grid;grid-template-columns:1.6fr 1fr;gap:44px;align-items:start}
.panel{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:30px}
.panel h3{font-size:24px;margin-bottom:16px}
.ticks{list-style:none;display:grid;gap:11px}
.ticks li{display:flex;gap:12px;font-size:16px}
.ticks li svg{flex:none;width:22px;height:22px;color:#fff;background:var(--gold);border-radius:50%;padding:4px;margin-top:1px}
.facts-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.facts-table th,.facts-table td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line);vertical-align:top;font-size:15.5px}
.facts-table tr:last-child th,.facts-table tr:last-child td{border-bottom:0}
.facts-table th{width:34%;background:var(--soft-2);color:var(--navy);font-weight:700}
.block{margin-top:46px}
.block h2{font-size:clamp(26px,3vw,34px);margin-bottom:8px}
.block .sub{color:var(--muted);margin-bottom:20px}
.places{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.places div{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-weight:500}
.places div:before{content:"📍"}
.side{position:sticky;top:110px;display:grid;gap:18px}
.side .cta-card{background:linear-gradient(140deg,var(--navy-2),var(--navy));color:#fff;border-radius:14px;padding:28px}
.side .cta-card h3{color:#fff;font-size:24px}
.side .cta-card p{color:#cfd6ea;margin:10px 0 18px;font-size:15px}
.side .cta-card .btn{width:100%;justify-content:center;margin-top:10px}
.side .links{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
.side .links h4{font-family:var(--serif);color:var(--navy);font-size:18px;margin-bottom:12px}
.side .links a{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink)}
.side .links a:last-child{border-bottom:0}
.side .links a:hover{color:var(--gold)}
.asof{font-size:13.5px;color:var(--muted);margin-top:14px;background:#FFF8E6;border:1px solid #F1E2B5;border-radius:10px;padding:12px 14px}
.official a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column}
.svc-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(14,42,107,.12);border-color:var(--gold)}
.svc-card i{width:50px;height:50px;border-radius:12px;background:var(--navy);display:flex;align-items:center;justify-content:center;color:var(--gold-2)}
.svc-card i svg{width:24px;height:24px}
.svc-card h3{font-size:20px;margin:16px 0 8px}
.svc-card p{color:var(--muted);font-size:14.5px;flex:1}
.svc-card .go{color:var(--gold);font-weight:700;margin-top:14px;font-size:14.5px}
.city-link{display:block}
.dest .grid.ten{grid-template-columns:repeat(5,1fr)}
.note{margin-top:22px;font-size:15px;color:var(--muted);border-left:4px solid var(--gold);padding:6px 0 6px 16px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:1024px){.svc-grid{grid-template-columns:repeat(2,1fr)}.dest .grid.ten{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:1fr}.side{position:static}}
@media (max-width:820px){.dd .menu,.dd .menu.cols,.dd:hover .menu,.dd:hover .menu.cols{display:block;position:static;box-shadow:none;background:transparent;padding:0 0 0 12px;min-width:0}
 .dd .menu a{color:#cfd6ea;padding:8px 0}.dd>a svg{display:none}.split{grid-template-columns:1fr}
 nav{max-height:calc(100vh - 80px);overflow:auto}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr}.dest .grid.ten{grid-template-columns:repeat(2,1fr)}.places{grid-template-columns:1fr}.facts-table th{width:40%}.facts-table th,.facts-table td{padding:13px 12px;font-size:14.5px}}
