*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --cream:#f5f0e8;
  --cream2:#ede6d6;
  --bronze:#8b6914;
  --bronze-l:#c9a45a;
  --bronze-ll:#e8d5a3;
  --bronze-pale:#f7f0de;
  --midnight:#0f1624;
  --midnight2:#162035;
  --midnight3:#1e2d4a;
  --gold:#d4a843;
  --gold-l:#eac97a;
  --dark:#1a1510;
  --charcoal:#2e2820;
  --muted:#7a7060;
  --border:#ddd3bc;
  --fd:'Playfair Display',serif;
  --ft:'Tenor Sans',sans-serif;
  --fb:'Jost',sans-serif;
}
html{scroll-behavior:smooth;}
body{background:var(--cream);color:var(--dark);font-family:var(--fb);font-size:16px;line-height:1.8;overflow-x:hidden;cursor:none;}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");pointer-events:none;z-index:1000;mix-blend-mode:multiply;}

/* CURSOR */
.cursor{position:fixed;width:6px;height:6px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);}
.cursor-ring{position:fixed;width:34px;height:34px;border:1px solid rgba(212,168,67,0.45);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);}

/* LANG SWITCH */
.lang-sw{position:fixed;top:34px;right:52px;z-index:700;display:flex;align-items:center;gap:0;}
.lang-btn{background:none;border:none;font-family:var(--ft);font-size:12px;letter-spacing:3px;color:rgba(255,255,255,0.35);cursor:pointer;padding:6px 10px;transition:color 0.4s;position:relative;}
.lang-btn.active{color:var(--gold-l);}
.lang-btn.active::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:55%;height:1px;background:var(--gold);}
.lang-sep{color:rgba(255,255,255,0.15);font-size:9px;user-select:none;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:600;padding:30px 64px;display:flex;justify-content:space-between;align-items:center;transition:background 0.5s,padding 0.4s;}
nav.scrolled{background:rgba(15,22,36,0.94);backdrop-filter:blur(20px);padding:18px 64px;border-bottom:1px solid rgba(212,168,67,0.1);}
.nav-logo{font-family:var(--fd);font-size:17px;font-weight:400;letter-spacing:6px;text-transform:uppercase;color:var(--cream);}
.nav-logo em{font-style:italic;color:var(--gold-l);letter-spacing:2px;font-size:14px;text-transform:none;}
.nav-links{display:flex;gap:40px;list-style:none;margin-right:120px;}
.nav-links a{font-family:var(--ft);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.4);text-decoration:none;transition:color 0.3s;}
.nav-links a:hover{color:var(--gold-l);}

/* ═══ HERO ═══ */
.hero{
  min-height:100vh;
  background:var(--midnight);
  display:grid;
  grid-template-columns:1fr 1fr;
  position:relative;overflow:hidden;
}
.hero::after{
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:220px;
  background:linear-gradient(to bottom, transparent 0%, transparent 55%, rgba(237,230,214,0.3) 74%, rgba(237,230,214,0.88) 90%, var(--cream2) 100%);
  pointer-events:none;
  z-index:2;
}

.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 15% 85%, rgba(139,105,20,0.2) 0%, transparent 50%),
    radial-gradient(ellipse at 85% 15%, rgba(30,45,74,0.7) 0%, transparent 55%),
    linear-gradient(155deg, var(--midnight2) 0%, var(--midnight) 50%, #080d16 100%);
}

/* Decorative arcs — left column only */
.hero-arcs{
  position:absolute;left:0;top:0;bottom:0;width:50%;
  pointer-events:none;overflow:hidden;
}
.hero-arcs::before{
  content:'';position:absolute;
  top:50%;left:60%;transform:translate(-50%,-50%);
  width:110%;aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(212,168,67,0.07);
}
.hero-arcs::after{
  content:'';position:absolute;
  top:50%;left:60%;transform:translate(-50%,-50%);
  width:75%;aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(212,168,67,0.1);
}

.hero-left{
  display:flex;flex-direction:column;
  justify-content:flex-end;
  padding:100px 60px 200px 64px;
  position:relative;z-index:2;
}

