:root{
  --ink:#1a1814; --ink-2:#5b564c; --muted:#8d877b; --line:#e6dfd2;
  --cream:#faf7f1; --card:#fff; --night:#0d0d0c; --night-2:#1b1a17;
  --gold:#c8961e; --gold-deep:#8f6a0f; --gold-soft:#f6ecd2;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font:16px/1.6 var(--sans);color:var(--ink);background:var(--cream)}
a{color:var(--gold-deep)}
img{max-width:100%;display:block;height:auto}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px}
/* header */
.top{background:var(--night);position:sticky;top:0;z-index:10;border-bottom:1px solid #2a2721}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.top .logo{height:40px;width:auto}
.top nav{display:flex;gap:2px;flex-wrap:wrap}
.top nav a{color:#efe9dc;text-decoration:none;font-size:15px;padding:8px 12px;border-radius:999px}
.top nav a:hover{background:#ffffff14}
.top nav a[aria-current]{color:#f7e7bf;background:#ffffff10}
/* hero */
.hero{background:radial-gradient(1200px 420px at 72% -10%,#3b2d0b 0%,var(--night) 62%);color:#efe9dc;padding:84px 0 92px}
.hero h1{font:600 clamp(42px,6.4vw,74px)/1.02 var(--serif);margin:0 0 16px;color:#f7e7bf;max-width:760px}
.hero p{max-width:620px;margin:0;color:#cfc6b3;font-size:18px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
/* buttons */
.btn{display:inline-block;font:600 15px var(--sans);border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:11px 22px;text-decoration:none;cursor:pointer}
.btn:hover{background:#000}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--night)}
.btn.gold:hover{background:#ddb04a}
.btn.outline{background:transparent;border-color:#f7e7bf66;color:#f7e7bf}
.btn.outline:hover{border-color:#f7e7bf}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--ink)}
/* sections */
main{padding-bottom:72px}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:-44px;position:relative}
.pillars>div{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 12px 30px rgba(40,30,10,.06)}
.pillars h2{font:600 26px/1.1 var(--serif);margin:0 0 8px}
.pillars p{color:var(--ink-2);margin:0 0 12px}
.pillars a{font-weight:600;text-decoration:none}
@media (max-width:820px){.pillars{grid-template-columns:1fr;margin-top:24px}}
.block{margin-top:56px}
.bhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px}
.bhead h2,.h2{font:600 34px/1.1 var(--serif);margin:0}
.h2{margin:40px 0 12px}
.bhead a{font-weight:600;text-decoration:none}
.ptitle{font:600 clamp(40px,5vw,56px)/1.05 var(--serif);margin:44px 0 18px}
.lead{font-size:18px;color:var(--ink-2)}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(40,30,10,.08)}
.cimg{aspect-ratio:16/11;background:var(--night-2) center/cover no-repeat;display:flex;align-items:center;justify-content:center}
.cimg.ph{background-image:radial-gradient(circle at 50% 40%,#3a2c0a,var(--night-2) 70%)}
.cimg.ph img{width:36%}
.cbody{padding:14px 16px 18px}
.cbody h3{font:600 22px/1.15 var(--serif);margin:2px 0 6px}
.cbody p{font-size:15px;color:var(--ink-2);margin:6px 0 0}
.cat{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}
.meta{font-size:14px;color:var(--muted)}
.price{font-weight:600}
.slist{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.srow{display:flex;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.srow:last-child{border-bottom:0}
.srow:hover{background:var(--gold-soft)}
.srow small{display:block;color:var(--muted);font-size:14px}
/* article */
.back{display:inline-block;margin:30px 0 16px;text-decoration:none}
.atitle{font:600 clamp(36px,5vw,52px)/1.06 var(--serif);margin:6px 0 10px}
.cover{width:100%;border-radius:16px;margin:24px 0;aspect-ratio:16/9;object-fit:cover}
.prose{font-size:18px;line-height:1.75;margin-top:22px}
.prose h2{font:600 32px/1.15 var(--serif);margin:36px 0 10px}.prose h3{font:600 25px/1.2 var(--serif);margin:28px 0 8px}.prose h4{font-size:19px;margin:22px 0 6px}
.prose p{margin:0 0 18px}.prose ul,.prose ol{padding-left:24px;margin:0 0 18px}.prose li{margin:5px 0}
.prose img{border-radius:12px}.prose figure{margin:24px 0}.prose figcaption{font-size:14px;color:var(--muted);margin-top:6px}
.prose blockquote{border-left:3px solid var(--gold);margin:20px 0;padding:4px 18px;color:var(--ink-2);font-style:italic}
.share{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font:inherit;font-size:14px;cursor:pointer;color:var(--ink-2)}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
/* subscribe */
.sub{background:var(--night);color:#efe9dc;border-radius:18px;padding:28px;margin-top:56px}
.sub h2{font:600 30px var(--serif);margin:0 0 4px;color:#f7e7bf}
.sub p{margin:0;color:#cfc6b3}
.subform{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.subform input{flex:1;min-width:190px;font:inherit;padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.submsg{min-height:22px;margin-top:8px!important;font-size:15px}
section.narrow .subform input{border-color:var(--line)}
/* contact */
.contact{display:grid;gap:14px;margin:22px 0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
.contact div{display:flex;gap:16px;flex-wrap:wrap}.contact b{min-width:130px}
/* footer */
footer{background:var(--night);color:#a39b89;font-size:14px;padding:36px 0}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px}
.fgrid b{display:block;color:#efe9dc;margin-bottom:6px}
.fgrid a,.fgrid span{display:block;color:#a39b89;text-decoration:none;margin:3px 0}
.fgrid a:hover{color:#f7e7bf}
@media (max-width:700px){.fgrid{grid-template-columns:1fr}}
