*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#F6F2EC;color:#3A4548;font-family:"Overpass",system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px;line-height:1.62}
h1,h2,h3,.wordmark,.navlink,.chip i,.cat-name,.num{font-family:"Chivo","Overpass",system-ui,sans-serif}
a{color:#5E8A8E}
img{max-width:100%}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}

/* ---------- faceted fold engine ---------- */
.fold{background-image:linear-gradient(var(--ang,118deg),var(--c1) 0 calc(var(--seam,44%) - 1px),#F6F2EC calc(var(--seam,44%) - 1px) calc(var(--seam,44%) + 1px),var(--c2) calc(var(--seam,44%) + 1px))}

/* ---------- header: one diagonally folded band ---------- */
.masthead{--c1:#B7D4D4;--c2:#E8C4D0;--ang:104deg;--seam:38%;
  clip-path:polygon(0 0,100% 0,100% 68%,72% 88%,38% 74%,12% 96%,0 80%);
  padding:26px 0 62px;color:#3A4548}
.mast-in{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:flex-start;justify-content:space-between}
.wordmark{display:block;color:#3A4548;text-decoration:none;font-weight:900;font-size:28px;letter-spacing:-.02em;line-height:1.05}
.wordmark span{display:block;font-family:"Overpass",sans-serif;font-weight:400;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;opacity:.75;margin-top:6px}
nav.main{display:flex;flex-wrap:wrap;gap:8px 22px;padding-top:8px}
.navlink{color:#3A4548;text-decoration:none;font-weight:700;font-size:14px;letter-spacing:.05em;text-transform:uppercase;display:inline-flex;align-items:center;gap:7px}
.navlink:hover{text-decoration:underline;text-underline-offset:4px}
.navlink::before{content:"";width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:10px solid #C9D9A0;opacity:0}
.navlink.on::before{opacity:1}

/* ---------- side hero + statement / lead ---------- */
.statement,.lead{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,.8fr);gap:36px;align-items:center}
.statement{margin:28px 0 62px}
.lead{margin:8px 0 46px}
.statement h1{font-size:clamp(30px,5vw,50px);line-height:1.06;letter-spacing:-.025em;margin:0 0 18px}
.statement p{margin:0 0 14px;font-size:18.5px;max-width:60ch}
.lead .pagehead{margin:0}

.hero{--c1:#F0C8B0;--c2:#B7D4D4;--ang:126deg;--seam:46%;
  clip-path:polygon(0 6%,42% 0,100% 5%,100% 78%,66% 100%,24% 90%,0 100%);
  padding:10px;max-width:360px;justify-self:end}
.hero-slot{aspect-ratio:1;overflow:hidden;
  clip-path:polygon(0 4%,38% 0,100% 4%,100% 80%,62% 100%,22% 91%,0 97%)}
.hero-slot img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

/* ---------- category facet panels ---------- */
.cat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 66px}
.cat{display:block;text-decoration:none;color:#3A4548;padding:26px 22px 34px;min-height:250px}
.cat:nth-child(1){--c1:#B7D4D4;--c2:#D8E4B0;--ang:150deg;--seam:58%;clip-path:polygon(0 0,100% 5%,100% 72%,74% 92%,30% 100%,0 84%)}
.cat:nth-child(2){--c1:#E8C4D0;--c2:#F0C8B0;--ang:118deg;--seam:50%;clip-path:polygon(4% 4%,100% 0,94% 66%,100% 88%,44% 100%,0 78%)}
.cat:nth-child(3){--c1:#F0C8B0;--c2:#B7D4D4;--ang:162deg;--seam:44%;clip-path:polygon(0 6%,86% 0,100% 30%,96% 94%,38% 100%,6% 82%)}
.cat:nth-child(4){--c1:#B7D4D4;--c2:#D8E4B0;--ang:132deg;--seam:68%;clip-path:polygon(0 0,100% 8%,100% 80%,60% 100%,18% 92%,0 62%)}
.cat .num{display:block;font-size:12px;letter-spacing:.2em;font-weight:700;opacity:.75}
.cat-name{display:block;font-weight:900;font-size:25px;line-height:1.08;letter-spacing:-.02em;margin:10px 0 12px}
.cat p{margin:0;font-size:14.5px;line-height:1.5}
.cat:hover .cat-name{text-decoration:underline;text-underline-offset:4px}

.closing{--c1:#B7D4D4;--c2:#E8C4D0;--ang:100deg;--seam:34%;color:#3A4548;padding:44px 34px 58px;margin:0 0 70px;
  clip-path:polygon(0 8%,54% 0,100% 7%,100% 74%,70% 96%,26% 86%,0 100%)}
.closing h2{margin:0 0 12px;font-size:clamp(23px,3.4vw,33px);letter-spacing:-.02em}
.closing p{margin:0;max-width:70ch;font-size:17px}

/* ---------- page head fold (category + legal pages) ---------- */
.pagehead{--c1:#B7D4D4;--c2:#F0C8B0;--ang:112deg;--seam:42%;color:#3A4548;padding:40px 30px 56px;margin:-18px 0 46px;
  clip-path:polygon(0 0,100% 4%,100% 70%,68% 94%,32% 80%,0 96%)}
.pagehead.quiet{--c1:#B7D4D4;--c2:#D8E4B0;--ang:120deg;--seam:56%;padding:34px 28px 46px;
  clip-path:polygon(0 0,100% 6%,100% 72%,52% 96%,0 80%)}
.pagehead.quiet h1{color:#3A4548}
.pagehead .kicker{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;opacity:.75}
.pagehead h1{margin:10px 0 12px;font-size:clamp(30px,5vw,48px);line-height:1.05;letter-spacing:-.025em}
.pagehead p{margin:0;max-width:66ch;font-size:17.5px}

/* ---------- hotel entries: faceted polygon panels ---------- */
.entries{display:flex;flex-wrap:wrap;gap:20px;margin:0 0 64px}
.entry{flex:1 1 460px;min-width:300px;padding:30px 34px 70px}
.entry h2{margin:0 0 4px;font-size:24px;line-height:1.1;letter-spacing:-.02em}
.entry .where{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin-bottom:14px;color:#5E8A8E;opacity:.85}
.entry p{margin:0 0 14px}
.entry p:last-of-type{margin-bottom:18px}
.tags{display:flex;flex-wrap:wrap;gap:9px 11px;margin:0;padding:0;list-style:none}
.chip{transform:skewX(-13deg);padding:5px 13px;background:#C5D8D6}
.chip i{display:block;transform:skewX(13deg);font-style:normal;color:#3A4548;font-size:11.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.entry:nth-child(4n+1){--c1:#B7D4D4;--c2:#EEF3E4;--ang:150deg;--seam:15%;clip-path:polygon(0 0,100% 4%,100% 74%,72% 96%,26% 88%,0 100%)}
.entry:nth-child(4n+2){--c1:#E8C4D0;--c2:#F8EEE6;--ang:158deg;--seam:13%;clip-path:polygon(0 5%,64% 0,100% 7%,100% 92%,40% 100%,0 84%)}
.entry:nth-child(4n+3){--c1:#F0C8B0;--c2:#EAF2F2;--ang:146deg;--seam:16%;clip-path:polygon(0 3%,100% 0,96% 58%,100% 88%,54% 100%,0 93%)}
.entry:nth-child(4n+4){--c1:#D8E4B0;--c2:#F7EEF2;--ang:154deg;--seam:14%;clip-path:polygon(0 0,88% 5%,100% 34%,100% 96%,46% 88%,0 100%)}
.entry:nth-child(4n+2) .chip{background:#E8C4D0}
.entry:nth-child(4n+3) .chip{background:#F0C8B0}
.entry:nth-child(4n+4) .chip{background:#D8E4B0}
.entry:nth-child(4n+2) .where{color:#A06A7C}
.entry:nth-child(4n+3) .where{color:#A07A5C}

.prose{max-width:70ch;margin:0 0 60px}
.prose h2{font-size:24px;letter-spacing:-.02em;margin:34px 0 10px}
.prose h2:first-child{margin-top:0}
.prose p{margin:0 0 14px}
.prose ul{margin:0 0 14px;padding-left:20px}
.prose li{margin-bottom:7px}

/* ---------- footer: mirrored fold ---------- */
.footfold{--c1:#F0C8B0;--c2:#D8E4B0;--ang:-104deg;--seam:38%;margin-top:26px;padding:104px 0 52px;
  clip-path:polygon(0 20%,12% 4%,38% 26%,72% 12%,100% 32%,100% 100%,0 100%)}
.foot-in{display:grid;grid-template-columns:1fr auto 1fr;gap:20px 34px;align-items:start}
.foot-name{text-align:center;font-family:"Chivo",sans-serif;font-weight:900;font-size:22px;letter-spacing:-.02em;color:#3A4548;line-height:1.1}
.foot-name small{display:block;font-family:"Overpass",sans-serif;font-weight:400;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;margin-top:7px;opacity:.7}
.foot-in ul{list-style:none;margin:0;padding:0}
.foot-in li{margin-bottom:8px}
.foot-in a{color:#3A4548;text-decoration:none;font-size:14.5px;font-weight:600}
.foot-in a:hover{text-decoration:underline;text-underline-offset:3px}
.foot-in .g2{text-align:right}
.legalnote{margin:34px auto 0;max-width:64ch;text-align:center;font-size:13px;line-height:1.55;color:#4A5558;opacity:.85}

@media (max-width:960px){
  .statement,.lead{grid-template-columns:1fr;gap:26px}
  .hero{max-width:280px;justify-self:start}
  .cat-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  body{font-size:16px}
  .cat-row{grid-template-columns:1fr}
  .masthead{--ang:124deg;--seam:30%;clip-path:polygon(0 0,100% 0,100% 82%,58% 96%,0 86%);padding-bottom:48px}
  nav.main{gap:8px 18px}
  .foot-in{grid-template-columns:1fr;text-align:center}
  .foot-in .g2{text-align:center}
  .footfold{clip-path:polygon(0 12%,40% 3%,100% 16%,100% 100%,0 100%)}
  .entry{flex:1 1 100%}
}
