@font-face{font-family:Montserrat;src:url('/assets/fonts/Montserrat-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/fonts/Montserrat-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/fonts/Montserrat-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/fonts/Montserrat-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}

:root{
  --navy:#0B1F3A;
  --navy-deep:#071629;
  --blue:#1E5DAB;
  --sky:#5A89C6;
  --granite:#A7A9AC;
  --mist:#E6E9EC;
  --paper:#F7F8F9;
  --white:#FFFFFF;
  --ink:#0B1F3A;
  --muted:#5C6673;
  --line:rgba(11,31,58,.14);
  --container:82rem;
  --gutter:clamp(1.25rem,4vw,4rem);
  --section:clamp(5rem,9vw,8.5rem);
  --header:5.75rem;
  --ease:cubic-bezier(.2,.72,.25,1);
  --hero-shift:0px;
  --hero-scale:1.035;
  --pattern-shift:0px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 1rem)}
body{margin:0;min-width:320px;color:var(--ink);background:var(--white);font-family:Montserrat,Arial,sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.nav-open{overflow:hidden}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{touch-action:manipulation}
::selection{color:var(--white);background:var(--blue)}
:focus-visible{outline:3px solid rgba(90,137,198,.72);outline-offset:4px}

.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;padding:.75rem 1rem;color:var(--white);background:var(--blue);transition:top .2s ease}
.skip-link:focus{top:1rem}
.container{width:min(calc(100% - (2 * var(--gutter))),var(--container));margin-inline:auto}
.section{position:relative;padding-block:var(--section)}
.eyebrow{display:flex;align-items:center;gap:.8rem;margin:0 0 1.15rem;color:var(--blue);font-size:.72rem;font-weight:600;letter-spacing:.18em;line-height:1.4;text-transform:uppercase}
.eyebrow::before{content:"";width:2rem;height:2px;background:currentColor}
.eyebrow--light{color:#A9C9E9}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{margin-bottom:0;line-height:1.06;letter-spacing:-.035em}
h1,h2{font-weight:700}
h3{font-weight:600}
h1{font-size:clamp(3.25rem,7.3vw,7rem)}
h2{font-size:clamp(2.35rem,5vw,4.85rem)}
h3{font-size:clamp(1.75rem,3vw,2.7rem)}
p{color:var(--muted)}
.button{display:inline-flex;min-height:3.4rem;align-items:center;justify-content:center;gap:.75rem;padding:.9rem 1.35rem;border:1px solid var(--navy);color:var(--white);background:var(--navy);font-size:.8rem;font-weight:600;letter-spacing:.075em;text-transform:uppercase;transition:transform .25s var(--ease),background .25s ease,border-color .25s ease}
.button:hover{transform:translateY(-2px);border-color:var(--blue);background:var(--blue)}
.button span,.text-link span{display:inline-block;transition:transform .3s var(--ease)}
.button:hover span,.text-link:hover span{transform:translateX(.28rem)}
.button--light{color:var(--navy);border-color:var(--white);background:var(--white)}
.button--light:hover{color:var(--white);border-color:var(--blue);background:var(--blue)}
.text-link{display:inline-flex;align-items:center;gap:.6rem;padding-block:.25rem;border-bottom:1px solid rgba(11,31,58,.3);color:var(--navy);font-size:.8rem;font-weight:600;letter-spacing:.065em;text-transform:uppercase;transition:color .2s ease,border-color .2s ease}
.text-link:hover{color:var(--blue);border-color:var(--blue)}
.text-link--light{color:var(--white);border-color:rgba(255,255,255,.52)}
.text-link--light:hover{color:#B7D4EE;border-color:#B7D4EE}

.site-header{position:fixed;inset:0 0 auto;z-index:1000;height:var(--header);color:var(--white);border-bottom:1px solid rgba(255,255,255,.17);background:linear-gradient(to bottom,rgba(7,22,41,.58),rgba(7,22,41,0));transition:color .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease}
.site-header.is-scrolled,.site-header.header--solid{color:var(--navy);border-color:var(--line);background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(11,31,58,.08);backdrop-filter:blur(15px)}
.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand-link{position:relative;z-index:1002;display:block;width:clamp(13.125rem,20vw,18rem)}
.brand-link img{width:100%}
.logo-dark{display:none}
.site-header.is-scrolled .logo-light,.site-header.header--solid .logo-light{display:none}
.site-header.is-scrolled .logo-dark,.site-header.header--solid .logo-dark{display:block}
.desktop-nav{display:flex;align-items:center;gap:clamp(1.15rem,2.4vw,2.5rem)}
.desktop-nav>a:not(.sign-in){position:relative;padding:.7rem 0;font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.desktop-nav>a:not(.sign-in)::after{content:"";position:absolute;left:0;right:100%;bottom:.45rem;height:1px;background:currentColor;transition:right .25s var(--ease)}
.desktop-nav>a:not(.sign-in):hover::after{right:0}
.sign-in{display:inline-flex;align-items:center;gap:.55rem;min-height:2.85rem;padding:.7rem 1.1rem;color:var(--navy);border:1px solid var(--white);background:var(--white);font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:color .2s ease,background .2s ease,border-color .2s ease}
.sign-in:hover{color:var(--white);border-color:var(--blue);background:var(--blue)}
.site-header.is-scrolled .sign-in,.site-header.header--solid .sign-in{color:var(--white);border-color:var(--navy);background:var(--navy)}
.site-header.is-scrolled .sign-in:hover,.site-header.header--solid .sign-in:hover{border-color:var(--blue);background:var(--blue)}
.menu-toggle{position:relative;z-index:1002;display:none;width:3rem;height:3rem;padding:0;color:inherit;border:1px solid currentColor;border-radius:50%;background:transparent}
.menu-toggle span{position:absolute;left:.78rem;width:1.35rem;height:1px;background:currentColor;transition:transform .3s var(--ease),top .3s var(--ease)}
.menu-toggle span:first-child{top:1.15rem}.menu-toggle span:last-child{top:1.75rem}
.menu-toggle[aria-expanded="true"] span:first-child{top:1.45rem;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{top:1.45rem;transform:rotate(-45deg)}
.mobile-panel{position:fixed;inset:0;z-index:1001;display:grid;align-content:center;padding:calc(var(--header) + 2rem) var(--gutter) 3rem;color:var(--white);background:var(--navy-deep);opacity:0;visibility:hidden;transform:translateY(-1rem);transition:opacity .3s ease,visibility .3s ease,transform .3s var(--ease)}
.mobile-panel.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.mobile-nav{display:grid;gap:.15rem}
.mobile-nav>a{padding:.45rem 0;font-size:clamp(2rem,10vw,4rem);font-weight:500;line-height:1.15;letter-spacing:-.04em}
.mobile-sign-in{margin-top:1.25rem;color:#A9C9E9}
.mobile-email{margin-top:3rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.2);font-size:.9rem;letter-spacing:.04em}

.hero{position:relative;min-height:min(62rem,100svh);display:grid;align-items:end;overflow:hidden;color:var(--white);background:var(--navy-deep)}
.hero__image,.hero__shade{position:absolute;inset:0;width:100%;height:100%}
.hero__image{object-fit:cover;object-position:center;transform:translate3d(0,var(--hero-shift),0) scale(var(--hero-scale));transform-origin:center center;will-change:transform}
.hero__shade{background:linear-gradient(90deg,rgba(7,22,41,.94) 0%,rgba(7,22,41,.79) 44%,rgba(7,22,41,.35) 76%,rgba(7,22,41,.28) 100%),linear-gradient(to top,rgba(7,22,41,.68),transparent 55%)}
.hero__content{position:relative;z-index:2;padding-top:calc(var(--header) + 5rem);padding-bottom:clamp(8.5rem,15vw,12rem)}
.hero h1{max-width:80rem;margin-bottom:1.5rem;color:var(--white);font-size:clamp(3rem,5.7vw,5.25rem)}
.hero h1 span{color:#9DC2E4}
.hero__lead{max-width:47rem;margin-bottom:2.2rem;color:rgba(255,255,255,.79);font-size:clamp(1.1rem,1.7vw,1.35rem);line-height:1.65}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}
.hero__foot{position:absolute;right:0;bottom:0;left:0;z-index:3;border-top:1px solid rgba(255,255,255,.18);background:rgba(7,22,41,.48);backdrop-filter:blur(12px)}
.hero__facts{display:grid;grid-template-columns:repeat(3,1fr)}
.hero__facts>div{display:flex;align-items:center;gap:1rem;min-height:5.4rem;padding:1rem 2rem;border-right:1px solid rgba(255,255,255,.16)}
.hero__facts>div:first-child{padding-left:0}.hero__facts>div:last-child{border-right:0}
.hero__facts span{color:#9DC2E4;font-size:.7rem;font-weight:600;letter-spacing:.12em}
.hero__facts strong{font-size:.75rem;font-weight:600;letter-spacing:.095em;text-transform:uppercase}
.js:not(.is-ready) .hero__content>*{opacity:0;transform:translateY(1.25rem)}
.js.is-ready .hero__content>*{animation:hero-enter .8s var(--ease) both}
.js.is-ready .hero__content>*:nth-child(2){animation-delay:.08s}
.js.is-ready .hero__content>*:nth-child(3){animation-delay:.16s}
.js.is-ready .hero__content>*:nth-child(4){animation-delay:.24s}
@keyframes hero-enter{from{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:none}}

.section-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(20rem,.75fr);gap:clamp(3rem,8vw,8rem);align-items:end;margin-bottom:clamp(3.5rem,7vw,6rem)}
.section-intro h2{max-width:48rem}
.section-lead{margin:0 0 .35rem;font-size:clamp(1.08rem,1.7vw,1.35rem);line-height:1.7}
.principles{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}
.principle{position:relative;min-height:25rem;padding:2.25rem;border-right:1px solid var(--line)}
.principle:first-child{padding-left:0}.principle:last-child{padding-right:0;border-right:0}
.principle img{width:4.5rem;height:4.5rem;margin-bottom:4rem;transition:transform .55s var(--ease)}
.principle:hover img{transform:translateY(-.4rem)}
.principle>span{display:block;margin-bottom:1rem;color:var(--blue);font-size:.7rem;font-weight:600;letter-spacing:.16em}
.principle h3{margin-bottom:.75rem;font-size:1.65rem}
.principle p{max-width:20rem;margin-bottom:0}

.properties{background:var(--paper)}
.section-intro--properties{margin-bottom:clamp(3rem,6vw,5rem)}
.property{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(19rem,.68fr);min-height:35rem;margin-bottom:clamp(1.5rem,3vw,2.5rem);overflow:hidden;background:var(--white);box-shadow:0 22px 65px rgba(11,31,58,.08)}
.property--reverse{grid-template-columns:minmax(19rem,.68fr) minmax(0,1.32fr)}
.property--reverse .property__media{grid-column:2;grid-row:1}.property--reverse .property__copy{grid-column:1;grid-row:1}
.property__media{min-height:35rem;overflow:hidden;background:var(--navy)}
.property__media video,.property__media>img,.property__media iframe{width:100%;height:100%;border:0;object-fit:cover}
.property__copy{display:grid;align-content:end;padding:clamp(2rem,5vw,4.5rem)}
.property__type{margin-bottom:1.3rem;color:var(--blue);font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.property__copy h3{margin-bottom:1.15rem}
.property__copy>p:not(.property__type){margin-bottom:2rem}
.property__copy .text-link{justify-self:start}

.partner-band{overflow:hidden;color:var(--white);background:var(--navy)}
.partner-band::after{content:"";position:absolute;inset:-20% -8% -20% 44%;background:url('/assets/brand/mountain-pattern-light.svg') center/cover no-repeat;opacity:.07;transform:translate3d(var(--pattern-shift),0,0) scale(1.04);will-change:transform}
.partner-band__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,8vw,8rem);align-items:end}
.partner-band h2{max-width:48rem;margin-bottom:1.5rem}
.partner-band p:not(.eyebrow){max-width:43rem;margin-bottom:0;color:rgba(255,255,255,.7);font-size:1.12rem}
.partner-types{display:grid;border-top:1px solid rgba(255,255,255,.22)}
.partner-types span{padding:1.2rem 0;border-bottom:1px solid rgba(255,255,255,.22);font-size:.75rem;font-weight:600;letter-spacing:.115em;text-transform:uppercase}

.contact{background:var(--white)}
.contact__inner{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end;padding-bottom:clamp(1rem,2vw,2rem);border-bottom:1px solid var(--line)}
.contact h2{max-width:55rem}

.site-footer{padding-top:clamp(4rem,7vw,6.5rem);color:var(--white);background:var(--navy-deep)}
.footer-main{display:grid;grid-template-columns:1fr auto;gap:4rem;padding-bottom:clamp(3rem,6vw,5rem)}
.footer-brand img{width:min(100%,24rem);margin-bottom:1.75rem}
.footer-brand p{max-width:36rem;margin:0;color:rgba(255,255,255,.62)}
.footer-contact{min-width:15rem}
.footer-contact p{margin-bottom:1.4rem;color:rgba(255,255,255,.62)}
.footer-contact a{color:#A9C9E9;font-weight:500}
.footer-bottom{display:flex;justify-content:space-between;gap:2rem;padding-block:1.5rem;border-top:1px solid rgba(255,255,255,.15)}
.footer-bottom p{margin:0;color:rgba(255,255,255,.46);font-size:.75rem}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:1.5rem;color:rgba(255,255,255,.62);font-size:.75rem}
.disclaimer{padding:.8rem var(--gutter);color:#6D737B;background:var(--mist);text-align:center;font-size:.66rem;line-height:1.5}

.page-hero{padding:calc(var(--header) + 5.5rem) 0 5rem;color:var(--white);background:var(--navy)}
.page-hero h1{max-width:60rem;margin-bottom:1rem;font-size:clamp(3rem,7vw,5.8rem)}
.page-hero p{max-width:45rem;margin-bottom:0;color:rgba(255,255,255,.72);font-size:1.15rem}
.legal{width:min(calc(100% - (2 * var(--gutter))),52rem);margin-inline:auto}
.legal h2{margin:3rem 0 1rem;font-size:clamp(1.6rem,3vw,2.25rem)}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{color:var(--muted)}
.legal a{color:var(--blue);text-decoration:underline;text-underline-offset:.2em}

.reveal{opacity:0;transform:translateY(1rem);transition:opacity .65s ease,transform .65s var(--ease)}
.reveal[data-delay="1"]{transition-delay:.08s}.reveal[data-delay="2"]{transition-delay:.16s}
.reveal.is-visible{opacity:1;transform:none}

@media (max-width:1000px){
  .desktop-nav{display:none}.menu-toggle{display:block}
  .section-intro,.partner-band__inner{grid-template-columns:1fr;align-items:start}
  .section-intro{gap:2rem}.section-intro h2{max-width:44rem}.section-lead{max-width:42rem}
  .property,.property--reverse{grid-template-columns:1fr;min-height:0}
  .property--reverse .property__media,.property--reverse .property__copy{grid-column:auto;grid-row:auto}
  .property--reverse .property__media{grid-row:1}.property--reverse .property__copy{grid-row:2}
  .property__media{min-height:28rem}.property__copy{align-content:start}
  .partner-band__inner{gap:3.5rem}.partner-types{max-width:38rem}
}

@media (max-width:720px){
  :root{--header:4.8rem;--section:4.6rem}
  .brand-link{width:13.125rem}
  .hero{min-height:47rem}
  .hero__image{object-position:62% center}
  .hero__shade{background:linear-gradient(90deg,rgba(7,22,41,.96),rgba(7,22,41,.62)),linear-gradient(to top,rgba(7,22,41,.76),transparent)}
  .hero__content{padding-top:calc(var(--header) + 4rem);padding-bottom:12rem}
  .hero__lead{font-size:1.03rem}
  .hero__actions{align-items:flex-start;flex-direction:column;gap:1.25rem}
  .hero__facts{grid-template-columns:1fr}
  .hero__facts>div{min-height:auto;padding:.8rem 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}
  .hero__facts>div:last-child{border-bottom:0}
  .hero__facts strong{font-size:.68rem}
  .principles{grid-template-columns:1fr}
  .principle,.principle:first-child,.principle:last-child{min-height:0;padding:2rem 0;border-right:0;border-bottom:1px solid var(--line)}
  .principle:last-child{border-bottom:0}.principle img{width:3.8rem;height:3.8rem;margin-bottom:2rem}
  .property__media{min-height:22rem}.property__copy{padding:2rem}
  .contact__inner{grid-template-columns:1fr;align-items:start}
  .contact__inner .button{justify-self:start}
  .footer-main{grid-template-columns:1fr;gap:3rem}.footer-bottom{align-items:flex-start;flex-direction:column}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.js:not(.is-ready) .hero__content>*{opacity:1;transform:none}.hero__image,.partner-band::after{transform:none!important}}
