:root{
  --sea:#1B3A5C; --pine:#3E5C3A; --sand:#EDE6D6; --sun:#E8B93D; --ink:#17212E; --paper:#FBFAF6; --muted:#5B6672;
  --serif:"Fraunces",Georgia,serif;
}
/* Fraunces has no Cyrillic */
:lang(ru){--serif:"Literata",Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.55 "Nunito Sans",system-ui,sans-serif}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2{font-family:var(--serif);font-weight:400;line-height:1.05;margin:0;letter-spacing:-.01em}
h2{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:1.2rem}
p{margin:0 0 1rem;max-width:34em}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
section{padding:72px 0}
.btn{display:inline-block;background:var(--sun);color:var(--ink);text-decoration:none;font-weight:600;padding:16px 28px;border-radius:999px}
.btn:hover{background:#f0c85b}
.btn:focus-visible,a:focus-visible{outline:3px solid var(--sea);outline-offset:3px}

/* language switch */
.lang{position:absolute;top:16px;right:16px;z-index:1;display:flex;gap:2px;padding:4px;border-radius:999px;background:rgba(23,33,46,.6)}
.lang a{font:600 .85rem/1 "Nunito Sans",system-ui,sans-serif;color:var(--paper);text-decoration:none;border-radius:999px;padding:10px 12px}
.lang a[aria-current]{background:var(--sun);color:var(--ink)}
.lang a:focus-visible{outline:3px solid var(--sun);outline-offset:2px}

/* hero */
.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:min(92vh,900px);background:var(--sea);color:var(--paper)}
.hero-text{padding:clamp(32px,6vw,96px) clamp(20px,5vw,72px);display:flex;flex-direction:column;justify-content:center}
.hero small{display:block;color:var(--sun);margin-bottom:1.4rem;font-size:1rem}
.hero h1{font-size:clamp(2rem,3.6vw,3.4rem);line-height:1.15;margin-bottom:2.2rem;font-style:italic;font-weight:300;font-variation-settings:"opsz" 144}
.hero-photo img{width:100%;height:100%;object-fit:cover;min-height:340px}

/* facts */
.facts{padding:0;background:var(--sand)}
.facts ul{list-style:none;margin:0;padding:20px 20px;display:flex;flex-wrap:wrap;gap:8px 36px;justify-content:center;font-weight:600}
.facts li+li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--pine);margin:0 20px 2px -24px;vertical-align:middle}

/* about */
.about .wrap{display:grid;grid-template-columns:2fr 3fr;gap:48px;align-items:start}
.about p:first-of-type{font-family:var(--serif);font-size:1.35rem;line-height:1.35}

/* gallery */
.gallery{padding-top:0}
.gallery h3{font-family:var(--serif);font-weight:400;font-size:1.35rem;margin:2.2rem 0 .8rem}
.gallery h3:first-of-type{margin-top:0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:12px}
.grid figure{margin:0;position:relative;overflow:hidden;border-radius:6px}
.grid a{display:block;height:100%;cursor:zoom-in}
.grid img{width:100%;height:100%;object-fit:cover}
dialog{border:0;padding:0;background:transparent;max-width:96vw;max-height:96vh}
dialog::backdrop{background:rgba(23,33,46,.92)}
dialog img{max-width:96vw;max-height:96vh;display:block;cursor:zoom-out}
.grid figcaption{position:absolute;left:0;bottom:0;padding:8px 14px;background:rgba(23,33,46,.72);color:var(--paper);font-size:.9rem}
.more{margin-top:20px}

/* amenities + location */
.band{background:var(--pine);color:var(--paper)}
.band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.band ul{columns:2;column-gap:32px;list-style:none;padding:0;margin:0}
.band li{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.18);break-inside:avoid}
.walk li{border:0;padding:4px 0}
.walk li::before{content:"10 min";display:inline-block;width:3.6em;color:var(--sun);font-weight:600}
.walk li.zero::before{content:"here"}
:lang(ru) .walk li::before{content:"10 мин"}
:lang(ru) .walk li.zero::before{content:"здесь"}
:lang(fr) .walk li.zero::before{content:"ici"}
.walk li.five::before{content:"5 min"}
:lang(ru) .walk li.five::before{content:"5 мин"}
iframe{width:100%;height:280px;border:0;border-radius:6px;margin-top:16px;filter:saturate(.75)}

/* host */
.host{padding:48px 0}
.host .wrap{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center}
.avatar{width:140px;height:140px;border-radius:50%;object-fit:cover}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:1rem 0 0}
.contact{margin:1.6rem 0 0;font-weight:600}
.tags li{background:var(--sand);padding:6px 14px;border-radius:999px;font-size:.95rem}

/* footer */
footer{background:var(--sea);color:var(--paper);text-align:center;padding:80px 20px}
footer h2{font-style:italic;font-weight:300}
footer p{margin:1rem auto 2rem;color:#d9e1ea}

@media (max-width:820px){
  .hero,.about .wrap,.band .wrap,.host .wrap{grid-template-columns:1fr}
  .host .wrap{gap:20px}
  .hero{min-height:0}
  .hero-photo{order:-1}
  .hero-photo img{height:52vw;min-height:240px}
  .grid{grid-template-columns:1fr 1fr;grid-auto-rows:32vw}
  .band ul{columns:1}
  section{padding:56px 0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
