:root{
  --bg:#0a0a0d; --bg2:#101017; --card:#13131b; --line:rgba(201,162,75,.22);
  --ink:#f5f1e8; --muted:#a89e8c; --dim:#6f6757;
  --gold:#c9a24b; --gold-hi:#e8c877;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:Manrope,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.goldtext{background:linear-gradient(100deg,#8a6a2f 0%,#e8c877 26%,#fdf0c2 42%,#d4a94e 58%,#8a6a2f 82%,#c9a24b 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{font-size:12px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);font-weight:600}
h1,h2,h3{font-weight:500}
.serif{font-family:'Cormorant Garamond',serif}

/* ticker */
.ticker{background:#06060a;border-bottom:1px solid rgba(201,162,75,.15);font-size:13px;color:var(--muted);display:none}
.ticker .wrap{display:flex;gap:28px;align-items:center;height:36px;overflow:hidden}
.ticker b{color:var(--gold-hi);font-weight:600;font-variant-numeric:tabular-nums}
.ticker .tlabel{letter-spacing:.2em;text-transform:uppercase;font-size:11px;color:var(--dim);flex:none}
.tmask{flex:1;overflow:hidden;min-width:0}
.ttrack{display:inline-flex;white-space:nowrap;animation:tkscroll 50s linear infinite;will-change:transform}
.ttrack:hover{animation-play-state:paused}
.tgroup{display:inline-flex;gap:44px;padding-right:44px}
.ti{flex:none}
.ti i{font-style:normal;font-size:10px;margin-left:5px;vertical-align:1px}
.ticker b.up,.ti i.up{color:#57d98a}
.ticker b.down,.ti i.down{color:#e5716a}
@keyframes tkscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ttrack{animation:none}}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(10,10,13,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(201,162,75,.14)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:13px}
.brand svg{flex:none}
.brand .bname{font-family:Cinzel,serif;font-size:19px;letter-spacing:.26em;font-weight:600;line-height:1;transform:translateY(1px)}
.brand .bsub{font-size:9px;letter-spacing:.38em;color:var(--dim);text-transform:uppercase;margin-top:1px}
.navlinks{display:flex;gap:34px;align-items:center;font-size:14px;letter-spacing:.08em;color:var(--muted)}
.navlinks a:hover{color:var(--gold-hi)}
.navlinks a.active{color:var(--ink)}
.btn{display:inline-block;padding:13px 30px;border-radius:2px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;transition:.25s}
.btn-gold{background:linear-gradient(115deg,#b58a34,#e8c877 50%,#b58a34);color:#161005}
.btn-gold:hover{filter:brightness(1.1)}
.btn-line{border:1px solid var(--line);color:var(--ink)}
.btn-line:hover{border-color:var(--gold);color:var(--gold-hi)}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:24px;height:2px;background:var(--gold);margin:5px 0}
.mobilemenu{display:none;flex-direction:column;gap:4px;padding:12px 24px 24px;border-top:1px solid rgba(201,162,75,.12)}
.mobilemenu a{padding:12px 0;font-size:15px;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid rgba(255,255,255,.05)}
.mobilemenu.open{display:flex}

/* hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden}
.hero.short{min-height:56vh}
.hero .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero .shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,6,10,.93) 0%,rgba(6,6,10,.72) 42%,rgba(6,6,10,.28) 100%)}
.hero .wrap{position:relative;z-index:2;padding-top:70px;padding-bottom:70px}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(42px,6vw,78px);line-height:1.08;font-weight:500;margin:26px 0 24px;max-width:14ch}
.hero p.lead{max-width:54ch;color:var(--muted);font-size:19px;font-weight:300}
.hero .ctas{display:flex;gap:18px;margin-top:42px;flex-wrap:wrap}
.hero .est{margin-top:58px;display:flex;gap:34px;flex-wrap:wrap;font-size:13px;letter-spacing:.14em;color:var(--dim);text-transform:uppercase}
.hero .est b{color:var(--gold);font-weight:600}

/* sections */
section{padding:104px 0}
section.tight{padding:72px 0}
.sechead{max-width:720px;margin-bottom:58px}
.sechead h2{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,50px);line-height:1.15;margin-top:18px}
.sechead p{color:var(--muted);margin-top:16px;font-weight:300}
.center{text-align:center;margin-left:auto;margin-right:auto}

/* trust strip */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:42px;padding-bottom:42px}
.trust .t b{display:block;font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--gold-hi);font-weight:500}
.trust .t span{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}

/* cards */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:var(--card);border:1px solid rgba(201,162,75,.14);overflow:hidden;transition:.3s}
.card:hover{border-color:rgba(201,162,75,.45);transform:translateY(-4px)}
.card .imgbox{height:230px;overflow:hidden}
.card .imgbox img{width:100%;height:100%;object-fit:cover;transition:.6s}
.card:hover .imgbox img{transform:scale(1.05)}
.card .pad{padding:30px}
.card h3{font-family:'Cormorant Garamond',serif;font-size:27px;margin-bottom:12px}
.card p{color:var(--muted);font-size:15.5px;font-weight:300}
.card .more{display:inline-block;margin-top:18px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;counter-reset:step}
.step{border-top:1px solid var(--line);padding-top:26px;position:relative}
.step .num{font-family:'Cormorant Garamond',serif;font-size:44px;color:var(--gold);line-height:1}
.step h3{font-size:17px;letter-spacing:.06em;margin:14px 0 10px}
.step p{color:var(--muted);font-size:14.5px;font-weight:300}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.split .imgside{position:relative}
.split .imgside img{width:100%;height:520px;object-fit:cover}
.split .imgside::after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--line);z-index:-1}
.split.rev .imgside::after{inset:18px 18px -18px -18px}
.split h2{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.6vw,44px);line-height:1.15;margin:18px 0 20px}
.split p{color:var(--muted);font-weight:300;margin-bottom:16px}
.split ul{list-style:none;margin-top:8px}
.split li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06);color:var(--muted);font-size:15.5px;display:flex;gap:14px;align-items:baseline}
.split li::before{content:"◆";color:var(--gold);font-size:9px}

