:root{--teal:#075d67;--deep:#03343b;--aqua:#4ec7cf;--sand:#ead8b5;--cream:#f7f1e5;--coral:#e66e4e;--ink:#153638;--white:#fff;--display:Georgia,"Times New Roman",serif;--body:"Avenir Next",Avenir,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%}.skip{position:fixed;top:-5rem;left:1rem;z-index:99;padding:.8rem 1rem;background:#fff}.skip:focus{top:1rem}:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.header{height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 max(4vw,calc((100vw - 1360px)/2));background:var(--cream)}.wordmark{display:flex;flex-direction:column;text-decoration:none}.wordmark strong{font:700 1.15rem/1 var(--display);letter-spacing:.14em}.wordmark span{margin-top:.3rem;color:var(--teal);font-size:.57rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.header nav{display:flex;gap:2.4rem;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.header nav a{text-decoration:none}.header nav a:hover{color:var(--coral)}.directions,.button{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:48px;padding:.75rem 1.25rem;border-radius:999px;background:var(--teal);color:#fff;text-decoration:none;font-size:.66rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;transition:transform .2s}.directions{justify-self:end}.directions:hover,.button:hover{transform:translateY(-3px)}
.hero{position:relative;min-height:760px;display:flex;align-items:flex-end;overflow:hidden;color:#fff}.hero>img,.shade{position:absolute;inset:0;width:100%;height:100%}.hero>img{object-fit:cover}.shade{background:linear-gradient(90deg,rgba(3,52,59,.9),rgba(3,52,59,.34) 60%,transparent),linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%)}.hero-copy{position:relative;z-index:2;width:min(800px,80%);padding:100px max(5vw,calc((100vw - 1360px)/2)) 90px}.eyebrow{margin:0 0 1.1rem;color:#bdf7f5;font-size:.66rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.eyebrow.dark{color:var(--teal)}h1,h2,h3{margin:0;font-family:var(--display);font-weight:500}h1{font-size:clamp(4.2rem,8vw,8.6rem);line-height:.84;letter-spacing:-.06em}h1 em{color:var(--sand);font-style:italic}.hero-copy>p:not(.eyebrow){max-width:620px;margin:2rem 0;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.65}.actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}.plain{font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;text-underline-offset:6px}.rating{position:absolute;z-index:2;right:max(5vw,calc((100vw - 1360px)/2));bottom:80px;display:flex;gap:.8rem;align-items:center;padding:1.1rem 1.3rem;border:1px solid rgba(255,255,255,.55);background:rgba(3,52,59,.55);backdrop-filter:blur(8px)}.rating strong{font:500 2.5rem/1 var(--display)}.rating span{color:#ffd98b;font-size:.78rem;letter-spacing:.1em}.rating small{display:block;margin-top:.25rem;color:#fff;font-size:.58rem}.quick{display:grid;grid-template-columns:repeat(4,1fr);background:var(--teal);color:#fff}.quick div{padding:1.4rem 2rem;border-right:1px solid rgba(255,255,255,.28)}.quick b{display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.quick span{display:block;margin-top:.4rem;font:italic 1.15rem var(--display);color:var(--sand)}
.story{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,8vw,8rem);padding:clamp(6rem,10vw,10rem) max(5vw,calc((100vw - 1280px)/2))}.story h2,.services-head h2,.faq h2{font-size:clamp(3rem,6vw,6.5rem);line-height:.92;letter-spacing:-.05em}.story-copy{align-self:end}.story-copy p{font-size:1.05rem;line-height:1.75}.panorama{display:grid;grid-template-columns:1.12fr .88fr;min-height:620px;background:var(--deep);color:#fff}.panorama>img{width:100%;height:100%;object-fit:cover}.panorama>div{align-self:center;padding:5rem max(5vw,calc((100vw - 1360px)/2)) 5rem 5vw}.panorama h2,.arrive h2{font-size:clamp(3rem,5.5vw,6rem);line-height:.92}.panorama p:not(.eyebrow),.arrive-copy>p:not(.eyebrow){max-width:520px;font-size:1rem;line-height:1.75}
.services{padding:clamp(6rem,9vw,9rem) max(5vw,calc((100vw - 1360px)/2));background:#fff}.services-head{display:grid;grid-template-columns:.7fr 1.3fr;align-items:end}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:4rem;background:#ccc;border:1px solid #ccc}.service-grid article{min-height:260px;padding:2rem;background:#fff}.service-grid article:nth-child(2),.service-grid article:nth-child(4),.service-grid article:nth-child(6){background:var(--sand)}.service-grid span{font-size:.63rem;font-weight:900;letter-spacing:.1em}.service-grid h3{margin:2.5rem 0 .8rem;font-size:1.6rem}.service-grid p{font-size:.82rem;line-height:1.6}
.arrive{display:grid;grid-template-columns:.9fr 1.1fr;min-height:650px;background:var(--teal);color:#fff}.arrive-copy{align-self:center;padding:5rem 5vw 5rem max(5vw,calc((100vw - 1360px)/2))}.address{display:flex;flex-direction:column;margin:2rem 0}.address b{font-size:.61rem;letter-spacing:.12em;text-transform:uppercase}.address span{margin-top:.35rem;font-family:var(--display)}.sand-button{background:var(--sand);color:var(--deep)}.arrive-photo img{width:100%;height:100%;object-fit:cover}.faq{padding:clamp(6rem,9vw,9rem) max(5vw,calc((100vw - 1080px)/2));background:var(--cream)}.faq h2{margin-bottom:3rem}.faq details{border-top:1px solid rgba(7,93,103,.35)}.faq details:last-of-type{border-bottom:1px solid rgba(7,93,103,.35)}.faq summary{padding:1.4rem 2rem 1.4rem 0;cursor:pointer;font:500 1.25rem var(--display)}.faq details p{max-width:760px;margin:0 0 1.6rem;line-height:1.7}
footer{display:grid;grid-template-columns:auto 1fr auto;gap:1rem 2rem;align-items:center;padding:3rem max(4vw,calc((100vw - 1360px)/2));background:var(--deep);color:#fff}.footer-mark span{color:var(--aqua)}footer>p{max-width:480px;margin:0;font-size:.72rem;line-height:1.5;opacity:.78}footer>a{font-size:.64rem;font-weight:900;text-transform:uppercase;text-underline-offset:5px}footer small{grid-column:2/-1;font-size:.58rem;opacity:.72}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:960px){.header{grid-template-columns:1fr auto}.header nav{display:none}.rating{right:3vw}.story{grid-template-columns:1fr}.panorama{grid-template-columns:1fr}.panorama>img{height:560px}.services-head{grid-template-columns:1fr}.arrive{grid-template-columns:1fr}.arrive-photo{height:520px}.service-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){html,body{overflow-x:hidden}.header{height:82px;padding:0 18px}.wordmark strong{font-size:.95rem}.wordmark span{font-size:.48rem}.directions{min-height:40px;padding:.55rem .75rem;font-size:.55rem}.hero{min-height:730px}.shade{background:linear-gradient(0deg,rgba(3,52,59,.94),rgba(3,52,59,.1) 78%)}.hero-copy{width:100%;padding:300px 22px 60px}.hero-copy h1{font-size:clamp(3rem,14vw,4.2rem)}.hero-copy>p:not(.eyebrow){font-size:.95rem}.rating{position:relative;right:auto;bottom:auto;margin-top:2rem;width:max-content}.quick{grid-template-columns:1fr 1fr}.quick div{padding:1.2rem}.story,.services,.faq{padding:5rem 22px}.story h2,.services-head h2,.faq h2{font-size:clamp(2.8rem,13vw,4.3rem)}.panorama>img{height:430px}.panorama>div,.arrive-copy{padding:5rem 22px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:220px}.arrive-photo{height:430px}footer{grid-template-columns:1fr;padding:2.8rem 22px}footer small{grid-column:1}}
