:root{
  --navy:#0B1F3A;
  --navy-deep:#081628;
  --charcoal:#1A1D23;
  --gold:#C9A24B;
  --gold-soft:#D8BD7C;
  --ivory:#F7F5F0;
  --paper:#FFFFFF;
  --grey:#6B7280;
  --line:rgba(11,31,58,.10);
  --line-dark:rgba(201,162,75,.26);
  --maxw:1320px;
  --ease:cubic-bezier(.22,.61,.36,1);
  /* ---- IMAGERY ----
     Drop three image files next to index.html named exactly:
       hero.jpg        (wide luxury resort / hospitality, ~2400px)
       indonesia.jpg   (Bali / Jakarta resort or architecture, ~1800px)
       thailand.jpg    (Bangkok / Phuket hospitality, ~1800px)
     Use licensed images or partner-provided assets you have rights to.
     To use a hosted URL instead, replace the path with url('https://…'). */
  --img-hero:url('hero.jpg');
  --img-indonesia:url('indonesia.jpg');
  --img-thailand:url('thailand.jpg');
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html{overflow-x:hidden}
body{font-family:'Inter',sans-serif;color:var(--charcoal);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.05;letter-spacing:-.012em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 56px}
.eyebrow{font-size:11px;letter-spacing:.34em;text-transform:uppercase;font-weight:500;color:var(--gold);display:inline-flex;align-items:center;gap:16px}
.eyebrow::before{content:"";width:40px;height:1px;background:var(--gold);display:inline-block}
.eyebrow.light{color:var(--gold-soft)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none}}

/* NAV */
/* TOP BAR */
.topbar{background:var(--navy-deep);border-bottom:1px solid var(--line-dark)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:42px}
.topbar .locs{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.6);display:flex;gap:14px;flex-wrap:wrap}
.topbar .locs span{color:rgba(255,255,255,.35)}
.topbar a{font-size:11px;letter-spacing:.1em;color:var(--gold);transition:color .3s}
.topbar a:hover{color:var(--gold-soft)}
header{position:fixed;top:42px;left:0;right:0;z-index:100;transition:top .5s var(--ease),background .5s var(--ease),box-shadow .5s var(--ease)}
header.scrolled{top:0}
header.scrolled{background:rgba(8,22,40,.94);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--line-dark)}
nav{display:flex;align-items:center;justify-content:space-between;height:92px}
.brand{display:flex;align-items:center;gap:14px;color:#fff}
.brand .logo{width:42px;height:42px;flex:none}
.brand .lockup{display:flex;flex-direction:column;line-height:1}
.brand .mark{font-family:'Cormorant Garamond',serif;font-size:27px;font-weight:600;letter-spacing:.02em}
.brand .mark b{color:var(--gold);font-weight:600}
.brand .sub{font-size:9px;letter-spacing:.38em;text-transform:uppercase;color:var(--gold-soft);margin-top:5px}
.navlinks{display:flex;align-items:center;gap:40px}
.navlinks a{font-size:13px;letter-spacing:.05em;color:rgba(255,255,255,.82);font-weight:400;position:relative;padding:4px 0;transition:color .3s}
.navlinks a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .4s var(--ease)}
.navlinks a:hover{color:#fff}
.navlinks a:hover::after{width:100%}
.navlinks a.soon{color:rgba(255,255,255,.4);pointer-events:none}
.navlinks a.soon span{font-size:8px;letter-spacing:.2em;color:var(--gold);border:1px solid var(--line-dark);padding:2px 6px;border-radius:2px;margin-left:7px;vertical-align:middle}
.nav-cta{border:1px solid var(--gold);color:var(--gold)!important;padding:12px 24px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:all .4s var(--ease)}
.nav-cta::after{display:none}
.nav-cta:hover{background:var(--gold);color:var(--navy-deep)!important}
.burger{display:none;flex-direction:column;gap:6px;cursor:pointer;background:none;border:0;padding:8px}
.burger span{width:26px;height:1.5px;background:#fff;transition:transform .35s var(--ease),opacity .25s}
.burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* HERO — single still frame, no slider */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;background:var(--navy-deep);overflow:hidden}
.hero-img{position:absolute;inset:0;background-color:var(--navy-deep);background-image:var(--img-hero);background-size:cover;background-position:center;transform:scale(1.06);animation:slowdrift 26s ease-in-out infinite alternate}
@keyframes slowdrift{from{transform:scale(1.06)}to{transform:scale(1.12)}}
@media (prefers-reduced-motion:reduce){.hero-img{animation:none;transform:scale(1.04)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,22,40,.97) 0%,rgba(8,22,40,.80) 46%,rgba(8,22,40,.30) 100%)}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(130% 95% at 82% 112%,transparent 52%,rgba(8,22,40,.72) 100%)}
.hero-inner{position:relative;z-index:2;width:100%;padding-top:92px}
.hero h1{color:#fff;font-size:clamp(52px,7vw,104px);max-width:15ch;margin:34px 0 0}
.hero h1 em{font-style:italic;color:var(--gold-soft)}
.hero p.lede{color:rgba(255,255,255,.82);font-size:clamp(17px,1.45vw,20px);max-width:44ch;margin:36px 0 0;font-weight:300}
.hero-cta{display:flex;gap:20px;margin-top:52px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:18px 38px;font-weight:500;transition:all .45s var(--ease);cursor:pointer;border:1px solid transparent}
.btn-gold{background:var(--gold);color:var(--navy-deep)}
.btn-gold:hover{background:var(--gold-soft);transform:translateY(-2px)}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.hero-foot{position:absolute;bottom:48px;left:0;right:0;z-index:2}
.hero-foot .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.hero-loc{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.hero-loc b{color:var(--gold);font-weight:500}
.scrollcue{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.45);writing-mode:vertical-rl;display:flex;align-items:center;gap:14px}
.scrollcue::after{content:"";width:1px;height:46px;background:linear-gradient(var(--gold),transparent)}

/* SECTION SHELL */
section{position:relative}
.pad{padding:168px 0}
.sec-head{max-width:64ch}
.sec-head h2{font-size:clamp(40px,5vw,72px);margin:26px 0 0;color:var(--navy)}
.sec-head p{margin-top:26px;color:var(--grey);font-size:18px;font-weight:300;max-width:50ch}

/* WHY */
.why{background:var(--ivory)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:88px;border:1px solid var(--line)}
.why-card{background:var(--ivory);padding:60px 48px;transition:background .5s var(--ease)}
.why-card:hover{background:var(--paper)}
.why-card .num{font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--gold);letter-spacing:.1em}
.why-card h3{font-size:29px;margin:22px 0 14px;color:var(--navy)}
.why-card p{font-size:15px;color:var(--grey);font-weight:300;max-width:32ch}