.hero-title{
  font-family:var(--fd);
  font-size:clamp(56px,7vw,104px);
  font-weight:300;line-height:0.9;
  color:var(--cream);
  letter-spacing:5px;text-transform:uppercase;
  opacity:0;animation:fadeUp 1.1s 0.3s forwards;
}
.hero-byline{
  font-family:var(--fd);
  font-size:clamp(18px,2.2vw,28px);
  font-style:italic;font-weight:300;
  color:var(--gold-l);letter-spacing:2px;
  display:block;margin-top:10px;margin-left:3px;
  opacity:0;animation:fadeUp 0.9s 0.6s forwards;
  text-transform:none;
}
.hero-quote-wrap{
  margin-top:52px;padding-top:40px;
  border-top:1px solid rgba(212,168,67,0.18);
  max-width:520px;
  opacity:0;animation:fadeUp 0.9s 0.9s forwards;
}
.hero-quote{
  font-family:var(--fd);
  font-size:clamp(17px,1.7vw,24px);
  font-style:italic;font-weight:300;
  color:rgba(245,240,232,0.65);line-height:1.65;
}
.hero-quote em{color:var(--gold-l);font-style:normal;}

.hero-bottom{
  display:flex;align-items:center;gap:32px;
  margin-top:56px;padding-top:28px;
  border-top:1px solid rgba(212,168,67,0.1);
  opacity:0;animation:fadeUp 0.8s 1.2s forwards;
}
.hbase{font-family:var(--ft);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:rgba(245,240,232,0.28);display:flex;align-items:center;gap:8px;}
.hbase-dot{width:4px;height:4px;border-radius:50%;}
.hb-m{background:var(--bronze-l);}
.hb-p{background:#7a9cdc;}
.hb-c{background:#7abca0;}
.hbase-sep{color:rgba(245,240,232,0.12);font-size:10px;}

/* Hero right — decorative only, no content */
.hero-right{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.hero-right-deco{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 40% 50%, rgba(212,168,67,0.06) 0%, transparent 65%),
    radial-gradient(ellipse at 80% 80%, rgba(139,105,20,0.08) 0%, transparent 50%);
}
/* large watermark text */
.hero-wm{
  font-family:var(--fd);
  font-size:clamp(80px,10vw,140px);
  font-weight:300;line-height:1;
  color:rgba(212,168,67,0.05);
  text-transform:uppercase;
  letter-spacing:8px;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  position:absolute;
  right:10%;
  user-select:none;
}
/* thin vertical golden line */
.hero-vline{
  position:absolute;left:0;top:10%;bottom:10%;
  width:1px;
  background:linear-gradient(to bottom,transparent,rgba(212,168,67,0.2) 30%,rgba(212,168,67,0.12) 70%,transparent);
}

/* ═══ INTRO ═══ */
.intro{background:var(--midnight);padding:110px 64px;}
.intro::after{content:'';display:block;margin-top:80px;height:1px;background:linear-gradient(to right,transparent,rgba(212,168,67,0.18),transparent);}
.intro-inner{max-width:820px;}
.intro-line{
  font-family:var(--fd);
  font-size:clamp(22px,2.8vw,40px);
  font-weight:300;line-height:1.35;
  color:rgba(245,240,232,0.12);
  margin-bottom:24px;
  transition:color 1.1s ease;
}
.intro-line.lit{color:rgba(245,240,232,0.82);}
.intro-line em{font-style:italic;color:var(--gold-l);}
.intro-line strong{font-weight:400;color:var(--cream);}
.intro-detail{display:flex;gap:56px;flex-wrap:wrap;margin-top:64px;}
.idi-label{font-family:var(--ft);font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);opacity:0.65;display:block;margin-bottom:6px;}
.idi-val{font-family:var(--fd);font-size:18px;font-weight:300;font-style:italic;color:rgba(245,240,232,0.5);}

/* ═══ SHARED SECTION ═══ */
section{padding:110px 64px;}
.sec-eyebrow{font-family:var(--ft);font-size:11px;letter-spacing:6px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:flex;align-items:center;gap:16px;}
.sec-eyebrow::before{content:'';width:36px;height:1px;background:var(--gold);opacity:0.55;}
.sec-h{font-family:var(--fd);font-size:clamp(36px,4.2vw,60px);font-weight:300;line-height:1.08;margin-bottom:0;}
.sec-h em{font-style:italic;color:var(--gold);}
section.dark .sec-h,section.dark2 .sec-h{color:var(--cream);}
section.light .sec-h,section.light2 .sec-h{color:var(--dark);}

/* ═══ ABOUT ═══ */
.about{background:var(--cream2);}
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:64px;align-items:start;}
.about-text p{font-size:16px;font-weight:300;color:var(--charcoal);line-height:2.1;margin-bottom:20px;}
.about-text strong{color:var(--dark);font-weight:400;}
.about-pull{font-family:var(--fd);font-size:clamp(18px,2vw,26px);font-style:italic;font-weight:300;color:var(--bronze);line-height:1.6;padding:28px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:28px 0;}
.travel-callout{margin-top:32px;padding:28px 32px;background:var(--midnight);position:relative;overflow:hidden;}
.travel-callout::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--gold),var(--bronze-l));}
.travel-callout-label{font-family:var(--ft);font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.travel-callout p{font-size:14px;font-weight:300;color:rgba(245,240,232,0.55);line-height:1.9;}
.travel-callout strong{color:var(--gold-l);font-weight:400;}
.adr{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--border);gap:20px;}
.adr:first-child{border-top:1px solid var(--border);}
.adr-k{font-family:var(--ft);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--bronze-l);white-space:nowrap;}
.adr-v{font-size:14px;font-weight:300;color:var(--charcoal);text-align:right;line-height:1.7;}

