:root {
  --ink:#0D0D0D; --navy:#0B1929; --navy2:#112236; --gold:#C9A96E; --copper:#A67C52;
  --cream:#FAF8F3; --mist:#F0EDE6; --steel:#8A9BAD; --slate:#4A5568;
  --border:rgba(201,169,110,0.18); --ease:cubic-bezier(0.25,0.46,0.45,0.94);
  --font-serif:'Cormorant Garamond',Georgia,serif; --font-sans:'Outfit',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--cream);color:var(--ink);font-family:var(--font-sans);font-weight:300;line-height:1.6;cursor:none;overflow-x:hidden;}

/* CURSOR */
.cursor-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s;}
.cursor-ring{width:32px;height:32px;border:1.5px solid rgba(201,169,110,.5);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .35s var(--ease),height .35s var(--ease),border-color .25s;}
body.hovering .cursor-ring{width:50px;height:50px;border-color:var(--gold);}
a,button{cursor:none;}

/* NAVBAR */
nav{position:fixed;top:0;left:0;right:0;z-index:900;padding:0 48px;height:72px;display:flex;align-items:center;justify-content:space-between;background:transparent;transition:all .4s var(--ease);}
nav.solid{background:rgba(11,25,41,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);}
.nav-logo{display:flex;align-items:center;gap:14px;text-decoration:none;}
.logo-mono{width:38px;height:38px;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:16px;font-weight:500;color:var(--gold);letter-spacing:.05em;}
.logo-text{font-family:var(--font-serif);font-size:17px;font-weight:400;color:#fff;letter-spacing:.08em;}
.logo-sub{font-size:9px;font-weight:300;color:var(--steel);letter-spacing:.2em;text-transform:uppercase;line-height:1;}
.nav-links{display:flex;gap:36px;list-style:none;}
.nav-links a{font-size:11.5px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65);text-decoration:none;transition:color .25s;position:relative;padding-bottom:2px;}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.nav-links a:hover{color:#fff;}
.nav-links a:hover::after{transform:scaleX(1);}
.nav-cta{padding:9px 22px;background:transparent;border:1px solid var(--gold);color:var(--gold);font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:all .3s var(--ease);}
.nav-cta:hover{background:var(--gold);color:var(--navy);}
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px;}
.nav-hamburger span{display:block;width:24px;height:1.5px;background:rgba(255,255,255,.7);}
.mobile-menu{display:none;position:fixed;inset:0;background:var(--navy);z-index:800;flex-direction:column;align-items:center;justify-content:center;gap:32px;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-family:var(--font-serif);font-size:28px;color:#fff;text-decoration:none;}

/* HERO */
.hero{min-height:100vh;background:linear-gradient(160deg,#050d15 0%,var(--navy) 45%,#0e2238 100%);display:flex;align-items:center;position:relative;overflow:hidden;padding:120px 60px 80px;}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 60%,rgba(201,169,110,.08) 0%,transparent 60%);}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,169,110,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(201,169,110,.04) 1px,transparent 1px);background-size:60px 60px;}
.hero-inner{max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:2;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:10px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;}
.hero-eyebrow::before{content:'';width:32px;height:1px;background:var(--gold);}
.hero h1{font-family:var(--font-serif);font-size:clamp(40px,5vw,68px);font-weight:400;line-height:1.05;color:#fff;margin-bottom:24px;}
.hero h1 em{font-style:italic;color:var(--gold);}
.hero-sub{font-size:16px;font-weight:300;color:rgba(255,255,255,.7);line-height:1.75;margin-bottom:40px;max-width:500px;}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:48px;}
.btn-gold{padding:14px 36px;background:var(--gold);color:var(--navy);font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:none;transition:all .3s var(--ease);}
.btn-gold:hover{background:#d4b47a;transform:translateY(-2px);box-shadow:0 12px 32px rgba(201,169,110,.3);}
.btn-outline{padding:14px 36px;background:transparent;border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.8);font-family:var(--font-sans);font-size:11px;font-weight:400;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;transition:all .3s;}
.btn-outline:hover{border-color:rgba(255,255,255,.7);color:#fff;}
.hero-badges{display:flex;flex-direction:column;gap:10px;}
.hero-badge{display:flex;align-items:center;gap:12px;padding:10px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-left:2px solid var(--gold);}
.hero-badge svg{flex-shrink:0;stroke:var(--gold);stroke-width:1.5;}
.hero-badge span{font-size:13px;font-weight:300;color:rgba(255,255,255,.75);}

/* PROCESS */
.process{padding:100px 60px;background:var(--cream);}
.process-inner{max-width:1100px;margin:0 auto;}
.section-eyebrow{font-size:10px;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.section-title{font-family:var(--font-serif);font-size:clamp(30px,3.5vw,46px);font-weight:400;line-height:1.1;margin-bottom:16px;}
.section-lead{font-size:16px;font-weight:300;line-height:1.75;color:var(--slate);max-width:600px;}
.steps-timeline{display:flex;flex-direction:column;gap:0;margin-top:56px;position:relative;}
.steps-timeline::before{content:'';position:absolute;left:27px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,var(--gold),rgba(201,169,110,.1));}
.timeline-step{display:flex;gap:32px;align-items:flex-start;padding:32px 0;position:relative;}
.timeline-step:not(:last-child){border-bottom:1px solid rgba(0,0,0,.06);}
.step-num{width:56px;height:56px;border:1.5px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:20px;font-weight:400;color:var(--gold);background:var(--cream);flex-shrink:0;position:relative;z-index:1;transition:background .3s,color .3s;}
.timeline-step:hover .step-num{background:var(--gold);color:var(--navy);}
.step-body{flex:1;padding-top:8px;}
.step-title{font-family:var(--font-serif);font-size:22px;font-weight:500;color:var(--navy);margin-bottom:8px;}
.step-desc{font-size:14px;font-weight:300;color:var(--slate);line-height:1.7;max-width:580px;}
.step-tag{display:inline-block;padding:3px 10px;background:rgba(201,169,110,.1);font-size:9px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--copper);margin-bottom:10px;}

/* CREDIT DEPT */
.credit{padding:100px 60px;background:var(--navy);position:relative;overflow:hidden;}
.credit::before{content:'';position:absolute;right:-100px;top:-100px;width:500px;height:500px;border-radius:50%;border:1px solid rgba(201,169,110,.07);}
.credit::after{content:'';position:absolute;right:-50px;top:-50px;width:350px;height:350px;border-radius:50%;border:1px solid rgba(201,169,110,.07);}
.credit-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:1;}
.credit-left .section-title{color:#fff;margin-bottom:16px;}
.credit-left .section-lead{color:var(--steel);margin-bottom:32px;}
.credit-text{font-size:14.5px;font-weight:300;color:rgba(255,255,255,.65);line-height:1.8;margin-bottom:28px;}
.credit-cta{display:inline-flex;align-items:center;gap:10px;padding:13px 30px;background:var(--gold);color:var(--navy);font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:all .3s;}
.credit-cta:hover{background:#d4b47a;}
.credit-features{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.credit-feat{padding:24px 20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-top:2px solid var(--gold);transition:background .3s;}
.credit-feat:hover{background:rgba(255,255,255,.07);}
.credit-feat-icon{margin-bottom:12px;}
.credit-feat-icon svg{width:24px;height:24px;stroke:var(--gold);stroke-width:1.5;}
.credit-feat-title{font-size:14px;font-weight:500;color:#fff;margin-bottom:6px;}
.credit-feat-desc{font-size:12.5px;font-weight:300;color:var(--steel);line-height:1.55;}

/* SERVICES */
.services{padding:100px 60px;background:var(--mist);}
.services-inner{max-width:1100px;margin:0 auto;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px;}
.svc-card{background:#fff;padding:36px 28px;border:1px solid rgba(0,0,0,.07);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .25s;}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(0,0,0,.1);border-color:var(--border);}
.svc-icon{width:52px;height:52px;background:linear-gradient(135deg,var(--navy),var(--navy2));display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.svc-icon svg{width:22px;height:22px;stroke:var(--gold);stroke-width:1.5;}
.svc-title{font-family:var(--font-serif);font-size:21px;font-weight:500;color:var(--navy);margin-bottom:10px;}
.svc-desc{font-size:13.5px;font-weight:300;color:var(--slate);line-height:1.65;}

/* WHY ME */
.why-me{padding:100px 60px;background:var(--cream);}
.why-me-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.why-portrait{width:100%;aspect-ratio:3/4;background:linear-gradient(160deg,var(--navy2),var(--navy));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;border:1px solid var(--border);position:relative;overflow:hidden;}
.why-portrait::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(201,169,110,.1) 0%,transparent 60%);}
.why-mono{font-family:var(--font-serif);font-size:80px;font-weight:300;color:rgba(201,169,110,.2);line-height:1;}
.why-portrait-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--steel);}
.why-right .section-title{color:var(--navy);margin-bottom:16px;}
.why-text{font-size:15px;font-weight:300;color:#333;line-height:1.8;margin-bottom:28px;}
.why-points{display:flex;flex-direction:column;gap:14px;margin-bottom:32px;}
.why-point{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:300;color:var(--slate);}
.why-point svg{flex-shrink:0;stroke:var(--gold);stroke-width:1.5;}
.why-quote{padding:22px 28px;background:var(--navy);border-left:3px solid var(--gold);}
.why-quote p{font-family:var(--font-serif);font-size:17px;font-weight:300;color:rgba(255,255,255,.8);font-style:italic;line-height:1.6;margin-bottom:8px;}
.why-quote cite{font-size:11px;font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);}

/* TESTIMONIALS */
.testimonials{padding:100px 60px;background:var(--navy);}
.testimonials-inner{max-width:1100px;margin:0 auto;}
.testimonials .section-title{color:#fff;margin-bottom:52px;}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.testi-card{padding:36px 28px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);transition:border-color .3s,background .3s;}
.testi-card:hover{border-color:var(--border);background:rgba(255,255,255,.06);}
.testi-quote{font-size:48px;font-family:var(--font-serif);color:rgba(201,169,110,.3);line-height:.8;margin-bottom:16px;}
.testi-text{font-size:14px;font-weight:300;color:rgba(255,255,255,.75);line-height:1.75;font-style:italic;margin-bottom:24px;}
.testi-author{display:flex;align-items:center;gap:12px;}
.testi-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--copper),var(--gold));display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:14px;color:var(--navy);font-weight:500;}
.testi-name{font-size:13px;font-weight:500;color:#fff;}
.testi-role{font-size:10px;font-weight:300;letter-spacing:.1em;color:var(--steel);}

/* FORM */
.form-section{padding:100px 60px;background:var(--cream);}
.form-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.form-left .section-title{color:var(--navy);margin-bottom:16px;}
.form-left .section-lead{color:var(--slate);margin-bottom:32px;}
.form-benefits{list-style:none;margin-bottom:32px;}
.form-benefits li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid rgba(0,0,0,.07);font-size:14px;font-weight:300;color:var(--slate);}
.form-benefits li svg{flex-shrink:0;stroke:var(--gold);stroke-width:1.5;}
.form-card{background:var(--navy);padding:36px;}
.form-group{margin-bottom:16px;}
.form-label{display:block;font-size:9px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--steel);margin-bottom:6px;}
.form-control{width:100%;padding:11px 14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#fff;font-family:var(--font-sans);font-size:13px;font-weight:300;outline:none;transition:border-color .25s;}
.form-control:focus{border-color:var(--gold);}
.form-control::placeholder{color:rgba(255,255,255,.3);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-submit{width:100%;padding:15px;background:var(--gold);color:var(--navy);font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;border:none;transition:all .3s;margin-top:4px;}
.form-submit:hover{background:#d4b47a;transform:translateY(-2px);}
.form-note{margin-top:14px;font-size:11px;font-weight:300;color:rgba(255,255,255,.3);text-align:center;line-height:1.5;}

/* FOOTER */
footer{background:var(--ink);padding:60px 60px 32px;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.foot-logo{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.foot-mono{width:34px;height:34px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:14px;color:var(--gold);}
.foot-name{font-family:var(--font-serif);font-size:16px;color:#fff;letter-spacing:.08em;}
.foot-tag{font-size:9px;color:var(--steel);letter-spacing:.18em;}
.foot-desc{font-size:12px;font-weight:300;color:var(--steel);line-height:1.7;margin-bottom:20px;}
.foot-social{display:flex;gap:12px;}
.foot-social a{width:32px;height:32px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:var(--steel);transition:all .25s;text-decoration:none;}
.foot-social a:hover{border-color:var(--gold);color:var(--gold);}
.fcol h5{font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:20px;}
.fcol ul{list-style:none;}
.fcol ul li{margin-bottom:10px;}
.fcol ul li a{font-size:12.5px;font-weight:300;color:var(--steel);text-decoration:none;transition:color .2s;}
.fcol ul li a:hover{color:#fff;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.foot-copy{font-size:11px;font-weight:300;color:rgba(255,255,255,.25);}
.foot-badge{font-size:10px;font-weight:400;letter-spacing:.12em;color:var(--gold);}

/* ANIMATIONS */
.fade-up{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.fade-left{opacity:0;transform:translateX(-28px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.fade-right{opacity:0;transform:translateX(28px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.fade-in{opacity:0;transition:opacity .7s var(--ease);}
.fade-up.in,.fade-left.in,.fade-right.in,.fade-in.in{opacity:1;transform:none;}

@media(max-width:900px){
  nav{padding:0 24px;}
  .nav-links,.nav-cta{display:none;}
  .nav-hamburger{display:flex;}
  .hero{padding:100px 24px 60px;}
  .hero-inner{grid-template-columns:1fr;}
  .hero-visual-wrap{display:none;}
  .process,.credit,.services,.why-me,.testimonials,.form-section{padding:60px 24px;}
  .credit-inner,.why-me-inner,.form-inner{grid-template-columns:1fr;gap:40px;}
  .services-grid,.testi-grid,.credit-features{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px;}
  footer{padding:48px 24px 24px;}
}
