:root{--navy:#0f2347;--ink:#1c2230;--muted:#6b7385;--line:#e3e6ec;--bg:#f6f7f9;--gold:#c9b98f}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-weight:300;color:var(--ink);line-height:1.7}
main{flex:1}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-variant-numeric:lining-nums}
a{color:inherit;text-decoration:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 40px}
.eyebrow{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-weight:500}
header{position:absolute;top:0;left:0;right:0;z-index:10;border-bottom:1px solid rgba(255,255,255,.14)}
header .wrap{display:flex;justify-content:space-between;align-items:center;height:100px}
header .logo img{height:50px;display:block;transition:opacity .3s}header .logo:hover img{opacity:.8}
nav{display:flex;gap:38px}
nav a{position:relative;color:rgba(255,255,255,.72);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;font-weight:400;padding:8px 0;transition:color .3s}
nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
nav a:hover,nav a.active{color:#fff}nav a:hover:after,nav a.active:after{transform:scaleX(1)}
.btn{display:inline-block;padding:16px 36px;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:500;transition:all .3s;border:1px solid #fff}
.btn-solid{background:#fff;color:var(--navy)}.btn-solid:hover{background:var(--gold);border-color:var(--gold);color:var(--navy);transform:translateY(-2px)}
.btn-ghost{color:#fff;border-color:rgba(255,255,255,.6)}.btn-ghost:hover{background:#fff;color:var(--navy);transform:translateY(-2px)}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy);cursor:pointer;font-family:inherit}.btn-navy:hover{background:#1d3a6e;transform:translateY(-2px)}
/* home hero */
.cover{position:relative;height:100vh;min-height:640px;background:url(hero-home.jpg) center 45%/cover;color:#fff;display:flex;align-items:center;overflow:hidden}
.cover:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,18,40,.88) 0%,rgba(8,18,40,.55) 45%,rgba(8,18,40,.15) 100%),linear-gradient(0deg,rgba(8,18,40,.7) 0%,rgba(8,18,40,0) 35%)}
.cover .wrap{position:relative;width:100%}
.cover .rule{width:60px;height:1px;background:var(--gold);margin-bottom:28px}
.cover h1{font-size:5.4rem;line-height:1.02;font-weight:400;max-width:780px;letter-spacing:-.01em}
.cover h1 em{font-style:italic;color:var(--gold)}
.cover p{margin-top:26px;font-size:1.1rem;opacity:.85;max-width:480px}
.cover .ctas{margin-top:44px;display:flex;gap:16px;flex-wrap:wrap}
.cover .scroll{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);font-size:.62rem;letter-spacing:.3em;color:rgba(255,255,255,.6)}
.fade{opacity:0;transform:translateY(24px);animation:up 1s ease forwards}
.d1{animation-delay:.15s}.d2{animation-delay:.35s}.d3{animation-delay:.55s}.d4{animation-delay:.75s}
@keyframes up{to{opacity:1;transform:none}}
.cover{background:none}.cover .bg{position:absolute;inset:0;background:url(hero-home.jpg) center 45%/cover;animation:zoom 14s ease-out forwards}
@keyframes zoom{from{transform:scale(1.1)}to{transform:scale(1.02)}}
.cover:before{z-index:1}.cover .wrap{z-index:2}
.strip{background:var(--navy);color:#fff}
.strip .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.strip a{padding:46px 30px;border-right:1px solid rgba(255,255,255,.12);transition:background .3s}
.strip a:first-child{border-left:1px solid rgba(255,255,255,.12)}
.strip a:hover{background:rgba(255,255,255,.06)}
.strip .eyebrow{color:rgba(255,255,255,.55);font-size:.66rem}
.strip h3{font-size:2.4rem;font-weight:400;margin-top:6px}
/* interior */
.banner{position:relative;height:400px;background:url(hero.jpg) center 55%/cover;color:#fff;display:flex;align-items:flex-end}
.banner:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,40,.7),rgba(8,18,40,.55) 50%,rgba(8,18,40,.85))}
.banner .wrap{position:relative;width:100%;padding-bottom:64px}
.banner .eyebrow{color:var(--gold)}
.banner h1{font-size:3.8rem;font-weight:400;line-height:1.1;margin-top:8px}
section{padding:110px 0}
.lead{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}
.lead h2{font-size:2.8rem;color:var(--navy);line-height:1.15}
.lead p{font-size:1.12rem;color:#3a4152}
.grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cell{padding:42px 36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s}
.cell:hover{background:var(--bg)}
.cell h3{font-size:2rem;color:var(--navy);margin:12px 0 4px;line-height:1.2}
.cell p{font-size:.88rem;color:var(--muted)}
.note{margin-top:30px;font-size:.85rem;color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.steps div{padding:40px 30px 0 0}
.steps .n{font-family:"Cormorant Garamond",serif;font-size:3.2rem;color:var(--gold);line-height:1}
.steps h3{font-size:1.6rem;color:var(--navy);margin:14px 0 6px}
.steps p{font-size:.92rem;color:var(--muted)}
.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}
.contact h2{font-size:2.6rem;color:var(--navy);line-height:1.15}
.contact .info{margin-top:26px;color:#3a4152}.contact .info a{color:var(--navy);border-bottom:1px solid var(--navy)}.contact .info a:hover{color:#8a7a4f;border-color:#8a7a4f}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
input,textarea{font:inherit;font-size:.95rem;padding:14px 0;border:0;border-bottom:1px solid #c9ced8;background:transparent;outline:none;width:100%;transition:border-color .3s}
input:focus,textarea:focus{border-color:var(--navy)}
textarea,form button{grid-column:1/-1}form button{justify-self:start;margin-top:10px}
.cta-band{background:var(--bg);padding:80px 0;text-align:center}
.cta-band h2{font-size:2.4rem;color:var(--navy);margin-bottom:26px}
footer{background:#0a1832;color:rgba(255,255,255,.6);font-size:.78rem;padding:44px 0}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
footer img{height:34px}footer .credit{font-size:.66rem;opacity:.7}
footer a:hover{color:#fff}
@media(max-width:900px){
 .wrap{padding:0 24px}header .wrap{height:80px}header .logo img{height:38px}
 nav{gap:16px}nav a{font-size:.6rem;letter-spacing:.12em}
 header .wrap{flex-direction:column;justify-content:center;gap:4px;height:110px}
 .cover h1{font-size:3.1rem}.cover .bg{background-position:58% center}
 .cover .btn{padding:14px 22px}
 .strip .wrap{grid-template-columns:1fr;padding:0}.strip a{border:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important;padding:30px 24px}
 .banner{height:320px}.banner h1{font-size:2.6rem}
 section{padding:70px 0}.lead,.contact{grid-template-columns:1fr;gap:24px}.lead h2,.contact h2{font-size:2.1rem}
 .grid{grid-template-columns:1fr 1fr}.cell{padding:26px 18px}.cell h3{font-size:1.45rem}
 .steps{grid-template-columns:1fr 1fr}form{grid-template-columns:1fr}
}
/* interior v2 */
.banner{height:56vh;min-height:440px;max-height:620px;background-size:cover;background-position:center 55%}
.banner:before{background:linear-gradient(90deg,rgba(8,18,40,.9) 0%,rgba(8,18,40,.6) 50%,rgba(8,18,40,.25) 100%),linear-gradient(0deg,rgba(8,18,40,.75) 0%,rgba(8,18,40,0) 45%)}
.banner .wrap{padding-bottom:80px}.banner .rule{width:60px;height:1px;background:var(--gold);margin-bottom:22px}
.banner h1{font-size:4.6rem;line-height:1.05}
.gold{color:#9a8655}
.tint{background:var(--bg)}
.about2{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.about2 h2{font-size:3rem;color:var(--navy);line-height:1.12;margin:14px 0 22px}.about2 p{font-size:1.1rem;color:#3a4152}
.about-img{position:relative}.about-img img{width:100%;height:520px;object-fit:cover;display:block}
.about-img:after{content:"";position:absolute;top:24px;left:24px;right:-24px;bottom:-24px;border:1px solid var(--gold);z-index:-1}
.about-img .tag{position:absolute;left:0;bottom:0;background:var(--navy);color:#fff;padding:16px 26px;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase}
.quote{background:#fff;padding:20px 0 100px;text-align:center}.quote span{font-family:"Cormorant Garamond",serif;font-size:6rem;color:var(--gold);line-height:.6;display:block}
.quote p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:2.6rem;color:var(--navy)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{position:relative;background:#fff;padding:46px 40px 44px;border:1px solid var(--line);transition:transform .35s,box-shadow .35s,border-color .35s;overflow:hidden}
.card:before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(15,35,71,.12);border-color:transparent}.card:hover:before{transform:scaleX(1)}
.card .cn{position:absolute;top:24px;right:30px;font-family:"Cormorant Garamond",serif;font-size:1.3rem;color:var(--gold)}
.card h3{font-size:2.1rem;color:var(--navy);margin:14px 0 6px;line-height:1.15}.card p{font-size:.88rem;color:var(--muted)}
.cta-dark{background:var(--navy);color:#fff;padding:80px 0}.cta-dark .wrap{display:flex;justify-content:space-between;align-items:center}
.cta-dark h2{font-size:2.8rem;font-weight:400}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;position:relative;padding-top:10px}
.timeline:before{content:"";position:absolute;top:46px;left:12%;right:12%;height:1px;background:linear-gradient(90deg,var(--gold),#d9cfb3)}
.step{text-align:center;position:relative;padding:0 10px}
.dot{width:74px;height:74px;margin:0 auto;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px #fff,0 0 0 9px var(--gold);transition:transform .3s}
.step:hover .dot{transform:scale(1.08)}
.dot svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sn{font-family:"Cormorant Garamond",serif;font-size:3.4rem;color:var(--gold);line-height:1;margin-top:30px}
.step h3{font-size:1.75rem;color:var(--navy);margin:8px 0}.step p{font-size:.92rem;color:var(--muted);max-width:230px;margin:0 auto}
.contact2{display:grid;grid-template-columns:1fr 1.5fr;box-shadow:0 30px 60px rgba(15,35,71,.12)}
.panel{background:var(--navy);color:#fff;padding:56px 48px;display:flex;flex-direction:column}
.panel .plogo{height:46px;width:auto;align-self:flex-start;margin-bottom:46px}
.panel .gold{color:var(--gold)}.panel p{margin:8px 0 30px;font-size:1.05rem;opacity:.9}
.panel a{border-bottom:1px solid rgba(255,255,255,.4);transition:border-color .3s}.panel a:hover{border-color:var(--gold)}
.pimg{flex:1;min-height:170px;background:linear-gradient(0deg,rgba(15,35,71,.4),rgba(15,35,71,.1)),url(contact-panel.jpg) center/cover;margin-top:auto}
.formcard{background:#fff;padding:56px 56px}.formcard h2{font-size:2.4rem;color:var(--navy);margin-bottom:22px}
@media(max-width:900px){.banner{height:auto;min-height:380px}.banner h1{font-size:2.7rem}
.about2,.contact2{grid-template-columns:1fr;gap:40px}.about-img img{height:320px}.cards{grid-template-columns:1fr}
.timeline{grid-template-columns:1fr 1fr;gap:50px 20px}.timeline:before{display:none}.cta-dark .wrap{flex-direction:column;gap:24px}.formcard,.panel{padding:40px 26px}.quote p{font-size:1.9rem}}
.noanim *{animation:none!important;opacity:1!important;transform:none!important}
.strip h3{line-height:1.2}
/* uniform v3 */
.wrap{max-width:1280px;padding:0 64px}
.banner{height:100vh;min-height:640px;max-height:none;align-items:center}
.banner .wrap{padding-bottom:0}
.banner:before{background:linear-gradient(90deg,rgba(8,18,40,.88) 0%,rgba(8,18,40,.55) 45%,rgba(8,18,40,.15) 100%),linear-gradient(0deg,rgba(8,18,40,.7) 0%,rgba(8,18,40,0) 35%)}
.banner .eyebrow{color:rgba(255,255,255,.75);margin-bottom:18px}.banner .rule{margin-bottom:28px}
.banner h1{font-size:5.4rem;line-height:1.02;max-width:900px;letter-spacing:-.01em;margin-top:0}
.contact2{grid-template-columns:1fr 1.6fr}.panel .plogo{margin-bottom:56px}.formcard{display:flex;align-items:center}.formcard form{width:100%}
.noanim .banner,.noanim .cover{height:800px!important;min-height:0!important}
@media(max-width:900px){.wrap{padding:0 24px}.banner{height:100vh;min-height:520px}.banner h1{font-size:3.1rem}}
form .full{grid-column:1/-1}
/* v4 match home */
.banner{background:none!important;overflow:hidden}
.banner .bg{position:absolute;inset:0;background-size:cover;filter:saturate(.55) brightness(.72) contrast(1.08);animation:zoom 14s ease-out forwards}
.banner:before{z-index:1;background:linear-gradient(90deg,rgba(8,18,40,.94) 0%,rgba(8,18,40,.72) 45%,rgba(8,18,40,.35) 100%),linear-gradient(0deg,rgba(8,18,40,.8) 0%,rgba(8,18,40,0) 40%),linear-gradient(180deg,rgba(15,35,71,.35),rgba(15,35,71,.35))}
.banner .wrap{z-index:2}
.banner .eyebrow{color:rgba(255,255,255,.75);margin-bottom:0}
.banner h1{margin-top:18px}
.banner p{margin-top:26px;font-size:1.1rem;opacity:.85;max-width:520px}
.navysec{background:var(--navy);padding:110px 0}
.navysec .card{background:transparent;border:1px solid rgba(255,255,255,.14);color:#fff}
.navysec .card h3{color:#fff}.navysec .card p,.navysec .card .eyebrow{color:rgba(255,255,255,.6)}
.navysec .card:hover{background:rgba(255,255,255,.05);box-shadow:none;border-color:rgba(255,255,255,.25)}
.navysec .note{color:rgba(255,255,255,.5)}
.cards{gap:0}.navysec .cards .card{margin:-1px 0 0 -1px}
section{padding:130px 0}
.timeline{padding-top:20px}
.contact2{margin:0}
.banner .bg{filter:saturate(.7) brightness(.88) contrast(1.1)}
.banner:before{background:linear-gradient(90deg,rgba(8,18,40,.92) 0%,rgba(8,18,40,.6) 45%,rgba(8,18,40,.18) 100%),linear-gradient(0deg,rgba(8,18,40,.75) 0%,rgba(8,18,40,0) 40%)}
.about-img img{filter:saturate(.8) contrast(1.05)}
section.tint{background:#fff}
/* v6 lighter, as v3 */
.banner .bg{filter:none}
.banner:before{background:linear-gradient(90deg,rgba(8,18,40,.88) 0%,rgba(8,18,40,.55) 45%,rgba(8,18,40,.15) 100%),linear-gradient(0deg,rgba(8,18,40,.7) 0%,rgba(8,18,40,0) 35%)}
.about-img img{filter:none}
/* lighter inner banners */
.banner .bg{filter:none}
.banner:before{background:linear-gradient(90deg,rgba(8,18,40,.55) 0%,rgba(8,18,40,.25) 45%,rgba(8,18,40,0) 75%),linear-gradient(0deg,rgba(8,18,40,.35) 0%,rgba(8,18,40,0) 35%)}
.banner h1,.banner p,.banner .eyebrow{text-shadow:0 2px 14px rgba(0,0,0,.45)}
.banner:after{content:"";position:absolute;left:0;right:0;top:0;height:140px;z-index:1;background:linear-gradient(180deg,rgba(8,18,40,.55),rgba(8,18,40,0))}