/* ═══ PORTFOLIO ═══ */
.portfolio{background:var(--midnight);padding-bottom:0;}
.port-intro{margin-top:56px;}
.port-intro p{font-size:17px;font-weight:300;color:rgba(245,240,232,0.38);max-width:520px;line-height:2;}
.port-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;gap:1px;background:rgba(212,168,67,0.07);}
.port-item{position:relative;aspect-ratio:9/18;overflow:hidden;cursor:none;}
.p-bg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94);}
.port-item:hover .p-bg{transform:scale(1.04);}
.pb1{background:linear-gradient(150deg,#2a0f05 0%,#3d1c08 35%,#1a0c03 100%);}
.pb2{background:linear-gradient(150deg,#051a12 0%,#0a2e1e 35%,#030e0a 100%);}
.pb3{background:linear-gradient(150deg,#080a1c 0%,#101528 35%,#050610 100%);}
.mock-phone{width:62%;aspect-ratio:9/19.5;border:1px solid rgba(255,255,255,0.08);border-radius:32px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,0.55),inset 0 0 0 1px rgba(255,255,255,0.03);position:relative;}
.mock-screen{width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:18px 14px;position:relative;}
.ms1{background:linear-gradient(to bottom,#3d1a04,#1a0a02,#0a0501);}
.ms2{background:linear-gradient(to bottom,#08281a,#041610,#020b07);}
.ms3{background:linear-gradient(to bottom,#0c0f2a,#060818,#030409);}
.mock-vis{position:absolute;top:0;left:0;right:0;height:65%;}
.mv1{background:radial-gradient(ellipse at 50% 35%,rgba(193,68,14,0.45) 0%,rgba(212,168,67,0.18) 45%,transparent 75%);}
.mv2{background:radial-gradient(ellipse at 50% 35%,rgba(45,106,79,0.5) 0%,rgba(74,144,112,0.18) 45%,transparent 75%);}
.mv3{background:radial-gradient(ellipse at 50% 35%,rgba(42,68,148,0.5) 0%,rgba(96,128,210,0.18) 45%,transparent 75%);}
.mock-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.95) 0%,rgba(0,0,0,0.15) 55%,transparent 100%);}
.mock-svg{position:absolute;top:6%;left:50%;transform:translateX(-50%);width:55%;opacity:0.18;}
.mock-ui{position:absolute;right:9px;bottom:90px;display:flex;flex-direction:column;gap:12px;align-items:center;z-index:3;}
.mui{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;font-size:11px;}
.mui-n{font-size:6px;color:rgba(255,255,255,0.35);text-align:center;margin-top:1px;}
.mock-c{position:relative;z-index:2;}
.mock-brand{font-family:var(--ft);font-size:7px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-l);margin-bottom:5px;opacity:0.75;}
.mock-t{font-family:var(--fd);font-size:14px;font-weight:300;color:#f5f0e8;line-height:1.35;margin-bottom:7px;}
.mock-h{font-size:8.5px;font-weight:300;color:rgba(245,240,232,0.45);line-height:1.7;margin-bottom:10px;}
.mock-btn{display:inline-block;background:rgba(212,168,67,0.12);border:1px solid rgba(212,168,67,0.35);color:var(--gold-l);font-family:var(--ft);font-size:6.5px;letter-spacing:2px;text-transform:uppercase;padding:5px 12px;}

/* Caption — fixed height at bottom, no overlap */
.port-cap{
  position:absolute;bottom:0;left:0;right:0;
  padding:56px 22px 22px;
  background:linear-gradient(to top,rgba(8,11,20,0.98) 60%,transparent 100%);
}
.port-cap-num{font-family:var(--ft);font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:5px;opacity:0.6;}
.port-cap-title{font-family:var(--fd);font-size:18px;font-weight:300;font-style:italic;color:var(--cream);}

/* ═══ SERVICES ═══ */
.services{background:var(--cream);}
.svc-tabs{display:flex;gap:0;margin-top:56px;border-bottom:1px solid var(--border);}
.tab-btn{background:none;border:none;font-family:var(--ft);font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--muted);padding:14px 32px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.3s;}
.tab-btn.active{color:var(--bronze);border-bottom-color:var(--bronze);}
.tab-content{display:none;padding-top:56px;}
.tab-content.active{display:block;}

/* COLLAB */
.collab-intro-text{font-size:17px;font-weight:300;color:var(--muted);line-height:2;max-width:640px;margin-bottom:48px;}
.collab-intro-text strong{color:var(--charcoal);font-weight:400;}
.collab-list{display:flex;flex-direction:column;gap:1px;background:var(--border);}
.collab-item{background:var(--cream);padding:40px 44px;display:grid;grid-template-columns:1fr 280px;gap:48px;align-items:start;transition:background 0.4s;position:relative;}
.collab-item::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,var(--gold),transparent);opacity:0;transition:opacity 0.4s;}
.collab-item:hover{background:var(--bronze-pale);}
.collab-item:hover::before{opacity:1;}
.collab-cat{font-family:var(--ft);font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--bronze-l);margin-bottom:10px;}
.collab-name{font-family:var(--fd);font-size:26px;font-weight:400;color:var(--dark);margin-bottom:12px;line-height:1.1;}
.collab-desc{font-size:14px;font-weight:300;color:var(--muted);line-height:1.9;margin-bottom:18px;max-width:460px;}
.collab-incl{display:flex;flex-wrap:wrap;gap:8px;}
.ci{font-family:var(--ft);font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:6px 14px;border:1px solid var(--border);color:var(--charcoal);}
.collab-r{text-align:right;}
.cd-label{font-family:var(--ft);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--bronze-l);margin-bottom:8px;}
.cd-text{font-size:14px;font-weight:300;color:var(--muted);line-height:1.9;}

/* OFFRES PAYANTES */
.svc-list{display:flex;flex-direction:column;gap:1px;background:var(--border);}
.svc-row{background:var(--cream);padding:40px 44px;display:grid;grid-template-columns:64px 1fr auto;gap:40px;align-items:start;transition:background 0.4s;position:relative;overflow:hidden;}
.svc-row::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform 0.4s;}
.svc-row:hover{background:var(--bronze-pale);}
.svc-row:hover::before{transform:scaleY(1);}
.svc-n{font-family:var(--fd);font-size:40px;font-weight:300;color:var(--border);line-height:1;padding-top:2px;}
.svc-name{font-family:var(--fd);font-size:24px;font-weight:400;color:var(--dark);margin-bottom:10px;line-height:1.1;}
.svc-desc{font-size:14px;font-weight:300;color:var(--muted);line-height:1.9;max-width:460px;}
.svc-price-col{text-align:right;padding-top:2px;white-space:nowrap;}
.svc-price{font-family:var(--fd);font-size:20px;font-weight:300;color:var(--bronze);font-style:italic;}
.svc-price-note{font-family:var(--ft);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:4px;}
.svc-footnote{font-size:14px;font-weight:300;color:var(--muted);line-height:2;margin-top:28px;}

/* ═══ TRAVEL ═══ */
.travel{background:var(--midnight2);position:relative;overflow:hidden;}
.travel::before{content:'';position:absolute;top:-200px;right:-150px;width:600px;height:600px;background:radial-gradient(circle,rgba(139,105,20,0.07) 0%,transparent 70%);pointer-events:none;}
.travel-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:64px;}
.travel-text p{font-size:16px;font-weight:300;color:rgba(245,240,232,0.5);line-height:2.1;margin-bottom:20px;}
.travel-text strong{color:var(--gold-l);font-weight:400;}
.travel-pull{font-family:var(--fd);font-size:clamp(17px,1.8vw,24px);font-style:italic;font-weight:300;color:var(--gold-l);line-height:1.65;padding:26px 0;border-top:1px solid rgba(212,168,67,0.14);border-bottom:1px solid rgba(212,168,67,0.14);margin:26px 0;}
.travel-right{display:flex;flex-direction:column;gap:1px;background:rgba(212,168,67,0.05);}
.travel-card{background:var(--midnight2);padding:28px 32px;transition:background 0.3s;position:relative;}
.travel-card::after{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--gold);opacity:0;transition:opacity 0.3s;}
.travel-card:hover{background:rgba(212,168,67,0.03);}
.travel-card:hover::after{opacity:1;}
.tc-region{font-family:var(--ft);font-size:10px;letter-spacing:4px;text-transform:uppercase;margin-bottom:7px;}
.tc-m{color:var(--bronze-l);}
.tc-p{color:#7a9cdc;}
.tc-c{color:#7abca0;}
.tc-title{font-family:var(--fd);font-size:20px;font-weight:300;color:var(--cream);margin-bottom:8px;}
.tc-desc{font-size:14px;font-weight:300;color:rgba(245,240,232,0.35);line-height:1.9;}

/* ═══ REFERRAL ═══ */
.referral{background:var(--cream2);}
.ref-layout{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--border);margin-top:64px;}
.ref-card{background:var(--cream2);padding:52px 48px;position:relative;overflow:hidden;transition:background 0.4s;}
.ref-card:hover{background:var(--cream);}
.ref-card-num{font-family:var(--fd);font-size:72px;font-weight:300;color:var(--border);line-height:1;position:absolute;top:28px;right:36px;pointer-events:none;}
.ref-title{font-family:var(--fd);font-size:26px;font-weight:400;color:var(--dark);margin-bottom:18px;line-height:1.2;max-width:240px;}
.ref-desc{font-size:15px;font-weight:300;color:var(--muted);line-height:2;}
.ref-desc strong{color:var(--charcoal);font-weight:400;}

/* ═══ DREAM BRANDS ═══ */
.dream{background:var(--midnight);overflow:hidden;}
.marquee-wrap{overflow:hidden;margin:60px -64px 0;border-top:1px solid rgba(212,168,67,0.09);border-bottom:1px solid rgba(212,168,67,0.09);padding:26px 0;}
.marquee-track{display:flex;gap:60px;animation:marquee 26s linear infinite;width:max-content;}
.m-brand{font-family:var(--fd);font-size:26px;font-weight:300;font-style:italic;color:rgba(245,240,232,0.14);white-space:nowrap;letter-spacing:1px;transition:color 0.4s;}
.m-brand:hover{color:var(--gold-l);}
.m-sep{font-size:7px;color:var(--gold);align-self:center;opacity:0.28;}
.dream-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(212,168,67,0.05);margin-top:60px;}
.dc{background:var(--midnight);padding:40px;transition:background 0.4s;position:relative;overflow:hidden;}
.dc::before{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,rgba(212,168,67,0.18),transparent);opacity:0;transition:opacity 0.4s;}
.dc:hover{background:var(--midnight2);}
.dc:hover::before{opacity:1;}
.dc-region{font-family:var(--ft);font-size:10px;letter-spacing:4px;text-transform:uppercase;margin-bottom:10px;}
.dc-m{color:var(--bronze-l);}
.dc-p{color:#7a9cdc;}
.dc-g{color:#9abca0;}
.dc-title{font-family:var(--fd);font-size:20px;font-weight:300;color:var(--cream);margin-bottom:10px;line-height:1.3;}
.dc-desc{font-size:14px;font-weight:300;color:rgba(245,240,232,0.32);line-height:1.9;}

/* ═══ CONTACT ═══ */
.contact{background:var(--midnight);position:relative;overflow:hidden;}
.contact::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(212,168,67,0.05) 0%,transparent 70%);}
.contact-inner{max-width:720px;margin:0 auto;text-align:center;position:relative;z-index:1;}
.contact-tagline{font-family:var(--fd);font-size:clamp(30px,4vw,52px);font-weight:300;font-style:italic;color:var(--cream);line-height:1.3;margin-bottom:24px;}
.contact-tagline em{font-style:normal;color:var(--gold-l);}
.contact-desc{font-size:16px;font-weight:300;color:rgba(245,240,232,0.4);line-height:2;margin-bottom:48px;}
.contact-desc strong{color:rgba(245,240,232,0.65);font-weight:300;}
.cta-btn{display:inline-block;border:1px solid rgba(212,168,67,0.35);color:var(--gold-l);font-family:var(--ft);font-size:10px;font-weight:400;letter-spacing:5px;text-transform:uppercase;padding:18px 56px;text-decoration:none;position:relative;overflow:hidden;cursor:none;transition:color 0.5s;}
.cta-btn::before{content:'';position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);}
.cta-btn:hover{color:var(--dark);}
.cta-btn:hover::before{transform:scaleX(1);}
.cta-btn span{position:relative;z-index:1;}
.contact-socials{display:flex;justify-content:center;gap:36px;margin-top:48px;padding-top:40px;border-top:1px solid rgba(212,168,67,0.09);}
.cs{font-family:var(--ft);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:rgba(245,240,232,0.25);text-decoration:none;transition:color 0.3s;}
.cs:hover{color:var(--gold-l);}