/* NUMBERS */
.numbers{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.num-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.num-item{padding:30px 44px;border-left:1px solid var(--line-dark)}
.num-item:first-child{border-left:0}
.num-item .big{font-family:'Cormorant Garamond',serif;font-size:clamp(54px,6vw,88px);color:var(--gold);line-height:1}
.num-item .lbl{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.64);margin-top:20px}

/* REGIONAL PRESENCE */
.region{background:var(--ivory)}
.region-head{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:end}
.region-head .sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(24px,2.4vw,34px);color:var(--gold);line-height:1.2}
.region-head p{color:var(--grey);font-size:17px;font-weight:300;max-width:50ch}
.region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:80px;border:1px solid var(--line)}
.office{background:var(--ivory);padding:56px 48px;transition:background .5s var(--ease);position:relative}
.office:hover{background:var(--paper)}
.office .role{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);font-weight:500}
.office .city{font-family:'Cormorant Garamond',serif;font-size:42px;color:var(--navy);margin:20px 0 6px;line-height:1}
.office .country{font-size:14px;letter-spacing:.04em;color:var(--grey);font-weight:300}
.office .coord{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--grey);opacity:.55;margin-top:28px}
.office .tag{position:absolute;top:56px;right:48px;font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--gold);opacity:.6}

/* MARKETS */
.markets{background:var(--paper)}
.markets-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:96px;align-items:center;margin-top:20px}
.markets-list{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.mkt{background:var(--paper);padding:26px 30px;display:flex;align-items:center;gap:16px;transition:background .5s}
.mkt:hover{background:var(--ivory)}
.mkt .dot{width:7px;height:7px;background:var(--gold);transform:rotate(45deg);flex:none}
.mkt .nm{font-size:16px;color:var(--navy);font-weight:400}
.gcc-map{width:100%;height:auto;display:block}
.gcc-map .land{fill:none;stroke:var(--navy);stroke-width:.9;opacity:.22}
.gcc-map .served{fill:rgba(11,31,58,.04);stroke:var(--navy);stroke-width:1.1;opacity:.85;transition:fill .5s}
.gcc-map .node{fill:var(--gold)}
.gcc-map .ring{fill:none;stroke:var(--gold);stroke-width:1;opacity:.5}
.map-frame{border:1px solid var(--line);padding:40px;background:linear-gradient(180deg,var(--ivory),var(--paper))}
.map-cap{margin-top:18px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--grey);text-align:center}

