:root{
  --cream:#faf5ee;--paper:#fffdf9;--ink:#2b211a;--muted:#7a6f64;--line:#e7ddd0;
  --terra:#c25b39;--terra-dk:#a4472a;--olive:#6f7d4e;--gold:#d9a441;
  --shadow:0 10px 40px -18px rgba(80,50,30,.45);--radius:16px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.7;font-size:17px}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;line-height:1.15;font-weight:600;color:var(--ink)}
img{max-width:100%;height:auto;display:block}
a{color:var(--terra-dk);text-decoration:none}
a:hover{color:var(--terra)}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px;margin:0 auto;padding:0 24px}
/* header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{font-family:'Fraunces',serif;font-weight:600;font-size:1.42rem;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.brand .mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--terra),var(--gold));display:grid;place-items:center;font-size:18px;box-shadow:var(--shadow)}
.brand span{color:var(--terra)}
.nav a{margin-left:26px;font-size:.93rem;font-weight:500;color:var(--ink);letter-spacing:.01em}
.nav a:hover{color:var(--terra)}
@media(max-width:720px){.nav{display:none}}
/* hero */
.hero{position:relative;padding:88px 0 76px;text-align:center;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#fff7ec 0%,var(--cream) 60%)}
.hero .eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.74rem;font-weight:700;color:var(--terra);margin-bottom:18px}
.hero h1{font-size:clamp(2.4rem,6vw,4rem);letter-spacing:-.02em}
.hero p{max-width:600px;margin:20px auto 0;color:var(--muted);font-size:1.12rem}
.hero .btn{display:inline-block;margin-top:30px;background:var(--terra);color:#fff;padding:13px 30px;border-radius:999px;font-weight:600;box-shadow:var(--shadow);transition:transform .15s}
.hero .btn:hover{transform:translateY(-2px);background:var(--terra-dk);color:#fff}
.hero .deco{position:absolute;font-size:4rem;opacity:.12;filter:saturate(.6)}
/* card grid */
.section-title{text-align:center;margin:64px 0 8px;font-size:2rem}
.section-sub{text-align:center;color:var(--muted);margin-bottom:40px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:8px 0 40px}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid{grid-template-columns:1fr}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.card .ph{aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#f0e7d8,#e9d9c2)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .ph img{transform:scale(1.06)}
.card .body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.tag{align-self:flex-start;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--olive);background:#eef0e4;padding:4px 11px;border-radius:999px;margin-bottom:12px}
.card h3{font-size:1.28rem;margin-bottom:8px}
.card p{color:var(--muted);font-size:.93rem;flex:1}
.card .more{margin-top:16px;font-weight:600;color:var(--terra);font-size:.9rem}
/* article */
.crumbs{font-size:.84rem;color:var(--muted);padding:26px 0 0}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--terra)}
.article-head{text-align:center;padding:26px 0 8px}
.article-head .tag{display:inline-block;margin:0 auto 16px}
.article-head h1{font-size:clamp(2rem,5vw,3.1rem);letter-spacing:-.02em}
.article-head .meta{color:var(--muted);font-size:.9rem;margin-top:14px}
.feat{margin:34px auto;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);max-width:820px}
.feat img{width:100%}
.prose{font-size:1.06rem}
.prose h2{font-size:1.7rem;margin:38px 0 14px}
.prose h3{font-size:1.32rem;margin:30px 0 10px}
.prose p{margin:0 0 18px}
.prose ul,.prose ol{margin:0 0 20px;padding-left:24px}
.prose li{margin-bottom:8px}
.prose img{border-radius:12px;margin:24px auto;box-shadow:0 8px 30px -16px rgba(80,50,30,.5)}
.prose figure{margin:28px 0}
.prose figcaption{text-align:center;color:var(--muted);font-size:.86rem;margin-top:8px}
.prose strong{color:var(--ink)}
.prose blockquote{border-left:4px solid var(--terra);padding:8px 0 8px 22px;margin:24px 0;color:var(--muted);font-style:italic}
.prose table{width:100%;border-collapse:collapse;margin:20px 0}
.prose td,.prose th{border:1px solid var(--line);padding:9px 12px;text-align:left}
.divider{height:1px;background:var(--line);max-width:760px;margin:56px auto 0}
/* related */
.related{padding:40px 0 20px}
.related h2{text-align:center;font-size:1.6rem;margin-bottom:28px}
/* footer */
.foot{background:#241c16;color:#e9ddcf;margin-top:80px;padding:56px 0 28px}
.foot .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
@media(max-width:700px){.foot .cols{grid-template-columns:1fr}}
.foot h4{color:#fff;font-size:1.15rem;margin-bottom:14px}
.foot a{color:#cdbfae;display:block;margin-bottom:8px;font-size:.92rem}
.foot a:hover{color:var(--gold)}
.foot .brand{color:#fff;margin-bottom:12px}
.foot p{color:#a8998a;font-size:.9rem}
.foot .bot{border-top:1px solid #3a2f26;margin-top:40px;padding-top:22px;text-align:center;color:#8d7e6f;font-size:.84rem}
/* static pages: about values + contact */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:36px 0}
@media(max-width:700px){.values{grid-template-columns:1fr}}
.value{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px}
.value .ic{font-size:1.9rem;margin-bottom:10px}
.value h3{font-size:1.18rem;margin-bottom:6px}
.value p{color:var(--muted);font-size:.94rem;margin:0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin:24px 0}
@media(max-width:720px){.contact-grid{grid-template-columns:1fr}}
.form-field{margin-bottom:18px}
.form-field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px}
.form-field input,.form-field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--paper);color:var(--ink)}
.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 3px rgba(194,91,57,.15)}
.form-btn{background:var(--terra);color:#fff;border:0;padding:13px 30px;border-radius:999px;font-weight:600;font:inherit;cursor:pointer;box-shadow:var(--shadow)}
.form-btn:hover{background:var(--terra-dk)}
.contact-info{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px}
.contact-info li{list-style:none;margin-bottom:16px;color:var(--muted)}
.contact-info b{display:block;color:var(--ink);font-family:'Fraunces',serif}
