
:root{
  --navy:#07102A;--navy-mid:#0D1B3E;--navy-light:#162347;
  --gold:#C9A84C;--gold-light:#E2C97E;
  --cream:#F7F2E8;--white:#FFFFFF;
  --muted:rgba(247,242,232,0.58);--muted2:rgba(247,242,232,0.28);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--navy);color:var(--cream);font-family:'DM Sans',sans-serif;font-weight:300;overflow-x:hidden;cursor:none;font-size:16px;line-height:1.6;}
html.intro-locked,body.intro-locked{overflow:hidden!important;height:100%;overscroll-behavior:none;}
body.intro-locked{position:fixed;inset:0;width:100%;touch-action:none;}

/* CURSOR */
#cur{position:fixed;width:8px;height:8px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);}
#cur-ring{position:fixed;width:36px;height:36px;border:1px solid rgba(201,168,76,.45);border-radius:50%;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);transition:all .2s ease;}

/* STAR SPARKLES */
.sparkle-wrap{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.star-el{position:absolute;pointer-events:none;animation:starPulse var(--d,3s) ease-in-out var(--dl,0s) infinite;opacity:0;}
@keyframes starPulse{0%,100%{opacity:0;transform:scale(0) rotate(0deg);}30%{opacity:1;transform:scale(1) rotate(20deg);}70%{opacity:.6;transform:scale(.8) rotate(-10deg);}}

/* TRANSITION — curtain wipe */
#curtain{
  position:fixed;inset:0;z-index:9990;
  background:linear-gradient(135deg,var(--navy-mid),var(--navy));
  transform:translateX(0);
  transition:transform 1.1s cubic-bezier(0.77,0,0.175,1);
  pointer-events:none;
}
#curtain.swept{transform:translateX(100%);}

/* INTRO */
#intro{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;z-index:9995;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;transition:opacity .6s ease;touch-action:none;overscroll-behavior:none;}
#intro.fade-out{opacity:0;pointer-events:none;}
.i-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.i-p{position:absolute;background:var(--gold);border-radius:50%;opacity:0;animation:pUp linear infinite;}
@keyframes pUp{0%{opacity:0;transform:translateY(0) scale(0);}10%{opacity:.7;}90%{opacity:.15;}100%{opacity:0;transform:translateY(-100vh) scale(2);}}
.i-glow{position:absolute;width:700px;height:700px;background:radial-gradient(circle,rgba(201,168,76,.09) 0%,transparent 70%);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:left .25s ease,top .25s ease;}
.i-logo{position:relative;z-index:2;text-align:center;width:min(92vw,760px);margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.i-line{width:1px;height:0;background:linear-gradient(to bottom,transparent,var(--gold),transparent);margin:0 auto 2.5rem;animation:lGrow 1.2s ease forwards .3s;}
@keyframes lGrow{to{height:80px;}}
.i-name{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,6vw,5rem);font-weight:300;letter-spacing:.18em;color:var(--cream);text-transform:uppercase;opacity:0;animation:fUp 1s ease forwards .8s;line-height:1.3;padding-bottom:.1em;}
.i-title{font-size:.75rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-top:.4rem;opacity:0;animation:fUp 1s ease forwards 1.2s;}
.i-hint{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;padding:0 1rem max(2rem,env(safe-area-inset-bottom));opacity:0;animation:fUp 1s ease forwards 2s;}
/* Fix: hover border/color only, no pink */
.i-hint-btn{
  font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(247,242,232,.55);
  border:1px solid rgba(201,168,76,.3);
  padding:.75rem 2rem;cursor:pointer;
  transition:border-color .3s,color .3s;
  background:transparent;
  font-family:'DM Sans',sans-serif;
  outline:none;
}
.i-hint-btn:hover{border-color:var(--gold);color:var(--gold);}
@keyframes fUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}

/* SITE */
#site{opacity:0;transition:opacity .5s ease .3s;}
#site.visible{opacity:1;}

