:root { --public-bg:#f4f1ec; --public-surface:#fdfbf8; --public-border:#d8d2c6; --public-ink:#1a1714; --public-muted:#6e685f; --public-accent:#c4450a; --public-accent-dark:#a33808; }
.skip-link { position:fixed; z-index:1000; top:8px; left:8px; transform:translateY(-150%); background:#fff; color:#1a1714; padding:10px 14px; border-radius:8px; font-weight:700; }
.skip-link:focus { transform:none; }
.public-header { position:relative; z-index:50; background:#201d19; color:#fff; }
.public-nav { max-width:1120px; min-height:68px; margin:auto; padding:0 24px; display:flex; align-items:center; gap:28px; }
.public-brand { color:#fff; text-decoration:none; font:700 1.35rem 'Fraunces',serif; white-space:nowrap; }
.public-brand em { color:#e86b32; }
.public-links { display:flex; align-items:center; gap:22px; margin-left:auto; }
.public-links a { color:#eee9e2; text-decoration:none; font-size:.86rem; font-weight:600; }
.public-links a:hover,.public-links a[aria-current="page"] { color:#fff; text-decoration:underline; text-underline-offset:5px; }
.public-actions { display:flex; align-items:center; gap:8px; }
.public-actions a { text-decoration:none; border-radius:8px; padding:9px 14px; font-size:.82rem; font-weight:700; }
.public-login { color:#fff; border:1px solid rgba(255,255,255,.35); }
.public-signup { color:#fff; background:var(--public-accent); }
.public-menu { display:none; margin-left:auto; color:#fff; background:transparent; border:1px solid rgba(255,255,255,.45); border-radius:8px; padding:8px 10px; font:600 .84rem inherit; cursor:pointer; }
.public-menu:focus-visible,.public-nav a:focus-visible,.public-footer a:focus-visible { outline:3px solid #f3a17b; outline-offset:3px; }
.public-footer { background:#201d19; color:#cfc8bf; padding:36px 24px; }
.public-footer-inner { max-width:1120px; margin:auto; display:grid; grid-template-columns:1fr auto; gap:24px 50px; align-items:start; }
.public-footer-brand { color:#fff; font:700 1.25rem 'Fraunces',serif; }
.public-footer-brand em { color:#e86b32; }
.public-footer-nav { display:flex; flex-wrap:wrap; gap:12px 22px; justify-content:flex-end; }
.public-footer a { color:#ddd6ce; font-size:.82rem; text-decoration:none; }
.public-footer a:hover { color:#fff; text-decoration:underline; }
.public-footer small { font-size:.72rem; }
.content-wrap { max-width:1040px; margin:0 auto; padding:56px 20px 72px; }
.content-hero { text-align:center; max-width:780px; margin:0 auto 42px; }
.content-hero h1 { font-size:clamp(2rem,6vw,3.25rem); margin:0 0 14px; }
.content-hero p { color:var(--public-muted); font-size:1.05rem; }
.content-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.content-card { background:var(--public-surface); border:1px solid var(--public-border); border-radius:14px; padding:24px; }
.content-card h2,.content-card h3 { margin-top:0; }
.content-card p { color:var(--public-muted); }
.content-card .eyebrow { color:var(--public-accent); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.content-cta { margin-top:42px; padding:38px 24px; background:#2b2722; color:#fff; border-radius:16px; text-align:center; }
.content-cta h2 { margin-top:0; }
.primary-cta { display:inline-block; color:#fff; background:var(--public-accent); padding:12px 18px; border-radius:9px; text-decoration:none; font-weight:700; }
.text-link { color:var(--public-accent-dark); font-weight:700; }
.faq-page-list { max-width:820px; margin:auto; }
.faq-page-list details { background:var(--public-surface); border:1px solid var(--public-border); border-radius:10px; margin:10px 0; padding:0 18px; }
.faq-page-list summary { cursor:pointer; font-weight:700; padding:18px 30px 18px 0; }
.faq-page-list details p { color:var(--public-muted); padding-bottom:18px; }
.article-meta { color:var(--public-muted); font-size:.78rem; }
@media (max-width:820px) {
  .public-menu { display:block; }
  .public-nav { flex-wrap:wrap; padding:12px 18px; gap:10px; }
  .public-links,.public-actions { display:none; width:100%; }
  .public-header.menu-open .public-links,.public-header.menu-open .public-actions { display:flex; }
  .public-links { order:3; flex-direction:column; align-items:stretch; gap:0; }
  .public-links a { padding:11px 4px; border-top:1px solid rgba(255,255,255,.12); }
  .public-actions { order:4; padding:8px 0 4px; }
  .content-grid { grid-template-columns:1fr; }
  .public-footer-inner { grid-template-columns:1fr; }
  .public-footer-nav { justify-content:flex-start; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
