/* Yarnstick knowledge base - brand skin.
   Same class names as the source build; Yarnstick palette and type. */
:root{
  --forest:#122D1F;--forest-mid:#1E4030;--gold:#D4A830;--gold-light:#F0C84A;
  --cream:#FAF7F2;--charcoal:#1A1A1A;--mut:#5B6270;--line:#E5E0DA;--soft:#FAF7F2;
  --acc:#122D1F;--acc2:#EFF3F0;--nav-h:74px;
}
*{box-sizing:border-box}
html{scroll-padding-top:calc(var(--nav-h) + 58px);scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--charcoal);
  font:16.5px/1.72 'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
a{color:var(--forest);text-decoration:none;border-bottom:1px solid rgba(18,45,31,.25)}
a:hover{color:var(--gold);border-bottom-color:var(--gold)}

/* ---- site nav ---- */
nav.brandnav{position:fixed;top:0;left:0;right:0;z-index:900;height:var(--nav-h);
  background:rgba(18,45,31,.98);backdrop-filter:blur(16px);display:flex;align-items:center;
  justify-content:space-between;padding:0 5vw;border-bottom:1px solid rgba(212,168,48,.3)}
nav.brandnav .nav-brand{display:flex;align-items:center;gap:.7rem;border:0}
nav.brandnav .nav-mark{width:38px;height:38px;border-radius:50%;background:var(--gold);
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
nav.brandnav .nav-mark b{font-family:'Playfair Display',serif;font-weight:900;font-size:1.3rem;
  color:var(--forest);line-height:1}
nav.brandnav .nav-word{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;
  color:#fff;letter-spacing:4px;text-transform:uppercase}
nav.brandnav ul{display:flex;gap:1.7rem;list-style:none;align-items:center;margin:0;padding:0}
nav.brandnav ul a{color:rgba(255,255,255,.75);font-size:.85rem;font-weight:500;border:0;
  letter-spacing:.3px;transition:color .2s;white-space:nowrap}
nav.brandnav ul a:hover,nav.brandnav ul a[aria-current="page"]{color:var(--gold)}
nav.brandnav .nav-cta{background:var(--gold);color:var(--forest)!important;padding:.55rem 1.4rem;
  border-radius:2px;font-weight:700!important}
nav.brandnav .nav-cta:hover{background:var(--gold-light)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.5rem;flex-direction:column;gap:5px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--gold);border-radius:2px;transition:.25s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---- cluster sub-nav ---- */
.kbnav{position:sticky;top:var(--nav-h);z-index:800;background:var(--cream);
  border-bottom:1px solid var(--line)}
.kbnav .in{max-width:1180px;margin:0 auto;padding:11px 24px;display:flex;gap:18px;
  overflow-x:auto;scrollbar-width:none}
.kbnav .in::-webkit-scrollbar{display:none}
.kbnav a{font-size:13px;color:var(--mut);border:0;white-space:nowrap;font-weight:500}
.kbnav a:hover,.kbnav a[aria-current="page"]{color:var(--forest);font-weight:700}

.wrap{max-width:830px;margin:0 auto;padding:calc(var(--nav-h) + 8px) 24px 96px}
.crumb{font-size:13px;color:var(--mut);padding:22px 0 0}
.crumb a{color:var(--mut);border:0}
.crumb a:hover{color:var(--forest)}

h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.6vw,2.6rem);line-height:1.14;
  letter-spacing:-.015em;margin:.45em 0 .3em;font-weight:900;color:var(--forest)}
h2{font-family:'Playfair Display',serif;font-size:1.5rem;line-height:1.28;margin:2.4em 0 .6em;
  font-weight:700;color:var(--forest);padding-top:1.1em;border-top:1px solid var(--line)}
h3{font-family:'Playfair Display',serif;font-size:1.13rem;margin:1.8em 0 .45em;font-weight:700;
  color:var(--forest)}
p{margin:0 0 1.15em}

.meta{font-size:13.5px;color:var(--mut);display:flex;gap:8px;flex-wrap:wrap;align-items:center;
  margin-bottom:1.6em;padding-bottom:1.3em;border-bottom:1px solid var(--line)}