/* FOOTER */
footer{background:var(--dark);padding:44px 64px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(212,168,67,0.07);}
.fl{font-family:var(--fd);font-size:16px;font-weight:300;letter-spacing:5px;text-transform:uppercase;color:var(--cream);}
.fl em{font-style:italic;color:var(--gold-l);letter-spacing:2px;font-size:14px;text-transform:none;}
.fr-foot{text-align:right;}
.fc{font-family:var(--ft);font-size:11px;letter-spacing:2px;color:rgba(245,240,232,0.18);}
.fcities{font-family:var(--ft);font-size:11px;letter-spacing:2px;color:rgba(245,240,232,0.13);margin-top:4px;}

/* HAMBURGER MENU */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:6px;background:none;border:none;cursor:pointer;padding:4px;z-index:701;width:32px;height:32px;}
.nav-burger span{display:block;width:24px;height:1px;background:rgba(245,240,232,0.7);transition:transform 0.35s,opacity 0.35s;}
nav.open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
nav.open .nav-burger span:nth-child(2){opacity:0;transform:scaleX(0);}
nav.open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-lang-mobile{display:none !important;}

/* SECTION TRANSITIONS */
.about,.services,.travel,.referral{padding-bottom:200px;}
.portfolio{padding-bottom:180px;}
.about{position:relative;}
.about::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:220px;
  background:linear-gradient(to bottom,transparent 0%,transparent 55%,rgba(15,22,36,0.3) 74%,rgba(15,22,36,0.88) 90%,var(--midnight) 100%);
  pointer-events:none;z-index:2;
}
.portfolio{position:relative;}
.portfolio::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:220px;
  background:linear-gradient(to bottom,transparent 0%,transparent 55%,rgba(245,240,232,0.3) 74%,rgba(245,240,232,0.88) 90%,var(--cream) 100%);
  pointer-events:none;z-index:2;
}
.services{position:relative;}
.services::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:220px;
  background:linear-gradient(to bottom,transparent 0%,transparent 55%,rgba(22,32,53,0.3) 74%,rgba(22,32,53,0.88) 90%,var(--midnight2) 100%);
  pointer-events:none;z-index:2;
}
.travel::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:220px;
  background:linear-gradient(to bottom,transparent 0%,transparent 55%,rgba(237,230,214,0.3) 74%,rgba(237,230,214,0.88) 90%,var(--cream2) 100%);
  pointer-events:none;z-index:2;
}
.referral{position:relative;}
.referral::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:220px;
  background:linear-gradient(to bottom,transparent 0%,transparent 55%,rgba(15,22,36,0.3) 74%,rgba(15,22,36,0.88) 90%,var(--midnight) 100%);
  pointer-events:none;z-index:2;
}

