:root{
  --core:#5b2c36;
  --gold:#c8973f;
  --dark:#3a1d24;
  --cream:#f6f2ec;
  --ink:#2b2528;
  --dim:#7a7176;
  --edge:#e6ded4;
  --wht:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Work Sans",-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);line-height:1.72;background:var(--wht)}
img{max-width:100%;display:block;border-radius:8px}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5{line-height:1.26;font-weight:700;color:var(--core)}
.shell{max-width:1120px;margin:0 auto;padding:0 22px}
.shell-sm{max-width:800px}

.banner{background:var(--dark);color:#e7d6da;font-size:.82rem;padding:9px 22px;text-align:center}
.banner-tag{display:inline-block;background:var(--gold);color:#3a1d24;font-weight:700;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:3px;margin-right:8px}

.nav-wrap{position:sticky;top:0;z-index:40;background:var(--wht);border-bottom:1px solid var(--edge)}
.nav-row{height:64px;display:flex;align-items:center;justify-content:space-between}
.mark{font-size:1.2rem;font-weight:800;color:var(--core);letter-spacing:-.01em}
.mark b{color:var(--gold);font-weight:800}
.links{display:flex;align-items:center;gap:26px}
.links a{font-size:.93rem;font-weight:600;color:var(--ink);transition:color .25s}
.links a:hover{color:var(--gold)}
.links-cta{background:var(--core);color:#fff!important;padding:8px 18px;border-radius:4px}
.links-cta:hover{background:var(--dark)}
.toggle{display:none;flex-direction:column;gap:5px;cursor:pointer}
.toggle span{width:25px;height:3px;background:var(--core);border-radius:2px}

.primary-btn{display:inline-block;background:var(--gold);color:#3a1d24;font-weight:700;font-size:.95rem;padding:14px 30px;border-radius:4px;border:none;cursor:pointer;transition:transform .2s,background .25s}
.primary-btn:hover{background:#b3812f;transform:translateY(-2px)}

.lead-sec{background:linear-gradient(120deg,var(--cream),#fff);padding:66px 0}
.lead-box{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center}
.lead-pic{order:1}
.lead-pic img{width:100%;height:auto;box-shadow:0 16px 40px rgba(91,44,54,.18)}
.lead-txt{order:2}
.lead-txt h1{font-size:2.4rem;margin-bottom:18px}
.lead-txt p{font-size:1.1rem;color:var(--dim);margin-bottom:26px}

.story{padding:66px 0}
.story-wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:44px;align-items:center}
.story-pic img{width:100%;height:auto}
.story-txt h2{font-size:1.85rem;margin-bottom:16px}
.story-txt p{margin-bottom:13px;color:#3d353a}

.grid-sec{padding:66px 0;background:var(--cream)}
.title2{font-size:1.85rem;margin-bottom:12px;text-align:center}
.sub2{text-align:center;color:var(--dim);max-width:640px;margin:0 auto 40px}
.cardset{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.item{background:#fff;border:1px solid var(--edge);border-radius:14px;padding:28px 26px;transition:box-shadow .25s,transform .2s}
.item:hover{box-shadow:0 14px 32px rgba(91,44,54,.1);transform:translateY(-3px)}
.item h3{font-size:1.2rem;margin-bottom:10px;color:var(--core)}
.item p{font-size:.96rem;color:#4d454a}

.faqs{padding:66px 0}
.faq-item{border-bottom:1px solid var(--edge);padding:6px 0}
.faq-item summary{cursor:pointer;font-weight:700;color:var(--core);padding:16px 0;list-style:none;position:relative;padding-right:30px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:4px;top:14px;color:var(--gold);font-size:1.4rem;line-height:1}
.faq-item[open] summary::after{content:"\2212"}
.faq-item p{padding:0 0 18px;color:#4d454a;font-size:.96rem}

.posts{padding:66px 0;background:var(--cream)}
.post-set{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post-card{background:#fff;border:1px solid var(--edge);border-radius:14px;overflow:hidden;transition:box-shadow .25s,transform .2s}
.post-card:hover{box-shadow:0 14px 32px rgba(91,44,54,.1);transform:translateY(-3px)}
.post-card img{width:100%;height:auto;border-radius:0}
.post-card h3{font-size:1.05rem;padding:18px 20px 8px;color:var(--core)}
.post-link{display:inline-block;padding:0 20px 20px;color:var(--gold);font-weight:700;font-size:.9rem}

.talk{padding:66px 0}
.talk-wrap{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.talk-txt h2{font-size:1.85rem;margin-bottom:14px}
.talk-txt p{color:var(--dim);margin-bottom:20px}
.talk-info{list-style:none}
.talk-info li{display:flex;flex-direction:column;margin-bottom:15px;font-size:.95rem}
.talk-info strong{color:var(--core);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
.talk-form{background:var(--cream);border:1px solid var(--edge);border-radius:14px;padding:28px}
.talk-form label{display:block;font-size:.84rem;font-weight:600;color:var(--core);margin-bottom:15px}
.talk-form input,.talk-form textarea{width:100%;margin-top:6px;padding:12px 15px;border:1px solid var(--edge);border-radius:5px;font-family:inherit;font-size:.95rem;color:var(--ink)}
.talk-form input:focus,.talk-form textarea:focus{outline:none;border-color:var(--gold)}

.ground{background:var(--dark);color:#d8c4c9;padding:52px 0 0}
.ground-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:34px}
.ground-top .mark{color:#fff}
.ground-desc{font-size:.9rem;color:#b39aa0;margin-top:12px;max-width:320px}
.ground-cols h5{color:#fff;font-size:.93rem;margin-bottom:13px}
.ground-cols a{display:block;font-size:.9rem;color:#c2acb1;margin-bottom:9px;transition:color .2s}
.ground-cols a:hover{color:var(--gold)}
.ground-base{border-top:1px solid rgba(255,255,255,.13);padding:18px 0 26px}
.ground-base p{font-size:.8rem;color:#a58d93;margin-bottom:6px}

.consent{position:fixed;left:20px;bottom:20px;max-width:380px;background:var(--dark);color:#e2d2d6;border-radius:14px;padding:18px 20px;box-shadow:0 12px 32px rgba(0,0,0,.3);z-index:60}
.consent p{font-size:.85rem;margin-bottom:12px}
.consent a{color:var(--gold);font-weight:600}
.consent-ok{display:inline-block;background:var(--gold);color:#3a1d24;font-weight:700;font-size:.85rem;padding:9px 22px;border-radius:4px;cursor:pointer}
#cc:checked~.consent{display:none}

.entry{padding:42px 0 58px}
.trail{font-size:.85rem;color:var(--dim);margin-bottom:16px}
.trail a{color:var(--gold);font-weight:600}
.entry-head h1{font-size:2rem;margin-bottom:10px}
.stamp{font-size:.85rem;color:#948a8f;margin-bottom:22px}
.entry-pic{width:100%;height:auto;margin-bottom:24px;border-radius:10px;box-shadow:0 12px 30px rgba(91,44,54,.14)}
.entry-body p{margin-bottom:15px;color:#352e32}
.entry-body h2{font-size:1.4rem;margin:28px 0 12px}
.entry-body h3{font-size:1.1rem;margin:20px 0 9px;color:var(--dark)}
.entry-body ul,.entry-body ol{margin:0 0 15px 22px;color:#352e32}
.entry-body li{margin-bottom:8px}
.entry-body blockquote{border-left:4px solid var(--gold);background:var(--cream);padding:14px 20px;border-radius:0 8px 8px 0;margin:0 0 18px;font-style:italic;color:#3d353a}
.bio{background:var(--cream);padding:18px 20px;border-radius:12px;margin-top:30px;display:flex;gap:14px;align-items:center}
.bio-dot{width:48px;height:48px;border-radius:50%;background:#d8c9cd;flex-shrink:0}
.bio strong{font-size:.92rem;color:var(--core)}
.bio p{font-size:.82rem;color:var(--dim);margin-top:2px}
.back{display:inline-block;margin-top:24px;color:var(--gold);font-weight:700}
.index-wrap{padding:42px 0 58px}
.index-set{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:30px}

@media(max-width:870px){
  .toggle{display:flex}
  .links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--edge);padding:8px 22px}
  .links a{padding:12px 0;border-bottom:1px solid var(--edge)}
  #mtog:checked~.links{display:flex}
  .lead-box,.story-wrap,.talk-wrap{grid-template-columns:1fr;gap:30px}
  .lead-pic{order:2}
  .lead-txt{order:1}
  .story-pic{order:2}
  .cardset,.post-set,.index-set{grid-template-columns:1fr}
  .ground-top{grid-template-columns:1fr 1fr}
  .lead-txt h1{font-size:1.95rem}
}
@media(max-width:520px){
  .ground-top{grid-template-columns:1fr}
  .consent{left:12px;right:12px;bottom:12px;max-width:none}
}