.pill{background:var(--forest);color:var(--gold);border-radius:100px;padding:3px 12px;
  font-family:'DM Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase}

.answer-block{background:var(--acc2);border-left:3px solid var(--gold);border-radius:0 6px 6px 0;
  padding:19px 23px;margin:1.6em 0 2em;font-size:1.05rem;line-height:1.62}
.answer-block strong{color:var(--forest)}
.answer-block p{margin:0}

.key-facts{background:var(--cream);border:1px solid var(--line);border-radius:8px;padding:20px 24px;margin:2.2em 0}
.key-facts h2{font-family:'DM Mono',monospace;font-size:.7rem;text-transform:uppercase;
  letter-spacing:.16em;color:var(--mut);margin:0 0 .8em;border:0;padding:0;font-weight:500}
.key-facts ul{margin:0;padding-left:19px}
.key-facts li{margin:.5em 0;font-size:.95rem}

table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.9rem;display:block;overflow-x:auto}
th,td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
th{background:var(--cream);font-weight:700;color:var(--forest)}
blockquote{margin:1.5em 0;padding:2px 0 2px 20px;border-left:3px solid var(--gold);color:var(--mut)}
code{background:var(--cream);border:1px solid var(--line);border-radius:3px;padding:1px 5px;
  font:.88em 'DM Mono',monospace}
pre{background:var(--forest);color:#fff;border-radius:6px;padding:16px 18px;overflow-x:auto}
pre code{background:none;border:0;color:inherit}

.faq{margin-top:.5em}
.faq h3{font-size:1.04rem;margin:1.5em 0 .4em}
.sources ol{padding-left:20px;font-size:.9rem;color:var(--mut)}
.sources li{margin:.45em 0}
.sources a{color:var(--forest)}

.cta{background:var(--forest);border-radius:8px;padding:1.9rem 2rem;margin:2.6em 0;
  border:1px solid rgba(212,168,48,.25)}
.cta p{color:rgba(255,255,255,.72);margin:0 0 1.1rem;font-size:.97rem}
.cta a{display:inline-block;background:var(--gold);color:var(--forest);font-weight:700;
  padding:.8rem 1.7rem;border-radius:2px;border:0;font-size:.84rem;letter-spacing:1px;
  text-transform:uppercase}
.cta a:hover{background:var(--gold-light);color:var(--forest)}

.related{background:var(--cream);border:1px solid var(--line);border-radius:8px;padding:20px 24px;margin:2.4em 0}
.related h2{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.16em;color:var(--mut);
  font-weight:500;text-transform:uppercase;margin:0 0 .7em;border:0;padding:0}
.related ul{margin:0;padding-left:19px}
.related li{margin:.42em 0;font-size:.93rem}

.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin:1.6em 0}
.card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:1.3rem 1.4rem;
  transition:box-shadow .25s,transform .25s,border-color .25s}
.card:hover{box-shadow:0 12px 34px rgba(18,45,31,.10);transform:translateY(-3px);
  border-color:rgba(212,168,48,.45)}
.card h3{margin:0 0 .45em;font-size:1.02rem;padding:0;border:0}
.card h3 a{border:0}
.card p{margin:0;font-size:.88rem;color:var(--mut);line-height:1.62}

.terms{margin:1.5em 0}
.term{border-top:1px solid var(--line);padding:1.05em 0}
.term dt{font-weight:700;color:var(--forest);font-size:1rem}
.term dd{margin:.35em 0 0;color:var(--mut);font-size:.93rem}
.term .abbr{font-family:'DM Mono',monospace;font-size:.76rem;color:var(--gold);margin-left:.5em}
.term .xref{font-size:.83rem}
.termnav{display:flex;flex-wrap:wrap;gap:7px;margin:1.5em 0}
.termnav a{background:var(--cream);border:1px solid var(--line);border-radius:100px;
  padding:5px 13px;font-size:.8rem;color:var(--forest)}
.termnav a:hover{background:var(--forest);color:#fff;border-color:var(--forest)}
.note{border-left:3px solid var(--gold);padding-left:16px;margin:2em 0;color:var(--mut);font-size:.93rem}

footer.site{background:var(--forest);border-top:3px solid var(--gold);color:rgba(255,255,255,.5);
  font-size:.82rem;padding:2.2rem 5vw}
footer.site .in{max-width:1180px;margin:0 auto;line-height:1.9}
footer.site a{color:var(--gold);border:0}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);color:var(--forest);
  padding:.6rem 1rem;z-index:1000;font-weight:700}
.skip-link:focus{left:0}

@media(max-width:1100px){nav.brandnav ul{gap:1.15rem}}
@media(max-width:900px){
  .nav-toggle{display:flex}
  nav.brandnav ul{display:none;position:absolute;top:var(--nav-h);left:0;right:0;
    flex-direction:column;align-items:flex-start;gap:0;background:#122D1F;
    border-bottom:1px solid rgba(212,168,48,.3);box-shadow:0 18px 40px rgba(0,0,0,.45);
    padding:.5rem 5vw 1.25rem}
  nav.brandnav ul.open{display:flex}
  nav.brandnav ul li{width:100%}
  nav.brandnav ul a{display:block;padding:.85rem 0;font-size:.95rem;
    border-bottom:1px solid rgba(255,255,255,.07)}
  nav.brandnav .nav-cta{margin-top:.75rem;text-align:center;border-bottom:none}
  .cards{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{
  animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
