*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#FAF6EF;color:#2A2522;font-family:'Figtree',system-ui,sans-serif;font-size:17px;line-height:1.65}
h1,h2,h3,h4{font-family:'Archivo',system-ui,sans-serif;font-weight:700;letter-spacing:-.01em;color:#1B2320;margin:0}
a{color:#1B6B6B}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

.site-header{background:#FAF6EF;border-bottom:1px solid #d9d0c2;position:sticky;top:0;z-index:20}
.hdr{display:flex;align-items:center;justify-content:space-between;min-height:74px;gap:20px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{width:30px;height:30px;border-radius:7px;background:#1B6B6B;display:flex;align-items:center;justify-content:center;color:#C1613B;font-family:'Archivo',sans-serif;font-weight:700;font-size:16px;flex:none}
.logo-txt{font-family:'Archivo',sans-serif;font-weight:700;font-size:19px;color:#1B2320;letter-spacing:-.02em}
.nav{display:flex;gap:28px}
.nav a{font-size:15px;font-weight:500;color:#4A423C;text-decoration:none}
.nav a:hover,.nav a[aria-current=page]{color:#1B6B6B}
.nav a[aria-current=page]{font-weight:600}
#navtoggle{display:none}
.burger{display:none;cursor:pointer;padding:8px;border:1px solid #d9d0c2;border-radius:6px}
.burger span{display:block;width:20px;height:2px;background:#1B2320;margin:4px 0}

.hero{padding:56px 0 44px;border-bottom:1px solid #e6ddcf}
.hero h1{font-size:clamp(34px,5.2vw,52px);line-height:1.08;max-width:15ch}
.hero p.lede{font-size:19px;color:#554C45;max-width:58ch;margin:18px 0 0}
.eyebrow{font-family:'Archivo',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#C1613B;font-weight:600;margin:0 0 14px}

.hero-media{margin-top:34px;border-radius:12px;overflow:hidden;line-height:0;max-width:min(100%,560px)}
.hero-media img{width:100%;height:auto;display:block;border-radius:12px}

section{padding:56px 0}
.sec-head h2{font-size:clamp(24px,3.4vw,32px)}
.sec-head p{color:#554C45;margin:12px 0 0;max-width:60ch}

.cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:34px}
.cat-card{display:block;text-decoration:none;background:#fff;border:1px solid #1B6B6B;border-radius:12px;padding:26px 26px 22px;color:inherit}
.cat-card:hover{background:#F6FBFA}
.cat-card h3{font-size:22px;color:#1B6B6B}
.cat-card p{color:#554C45;font-size:16px;margin:10px 0 18px}
.count{font-family:'Archivo',sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#C1613B;font-weight:600}

.points{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
.point h3{font-size:18px;margin-bottom:8px}
.point p{color:#554C45;font-size:16px;margin:0}
.point .num{font-family:'Archivo',sans-serif;font-weight:700;color:#C1613B;font-size:13px;letter-spacing:.1em;display:block;margin-bottom:10px}

.hotels{display:flex;flex-direction:column;gap:20px;margin-top:8px;max-width:760px}
a.hotel{display:block;background:#fff;border:1px solid #1B6B6B;border-radius:12px;padding:26px;text-decoration:none;color:inherit}
a.hotel:hover{background:#F6FBFA}
.hotel h2{font-size:23px;color:#1B2320}
.hotel .loc{font-size:14px;color:#C1613B;font-weight:600;margin:6px 0 14px;letter-spacing:.02em}
.hotel p{margin:0;color:#3E3730}
.more{display:inline-block;margin-top:16px;font-size:14px;font-weight:600;color:#1B6B6B}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid #e6ddcf}
.tag{font-size:12.5px;font-weight:600;color:#C1613B;border:1px solid #C1613B;border-radius:100px;padding:4px 12px;line-height:1.4}

.hotel-page{max-width:760px}
.hotel-page .back{display:inline-block;margin-bottom:18px;font-size:14px;font-weight:600;text-decoration:none}
.hotel-page h1{font-size:clamp(32px,4.6vw,46px);line-height:1.1;max-width:18ch}
.hotel-page .loc{font-size:16px;color:#C1613B;font-weight:600;margin:12px 0 0;letter-spacing:.02em}
.hotel-page .body{margin-top:28px}
.hotel-page .body p{margin:0;color:#3E3730;font-size:18px;line-height:1.7}

.prose{max-width:70ch}
.prose h2{font-size:24px;margin:38px 0 12px}
.prose p{color:#3E3730}
.prose ul{color:#3E3730;padding-left:20px}
.prose li{margin-bottom:8px}

.site-footer{background:#1B6B6B;color:#DCEBE8;margin-top:24px;padding:54px 0 30px}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.site-footer h4{font-family:'Archivo',sans-serif;color:#fff;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px}
.site-footer .fname{font-family:'Archivo',sans-serif;font-size:21px;color:#fff;font-weight:700;margin:0 0 10px}
.site-footer p{margin:0;font-size:15px;color:#BFD9D5;max-width:40ch}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:10px}
.site-footer a{color:#DCEBE8;text-decoration:none;font-size:15px}
.site-footer a:hover{color:#fff;text-decoration:underline}
.fbottom{margin-top:44px;padding-top:22px;border-top:1px solid #35807F;font-size:14px;color:#A8C9C5}

@media(max-width:860px){
 .cat-grid,.points,.fgrid{grid-template-columns:1fr}
 .burger{display:block}
 .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#FAF6EF;border-bottom:1px solid #d9d0c2;flex-direction:column;gap:0;padding:8px 24px 18px}
 .nav a{padding:12px 0;border-bottom:1px solid #eee3d4}
 #navtoggle:checked ~ .hdr .nav{display:flex}
 .site-header .wrap{position:relative}
 .hero{padding:40px 0 34px}
}