/* facts table */
.facts{width:100%;border-collapse:collapse;font-size:15.5px}
.facts td{padding:16px 8px;border-bottom:1px solid rgba(255,255,255,.07);color:var(--muted)}
.facts td:first-child{color:var(--dim);letter-spacing:.14em;text-transform:uppercase;font-size:12px;width:44%}
.facts td:last-child{color:var(--ink)}

/* cta band */
.ctaband{background:linear-gradient(115deg,#0d0d13,#15151f);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.ctaband h2{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,52px);margin:16px 0 18px}
.ctaband p{color:var(--muted);max-width:56ch;margin:0 auto 36px;font-weight:300}

/* contact */
.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.cbox{background:var(--card);border:1px solid rgba(201,162,75,.14);padding:38px}
.cbox h3{font-family:'Cormorant Garamond',serif;font-size:26px;margin-bottom:8px}
.cbox .big{font-size:22px;color:var(--gold-hi);margin:10px 0}
.cbox p{color:var(--muted);font-size:15.5px;font-weight:300}

/* footer */
footer{border-top:1px solid var(--line);background:#07070b;padding:64px 0 40px}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;margin-bottom:48px}
.fgrid h4{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);margin-bottom:18px}
.fgrid a,.fgrid p{display:block;color:var(--muted);font-size:14.5px;padding:5px 0;font-weight:300}
.fgrid a:hover{color:var(--gold-hi)}
.legal{border-top:1px solid rgba(255,255,255,.06);padding-top:26px;font-size:12.5px;color:var(--dim);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.rv.on{opacity:1;transform:none}

@media(max-width:960px){
  .navlinks{display:none}
  .burger{display:block}
  .trust .wrap{grid-template-columns:repeat(2,1fr)}
  .cards3{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .split,.split.rev{grid-template-columns:1fr;gap:44px}
  .split .imgside img{height:340px}
  .contactgrid{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr;gap:32px}
  section{padding:72px 0}
  .hero{min-height:74vh}
}

/* hero background video */
.hero .bgvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1}
.hero .bgimg{z-index:0}
.hero .shade{z-index:2}
.hero .wrap{z-index:3}



/* header buttons */
.navlinks button.btn{border:0;cursor:pointer;font-family:Manrope,sans-serif}

/* footer brand alignment (.fgrid a{display:block} would override flex) */
.fbrand .brand{display:flex;align-items:center;gap:13px;padding:0}

/* enquiry modal */
.modal{position:fixed;inset:0;z-index:200;display:none}
.modal.open{display:block}
.modal-bg{position:absolute;inset:0;background:rgba(4,4,7,.8);backdrop-filter:blur(6px)}
.modal-card{position:relative;z-index:2;max-width:560px;margin:6vh auto;background:#101017;border:1px solid var(--line);padding:44px 46px;max-height:88vh;overflow-y:auto}
.modal-x{position:absolute;top:14px;right:18px;background:none;border:0;color:var(--dim);font-size:30px;cursor:pointer;line-height:1}
.modal-x:hover{color:var(--gold-hi)}
.modal-title{font-family:'Cormorant Garamond',serif;font-size:32px;margin:14px 0 8px}
.modal-sub{color:var(--muted);font-size:15px;font-weight:300;margin-bottom:26px}
.enqform label{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:16px}
.enqform input,.enqform textarea{display:block;width:100%;margin-top:7px;background:#0a0a0f;border:1px solid rgba(201,162,75,.22);color:var(--ink);padding:13px 14px;font-family:Manrope,sans-serif;font-size:15.5px;border-radius:2px;outline:none;transition:.2s}
.enqform input:focus,.enqform textarea:focus{border-color:var(--gold)}
.enqform textarea{resize:vertical}
.enqform .frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.enqform button{width:100%;margin-top:6px}
.ferr{color:#d98a7c;font-size:14px;min-height:22px;margin-bottom:6px}
.fok{text-align:center;padding:30px 0 16px}
.fok-mark{font-size:40px;color:var(--gold)}
@media(max-width:640px){
  .modal-card{margin:0;max-width:none;height:100%;max-height:none;padding:38px 24px}
  .enqform .frow{grid-template-columns:1fr}
}

.enq-inline{margin:26px auto 0;max-width:720px}
.enq-inline .enqform{margin-top:6px}

/* ---- luxury FX ---- */
.introov{position:fixed;inset:0;z-index:200;background:#0a0a0d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;transition:opacity .7s ease}
.introov.done{opacity:0;pointer-events:none}
.intro-mark{width:90px;height:90px}
.intro-mark .ip{stroke-dasharray:420;stroke-dashoffset:420;animation:lgdraw 1.1s ease forwards}
.intro-mark .d1{animation-delay:.18s}
.intro-mark .d2{animation-delay:.36s}
@keyframes lgdraw{to{stroke-dashoffset:0}}
.intro-word{font-family:Cinzel,serif;letter-spacing:.42em;font-size:15px;color:#e8c877;opacity:0;animation:lgfade .8s ease .55s forwards}
@keyframes lgfade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.golddust{position:absolute;inset:0;pointer-events:none;z-index:2}
.cursorglow{position:fixed;top:0;left:0;width:400px;height:400px;pointer-events:none;z-index:5;background:radial-gradient(circle,rgba(212,169,78,.085) 0%,rgba(212,169,78,.03) 35%,transparent 62%);mix-blend-mode:screen}
.tiltable{transition:transform .25s ease}
.card.tiltable,.cbox.tiltable{position:relative}
.tiltable::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(560px circle at var(--shx,50%) var(--shy,50%),rgba(232,200,119,.12),transparent 46%)}
.tiltable:hover::after{opacity:1}
.goldtext{background-size:220% auto;animation:lgshimmer 7s linear infinite}
@keyframes lgshimmer{to{background-position:220% center}}
@media (prefers-reduced-motion:reduce){.goldtext{animation:none}}
