:root{
 --brand:#0f766e;
 --brand-dark:#0b5d57;
 --brand-deep:#0a3f3b;
 --ink:#18232a;
 --muted:#5d6b75;
 --bg:#ffffff;
 --surface:#f5f8f7;
 --line:#e5eae8;
 --maxw:1100px;
 --radius:16px;
 --shadow:0 12px 32px rgba(15,118,110,0.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;
 font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 color:var(--ink);
 background:var(--bg);
 line-height:1.6;
}
img{display:block;max-width:100%;height:auto}
a{color:var(--brand)}
h1,h2,h3{line-height:1.2}

.skip-link{
 position:absolute;left:-999px;top:0;z-index:100;
 background:var(--brand);color:#fff;padding:0.6em 1em;
}
.skip-link:focus{left:0}

.site-header{
 position:sticky;top:0;z-index:50;
 background:rgba(255,255,255,0.92);
 backdrop-filter:blur(8px);
 border-bottom:1px solid var(--line);
}
.site-header__inner{
 max-width:var(--maxw);margin-inline:auto;
 display:flex;align-items:center;justify-content:space-between;gap:1rem;
 padding:0.8rem 1.25rem;
}
.brand{
 font-weight:700;font-size:1.25rem;color:var(--brand);
 text-decoration:none;letter-spacing:-0.02em;white-space:nowrap;
}
.brand span{color:var(--brand-dark)}
.site-nav ul{display:flex;gap:1.1rem;list-style:none;margin:0;padding:0}
.site-nav a{text-decoration:none;color:var(--ink);font-weight:500}
.site-nav a:hover{color:var(--brand)}
.site-nav .nav-cta{
 background:var(--brand);color:#fff;
 padding:0.35em 0.9em;border-radius:999px;font-weight:600;
}
.site-nav .nav-cta:hover{background:var(--brand-dark);color:#fff}

.hero{
 text-align:center;
 padding:5rem 1.25rem 4rem;
 background:linear-gradient(180deg,#eef6f4 0%,#ffffff 100%);
}
.hero h1{font-size:clamp(2.2rem,6vw,4rem);margin:0 0 0.25em;color:var(--brand-deep)}
.tagline{font-size:1.2rem;color:var(--muted);margin:0 0 1.5em}

.btn{
 display:inline-block;padding:0.75em 1.5em;border-radius:999px;
 background:var(--brand);color:#fff;text-decoration:none;font-weight:600;
}
.btn:hover{background:var(--brand-dark);color:#fff}
.btn--outline{
 background:transparent;color:var(--brand);
 box-shadow:inset 0 0 0 2px var(--brand);
}
.btn--outline:hover{background:var(--brand);color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:0.75rem;justify-content:center}

.section{max-width:var(--maxw);margin-inline:auto;padding:3rem 1.25rem}
.section h2{font-size:1.9rem;color:var(--ink);margin-top:0}


.carousel{position:relative;margin-top:1.5rem}
.carousel__track{
 display:flex;gap:1rem;margin:0;padding:0;
 overflow-x:auto;scroll-snap-type:x mandatory;
 scroll-behavior:smooth;
 -webkit-overflow-scrolling:touch;
 position:relative;
 scrollbar-width:none;
}
.carousel__track::-webkit-scrollbar{display:none}
.carousel__slide{
 flex:0 0 100%;
 scroll-snap-align:start;scroll-snap-stop:always;
 margin:0;
}
.carousel__slide picture{
 display:flex;align-items:center;justify-content:center;
 width:100%;
}
.carousel__slide img{
 max-width:100%;max-height:78vh;width:auto;height:auto;
 border-radius:var(--radius);box-shadow:var(--shadow);
}
.carousel__btn{
 position:absolute;top:50%;transform:translateY(-50%);z-index:2;
 width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
 background:rgba(255,255,255,0.92);color:var(--brand);
 font-size:1.5rem;line-height:1;box-shadow:0 4px 14px rgba(0,0,0,0.18);
}
.carousel__btn:hover{background:#fff}
.carousel__btn:disabled{opacity:0.35;cursor:default}
.carousel__btn--prev{left:0.75rem}
.carousel__btn--next{right:0.75rem}
.carousel__dots{display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem;margin-top:1rem}
.carousel__dots a{
 display:inline-block;width:10px;height:10px;border-radius:50%;
 background:#cdd6d3;text-decoration:none;
}
.carousel__dots a:hover{background:var(--brand)}
.carousel__dots a.is-active{background:var(--brand);transform:scale(1.3)}
.carousel__dots a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

.grid{display:grid;gap:2rem}
@media (min-width:768px){
 .grid--2{grid-template-columns:1fr 1fr}
 .grid--3{grid-template-columns:repeat(3,1fr)}
}

.card{background:var(--surface);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}
.card h3{margin-top:0;color:var(--brand)}
.amenities{list-style:none;padding:0;margin:0;display:grid;gap:0.5rem}
.amenities li{padding-left:1.4em;position:relative}
.amenities li::before{content:"✓";position:absolute;left:0;color:var(--brand);font-weight:700}

.site-footer{
 margin-top:3rem;border-top:1px solid var(--line);
 background:var(--brand-deep);color:#fff;
}
.site-footer__inner{
 max-width:var(--maxw);margin-inline:auto;padding:2rem 1.25rem;
 display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;
}
.site-footer a{color:#a7d6d1;text-decoration:none;font-weight:500}
.site-footer a:hover{text-decoration:underline}

@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *{scroll-behavior:auto !important}
}
