:root{
  --ink:#14241c;
  --muted:#5c6b63;
  --paper:#f6f3ec;
  --soft:#efeae1;
  --line:#e3dcd0;
  --wine:#1b6b45;
  --wine-dark:#10241b;
  --accent:#d6f07a;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Outfit',system-ui,sans-serif;
  --radius:18px;
}
body{background:var(--paper);font-family:var(--sans);color:var(--ink)}
h1,h2,.serif{font-family:var(--serif);font-weight:520}
::selection{background:#d6f07a;color:#14241c}
:focus-visible{outline:3px solid #1b6b45;outline-offset:3px}
.site-header{
  background:rgba(246,243,236,.84);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(20,36,28,.08);
}
.brand-name{font-family:var(--serif);letter-spacing:-.04em}
.brand-name small{color:var(--muted);font-family:var(--sans);font-weight:600}
.nav>a,.nav summary{border-radius:999px;font-weight:500}
.nav>a:hover,.nav summary:hover{background:rgba(255,255,255,.7);color:var(--ink)}
.nav a[aria-current=page]{color:var(--wine);background:#fff;text-decoration:none}
.dropdown{border-radius:16px;border-color:var(--line);box-shadow:0 18px 40px -24px rgba(16,36,27,.45);padding:8px}
.dropdown a{border-radius:10px}
.btn{border-radius:999px;background:var(--wine-dark);border-color:var(--wine-dark);padding:12px 18px}
.btn:hover{background:#1a3a2c;color:#fff}
.btn.secondary{background:#fff;border-color:var(--line);color:var(--ink)}
.btn.secondary:hover{border-color:var(--wine-dark);color:var(--wine-dark);background:#fff}
.btn.light{background:var(--accent);border-color:var(--accent);color:var(--wine-dark)}
.btn.light:hover{background:#c6e45f;color:var(--wine-dark)}
.btn.small{border-radius:999px}
.menu-toggle{border-radius:999px;background:#fff}
.hero-copy h1 em{color:var(--wine)}
.hero-feature{border-radius:28px;background:linear-gradient(165deg,#1a3d2e,#10241b);box-shadow:0 30px 60px -32px rgba(16,36,27,.7)}
.feature-stage img{border-radius:6px}
.circle-link{border-radius:50%}
.ribbon{background:transparent;border:0}
.ribbon-row{gap:12px}
.ribbon-row span{
  background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:10px 16px;color:var(--ink);
}
.section.soft{background:transparent}
.cover-wrap{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 30px -24px rgba(16,36,27,.6)}
.cover-wrap:hover{background:#fff;border-color:#c9d7b4}
.book-card h3{font-family:var(--serif);font-weight:520}
.tag{background:#eef6df;color:#1b6b45;border-radius:999px;padding:4px 9px;letter-spacing:.06em}
.intro-panel{border-radius:28px;background:var(--wine-dark)}
.article-card{
  background:#fff;border:1px solid var(--line);border-radius:22px;
  padding:16px 16px 22px;border-top:1px solid var(--line);
  box-shadow:0 16px 30px -26px rgba(16,36,27,.7);
}
.article-card .article-graphic{border-radius:16px;background:#f3f7e6;min-height:120px}
.article-card h3{font-family:var(--serif);font-weight:520}
.cta{border-radius:28px;background:var(--wine-dark);color:#fff;padding:42px 46px}
.cta h2,.cta p{color:#fff}
.cta p{color:#c5d1ca}
.cta .btn{background:var(--accent);border-color:var(--accent);color:var(--wine-dark)}
.cta .btn:hover{background:#fff;color:var(--wine-dark)}
.footer{background:#10241b}
.footer a:hover{color:var(--accent)}
.panel,.person,.download-row,.receipt{border-radius:18px}
.person{background:#fff}
.avatar{border-radius:16px}
.chip{border-radius:999px;background:#fff}
.chip[aria-pressed=true]{background:var(--wine-dark);border-color:var(--wine-dark)}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:12px;border-color:#ddd6c8;background:#fff}
.auth-story{border-radius:28px;background:linear-gradient(165deg,#1a3d2e,#10241b)}
.wizard-summary{border-radius:20px}
.book-detail .book-display{border-radius:24px}
.notice{border-radius:12px}
.policy-card,.article-card{border-top-color:transparent}
.side-nav{border-top:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 16px 8px}
.back-top{border-radius:50%;box-shadow:0 10px 24px -16px rgba(16,36,27,.8)}
.toast{border-radius:16px;background:var(--wine-dark)}
.quote{color:var(--wine);border-left-color:var(--accent)}
.featured-inline{border-color:var(--line);border-radius:20px;background:#fff;padding:24px}
table{background:#fff}
.table-scroll{border-radius:16px;background:#fff}