/* NAV — fix underline on logo */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.6rem 5%;display:flex;align-items:center;justify-content:space-between;transition:background .3s,padding .3s;}
nav.sc{background:rgba(7,16,42,.93);backdrop-filter:blur(18px);padding:1rem 5%;border-bottom:1px solid rgba(201,168,76,.1);}
.n-logo{
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem;letter-spacing:.1em;
  color:var(--cream);
  text-decoration:none; /* removes underline */
  text-transform:uppercase;
  line-height:1.4;
  border-bottom:none !important;
  box-shadow:none !important;
}
.n-logo span{color:var(--gold);}
.n-links{display:flex;gap:2.5rem;list-style:none;}
.n-links a{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .3s;position:relative;}
.n-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s;}
.n-links a:hover{color:var(--gold);}
.n-links a:hover::after{width:100%;}
.n-cta{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);background:var(--gold);padding:.65rem 1.5rem;text-decoration:none;transition:all .3s;font-weight:500;}
.n-cta:hover{background:var(--gold-light);}

/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;padding:0 5%;padding-top:80px;gap:4rem;}
.h-bg{position:absolute;inset:0;background:radial-gradient(ellipse 55% 70% at 85% 45%,rgba(201,168,76,.07) 0%,transparent 60%),radial-gradient(ellipse 35% 50% at 10% 80%,rgba(201,168,76,.04) 0%,transparent 50%);}
.h-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,168,76,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,.04) 1px,transparent 1px);background-size:90px 90px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 100%);}
.h-content{position:relative;z-index:2;max-width:700px;}
.h-eyebrow{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;opacity:0;animation:fUp .8s ease forwards .2s;}
.h-eyebrow-line{width:40px;height:1px;background:var(--gold);}
.h-eyebrow span{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,6.5vw,5.8rem);font-weight:300;line-height:1.1;color:var(--cream);margin-bottom:1.8rem;opacity:0;animation:fUp .8s ease forwards .4s;padding-bottom:.05em;}
.hero h1 em{font-style:italic;color:var(--gold-light);}
.h-desc{font-size:1.05rem;line-height:1.85;color:var(--muted);max-width:500px;margin-bottom:3rem;opacity:0;animation:fUp .8s ease forwards .6s;}
.h-actions{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;opacity:0;animation:fUp .8s ease forwards .8s;}
.btn-gold{display:inline-block;padding:1rem 2.4rem;background:var(--gold);color:var(--navy);font-family:'DM Sans',sans-serif;font-size:.74rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:all .3s;position:relative;overflow:hidden;border:none;cursor:pointer;}
.btn-gold::before{content:'';position:absolute;inset:0;background:var(--cream);transform:translateX(-100%);transition:transform .3s ease;}
.btn-gold:hover::before{transform:translateX(0);}
.btn-gold span{position:relative;z-index:1;color:var(--navy);}
.btn-outline{display:inline-block;padding:1rem 2.4rem;border:1.5px solid rgba(247,242,232,.45);color:var(--cream);font-size:.74rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:all .3s;}
.btn-outline:hover{background:var(--cream);color:var(--navy);border-color:var(--cream);}
.h-stats{position:absolute;right:4rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:2.2rem;opacity:0;animation:fUp .8s ease forwards 1s;}
.stat{text-align:right;position:relative;padding-right:1.5rem;}
.stat::before{content:'';position:absolute;right:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--gold),transparent);}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:300;color:var(--gold-light);line-height:1;}
.stat-lbl{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;}
.scroll-ind{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0;animation:fUp .8s ease forwards 1.2s;}
.scroll-ind span{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);}
.scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,var(--gold),transparent);animation:sAnim 1.8s ease infinite;}
@keyframes sAnim{0%{transform:scaleY(0);transform-origin:top;opacity:1;}50%{transform:scaleY(1);transform-origin:top;opacity:1;}100%{transform:scaleY(1);transform-origin:bottom;opacity:0;}}
.hero-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.h-p{position:absolute;background:rgba(201,168,76,.35);border-radius:50%;animation:hpFloat linear infinite;}
@keyframes hpFloat{0%{opacity:0;transform:translateY(50px);}20%{opacity:.6;}80%{opacity:.2;}100%{opacity:0;transform:translateY(-300px);}}

.gd{width:100%;height:1px;background:linear-gradient(to right,transparent,rgba(201,168,76,.3),transparent);}

