
:root{--t:#1fa9a8;--td:#0e6f73;--navy:#0d2233;--sand:#f6f1e7;--gold:#b89b5e;--ink:#1d2a33}
*{box-sizing:border-box}body{margin:0;font-family:'Montserrat',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:.01em;line-height:1.15}
a{color:var(--td)}img{max-width:100%;display:block}
header{position:sticky;top:0;z-index:50;background:rgba(13,34,51,.94);backdrop-filter:blur(8px)}
.nav{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:14px 22px}
.logo{color:#fff;text-decoration:none;font-family:'Cormorant Garamond',serif;font-size:1.7rem;letter-spacing:.06em}.logo span{color:var(--t)}
.nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0}.nav ul a{color:#e9f3f3;text-decoration:none;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}
.nav ul a:hover{color:var(--t)}#mt{display:none;background:none;border:0;color:#fff;font-size:1.6rem}
.call{color:#fff!important;border:1px solid var(--gold);padding:7px 14px;border-radius:2px}
.hero{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:#0d2233 center/cover}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,34,51,.35),rgba(13,34,51,.65))}
.hero>div{position:relative;max-width:900px;padding:30px}.hero h1{font-size:clamp(2.6rem,6vw,5rem);margin:.2em 0}
.eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:.75rem;color:#bfeeee}
.sub{min-height:46vh}.btn{display:inline-block;background:var(--t);color:#fff;text-decoration:none;padding:14px 30px;border:0;border-radius:2px;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;cursor:pointer;margin:6px}
.btn.o{background:transparent;border:1px solid #fff}.btn:hover{background:var(--td)}
section{padding:80px 22px}.w{max-width:1180px;margin:auto}.sand{background:var(--sand)}.dark{background:var(--navy);color:#e8f1f1}.dark h2{color:#fff}
h2{font-size:clamp(2rem,3.5vw,3rem);margin:.1em 0 .5em}.lead{font-size:1.1rem;max-width:760px}
.grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.card{background:#fff;box-shadow:0 10px 30px rgba(13,34,51,.08);overflow:hidden}.card .b{padding:22px}.card img{aspect-ratio:3/2;object-fit:cover;width:100%}
.tag{display:inline-block;background:#fff3d6;color:#7a5a12;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;font-weight:600}
.price{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--td)}
form{display:grid;gap:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
input,select,textarea{font:inherit;padding:13px;border:1px solid #cfd8dc;border-radius:2px;width:100%;background:#fff}
textarea{min-height:120px}.ok{padding:14px;background:#e3f6f5;border-left:4px solid var(--t);display:none}.err{background:#fde8e8;border-color:#c33}
.ph{background:#fff3d6;border:1px dashed #b89b5e;padding:2px 6px}
footer{background:#08161f;color:#9fb3bb;padding:60px 22px 30px;font-size:.85rem}footer a{color:#cfe}
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:30px}
.credit{font-size:.75rem;color:#789}
@media(max-width:900px){#mt{display:block}.nav ul{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--navy);padding:20px}.nav ul.open{display:flex}.split,.two{grid-template-columns:1fr}section{padding:56px 18px}}

.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px;z-index:99}.skip:focus{left:10px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
label{display:grid;gap:6px;font-size:.85rem;font-weight:500}
.prose{font-size:1.05rem}.prose h2{font-size:1.9rem;margin-top:1.4em}.src{margin-top:34px;padding:18px 22px;background:var(--sand);font-size:.85rem}
.lift{transition:transform .35s,box-shadow .35s}.lift:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(13,34,51,.16)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}
.hero h1{animation:rise 1.2s ease both}.hero .lead,.hero .btn{animation:rise 1.2s .25s ease both}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.card img{transition:transform 1.2s}.lift:hover img{transform:scale(1.04)}
.pc a,.credit a{color:#9fd}footer .credit{margin-top:14px;line-height:1.5}