/* Plush Garage. Copyright (c) 2026. All rights reserved.
   Not licensed for reuse, redistribution or derivative works. */
.legal{
  display:grid;grid-template-columns:15rem minmax(0,1fr);
  gap:0 3rem;align-items:start;
}
@media(max-width:64rem){ .legal{grid-template-columns:1fr;gap:1.5rem} }

.legal-doc{max-width:38rem;min-width:0}

.toc{
  position:sticky;top:1rem;display:flex;flex-direction:column;gap:.15rem;
  max-height:calc(100vh - 2rem);overflow-y:auto;padding-bottom:1rem;
}
.toc h2{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-3);font-weight:600;
  padding:0 .55rem .5rem;
}
.toc a{
  font-size:.82rem;color:var(--ink-2);text-decoration:none;line-height:1.35;
  padding:.4rem .55rem;border-radius:7px;border-left:2px solid transparent;
  display:block;
}
.toc a:hover{background:var(--paper);color:var(--ink)}
.toc a.on{color:var(--accent-ink);background:var(--accent-soft);
          border-left-color:var(--accent);font-weight:600}

@media(max-width:64rem){
  .toc{position:static;max-height:none;overflow:visible;
       background:var(--paper);border:1px solid var(--line);border-radius:14px;
       padding:1rem .8rem}
  .toc a{padding:.5rem .55rem}
}

.legal-head{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0 1.75rem}
.legal-head .kicker{
  font-family:var(--mono);font-size:.64rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--accent-ink);font-weight:600;
}
.legal-meta{
  display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;padding-top:.5rem;
  border-top:1px solid var(--line);font-size:.78rem;color:var(--ink-3);
}
.legal-meta b{font-weight:600;color:var(--ink-2)}
.legal-meta .m{font-family:var(--mono);font-variant-numeric:tabular-nums}

.legal-doc{counter-reset:sec}
.legal-doc section{
  counter-reset:cl;counter-increment:sec;
  padding:1.9rem 0;border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:.85rem;
  scroll-margin-top:1.5rem;
}
.legal-doc section:first-of-type{border-top:none;padding-top:.5rem}

.legal-doc section > h2{
  display:grid;grid-template-columns:2.6rem 1fr;gap:.6rem;align-items:baseline;
  font-size:1.16rem;
}
.legal-doc section > h2::before{
  content:counter(sec);
  font-family:var(--mono);font-size:.82rem;font-weight:600;color:var(--accent);
  font-variant-numeric:tabular-nums;letter-spacing:.02em;
}
.legal-doc h3{
  margin-top:.6rem;padding-left:3.2rem;font-size:.95rem;color:var(--ink);
}

.cl{
  counter-increment:cl;
  display:grid;grid-template-columns:2.6rem 1fr;gap:.6rem;
  font-size:.94rem;color:var(--ink-2);
}
.cl::before{
  content:counter(sec) "." counter(cl);
  font-family:var(--mono);font-size:.74rem;color:var(--ink-3);
  font-variant-numeric:tabular-nums;padding-top:.28rem;
}
.cl > b, .cl strong{color:var(--ink);font-weight:660}

.legal-doc section > p:not(.cl):not(.fine){
  padding-left:3.2rem;font-size:.94rem;color:var(--ink-2);
}
.legal-doc section > .fine{padding-left:3.2rem}
.legal-doc section > ul, .legal-doc section > ol{
  margin:0;padding-left:4.4rem;font-size:.92rem;color:var(--ink-2);
  display:flex;flex-direction:column;gap:.4rem;
}
.cl ul,.cl ol{margin:.5rem 0 0;padding-left:1.1rem;
              display:flex;flex-direction:column;gap:.35rem}
.legal-doc a{color:var(--accent-ink);text-decoration:underline;
             text-underline-offset:2px}

@media(max-width:34rem){

  .legal-doc section > h2{grid-template-columns:1fr;gap:.15rem}
  .legal-doc section > h2::before{display:block}
  .cl{grid-template-columns:1fr;gap:.1rem}
  .cl::before{padding-top:0}
  .legal-doc h3,
  .legal-doc section > p:not(.cl):not(.fine),
  .legal-doc section > .fine{padding-left:0}
  .legal-doc section > ul,.legal-doc section > ol{padding-left:1.15rem}
}

.def{color:var(--accent-ink);font-weight:660}

.plain{
  grid-column:2;margin-top:.15rem;padding:.55rem .8rem;
  background:var(--accent-soft);border-left:2px solid var(--accent-line);
  border-radius:0 8px 8px 0;font-size:.83rem;color:var(--ink-2);line-height:1.5;
}
.plain::before{
  content:"In plain terms";display:block;font-family:var(--mono);
  font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent-ink);font-weight:600;margin-bottom:.2rem;
}
@media(max-width:34rem){ .plain{grid-column:1} }

.callout{
  padding:1.1rem 1.2rem;border-radius:12px;border:1px solid var(--line);
  background:var(--paper);display:flex;flex-direction:column;gap:.5rem;
  font-size:.9rem;color:var(--ink-2);
}
.callout h3{padding-left:0;margin-top:0;font-size:.92rem;color:var(--ink)}
.callout.warn{border-color:color-mix(in srgb,var(--warn) 34%,var(--line));
              background:color-mix(in srgb,var(--warn) 5%,var(--paper))}