/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s ease,transform 1s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

@media(max-width:1024px){
  nav{padding:22px 28px;}
  .nav-links{display:none;}
  .nav-burger{display:flex;}
  .lang-sw{display:none;}
  .nav-lang-mobile{display:flex !important;align-items:center;gap:0;margin-top:32px;padding-top:28px;border-top:1px solid rgba(212,168,67,0.12);justify-content:center;}
  nav.open .nav-links{
    display:flex;
    flex-direction:column;
    position:fixed;
    inset:0;
    background:rgba(10,15,28,0.97);
    backdrop-filter:blur(20px);
    justify-content:center;
    align-items:center;
    gap:24px;
    z-index:699;
    padding:0;
    margin:0;
    list-style:none;
  }
  nav.open .nav-links a{font-size:15px;letter-spacing:5px;color:rgba(245,240,232,0.5);}
  nav.open .nav-links a:hover{color:var(--gold-l);}
  .lang-sw{right:28px;top:20px;}
  .hero{grid-template-columns:1fr;}
  .hero-right{display:none;}
  .hero-left{padding:100px 28px 150px;}
  .about,.services,.travel,.referral{padding-bottom:180px;}
  .portfolio{padding-bottom:160px;}
  .intro{padding:80px 28px;}
  section{padding:80px 28px;}
  .about-layout,.travel-layout,.ref-layout{grid-template-columns:1fr;gap:44px;}
  .port-grid{grid-template-columns:1fr;}
  .port-item{aspect-ratio:9/14;}
  .dream-cards{grid-template-columns:1fr;}
  .marquee-wrap{margin:44px -28px 0;}
  .collab-item{grid-template-columns:1fr;gap:24px;}
  .collab-r{text-align:left;}
  .svc-row{grid-template-columns:1fr;gap:16px;}
  .svc-price-col{text-align:left;}
  footer{flex-direction:column;gap:14px;text-align:center;padding:36px 28px;}
  .fr-foot{text-align:center;}
  body{cursor:auto;}
  .cursor,.cursor-ring{display:none;}
}

