:root{--navy:#1f3a52;--sea:#5b7f95;--sand:#f6f1e7;--ink:#2b2b2b;--line:#e3dccd}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Lato","Helvetica Neue",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;color:var(--navy);margin:0 0 .5em}
h2{font-size:2.4rem;text-align:center}h2+.rule{width:60px;height:2px;background:var(--sea);margin:0 auto 2rem}
a{color:var(--navy)}
nav{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:.9rem 2rem;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line)}
nav .brand{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.4rem;color:var(--navy);text-decoration:none}
nav ul{list-style:none;display:flex;gap:1.4rem;margin:0;padding:0}nav ul a{text-decoration:none;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase}
.hero{height:100vh;min-height:560px;background:linear-gradient(rgba(15,30,45,.25),rgba(15,30,45,.55)),url(../images/photo-27.jpg) center/cover;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
.hero h1{color:#fff;font-size:clamp(2.6rem,7vw,5rem)}.hero p{letter-spacing:.25em;text-transform:uppercase;font-size:.9rem}
.btn{display:inline-block;margin-top:1.5rem;padding:.9rem 2.2rem;border:1px solid #fff;color:#fff;text-decoration:none;letter-spacing:.2em;text-transform:uppercase;font-size:.8rem}
.btn.dark{border-color:var(--navy);color:#fff;background:var(--navy);cursor:pointer;font-family:inherit}
section{padding:5rem 1.5rem}.wrap{max-width:1100px;margin:0 auto}.alt{background:var(--sand)}
.stats{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;margin:2rem 0;text-align:center}
.stats div{font-family:"Cormorant Garamond",Georgia,serif;font-size:2.6rem;color:var(--navy)}.stats span{display:block;font-family:Lato,Arial,sans-serif;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sea)}
.lead{max-width:760px;margin:0 auto;text-align:center;font-size:1.15rem}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;cursor:zoom-in;display:block;transition:opacity .2s}.gallery img:hover{opacity:.85}
.lb{position:fixed;inset:0;background:rgba(10,20,30,.94);display:none;align-items:center;justify-content:center;z-index:50}.lb.open{display:flex}
.lb img{max-width:92vw;max-height:86vh}.lb button{position:absolute;background:none;border:0;color:#fff;font-size:2.6rem;cursor:pointer;padding:1rem}
.lb .x{top:0;right:0}.lb .p{left:0}.lb .n{right:0}.lb .c{position:absolute;bottom:1rem;color:#ccc;font-size:.85rem}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem}
.card{background:#fff;border:1px solid var(--line);padding:1.8rem}.card ul{padding-left:1.1rem;margin:0}
.map iframe{width:100%;height:420px;border:0}
form{display:grid;gap:1rem;max-width:640px;margin:2rem auto 0}
input,textarea{width:100%;padding:.8rem;border:1px solid var(--line);font:inherit;background:#fff}
.note{font-size:.9rem;color:#666;text-align:center}
footer{background:var(--navy);color:#dfe7ee;text-align:center;padding:2.5rem 1rem;font-size:.9rem}footer a{color:#fff}
@media(max-width:760px){nav ul{display:none}h2{font-size:2rem}section{padding:3.5rem 1.2rem}}
