:root{--navy:#0F2340;--navy-mid:#1A3A5C;--navy-light:#254D7A;--blue:#2E6DA4;--sky:#5B9AC4;--white:#FFFFFF;--off-white:#F7F8FA;--pale:#EEF1F5;--grey-100:#F2F4F7;--grey-200:#E2E6EC;--grey-400:#9BAAB8;--grey-600:#5C6E82;--grey-800:#2D3E50;--font-serif:'Cormorant',Georgia,serif;--font-sans:'Inter',system-ui,sans-serif;--ease:cubic-bezier(0.16,1,0.3,1);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--white);color:var(--grey-800);font-family:var(--font-sans);font-weight:300;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}img{display:block;max-width:100%;}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease),transform .85s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.4s;}
#nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:26px 56px;transition:padding .4s,background .4s,box-shadow .4s;}
#nav.stuck{padding:16px 56px;background:rgba(255,255,255,.97);box-shadow:0 1px 0 rgba(15,35,64,.1);backdrop-filter:blur(8px);}
#nav.solid{padding:16px 56px;background:var(--white);box-shadow:0 1px 0 rgba(15,35,64,.1);}
.nav-logo{font-family:var(--font-serif);font-size:1.45rem;font-weight:500;letter-spacing:.07em;color:var(--white);transition:color .4s;}
#nav.stuck .nav-logo,#nav.solid .nav-logo{color:var(--navy);}
.nav-links{display:flex;list-style:none;gap:34px;}
.nav-links a{font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78);transition:color .3s;}
#nav.stuck .nav-links a,#nav.solid .nav-links a{color:var(--grey-600);}
.nav-links a:hover,#nav.stuck .nav-links a:hover,#nav.solid .nav-links a:hover{color:var(--blue);}
.nav-links a.active{color:var(--blue)!important;border-bottom:1px solid var(--blue);padding-bottom:2px;}
.nav-cta{font-size:.65rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--white);background:var(--blue);padding:11px 26px;transition:background .3s,transform .2s;}
.nav-cta:hover{background:var(--navy-light);transform:translateY(-1px);}
#nav.stuck .nav-cta,#nav.solid .nav-cta{background:var(--navy);}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--white);transition:background .4s;}
#nav.stuck .hamburger span,#nav.solid .hamburger span{background:var(--navy);}
.nav-overlay{display:none;flex-direction:column;position:fixed;inset:0;background:var(--navy);z-index:300;align-items:center;justify-content:center;gap:36px;}
.nav-overlay.open{display:flex;}
.nav-overlay a{font-family:var(--font-serif);font-size:2.3rem;font-weight:300;color:var(--white);letter-spacing:.04em;transition:color .3s;}
.nav-overlay a:hover{color:var(--sky);}
.nav-close{position:absolute;top:26px;right:32px;font-size:1.8rem;background:none;border:none;color:rgba(255,255,255,.5);cursor:pointer;}
.nav-overlay-phone{font-size:.78rem;letter-spacing:.16em;color:var(--sky);margin-top:8px;}
.btn-navy{display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--white);background:var(--navy);padding:14px 34px;transition:background .3s,transform .2s;}
.btn-navy:hover{background:var(--navy-light);transform:translateY(-1px);}
.btn-blue{display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--white);background:var(--blue);padding:14px 34px;transition:background .3s,transform .2s;}
.btn-blue:hover{background:var(--navy);transform:translateY(-1px);}
.btn-white{display:inline-block;font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);background:var(--white);padding:15px 40px;transition:all .3s;}
.btn-white:hover{background:var(--pale);transform:translateY(-2px);}
.btn-ghost{display:inline-block;font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px;transition:all .3s;}
.btn-ghost:hover{color:var(--white);border-color:var(--white);}
.btn-arrow{display:inline-flex;align-items:center;gap:10px;font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);border-bottom:1px solid var(--grey-200);padding-bottom:3px;transition:gap .3s,border-color .3s;}
.btn-arrow:hover{gap:18px;border-color:var(--blue);}
.eyebrow{font-size:.62rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--blue);margin-bottom:14px;}
.sec-title{font-family:var(--font-serif);font-size:clamp(2rem,3.5vw,3rem);font-weight:300;line-height:1.18;color:var(--navy);letter-spacing:.01em;}
.sec-title em{font-style:italic;}
.sec-body{font-size:.86rem;color:var(--grey-600);line-height:1.9;}
.page-hero{padding:160px 56px 90px;background:var(--navy);text-align:center;}
.page-hero-eyebrow{font-size:.62rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--sky);margin-bottom:16px;}
.page-hero-title{font-family:var(--font-serif);font-size:clamp(2.4rem,5vw,4rem);font-weight:300;color:var(--white);line-height:1.1;}
.page-hero-title em{font-style:italic;color:var(--sky);}
.page-hero-sub{font-size:.9rem;color:rgba(255,255,255,.6);max-width:520px;margin:18px auto 0;line-height:1.85;}
footer{background:var(--navy);}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:56px;padding:70px 56px 52px;border-bottom:1px solid rgba(255,255,255,.08);}
.foot-brand{font-family:var(--font-serif);font-size:1.55rem;font-weight:400;letter-spacing:.07em;color:var(--white);margin-bottom:12px;}
.foot-tagline{font-family:var(--font-serif);font-size:.95rem;font-style:italic;color:rgba(255,255,255,.38);margin-bottom:20px;line-height:1.6;}
.foot-contact{font-size:.74rem;color:rgba(255,255,255,.4);line-height:2;}
.foot-contact a:hover{color:var(--sky);}
.foot-col-title{font-size:.58rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--sky);margin-bottom:18px;}
.foot-links{list-style:none;display:flex;flex-direction:column;gap:10px;}
.foot-links a{font-size:.78rem;color:rgba(255,255,255,.4);transition:color .3s;}
.foot-links a:hover{color:var(--white);}
.foot-bottom{padding:20px 56px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.foot-copy,.foot-lic{font-size:.61rem;color:rgba(255,255,255,.25);letter-spacing:.07em;}
#cookie{position:fixed;bottom:22px;left:22px;background:var(--white);border:1px solid var(--grey-200);padding:18px 22px;max-width:320px;z-index:500;box-shadow:0 8px 36px rgba(15,35,64,.12);display:flex;flex-direction:column;gap:12px;transition:opacity .4s,transform .4s;}
#cookie.gone{opacity:0;transform:translateY(10px);pointer-events:none;}
.cookie-txt{font-size:.74rem;color:var(--grey-600);line-height:1.7;}
.cookie-ok{font-size:.6rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--white);background:var(--navy);border:none;padding:9px 18px;cursor:pointer;align-self:flex-start;transition:background .3s;}
.cookie-ok:hover{background:var(--navy-light);}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@keyframes zoomBg{from{transform:scale(1);}to{transform:scale(1.07);}}
@keyframes pulse{0%,100%{opacity:.3;}50%{opacity:.8;}}
@media(max-width:900px){#nav,#nav.stuck,#nav.solid{padding:18px 24px;}.nav-links,.nav-cta{display:none;}.hamburger{display:flex;}.page-hero{padding:130px 24px 70px;}.foot-top{grid-template-columns:1fr;padding:52px 24px 36px;gap:36px;}.foot-bottom{padding:18px 24px;flex-direction:column;text-align:center;}}