/* SECTIONS */
section{padding:7rem 5%;}
.s-tag{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem;}
.s-tag-line{width:30px;height:1px;background:var(--gold);}
.s-tag span{font-size:.67rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);}
.s-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4vw,3.2rem);font-weight:300;color:var(--cream);line-height:1.2;margin-bottom:1rem;padding-bottom:.05em;}
.s-title em{font-style:italic;color:var(--gold-light);}
.s-sub{font-size:1rem;color:var(--muted);line-height:1.85;max-width:560px;margin-bottom:4rem;}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* SERVICES */
.services{background:var(--navy-mid);}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.05);}
.svc{background:var(--navy-mid);padding:2.5rem 2rem;position:relative;overflow:hidden;transition:background .4s;cursor:default;}
.svc::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
.svc:hover{background:rgba(255,255,255,.04);}
.svc:hover::before{transform:scaleX(1);}
.svc-head{display:flex;align-items:center;gap:1rem;margin-bottom:1.1rem;}
.svc-icon{width:38px;height:38px;color:var(--gold);flex-shrink:0;}
.svc h3{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:400;color:var(--white);line-height:1.3;}
.svc p{font-size:.92rem;color:var(--muted);line-height:1.8;}
.svc-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.1rem;}
.svc-tag{font-size:.62rem;letter-spacing:.1em;color:var(--gold);border:1px solid rgba(201,168,76,.22);padding:.25rem .6rem;}

/* TICKER */
.ticker-wrap{overflow:hidden;background:var(--navy-mid);padding:3rem 0;}
.ticker{display:flex;gap:2rem;animation:tick 22s linear infinite;white-space:nowrap;}
.ticker-r{animation-direction:reverse;}
@keyframes tick{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.t-item{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.4rem;border:1px solid rgba(255,255,255,.09);font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);white-space:nowrap;transition:all .3s;}
.t-item:hover{border-color:var(--gold);color:var(--gold);}
.t-dot{width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0;}

/* PROCESS */
.process{background:var(--navy);}
.p-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.p-steps::before{content:'';position:absolute;top:28px;left:12.5%;right:12.5%;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent);}
.p-step{padding:0 1.5rem;text-align:center;}
.p-dot{width:56px;height:56px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.8rem;font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--gold);background:var(--navy);position:relative;z-index:1;transition:all .3s;}
.p-step:hover .p-dot{background:var(--gold);color:var(--navy);}
.p-step h4{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;color:var(--cream);margin-bottom:.6rem;}
.p-step p{font-size:.88rem;color:var(--muted);line-height:1.75;}

/* CTA — no box, just content like a section */
.cta-section{padding:5rem 5%;background:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:3rem;}
.cta-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:300;color:var(--cream);line-height:1.2;}
.cta-text h2 em{font-style:italic;color:var(--gold-light);}
.cta-text p{font-size:.97rem;color:var(--muted);margin-top:.6rem;max-width:480px;}
.cta-btns{display:flex;gap:1rem;flex-shrink:0;}

/* CONTACT */
.contact{background:var(--navy);}
.c-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.c-items{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem;}
.c-item{display:flex;align-items:flex-start;gap:1.2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(201,168,76,.1);}
.c-item:last-child{border-bottom:none;}
.c-icon{width:38px;height:38px;border:1px solid rgba(201,168,76,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.c-icon svg{width:17px;height:17px;color:var(--gold);}
.c-lbl{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem;}
.c-val{font-size:.95rem;color:var(--cream);}
.c-form{display:flex;flex-direction:column;gap:1rem;}
.f-group{display:flex;flex-direction:column;gap:.4rem;}
.f-label{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.f-input,.f-ta{background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.15);color:var(--cream);padding:.9rem 1rem;font-family:'DM Sans',sans-serif;font-size:.92rem;font-weight:300;outline:none;transition:border-color .3s;width:100%;}
.f-input:focus,.f-ta:focus{border-color:var(--gold);background:rgba(255,255,255,.05);}
.f-ta{resize:vertical;min-height:130px;}
.f-input::placeholder,.f-ta::placeholder{color:var(--muted2);}
footer{background:var(--navy-mid);padding:2.5rem 5%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(201,168,76,.1);}
.f-logo{font-family:'Cormorant Garamond',serif;font-size:1rem;letter-spacing:.1em;color:var(--cream);line-height:1.4;}
.f-logo span{color:var(--gold);}
footer p{font-size:.73rem;color:var(--muted);}

.svc-link{display:block;text-decoration:none;color:inherit;cursor:pointer}.svc-link:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.svc-more{display:inline-block;margin-top:1.3rem;color:var(--gold);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s}.svc-link:hover .svc-more{transform:translateX(5px)}
