*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f7f2;color:#1a2b33;font-family:Inter,-apple-system,sans-serif;line-height:1.65}a{color:inherit}.offer{background:#d9ad7e;color:#0a2647;padding:8px 18px;text-align:center;font-size:12px;font-weight:700;letter-spacing:.5px}.top{background:#0a2647;border-bottom:1px solid rgba(217,173,126,.25);padding:12px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{width:205px;display:flex;flex-direction:column;align-items:center;text-decoration:none}.logo-art{height:120px;width:100%;overflow:hidden}.logo img{display:block;width:100%;height:auto;opacity:.92;mix-blend-mode:screen}.logo small{color:#fff;font-size:10px;font-weight:700;letter-spacing:2.3px;line-height:1;white-space:nowrap}.back{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.35);padding:10px 15px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.intro{padding:52px 0 28px}.eyebrow{color:#695c3b;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.intro h1{max-width:950px;margin:8px 0 12px;color:#25404d;font:600 clamp(32px,5vw,58px)/1.08 'Playfair Display',serif}.intro p{max-width:820px;color:#4a6070}.facts{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:25px 0}.fact{background:#fff;border:1px solid rgba(37,64,77,.14);padding:15px}.fact span{display:block;color:#8a9ba8;font-size:9px;letter-spacing:1px;text-transform:uppercase}.fact strong{display:block;margin-top:3px;color:#25404d;font-size:16px}.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 10px}.cta{display:inline-flex;align-items:center;justify-content:center;background:#25404d;color:#fff;padding:13px 20px;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.cta.alt{background:#d9ad7e;color:#0a2647}.section{padding:34px 0}.section h2{margin:0 0 16px;color:#25404d;font:600 30px 'Playfair Display',serif}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.photo{position:relative;aspect-ratio:4/3;border:1px solid rgba(37,64,77,.13);background:#eef0ed;padding:0;cursor:zoom-in;overflow:hidden}.photo:first-child{grid-column:span 2;grid-row:span 2}.photo img{width:100%;height:100%;object-fit:contain;display:block}.photo span{position:absolute;right:8px;bottom:8px;background:rgba(10,38,71,.78);color:#fff;border-radius:999px;padding:4px 8px;font-size:10px}.content{display:grid;grid-template-columns:1.5fr .7fr;gap:26px;align-items:start}.details{display:grid;gap:10px}.details details{background:#fff;border:1px solid rgba(37,64,77,.13);padding:0 18px}.details summary{cursor:pointer;padding:15px 0;color:#25404d;font:600 17px 'Playfair Display',serif}.details p{margin:0;padding:0 0 18px;white-space:pre-line;color:#4a6070;font-size:13px}.amenities{display:flex;flex-wrap:wrap;gap:7px}.amenities span{background:#fff;border:1px solid rgba(37,64,77,.14);padding:7px 10px;font-size:11px}.booking{position:sticky;top:20px;background:#eef1de;border:1px solid rgba(217,173,126,.5);padding:22px}.booking h2{font-size:22px}.booking p{font-size:13px;color:#4a6070}.policy{margin:16px 0;padding:12px;background:#fff;border:1px solid rgba(37,64,77,.13);font-size:11px;color:#4a6070}.lightbox{display:none;position:fixed;inset:0;z-index:100;background:rgba(4,16,29,.97);grid-template-columns:64px 1fr 64px;grid-template-rows:60px 1fr 56px}.lightbox.active{display:grid}.lightbox img{grid-column:2;grid-row:2;width:100%;height:100%;object-fit:contain}.lightbox button{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.close{position:absolute;right:16px;top:14px;width:42px;height:42px;border-radius:50%;font-size:26px}.prev,.next{align-self:center;width:44px;height:44px;border-radius:50%;font-size:26px}.prev{grid-column:1;grid-row:2;justify-self:center}.next{grid-column:3;grid-row:2;justify-self:center}.caption{grid-column:2;grid-row:3;color:#fff;text-align:center;font-size:12px;padding-top:10px}footer{margin-top:45px;background:#0a2647;color:rgba(255,255,255,.68);padding:30px;text-align:center;font-size:11px}@media(max-width:760px){.top{padding:8px 14px}.logo{width:145px}.logo-art{height:87px}.logo small{font-size:8px;letter-spacing:1.2px}.back{padding:8px 10px;font-size:9px}.facts{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.content{grid-template-columns:1fr}.booking{position:static}.lightbox{grid-template-columns:48px 1fr 48px}.wrap{width:min(100% - 28px,1180px)}}