/* TRUST */
.trust{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.trust::before{content:"";position:absolute;top:-30%;right:-10%;width:60%;height:160%;background:radial-gradient(circle,rgba(201,162,75,.10),transparent 62%)}
.trust-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:96px;align-items:center;position:relative;z-index:2}
.trust h2{font-size:clamp(40px,5vw,72px);color:#fff;margin-top:26px}
.trust p.lead{color:rgba(255,255,255,.78);font-weight:300;font-size:18px;margin-top:28px;max-width:50ch}
.trust-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-dark);border:1px solid var(--line-dark)}
.ts{background:var(--navy);padding:44px 38px}
.ts .big{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,4.6vw,66px);color:var(--gold);line-height:1}
.ts .lbl{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-top:16px}


.dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:88px}
.dest{position:relative;min-height:600px;overflow:hidden;display:flex;align-items:flex-end;background:var(--navy-deep)}
.dest::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,22,40,.94) 0%,rgba(8,22,40,.22) 62%,rgba(8,22,40,.08) 100%)}
.dest .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.4s var(--ease)}
.dest:hover .img{transform:scale(1.06)}
.dest-body{position:relative;z-index:2;padding:52px;color:#fff;width:100%}
.dest-body .kicker{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-soft)}
.dest-body h3{font-size:56px;margin:12px 0 22px}
.dest-cities{display:flex;flex-wrap:wrap;gap:10px}
.dest-cities span{font-size:12.5px;letter-spacing:.04em;color:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.26);padding:8px 17px;border-radius:40px}

/* SERVICES */
.services{background:var(--charcoal);color:#fff}
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.07);margin-top:84px;border:1px solid rgba(255,255,255,.07)}
.svc{background:var(--charcoal);padding:42px 46px;display:flex;align-items:baseline;gap:26px;transition:background .5s}
.svc:hover{background:#22262e}
.svc .idx{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--gold);min-width:34px}
.svc .name{font-size:22px;font-weight:400;letter-spacing:.01em}
.svc .name span{display:block;font-size:13px;color:rgba(255,255,255,.5);font-weight:300;margin-top:7px;letter-spacing:0}

/* PARTNERS */
.partners{background:var(--ivory)}
.logo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);margin-top:84px;border:1px solid var(--line)}
.logo-cell{background:var(--ivory);aspect-ratio:1.85/1;display:flex;align-items:center;justify-content:center;padding:28px;transition:background .5s}
.logo-cell:hover{background:var(--paper)}
.logo-cell span{font-family:'Cormorant Garamond',serif;font-size:23px;color:var(--navy);opacity:.5;letter-spacing:.04em;text-align:center;transition:opacity .4s,color .4s}
.logo-cell:hover span{opacity:1;color:var(--gold)}

/* PARTNERSHIP */
.join{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.join-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start}
.join h2{font-size:clamp(42px,5.2vw,76px);color:#fff;margin-top:26px}
.join p.intro{color:rgba(255,255,255,.74);font-weight:300;margin-top:26px;font-size:18px;max-width:40ch}
.join-points{margin-top:44px;display:flex;flex-direction:column;gap:18px}
.join-points li{list-style:none;display:flex;align-items:center;gap:16px;font-size:15px;color:rgba(255,255,255,.84)}
.join-points li::before{content:"";width:7px;height:7px;background:var(--gold);transform:rotate(45deg);flex:none}
form{background:rgba(255,255,255,.04);border:1px solid var(--line-dark);padding:52px}
.fld{margin-bottom:26px}
.fld label{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:11px}
.fld input,.fld select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.22);color:#fff;font-family:inherit;font-size:15px;padding:12px 2px;transition:border-color .4s}
.fld input::placeholder{color:rgba(255,255,255,.35)}
.fld input:focus,.fld select:focus{outline:none;border-color:var(--gold)}
.fld select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C9A24B' fill='none' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center}
.fld select option{background:var(--navy-deep);color:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:26px}
form .btn-gold{width:100%;justify-content:center;margin-top:10px;border:0}
.form-note{font-size:12px;color:rgba(255,255,255,.5);margin-top:20px;text-align:center;font-weight:300}