@media(max-width:768px){
  section{padding:64px 20px;}
  .intro{padding:64px 20px;}
  .hero-left{padding:90px 20px 140px;}
  .about-layout,.travel-layout{gap:32px;}
  .marquee-wrap{margin:32px -20px 0;}
  .tab-btn{padding:12px 20px;letter-spacing:2px;}
  .collab-item{padding:28px 20px;}
  .svc-row{padding:28px 20px;}
  .ref-card{padding:40px 28px;}
  .ref-layout{grid-template-columns:1fr;}
  .dc{padding:28px 24px;}
  footer{padding:28px 20px;}
}

@media(max-width:480px){
  .nav-logo{font-size:13px;letter-spacing:4px;}
  section{padding:48px 16px;}
  .intro{padding:48px 16px;}
  .hero-left{padding:80px 16px 130px;}
  .hero-title{letter-spacing:2px;}
  .hero-bottom{gap:16px;flex-wrap:wrap;}
  .marquee-wrap{margin:24px -16px 0;}
  .svc-tabs{flex-wrap:wrap;}
  .tab-btn{font-size:10px;letter-spacing:1px;padding:10px 16px;}
  .cta-btn{padding:16px 36px;letter-spacing:3px;}
  footer{padding:24px 16px;}
  .contact-desc{margin-bottom:32px;}
}
