
:root{
  --sand:#f3e7d3; --cream:#faf3e6; --ink:#2c2520; --muted:#6c5f52;
  --terra:#c4572f; --saff:#d99a2b; --teal:#15706b; --azur:#2f8fb0; --deep:#0e4a52;
  --line:#e4d4ba; --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);
  font-family:"Mulish",system-ui,sans-serif;line-height:1.65;font-size:18px}
img{max-width:100%;display:block}
a{color:var(--teal)}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;line-height:1.12;color:var(--ink);font-weight:800}

/* header */
header.site{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:18px clamp(16px,5vw,56px);background:var(--sand);border-bottom:3px solid var(--terra);
  position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}
.brand .mark{width:34px;height:34px;flex:0 0 auto;border-radius:8px;
  background:
    conic-gradient(from 45deg, var(--terra) 0 25%, var(--saff) 0 50%, var(--teal) 0 75%, var(--azur) 0 100%);
  transform:rotate(45deg);box-shadow:inset 0 0 0 3px var(--cream)}
.brand .brandtext{display:flex;flex-direction:column;line-height:1.05}
.brand strong{font-family:"Fraunces",serif;font-size:22px;letter-spacing:.2px}
.brand em{font-style:normal;font-size:12px;color:var(--muted)}
header nav{display:flex;gap:22px;font-weight:700;font-size:15px}
header nav a{color:var(--ink);text-decoration:none;border-bottom:2px solid transparent;padding-bottom:2px}
header nav a:hover{border-color:var(--terra)}

/* home hero */
.hero-home{background:linear-gradient(180deg,var(--azur),var(--teal));color:var(--cream);
  padding:clamp(48px,9vw,110px) clamp(16px,5vw,56px);position:relative;overflow:hidden}
.hero-home:before{content:"";position:absolute;inset:0;opacity:.18;
  background-image:repeating-linear-gradient(45deg,transparent 0 18px,rgba(255,255,255,.5) 18px 20px),
                   repeating-linear-gradient(-45deg,transparent 0 18px,rgba(255,255,255,.5) 18px 20px);
  background-size:40px 40px}
.hero-home .hw{position:relative;max-width:760px}
.hero-home h1{color:var(--cream);font-size:clamp(34px,5.5vw,58px);margin:0 0 14px}
.hero-home p{font-size:clamp(16px,2vw,21px);margin:0;max-width:620px;color:#f1ede2}

/* grid of cards */
.grid{max-width:1140px;margin:0 auto;padding:clamp(28px,5vw,56px) clamp(16px,4vw,40px);
  display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(44,37,32,.13)}
.card .thumb{aspect-ratio:16/9;overflow:hidden;background:var(--sand)}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .meta{padding:18px 18px 22px;display:flex;flex-direction:column;gap:8px}
.card .kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--terra)}
.card .h{font-family:"Fraunces",serif;font-size:21px;font-weight:700;line-height:1.18;margin:0}
.card .ex{font-size:14.5px;color:var(--muted)}
.card.featured{grid-column:1 / -1;flex-direction:row}
.card.featured .thumb{flex:1 1 55%;aspect-ratio:auto}
.card.featured .meta{flex:1 1 45%;justify-content:center;padding:30px}
.card.featured .h{font-size:30px}
.card.featured .ex{font-size:16px}

/* article */
.article{max-width:820px;margin:0 auto;padding:clamp(24px,5vw,56px) clamp(16px,5vw,24px)}
.article .hero{margin:0 0 26px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.article h1{font-size:clamp(28px,4.4vw,44px);margin:0 0 22px}
.article .body{font-size:18.5px}
.article .body h2{font-size:26px;margin:34px 0 10px;color:var(--deep)}
.article .body h3{font-size:20px;margin:26px 0 8px;color:var(--terra)}
.article .body p{margin:0 0 16px}
.article .body a{font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--saff)}

/* read also */
.readalso{margin-top:46px;border-top:2px solid var(--line);padding-top:26px}
.readalso h2{font-size:22px;margin:0 0 16px}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rel-card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);
  border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;transition:transform .16s}
.rel-card:hover{transform:translateY(-3px)}
.rel-card img{aspect-ratio:16/9;object-fit:cover;width:100%}
.rel-card span{padding:10px 12px;font-family:"Fraunces",serif;font-size:15px;font-weight:600;line-height:1.2}
.back{display:inline-block;margin-top:24px;font-weight:700;text-decoration:none;color:var(--teal)}

/* footer */
footer.site{margin-top:60px;background:var(--ink);color:var(--cream);padding:34px clamp(16px,5vw,56px) 46px;text-align:center}
footer .zel{height:10px;background:
  repeating-linear-gradient(90deg,var(--terra) 0 16px,var(--saff) 16px 32px,var(--teal) 32px 48px,var(--azur) 48px 64px);
  border-radius:6px;max-width:280px;margin:0 auto 18px;opacity:.9}
footer p{margin:4px 0}
footer .fine{font-size:12.5px;color:#b9b0a3}
footer strong{font-family:"Fraunces",serif}

@media(max-width:860px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .card.featured{flex-direction:column}
  .card.featured .thumb{aspect-ratio:16/9}
  header nav{display:none}
}
@media(max-width:560px){
  .grid{grid-template-columns:1fr}
  .rel-grid{grid-template-columns:1fr}
}