/* CONTACT STRIP */
.contact-strip{background:var(--charcoal);color:#fff}
.cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}
.cs{background:var(--charcoal);padding:52px 48px;transition:background .5s}
.cs:hover{background:#22262e}
.cs .role{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:500}
.cs .mail{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2vw,29px);color:#fff;margin-top:16px;display:inline-block;transition:color .3s;word-break:break-word}
.cs .mail:hover{color:var(--gold-soft)}
.cs .addr{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2vw,29px);color:#fff;margin-top:16px;line-height:1.1}
.cs .note{font-size:13.5px;color:rgba(255,255,255,.55);font-weight:300;margin-top:12px;max-width:30ch}

/* FOOTER */
footer{background:var(--navy-deep);color:rgba(255,255,255,.7);padding:120px 0 40px}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:56px;padding-bottom:64px;border-bottom:1px solid var(--line-dark)}
.foot-brand .mark{font-family:'Cormorant Garamond',serif;font-size:32px;color:#fff;font-weight:600}
.foot-brand .mark b{color:var(--gold)}
.foot-brand p{font-size:14px;font-weight:300;margin-top:20px;max-width:34ch;color:rgba(255,255,255,.6)}
.foot-col h4{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;font-weight:500}
.foot-col p,.foot-col a{font-size:14px;font-weight:300;color:rgba(255,255,255,.7);margin-bottom:12px;display:block;transition:color .3s}
.foot-col a:hover{color:var(--gold)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:34px;font-size:12px;letter-spacing:.04em;color:rgba(255,255,255,.45);font-weight:300;flex-wrap:wrap;gap:14px}
.foot-bottom a{color:rgba(255,255,255,.6)}
.foot-bottom a:hover{color:var(--gold)}

/* =============================================
   RESPONSIVE
   ============================================= */

@media(max-width:1024px){
  .wrap{padding:0 40px}
  .pad{padding:120px 0}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .num-grid{grid-template-columns:repeat(2,1fr)}
  .num-item:nth-child(3){border-left:0}
  .logo-grid{grid-template-columns:repeat(3,1fr)}
  .foot-top{grid-template-columns:1fr 1fr;gap:44px}
  .region-grid{grid-template-columns:1fr}
  .cs-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:860px){
  .wrap{padding:0 24px}
  .pad{padding:96px 0}
  .navlinks{position:fixed;inset:0;z-index:200;background:var(--navy-deep);flex-direction:column;justify-content:center;gap:36px;transform:translateX(100%);transition:transform .5s var(--ease);overflow-y:auto;-webkit-overflow-scrolling:touch}
  .navlinks.open{transform:none}
  .navlinks a{font-size:20px}
  .burger{display:flex;position:relative;z-index:210}
  html.nav-open,body.nav-open{overflow:hidden}
  header.nav-open{backdrop-filter:none}
  .why-grid{grid-template-columns:1fr}
  .markets-grid{grid-template-columns:1fr;gap:48px}
  .trust-grid{grid-template-columns:1fr;gap:56px}
  .dest-grid{grid-template-columns:1fr}
  .dest{min-height:460px}
  .svc-grid{grid-template-columns:1fr}
  .join-grid{grid-template-columns:1fr;gap:56px}
  .logo-grid{grid-template-columns:repeat(2,1fr)}
  .foot-top{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr}
  .scrollcue{display:none}
  .region-head{grid-template-columns:1fr;gap:24px}
  .region-grid{grid-template-columns:1fr}
  .cs-grid{grid-template-columns:1fr}
  .topbar .locs{font-size:9px;letter-spacing:.14em}
}

@media(max-width:480px){
  .topbar{display:none}
  header{top:0}
  .wrap{padding:0 16px}
  .pad{padding:72px 0}
  /* Hero */
  .hero-inner{padding-top:80px}
  .hero-foot{bottom:20px}
  .hero-foot .wrap{flex-direction:column;gap:10px;align-items:flex-start}
  .btn{padding:15px 26px;font-size:12px;letter-spacing:.08em}
  /* Numbers — keep 2 col but scale down */
  .num-item{padding:22px 14px}
  .num-item .big{font-size:clamp(34px,9vw,54px)}
  /* Why */
  .why-card{padding:36px 22px}
  .why-card h3{font-size:24px}
  /* Offices */
  .office{padding:40px 22px}
  .office .city{font-size:34px}
  /* Destinations */
  .dest{min-height:360px}
  .dest-body{padding:32px 20px}
  .dest-body h3{font-size:40px}
  .dest-cities span{font-size:11.5px;padding:6px 12px}
  /* Services */
  .svc{padding:28px 20px;gap:16px}
  .svc .name{font-size:19px}
  /* Trust stats */
  .ts{padding:28px 20px}
  /* Contact strip */
  .cs{padding:36px 20px}
  /* Form */
  form{padding:32px 18px}
  /* Partners */
  .logo-grid{grid-template-columns:repeat(2,1fr)}
  .logo-cell{padding:16px 10px}
  .logo-cell span{font-size:15px;letter-spacing:.02em}
  /* Footer */
  footer{padding:72px 0 28px}
  .foot-top{gap:28px;padding-bottom:40px}
  .foot-col p,.foot-col a{font-size:13px}
}