.callout.warn h3{color:var(--warn)}
.callout.key{border-color:var(--accent-line);background:var(--accent-soft)}
.callout.key h3{color:var(--accent-ink)}
.callout .cap{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;
              text-transform:uppercase;color:var(--ink-3);font-weight:600}

.addr{
  font-family:var(--mono);font-size:.82rem;line-height:1.7;color:var(--ink-2);
  background:var(--paper);border:1px solid var(--line);border-radius:12px;
  padding:1rem 1.15rem;white-space:pre-line;
}

.todo{
  background:color-mix(in srgb,var(--warn) 15%,var(--paper));
  color:var(--warn);font-family:var(--mono);font-size:.82em;font-weight:600;
  padding:.05em .4em;border-radius:5px;
  border:1px dashed color-mix(in srgb,var(--warn) 45%,transparent);
  white-space:nowrap;
}

.dtable{width:100%;border-collapse:collapse;font-size:.86rem;margin-left:0}
.legal-doc section > .dtable-wrap{padding-left:3.2rem}
@media(max-width:34rem){ .legal-doc section > .dtable-wrap{padding-left:0} }

.dtable-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.dtable th,.dtable td{
  text-align:left;vertical-align:top;padding:.6rem .7rem;
  border-bottom:1px solid var(--line);
}
.dtable th{
  font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-3);font-weight:600;
  border-bottom-color:var(--ink-3);white-space:nowrap;
}
.dtable td{color:var(--ink-2)}
.dtable td:first-child{color:var(--ink);font-weight:620}
.dtable tr:last-child td{border-bottom:none}

.nutrition{
  border:1.5px solid var(--ink);border-radius:14px;background:var(--paper);
  overflow:hidden;margin-bottom:2rem;
}
.nutrition-head{
  padding:.9rem 1.15rem;border-bottom:1.5px solid var(--ink);
  display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:baseline;
}
.nutrition-head h2{font-size:1.05rem;letter-spacing:-.015em}
.nutrition-head .as-of{
  font-family:var(--mono);font-size:.66rem;color:var(--ink-3);margin-left:auto;
  font-variant-numeric:tabular-nums;
}
.nutrition-head p{
  flex-basis:100%;font-size:.8rem;color:var(--ink-3);line-height:1.45;
}

.n-group{border-bottom:1px solid var(--line)}
.n-group:last-child{border-bottom:none}
.n-group > h3{
  padding:.7rem 1.15rem .1rem;font-family:var(--mono);font-size:.62rem;
  letter-spacing:.12em;text-transform:uppercase;font-weight:600;
}
.n-group.take > h3{color:var(--accent-ink)}
.n-group.dont > h3{color:var(--ink-3)}
.n-rows{display:flex;flex-direction:column;padding:.35rem 0 .8rem}
.n-row{
  display:grid;grid-template-columns:1.4rem 11rem minmax(0,1fr);
  gap:.1rem .7rem;align-items:baseline;padding:.42rem 1.15rem;font-size:.86rem;
}
.n-row .ic{
  font-family:var(--mono);font-size:.9rem;line-height:1.3;text-align:center;
  color:var(--accent);font-weight:700;
}
.n-group.dont .n-row .ic{color:var(--ink-3)}
.n-row .what{font-weight:640;color:var(--ink)}
.n-row .why{color:var(--ink-2);font-size:.83rem;line-height:1.45}
.n-row .why em{font-style:normal;color:var(--ink-3)}
@media(max-width:44rem){

  .n-row{grid-template-columns:1.4rem minmax(0,1fr)}
  .n-row .why{grid-column:2}
}

.n-foot{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));
  border-top:1.5px solid var(--ink);
}
.n-foot div{
  padding:.75rem 1.15rem;border-right:1px solid var(--line);
  display:flex;flex-direction:column;gap:.1rem;
}
.n-foot div:last-child{border-right:none}
.n-foot .k{
  font-family:var(--mono);font-size:.58rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-3);font-weight:600;
}
.n-foot .v{font-size:.9rem;font-weight:660;color:var(--ink);line-height:1.3}
.n-foot .s{font-size:.74rem;color:var(--ink-3);line-height:1.4}

.hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}
.hub a{
  padding:1.15rem 1.25rem;text-decoration:none;color:inherit;
  display:flex;flex-direction:column;gap:.4rem;
}
.hub a:hover{border-color:var(--accent-line);background:var(--accent-soft)}
.hub .t{font-size:1rem;font-weight:670;color:var(--ink);letter-spacing:-.01em}
.hub p{font-size:.85rem;color:var(--ink-2);line-height:1.5}
.hub .m{
  font-family:var(--mono);font-size:.6rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-3);margin-top:auto;padding-top:.4rem;
}

@media print{
  .toc,.topbar,.foot,.legal-doc .btn,.hub{display:none !important}
  .legal{display:block}
  .legal-doc{max-width:none}
  body{background:#fff;color:#000;font-size:10.5pt}
  .card,.callout,.addr,.nutrition{
    background:#fff;border-color:#999;break-inside:avoid;
  }
  .legal-doc section{break-inside:auto;border-top:1px solid #999}
  .cl,.n-row,.plain{break-inside:avoid}
  .legal-doc h2,.legal-doc h3{break-after:avoid}
  .legal-doc a{color:#000;text-decoration:underline}

  .legal-doc a[href^="http"]::after{
    content:" (" attr(href) ")";font-family:monospace;font-size:.82em;color:#444;
  }
  .todo{border:1px solid #000;background:#fff;color:#000}
}
