:root{
  --navy:#0a1b33; --navy-2:#0f2747; --navy-3:#163459; --navy-dark:#07152a;
  --gold:#c9a24d; --gold-2:#e2c27a;
  --white:#ffffff; --soft:#d3dcec; --line:rgba(201,162,77,.28);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--white);background:var(--navy);line-height:1.65}
h1,h2,h3{font-family:'Playfair Display',serif;color:var(--gold);line-height:1.2}
a{text-decoration:none;color:inherit}
.container{width:min(1140px,92%);margin:auto}
section{padding:96px 0}
.eyebrow{letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;color:var(--gold-2);font-weight:600}
.section-title{font-size:clamp(1.8rem,3.5vw,2.6rem);margin:10px 0 14px}
.section-sub{color:var(--soft);max-width:620px}
select option{background:var(--navy);color:#fff}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(10,27,51,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--gold);font-weight:700}
.logo small{display:block;font-family:'Inter';font-size:.62rem;letter-spacing:.3em;color:var(--soft);font-weight:500}
.nav ul{display:flex;gap:30px;list-style:none;align-items:center}
.nav a.link{font-size:.92rem;color:var(--white);font-weight:500;transition:.2s}
.nav a.link:hover{color:var(--gold)}
.menu-btn{display:none;background:none;border:0;font-size:1.6rem;color:var(--gold);cursor:pointer}

/* Buttons */
.btn{display:inline-block;padding:14px 30px;border-radius:2px;font-weight:600;font-size:.92rem;border:1px solid var(--gold);cursor:pointer;transition:.25s;font-family:inherit}
.btn-primary{background:var(--gold);color:var(--navy)}
.btn-primary:hover{background:var(--gold-2);border-color:var(--gold-2)}
.btn-outline{background:transparent;color:var(--gold)}
.btn-outline:hover{background:var(--gold);color:var(--navy)}
.btn-light{background:var(--gold);color:var(--navy)}
.btn-light:hover{background:transparent;color:var(--gold)}

/* Hero */
.hero{background:radial-gradient(circle at 80% 20%,rgba(201,162,77,.14),transparent 45%),linear-gradient(135deg,var(--navy-dark) 0%,var(--navy) 55%,var(--navy-2) 100%);padding:130px 0 110px;border-bottom:1px solid var(--line)}
.hero h1{color:var(--white);font-size:clamp(2.2rem,5vw,3.8rem);max-width:760px}
.hero p{max-width:560px;margin:24px 0 38px;color:var(--soft);font-size:1.08rem}
.hero .eyebrow{color:var(--gold)}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.hero .btn-outline{color:var(--gold);border-color:var(--gold)}
.hero .btn-outline:hover{background:var(--gold);color:var(--navy)}

/* Stats */
.stats{background:var(--navy-2);padding:48px 0;border-bottom:1px solid var(--line)}
.stats .container{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stats strong{display:block;font-family:'Playfair Display',serif;font-size:2.2rem;color:var(--gold)}
.stats span{color:var(--soft);font-size:.9rem}

/* Cards */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.card{border:1px solid var(--line);padding:34px 28px;background:var(--navy-2);transition:.3s;border-top:3px solid var(--gold)}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.35);border-color:var(--gold)}
.card .icon{font-size:1.8rem;margin-bottom:14px}
.card h3{font-size:1.25rem;margin-bottom:10px}
.card p{color:var(--soft);font-size:.95rem}

/* Process */
.process{background:var(--navy-dark);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:48px}
.step{border-left:1px solid var(--gold);padding-left:24px}
.step b{font-family:'Playfair Display',serif;font-size:2.4rem;color:var(--gold)}
.step h3{color:var(--white);font-size:1.15rem;margin:6px 0}
.step p{color:var(--soft);font-size:.93rem}

/* CTA + Contact */
.cta{background:var(--navy-2);text-align:center}
.cta .section-sub{margin:0 auto 30px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}
.contact-box{border:1px solid var(--line);padding:30px;background:var(--navy-2)}
.contact-box p{margin:8px 0;color:var(--soft)}
.contact-box strong{color:var(--gold)}
.contact-box iframe{filter:grayscale(.3) contrast(.95)}
footer{background:var(--navy-dark);color:var(--soft);padding:36px 0;font-size:.85rem;text-align:center;border-top:1px solid var(--line)}
footer .notice{max-width:760px;margin:10px auto 0;font-size:.78rem;opacity:.75}

/* Intake form */
.page-head{background:linear-gradient(135deg,var(--navy-dark),var(--navy-2));padding:70px 0;text-align:center;border-bottom:1px solid var(--line)}
.page-head h1{color:var(--gold);font-size:clamp(1.9rem,4vw,2.8rem)}
.page-head p{color:var(--soft);max-width:600px;margin:14px auto 0}
.page-head .eyebrow{color:var(--gold-2)!important}
.form-wrap{max-width:760px;margin:-40px auto 80px;background:var(--navy-2);border:1px solid var(--line);box-shadow:0 20px 50px rgba(0,0,0,.45);padding:44px;position:relative}
.progress{display:flex;gap:8px;margin-bottom:34px}
.progress span{flex:1;height:4px;background:rgba(255,255,255,.15);transition:.3s}
.progress span.on{background:var(--gold)}
.form-step{display:none}.form-step.active{display:block}
.form-step h2{font-size:1.5rem;margin-bottom:6px}
.form-step .hint{color:var(--soft);font-size:.92rem;margin-bottom:24px}
.topics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.topics input{display:none}
.topics label{display:block;height:100%;border:1px solid var(--line);padding:16px 10px;text-align:center;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--white);background:var(--navy);transition:.2s}
.topics label:hover{border-color:var(--gold)}
.topics input:checked+label{background:var(--gold);color:var(--navy);border-color:var(--gold);font-weight:600}
.topics .full{grid-column:1/-1}
.field{margin-bottom:20px}
.field label{display:block;font-size:.85rem;font-weight:600;color:var(--gold);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid var(--line);font-family:inherit;font-size:.95rem;background:var(--navy);color:var(--white)}
.field input::placeholder,.field textarea::placeholder{color:#8fa0bd}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);border-color:transparent}
.field textarea{min-height:150px;resize:vertical}
#count{color:var(--soft)!important}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.check{display:flex;gap:10px;font-size:.85rem;color:var(--soft);align-items:flex-start}
.check input{margin-top:4px;accent-color:var(--gold)}
.form-nav{display:flex;justify-content:space-between;margin-top:28px;gap:12px}
.error{color:#ff8f86;font-size:.82rem;margin-top:6px;display:none}
.error.show{display:block}
.success{display:none;text-align:center;padding:30px 0}
.success.show{display:block}
.success p{color:var(--soft)}
.success .tick{width:70px;height:70px;border-radius:50%;background:var(--gold);color:var(--navy);font-size:2rem;display:grid;place-items:center;margin:0 auto 20px}
.summary{text-align:left;background:var(--navy);border:1px solid var(--line);padding:20px;margin:24px 0;font-size:.92rem;color:var(--white)}
.summary div{margin:4px 0}
.summary b{color:var(--gold)}

@media(max-width:860px){
  .grid-3,.steps,.contact-grid{grid-template-columns:1fr}
  .stats .container{grid-template-columns:repeat(2,1fr)}
  .topics{grid-template-columns:repeat(2,1fr)}
  .row{grid-template-columns:1fr}
  .form-wrap{padding:28px 20px;margin:-30px 4% 60px}
  .menu-btn{display:block}
  .nav ul{display:none;position:absolute;top:76px;left:0;right:0;background:var(--navy);flex-direction:column;padding:24px;border-bottom:1px solid var(--line)}
  .nav ul.open{display:flex}
}
