:root{--ink:#173143;--deep:#092330;--river:#1d5063;--paper:#fbf8f1;--gold:#bc9352;--line:rgba(23,49,67,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 clamp(1rem,.95rem + .2vw,1.14rem)/1.72 "DM Sans",Arial,sans-serif;overflow-x:hidden}
.hero-media{position:relative;width:100%;height:min(62vh,660px);margin:0;overflow:hidden;background:#102833}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,22,32,.7),rgba(3,22,32,.12)),linear-gradient(0deg,rgba(3,22,32,.55),transparent 55%)}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.84) contrast(1.03)}
.landing-content>*{width:min(760px,calc(100% - 3rem));margin-inline:auto}.landing-content>h1{position:relative;z-index:1;max-width:min(950px,calc(100% - 3rem));margin-top:-5.5rem;margin-bottom:clamp(3.5rem,7vw,6.5rem);padding:clamp(1.5rem,3vw,3.1rem);background:var(--deep);color:#fff;font:400 clamp(2.7rem,5.2vw,5.25rem)/.98 "DM Serif Display",Georgia,serif;letter-spacing:-.045em;text-wrap:balance;box-shadow:0 18px 38px rgba(3,20,29,.2)}
.landing-content p{margin:0 auto 1.55rem}.landing-content>h1+p{font-size:clamp(1.22rem,1.1rem + .4vw,1.55rem);line-height:1.62;color:#1a3d4c;border-top:1px solid var(--gold);padding-top:1.6rem}.landing-content h2{width:min(1080px,calc(100% - 3rem))!important;margin:clamp(5rem,10vw,9rem) auto 2.3rem!important;padding:0 0 1.1rem;border-bottom:1px solid var(--line);color:var(--deep);font:400 clamp(2.25rem,4.2vw,4.7rem)/.98 "DM Serif Display",Georgia,serif;letter-spacing:-.045em;text-wrap:balance}.landing-content h3{margin:3.4rem auto 1rem;color:var(--river);font:400 clamp(1.55rem,2vw,2.15rem)/1.1 "DM Serif Display",Georgia,serif}.landing-content h2~h3{width:min(760px,calc(100% - 3rem))}
.interior-media{width:min(1100px,calc(100% - 3rem));height:clamp(270px,43vw,520px);margin:clamp(3.5rem,6vw,6rem) auto;overflow:hidden}.interior-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85)}
footer{width:100%!important;max-width:none!important;margin:clamp(5rem,11vw,10rem) 0 0!important;padding:4rem max(1.5rem,calc((100% - 760px)/2));background:var(--deep);color:#d9e5e6;font-size:.92rem;line-height:1.6}footer p,footer ul{max-width:760px;margin-left:auto;margin-right:auto}footer p{margin-bottom:.65rem}footer strong{color:#fff}footer ul{display:flex;flex-wrap:wrap;gap:.75rem 1.4rem;padding:1.35rem 0 0;margin-bottom:0;list-style:none;border-top:1px solid rgba(255,255,255,.2)}footer a{color:#f0c984;text-decoration-color:rgba(240,201,132,.5);text-underline-offset:.2em}
.policy-dialog{width:min(760px,calc(100% - 2rem));max-height:min(80vh,800px);border:0;background:var(--paper);color:var(--ink);padding:clamp(1.5rem,4vw,3rem);box-shadow:0 25px 90px rgba(0,0,0,.45)}.policy-dialog::backdrop{background:rgba(3,20,29,.8);backdrop-filter:blur(4px)}.policy-dialog h1{font:400 clamp(2rem,5vw,3.5rem)/1 "DM Serif Display",Georgia,serif;margin:0 2rem 1.6rem 0}.policy-dialog h2{width:100%!important;margin:2.5rem 0 1rem!important;font-size:clamp(1.6rem,3vw,2.4rem)}.policy-dialog h3{width:100%!important;margin:1.8rem 0 .7rem}.policy-dialog p,.policy-dialog li{font-size:.98rem}.policy-dialog ul{padding-left:1.2rem}.policy-close{position:absolute;right:1rem;top:.8rem;border:0;background:transparent;color:var(--ink);font:2.2rem/1 Arial;cursor:pointer}.policy-close:focus-visible,footer a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:650px){.hero-media{height:48svh}.hero-media img{object-position:57% center}.landing-content>*{width:calc(100% - 2.25rem)}.landing-content>h1{max-width:calc(100% - 2.25rem);margin-top:-3rem;margin-bottom:3.5rem;padding:1.5rem;font-size:clamp(2.45rem,11vw,3.8rem);line-height:1}.landing-content h2{width:calc(100% - 2.25rem)!important;margin-top:4.5rem!important}.interior-media{width:calc(100% - 2.25rem);height:290px}footer{padding:3rem 1.125rem}.policy-dialog{max-height:86svh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
