:root{--navy:#102A41;--navy2:#0a1d2c;--gold:#C4B19C;--gd:#9a7f5e;--cream:#F0EDE6;--off:#F7F4EE}
html{scroll-behavior:smooth}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--cream);color:var(--navy);font-family:'Poppins',sans-serif;font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block}

/* REVEAL ANIMATIONS — content is visible by default; JS applies the hidden
   start state via inline styles (which always win) and animates it in, so
   content can never get stuck hidden if JS or the cascade misbehaves. */
.reveal,.reveal-l,.reveal-r{transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.reveal-s{transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.4s cubic-bezier(.16,1,.3,1)}
.d1{transition-delay:.09s}.d2{transition-delay:.19s}.d3{transition-delay:.29s}.d4{transition-delay:.4s}.d5{transition-delay:.52s}.d6{transition-delay:.64s}

/* TYPE HELPERS */
.eyebrow{font-family:'Poppins',sans-serif;font-size:10px;letter-spacing:.28em;font-weight:500;text-transform:uppercase;color:var(--gd);display:flex;align-items:center;gap:13px}
.eyebrow::before{content:'';width:26px;height:1px;background:var(--gd)}
.eyebrow-gold{color:var(--gold)}.eyebrow-gold::before{background:var(--gold)}
.eyebrow-c{justify-content:center}.eyebrow-c::after{content:'';width:26px;height:1px;background:var(--gd)}
.eyebrow-c.eyebrow-gold::after{background:var(--gold)}
.serif{font-family:'Cormorant Garamond',serif}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(240,237,230,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(16,42,65,.08);padding:0 clamp(20px,4vw,52px);transition:background .3s,box-shadow .3s,height .3s}
.nav.scrolled{box-shadow:0 8px 40px -22px rgba(16,42,65,.4)}
.nav-inner{max-width:1360px;margin:0 auto;height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-logo-wrap{display:flex;align-items:center;gap:11px}
.nav-logo-circle{width:44px;height:44px;flex-shrink:0;clip-path:circle(50% at 50% 50%)}
.nav-logo-circle img{width:100%;height:100%;object-fit:cover}
.nav-logo-text{display:flex;flex-direction:column;line-height:1}
.nav-logo-script{font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:700;color:var(--navy);font-style:italic;line-height:1}
.nav-logo-sub{font-family:'Poppins',sans-serif;font-size:8.5px;letter-spacing:.24em;color:var(--gd);font-weight:500;margin-top:2px;text-transform:uppercase}
.nav-links{display:flex;gap:34px;align-items:center}
.nav-links a{font-family:'Poppins',sans-serif;font-size:12px;letter-spacing:.06em;color:rgba(16,42,65,.6);font-weight:500;transition:color .2s;position:relative;padding:4px 0}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--gd);transition:width .3s cubic-bezier(.16,1,.3,1)}
.nav-links a:hover{color:var(--navy)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-links a.active{color:var(--navy)}
.nav-ctas{display:flex;align-items:center;gap:16px}
.nav-tel{font-family:'Poppins',sans-serif;font-size:13px;color:var(--navy);font-weight:500}
.nav-tel:hover{color:var(--gd)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 27px;font-family:'Poppins',sans-serif;font-size:12px;letter-spacing:.05em;font-weight:500;cursor:pointer;border:none;transition:all .3s cubic-bezier(.16,1,.3,1)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:#1a3d5c;transform:translateY(-2px)}
.btn-gold{background:var(--gd);color:#fff}.btn-gold:hover{background:#7d6348;transform:translateY(-2px)}
.btn-outline{background:transparent;border:1.5px solid var(--navy);color:var(--navy)}.btn-outline:hover{background:var(--navy);color:#fff}
.btn-outline-w{background:transparent;border:1.5px solid rgba(255,255,255,.4);color:#fff}.btn-outline-w:hover{border-color:#fff;background:rgba(255,255,255,.12)}
.btn-lg{padding:16px 40px;font-size:13px}

/* SHARED SECTION SHELL */
.wrap{max-width:1360px;margin:0 auto}
.sec{padding:clamp(72px,10vw,132px) clamp(20px,4vw,52px)}
.sec-navy{background:var(--navy);color:#fff}
.sec-navy2{background:var(--navy2);color:#fff}
.sec-cream{background:var(--cream)}
.sec-off{background:var(--off)}
.h-xl{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4.6vw,64px);font-weight:600;line-height:1.03;font-style:italic;letter-spacing:-.01em}
.h-lg{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.6vw,50px);font-weight:600;line-height:1.06;font-style:italic}
.lead{font-size:clamp(15px,1.2vw,17px);font-weight:300;line-height:1.9;color:rgba(16,42,65,.62)}
.sec-navy .lead,.sec-navy2 .lead{color:rgba(255,255,255,.55)}

/* SUBPAGE HERO */
.subhero{position:relative;min-height:62vh;display:flex;align-items:flex-end;padding:120px clamp(20px,4vw,52px) 64px;overflow:hidden}
.subhero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:heroZoom 9s ease-out forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.subhero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,29,44,.35),rgba(10,29,44,.82))}
.subhero-inner{position:relative;z-index:1;max-width:1360px;margin:0 auto;width:100%}
.subhero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,7vw,104px);font-weight:700;color:#fff;line-height:.94;font-style:italic;letter-spacing:-.01em}
.subhero-sub{font-size:clamp(14px,1.2vw,17px);font-weight:300;color:rgba(255,255,255,.72);line-height:1.8;max-width:520px;margin-top:22px}
.crumb{font-family:'Poppins',sans-serif;font-size:10.5px;letter-spacing:.22em;color:var(--gold);font-weight:500;text-transform:uppercase;margin-bottom:20px}
.crumb a{color:rgba(255,255,255,.55)}.crumb a:hover{color:#fff}

/* FULL-BLEED IMAGE BAND (parallax feel) */
.band{position:relative;height:clamp(360px,52vw,640px);overflow:hidden;display:flex;align-items:center;justify-content:center}
.band-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform}
.band-overlay{position:absolute;inset:0;background:rgba(10,29,44,.55)}
.band-inner{position:relative;z-index:1;max-width:760px;text-align:center;padding:0 24px}
.band-q{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,3.2vw,44px);font-weight:500;font-style:italic;color:#fff;line-height:1.28}
.band-cite{font-family:'Poppins',sans-serif;font-size:11px;letter-spacing:.2em;color:var(--gold);font-weight:500;text-transform:uppercase;margin-top:26px}

/* FOOTER (locked design) */
.footer{background:var(--navy2);padding:80px clamp(20px,4vw,52px) 40px}
.footer-inner{max-width:1360px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:64px;margin-bottom:60px}
.footer-logo-img{height:56px;opacity:.95;object-fit:contain;margin-bottom:18px}
.footer-about{font-size:13px;font-weight:300;line-height:1.85;color:rgba(255,255,255,.38);max-width:250px}
.fcol-hd{font-family:'Poppins',sans-serif;font-size:9.5px;letter-spacing:.22em;color:var(--gold);font-weight:600;margin-bottom:20px;text-transform:uppercase}
.footer-links{display:flex;flex-direction:column;gap:12px}
.footer-links a{font-size:13px;font-weight:300;color:rgba(255,255,255,.45);transition:color .2s}
.footer-links a:hover{color:#fff}
.fci{margin-bottom:16px}
.fci-lbl{font-family:'Poppins',sans-serif;font-size:9px;letter-spacing:.18em;color:var(--gold);font-weight:600;margin-bottom:3px;text-transform:uppercase}
.fci-val{font-size:13px;font-weight:300;color:rgba(255,255,255,.5)}
.fci-val a{color:rgba(255,255,255,.5);transition:color .2s}.fci-val a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.footer-copy{font-size:11.5px;color:rgba(255,255,255,.22);font-weight:300}
.footer-parent{font-size:11.5px;color:rgba(255,255,255,.2)}
.footer-parent a{color:rgba(196,177,156,.4)}.footer-parent a:hover{color:var(--gold)}

/* CTA (shared across pages) */
.cta{position:relative;padding:clamp(80px,11vw,132px) clamp(20px,4vw,52px);overflow:hidden}
.cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta-ov{position:absolute;inset:0;background:rgba(10,29,44,.86)}
.cta-inner{max-width:1360px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap;position:relative;z-index:1}
.cta-h{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4.4vw,64px);font-weight:700;color:#fff;line-height:1.02;margin:14px 0 12px;font-style:italic}
.cta-sub{font-size:14.5px;font-weight:300;color:rgba(255,255,255,.55);line-height:1.8;max-width:400px}
.cta-btns{display:flex;flex-direction:column;gap:12px;flex-shrink:0;min-width:270px}

@media(max-width:860px){
.nav-links{display:none}
.footer-grid{grid-template-columns:1fr 1fr;gap:40px}
}
@media(max-width:560px){
.footer-grid{grid-template-columns:1fr}
.nav-ctas .nav-tel{display:none}
}
