:root{--navy:#1a213d;--navy2:#252e52;--or:#f28c1b;--gr:#4c9a3f;--ink:#1f2433;--mut:#5b6275;--bg:#f6f7fb}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);line-height:1.6;background:#fff}
a{color:inherit}.wrap{max-width:1140px;margin:0 auto;padding:0 20px}.sec{padding:72px 20px}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}h2{font-size:2rem;color:var(--navy)}.sub{color:var(--mut);margin-top:-.3em}
.nav{position:sticky;top:0;z-index:10;background:var(--navy);color:#fff;box-shadow:0 2px 10px #0003}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding:8px 20px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:.06em}.brand b{color:var(--or)}
.brand img{border-radius:8px}nav{display:flex;gap:22px;align-items:center}nav a{text-decoration:none;font-weight:500}nav a:hover{color:var(--or)}
.btn{display:inline-block;background:var(--or);color:#fff;padding:13px 24px;border-radius:10px;text-decoration:none;font-weight:700;border:2px solid var(--or);cursor:pointer;font-size:1rem}
.btn:hover{filter:brightness(1.07)}.btn.sm{padding:8px 16px}.btn.wa{background:#25d366;border-color:#25d366}
.btn.ghost{background:transparent;color:var(--or)}.btn.light{color:#fff;border-color:#fff}
.hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-bottom:6px solid var(--gr)}
.hero-in{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:80px 20px}
.eyebrow{color:var(--or);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem}
h1{font-size:clamp(2rem,4.5vw,3.2rem)}h1 span{color:var(--or)}.lead{font-size:1.15rem;opacity:.9}.cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.ph{background:repeating-linear-gradient(45deg,#e9ecf4,#e9ecf4 12px,#dfe3ee 12px,#dfe3ee 24px);border:2px dashed #9aa3bd;color:#5b6275;border-radius:14px;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;min-height:170px;font-size:.9rem;font-weight:600}
.hero-ph{min-height:340px;background:repeating-linear-gradient(45deg,#2c3660,#2c3660 12px,#26305a 12px,#26305a 24px);color:#c3c9de;border-color:#5a6590}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}
.card{background:#fff;border:1px solid #e3e6ef;border-radius:16px;padding:16px 16px 6px;box-shadow:0 4px 18px #1a213d10;position:relative}
.card .ph{margin-bottom:14px;min-height:150px}.card h3{color:var(--navy)}.card p{color:var(--mut);margin-top:0}
.tag{position:absolute;top:26px;right:26px;background:var(--gr);color:#fff;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:99px}
.extra{margin-top:32px;background:var(--bg);border-left:6px solid var(--gr);padding:20px 24px;border-radius:10px}.extra p{margin:0;color:var(--mut)}
.band{background:var(--bg)}.why>div{background:#fff;border-radius:14px;padding:22px;border-top:5px solid var(--or)}.why h3{color:var(--navy)}.why p{margin:0;color:var(--mut)}
.why{grid-template-columns:repeat(4,1fr)}
.area{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.area .ph{min-height:260px}
.dark{background:var(--navy);color:#fff}.dark h2{color:#fff}.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:48px}
.clist{list-style:none;padding:0}.clist li{margin:10px 0}.clist a{color:var(--or)}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--navy2);padding:24px;border-radius:16px}
label{display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:6px}.full{grid-column:1/-1}
input,select,textarea{font:inherit;padding:11px 12px;border-radius:8px;border:1px solid #4a5480;background:#fff;color:var(--ink)}
.btns{display:flex;gap:12px;flex-wrap:wrap}.err{color:#ffb4a8;margin:0}.full.err{grid-column:1/-1}
footer{background:#121830;color:#aab1c8;font-size:.9rem}.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:22px 20px}footer a{text-decoration:none}
.fab{position:fixed;right:18px;bottom:18px;background:#25d366;color:#fff;font-weight:700;padding:12px 18px;border-radius:99px;text-decoration:none;box-shadow:0 6px 18px #0004}
@media(max-width:900px){.hero-in,.area,.contact{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.why{grid-template-columns:1fr 1fr}nav a:not(.btn){display:none}}
@media(max-width:560px){.grid,.why,form{grid-template-columns:1fr}.brand span{font-size:.85rem}.sec{padding:52px 20px}.hero-in{padding:52px 20px}}

picture{display:block}picture img{display:block;width:100%;height:100%;object-fit:cover}
.hero-img{border-radius:14px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 10px 30px #0005}
.card-img{border-radius:12px;overflow:hidden;aspect-ratio:3/2;margin-bottom:14px}
.why-head{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center}.why-img{border-radius:14px;overflow:hidden;aspect-ratio:16/9}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}.gallery figure{margin:0}.gallery a{display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3}
.gallery img{transition:transform .3s}.gallery a:hover img{transform:scale(1.05)}.gallery figcaption{font-size:.85rem;color:var(--mut);margin-top:6px;font-weight:600}
.map{width:100%;min-height:320px;border:0;border-radius:14px;box-shadow:0 4px 18px #1a213d20}
.lightbox{position:fixed;inset:0;background:#0b0f1ee6;z-index:50;display:flex;align-items:center;justify-content:center}.lightbox[hidden]{display:none}
.lightbox img{max-width:92vw;max-height:88vh;border-radius:8px}.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:3rem;cursor:pointer;padding:10px 18px}
.lb-close{top:6px;right:10px}.lb-prev{left:6px}.lb-next{right:6px}
@media(max-width:900px){.gallery{grid-template-columns:repeat(3,1fr)}.why-head{grid-template-columns:1fr}}
@media(max-width:560px){.gallery{grid-template-columns:1fr 1fr}}
.gallery a picture,.hero-img,.card-img,.why-img{height:100%}.gallery a picture{height:100%}

.lodge{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.lodge figure{margin:0}.lodge a{display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3}
.lodge a picture{height:100%}.lodge figcaption{font-size:.85rem;color:var(--mut);margin-top:6px;font-weight:600}
.lodge-main a{aspect-ratio:auto;height:calc(100% - 28px)}.lodge-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.lodge{grid-template-columns:1fr}.lodge-main a{aspect-ratio:16/9;height:auto}}
.card-img,.why-img{height:auto}
.grid>*,.gallery>*,.lodge>*{min-width:0}picture img{max-width:100%}
