/* Platinum Award Villas — cream #e0ddd8 header/footer (logo corner), body #f7f4ee, burgundy accent, DM Serif Display headings, Karla body */
:root{--bg:#f7f4ee;--bar:#e0ddd8;--card:#fffdf9;--burg:#7a2e33;--burg-d:#5e2227;--text:#211c1a;--muted:#6f665e;--line:#ddd5c6}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Karla",system-ui,sans-serif;font-size:17px;line-height:1.72}
img{max-width:100%;height:auto;display:block}
a{color:var(--burg)}
h1,h2,h3,h4{font-family:"DM Serif Display",Georgia,serif;font-weight:400;line-height:1.16;color:#1c1815;letter-spacing:.2px}
.container{max-width:1080px;margin:0 auto;padding:0 26px}

/* header — cream bar */
.site-header{background:var(--bar);border-bottom:1px solid #cfc6b4}
.header-inner{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 26px;position:relative}
.site-brand{display:block;text-decoration:none}
.site-logo img{max-width:100%;height:auto}
.site-title,.site-tagline{display:none}
.nav-menu{display:flex;flex-wrap:nowrap;gap:18px;white-space:nowrap;align-items:center}
.nav-menu a{color:#4a413a;text-decoration:none;text-transform:uppercase;letter-spacing:1.5px;font-size:11.5px;font-weight:600;white-space:nowrap;transition:color .2s}
.nav-menu a:hover,.nav-menu a.active{color:var(--burg)}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--burg);margin:5px 0;transition:all .3s}
.menu-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* hero — style 14 boxed card */
.hero{padding:40px 0}
.hero-card{background:var(--card);border:1px solid var(--line);border-radius:4px;overflow:hidden;display:grid;grid-template-columns:1.15fr 1fr;box-shadow:0 20px 50px rgba(60,45,30,.10)}
.hero-figure{min-width:0}
.hero-figure img{width:100%;height:100%;max-height:460px;object-fit:cover}
.hero-inner{padding:44px 44px;display:flex;flex-direction:column;justify-content:center}
.hero-kicker{display:inline-block;text-transform:uppercase;letter-spacing:3px;font-size:11px;color:var(--burg);font-weight:700;margin-bottom:14px}
.hero h1{font-size:clamp(2.3rem,4.4vw,3.4rem);margin:0 0 14px;line-height:1.08}
.hero-tag{color:var(--muted);font-size:1.12rem;margin:0 0 26px}
.hero-cta{display:inline-block;align-self:flex-start;background:var(--burg);color:#fff;text-decoration:none;padding:12px 26px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1.5px;border-radius:2px}
.hero-cta:hover{background:var(--burg-d)}

/* pick strip */
.pick-strip{background:#efe9dd;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0}
.strip-head{text-align:center;margin-bottom:26px}
.strip-head h2{font-size:1.9rem;margin:0 0 4px}
.strip-head span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:2px}

/* grids + cards */
.grid{display:grid;gap:28px}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:3px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s}
.card:hover{box-shadow:0 14px 32px rgba(60,45,30,.14)}
.card-image{display:block;overflow:hidden;aspect-ratio:3/2}
.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .card-image img{transform:scale(1.04)}
.card-body{padding:16px 20px 22px}
.card-cat,.river-cat{display:inline-block;text-transform:uppercase;letter-spacing:2px;font-size:10px;color:var(--burg);font-weight:700;margin-bottom:8px}
.card h3{font-size:1.4rem;margin:0 0 8px;line-height:1.2}
.card h3 a{color:#1c1815;text-decoration:none}
.card h3 a:hover{color:var(--burg)}
.card-body p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55}

/* magazine river */
.section-head{margin:44px 0 26px;text-align:center;border-bottom:1px solid var(--burg);padding-bottom:12px}
.section-head h2{font-size:1.9rem;margin:0}
.rivers{display:flex;flex-direction:column;gap:34px;padding-bottom:20px}
.river{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:34px;align-items:center}
.river.flip .river-img{order:2}
.river-img{display:block;overflow:hidden;aspect-ratio:3/2;border:1px solid var(--line)}
.river-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.river:hover .river-img img{transform:scale(1.04)}
.river-body h3{font-size:1.9rem;margin:6px 0 10px;line-height:1.14}
.river-body h3 a{color:#1c1815;text-decoration:none}
.river-body h3 a:hover{color:var(--burg)}
.river-body p{margin:0 0 14px;color:var(--muted);font-size:15.5px;line-height:1.6}
.river-more{color:var(--burg);text-decoration:none;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1px}

/* article — wide editorial */
.article-wrap{padding-top:44px}
.article{max-width:760px;margin:0 auto}
.article-head{text-align:center;margin-bottom:24px}
.article-cat{display:inline-block;text-transform:uppercase;letter-spacing:3px;font-size:11px;color:var(--burg);font-weight:700;margin-bottom:12px}
.article h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:0 0 16px;line-height:1.1}
.article-dek{font-size:1.24rem;color:var(--muted);margin:0 auto 16px;max-width:56ch;line-height:1.5}
.byline{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}
.article-image{margin:8px 0 34px;border:1px solid var(--line)}
.article-content{font-size:18px;line-height:1.85;max-width:72ch;margin:0 auto}
.article-content h2{font-size:1.7rem;margin:34px 0 12px}
.article-content p{margin:0 0 22px}
.article-content>p:first-of-type::first-letter{font-family:"DM Serif Display",Georgia,serif;font-size:3.8rem;float:left;line-height:.8;padding:8px 12px 0 0;color:var(--burg)}
.article-content a{color:var(--burg);text-decoration:underline;text-decoration-color:rgba(122,46,51,.35);text-underline-offset:3px}
.article-content a:hover{text-decoration-color:var(--burg)}
.pullquote{margin:36px 0;padding:26px 30px;background:#efe9dd;border-left:4px solid var(--burg);font-family:"DM Serif Display",Georgia,serif;font-size:1.55rem;line-height:1.32;color:#1c1815;font-style:italic}
.endmark{text-align:center;color:var(--burg);font-size:1.4rem;margin-top:28px}

/* page hero (category) */
.page-hero{background:#efe9dd;border-bottom:1px solid var(--line);padding:44px 0 30px;text-align:center}
.page-kicker{display:inline-block;text-transform:uppercase;letter-spacing:2.5px;font-size:11px;color:var(--burg);font-weight:700}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:6px 0 8px}
.page-hero p{color:var(--muted);margin:0}

/* standard pages */
.page{padding:52px 26px 60px;max-width:780px}
.page h1{font-size:clamp(2.2rem,5vw,3.2rem);margin:0 0 20px;text-align:center}
.page .article-dek{text-align:center;margin:0 auto 22px}
.contact-line{margin:0 0 18px}
.contact-line strong{color:#1c1815}
.page a,.article-content a,.contact-block{overflow-wrap:anywhere;word-break:break-word}

/* footer — #2 centered stack */
.site-footer{background:var(--bar);border-top:1px solid #cfc6b4;margin-top:44px;padding:44px 0 36px;text-align:center}
.footer-word{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(1.8rem,5vw,2.6rem);color:#1c1815}
.footer-tag{color:var(--muted);margin:6px 0 20px;font-size:1rem}
.footer-nav{font-size:12.5px;letter-spacing:.5px;color:var(--muted);margin-bottom:18px;line-height:2}
.footer-nav a{color:#4a413a;text-decoration:none}
.footer-nav a:hover{color:var(--burg)}
.footer-legal{color:#8a8073;font-size:12px;border-top:1px solid #cfc6b4;padding-top:20px;max-width:640px;margin:0 auto}

@media(max-width:860px){
  .hero-card{grid-template-columns:1fr}
  .hero-figure img{max-height:280px}
  .hero-inner{padding:32px 28px}
  .river,.river.flip{grid-template-columns:1fr;gap:16px}
  .river.flip .river-img{order:0}
  .grid-3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .menu-toggle{display:block;position:absolute;left:20px;top:22px}
  .nav-menu{display:none;flex-direction:column;width:100%;gap:0;padding:10px 0;white-space:normal}
  .nav-menu.open{display:flex}
  .nav-menu a{padding:11px 0;border-bottom:1px solid #cfc6b4;width:100%;text-align:center;font-size:12px}
  .grid-3,.grid-2{grid-template-columns:1fr}
  .article-content{font-size:17px}
  body{font-size:16px}
}
