/* Upgrade Parlour guides: matches the homepage's fixed-dark brand */
:root{
  --ink:#0B0F14;
  --panel:#121B1A;
  --velvet:#17231F;
  --brass:#D8B25C;
  --brass-dim:#A98A47;
  --parchment:#F8F4E9;
  --smoke:#C9D3CD;
  --hair:rgba(201,162,75,0.22);
  --emerald:#5F8876;
}
/* Brand identity is intentionally fixed-dark regardless of system theme */
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ } }
:root[data-theme="dark"]{ }

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--ink);
  color:var(--parchment);
  font-family:'Work Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight:300;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{ color:var(--brass); }
a:hover{ color:#e6c67a; }
.wrap{ max-width:1180px; margin:0 auto; padding:0 32px; }
@media (max-width:640px){ .wrap{ padding:0 16px; } }

/* Header */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(11,15,20,0.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--hair);
}
.header-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; }
.wordmark{
  font-family:'Fraunces', serif; font-style:italic; font-weight:500;
  font-size:1.25rem; letter-spacing:0.03em;
  color:var(--parchment); text-decoration:none;
  display:flex; align-items:center; gap:10px; white-space:nowrap;
}
.wordmark:hover{ color:var(--parchment); }
.wordmark .mark{ color:var(--brass); font-style:normal; font-size:1.4rem; }
.top-nav{ display:flex; align-items:center; gap:28px; font-size:0.92rem; }
.top-nav a{ color:var(--smoke); text-decoration:none; }
.top-nav a:hover{ color:var(--brass); }
.narrow-only{ display:none; }
@media (max-width:720px){
  .site-header .wide-only{ display:none; }
  .site-header .narrow-only{ display:inline; color:var(--brass); }
  .site-header .top-nav{ gap:18px; }
  .site-header .wordmark{ font-size:1.08rem; }
}
.btn{
  display:inline-block; padding:11px 22px;
  border:1px solid var(--brass-dim); border-radius:2px;
  color:var(--parchment); text-decoration:none;
  font-size:0.9rem; letter-spacing:0.01em; white-space:nowrap;
}
.top-nav a.btn-solid, .btn-solid{ background:var(--brass); border-color:var(--brass); color:var(--ink); font-weight:500; }
.top-nav a.btn-solid:hover, .btn-solid:hover{ background:#dab35f; color:var(--ink); }

/* Breadcrumbs */
.crumbs{ font-size:0.84rem; color:var(--smoke); padding:28px 0 0; }
.crumbs a{ color:var(--smoke); text-decoration:none; }
.crumbs a:hover{ color:var(--brass); }
.crumbs span{ opacity:0.5; margin:0 6px; }

/* Article */
.article-wrap{ max-width:760px; }
.guide{ padding:20px 0 8px; }
.guide h1, .hub-head h1{
  font-family:'Fraunces', serif; font-weight:400;
  font-size:clamp(1.9rem, 4.6vw, 2.7rem); line-height:1.15;
  color:var(--parchment);
}
.guide .meta{ margin:14px 0 30px; font-size:0.85rem; color:var(--smoke); letter-spacing:0.02em; }
.guide h2{
  font-family:'Fraunces', serif; font-weight:500;
  font-size:1.55rem; line-height:1.3; color:var(--brass);
  margin:42px 0 14px;
}
.guide h3{ font-family:'Fraunces', serif; font-weight:500; font-size:1.2rem; margin:28px 0 10px; color:var(--parchment); }
.guide p{ margin:0 0 18px; color:var(--smoke); font-size:1.05rem; }
.guide .meta + p{ font-size:1.14rem; color:var(--parchment); }
.guide strong{ color:var(--parchment); font-weight:500; }
.guide ul, .guide ol{ margin:0 0 20px 1.3em; color:var(--smoke); font-size:1.05rem; }
.guide li{ margin-bottom:8px; padding-left:4px; }
.guide li::marker{ color:var(--brass-dim); }
.guide a{ text-decoration:underline; text-decoration-color:var(--hair); text-underline-offset:3px; }
.guide a:hover{ text-decoration-color:var(--brass); }
.guide table{
  width:100%; border-collapse:collapse; margin:8px 0 26px; font-size:0.96rem;
  display:block; overflow-x:auto;
}
.guide th, .guide td{ text-align:left; padding:10px 14px; border-bottom:1px solid var(--hair); color:var(--smoke); }
.guide th{ color:var(--brass); font-weight:500; font-size:0.86rem; letter-spacing:0.04em; text-transform:uppercase; }
.guide td:last-child{ font-variant-numeric:tabular-nums; white-space:nowrap; }

/* CTA */
.cta{
  margin:44px 0; padding:32px;
  background:var(--velvet); border:1px solid var(--hair); border-radius:4px;
}
.cta h2{ font-family:'Fraunces', serif; font-weight:400; font-size:1.6rem; color:var(--parchment); margin-bottom:12px; }
.cta p{ color:var(--smoke); margin-bottom:14px; max-width:60ch; }
.cta .ai-note{ font-size:0.9rem; color:var(--parchment); font-style:italic; font-family:'Fraunces', serif; }
.cta .btn{ margin-top:6px; }
@media (max-width:480px){ .cta{ padding:24px 20px; } }

/* Related */
.related{ margin:0 0 64px; }
.related h2{ font-family:'Fraunces', serif; font-weight:400; font-size:1.4rem; margin-bottom:16px; }
.related ul{ list-style:none; border-top:1px solid var(--hair); }
.related li{ padding:16px 0; border-bottom:1px solid var(--hair); }
.related a{ font-family:'Fraunces', serif; font-size:1.1rem; text-decoration:none; }
.related span{ display:block; color:var(--smoke); font-size:0.92rem; margin-top:4px; }

/* Hub */
.hub-head{ max-width:760px; padding:20px 0 36px; }
.hub-head p{ margin-top:16px; color:var(--smoke); font-size:1.08rem; }
.hub-list{
  list-style:none; display:grid; gap:18px;
  grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
}
@media (max-width:400px){ .hub-list{ grid-template-columns:1fr; } }
.hub-list a{
  display:block; height:100%; padding:24px;
  background:var(--panel); border:1px solid var(--hair); border-radius:4px;
  text-decoration:none; transition:border-color .2s ease;
}
.hub-list a:hover{ border-color:var(--brass); }
.hub-list h2{ font-family:'Fraunces', serif; font-weight:400; font-size:1.22rem; line-height:1.3; color:var(--parchment); margin-bottom:10px; }
.hub-list p{ color:var(--smoke); font-size:0.93rem; }

/* Footer */
.site-footer{ border-top:1px solid var(--hair); padding:40px 0 32px; }
.footer-note{ font-family:'Fraunces', serif; font-style:italic; color:var(--parchment); margin-bottom:24px; }
.footer-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding-top:24px; border-top:1px solid var(--hair); }
.footer-row .wordmark{ font-size:1rem; }
.footer-fine{ font-size:0.8rem; color:var(--smoke); max-width:70ch; margin-top:18px; line-height:1.6; }

:focus-visible{ outline:1px solid var(--brass); outline-offset:3px; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } *{ transition:none !important; } }
