:root{
  --doc-paper:#FDFDFA;
  --doc-w:74ch;
  --toc-w:16rem;
  --doc-rule:rgba(60,66,40,.14);
  --doc-rule-2:rgba(60,66,40,.3);
}

body.doc{background-image:none;background-color:var(--doc-paper)}
body.doc .hdr{background:color-mix(in srgb, var(--doc-paper) 86%, transparent)}
body.doc .hdr.is-stuck{background:color-mix(in srgb, var(--doc-paper) 96%, transparent)}

.readbar{
  position:fixed;inset-inline:0;top:var(--hdr-h);height:2px;z-index:110;
  background:var(--gold);transform:scaleX(0);transform-origin:100% 50%;
}

.crumbs{
  padding-top:calc(var(--hdr-h) + var(--sp-4));font-size:var(--t-mini);
  color:var(--ink-3);display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;line-height:1.9;
}
.crumbs a{color:var(--ink-2);border-bottom:1px solid transparent;transition:border-color .25s,color .25s}
.crumbs a:hover{color:var(--olive);border-bottom-color:var(--olive)}

.doc-head{
  padding-block:clamp(1.6rem,3.6vw,2.6rem) clamp(1.4rem,3vw,2.2rem);
  margin-top:var(--sp-3);border-top:2px solid var(--olive);
}
.doc-kind{
  font-size:var(--t-mini);font-weight:600;color:var(--gold-2);line-height:1.9;
}
.doc-head h1{
  margin-top:.35rem;font-family:var(--f-disp);font-weight:700;
  font-size:var(--t-h2);line-height:var(--lh-h);color:var(--olive-2);
}
.doc-sub{
  margin-top:.7rem;color:var(--ink-2);font-size:var(--t-lead);
  line-height:var(--lh-lead);max-width:66ch;
}
.doc-meta{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0 clamp(1rem,3vw,2.4rem);
  margin-top:clamp(1.3rem,2.8vw,2rem);padding-top:var(--sp-3);
  border-top:1px solid var(--doc-rule);
}
.doc-meta div{display:flex;flex-direction:column;gap:.1rem}
.doc-meta dt{font-size:var(--t-mini);color:var(--ink-3);line-height:1.9}
.doc-meta dd{margin:0;font-size:var(--t-cap);font-weight:600;color:var(--ink);line-height:1.9}
.doc-scope{
  margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--doc-rule);
  font-size:var(--t-cap);color:var(--ink-2);line-height:var(--lh-body);max-width:74ch;
}
.doc-scope b{color:var(--ink);font-weight:600}

.doc-grid{
  display:grid;grid-template-columns:var(--toc-w) minmax(0,1fr);
  gap:clamp(1.6rem,4vw,3.6rem);align-items:start;
  padding-block:clamp(1.6rem,3.4vw,2.6rem) var(--sec-y);
  border-top:1px solid var(--doc-rule);
}
.toc{grid-column:1;grid-row:1;position:sticky;top:calc(var(--hdr-h) + 1.6rem)}
.legal{grid-column:2;grid-row:1;max-width:var(--doc-w)}
.toc-in{max-height:calc(100dvh - var(--hdr-h) - 4rem);overflow:auto;padding-inline-end:.4rem}
.toc-h{
  font-size:var(--t-mini);font-weight:700;color:var(--olive);line-height:1.9;
  padding-bottom:.5rem;margin-bottom:.4rem;border-bottom:1px solid var(--doc-rule);
}
.toc a{
  display:block;padding:.34rem 0 .34rem .5rem;font-size:var(--t-mini);
  color:var(--ink-2);line-height:1.75;position:relative;
  transition:color .25s var(--ease), padding-inline-start .25s var(--ease);
}
.toc a::before{
  content:'';position:absolute;inset-inline-start:-.7rem;top:50%;translate:0 -50%;
  width:2px;height:0;background:var(--gold);transition:height .3s var(--ease);
}
.toc a:hover{color:var(--ink)}
.toc a.is-here{color:var(--olive);font-weight:600}
.toc a.is-here::before{height:1.1em}

.legal .lead{
  font-size:var(--t-lead);line-height:var(--lh-lead);color:var(--ink-2);
  padding-bottom:var(--sp-4);
}
.legal h2{
  position:relative;font-family:var(--f-disp);font-weight:700;font-size:var(--t-h3);
  line-height:var(--lh-h);color:var(--olive-2);
  margin-top:clamp(2.2rem,4.4vw,3.2rem);padding-top:var(--sp-3);
  border-top:1px solid var(--doc-rule-2);
  scroll-margin-top:calc(var(--hdr-h) + 1.4rem);
}
.legal h2 .sec-n{color:var(--gold-2);font-variant-numeric:tabular-nums;margin-inline-end:.35rem}
.legal h2 .anchor{
  position:absolute;inset-inline-start:0;top:calc(var(--sp-3) + .1em);
  color:var(--gold);opacity:0;font-size:var(--t-cap);font-family:var(--f-body);
  transition:opacity .25s var(--ease);
}
.legal h2:hover .anchor{opacity:1}
.legal h3{
  font-family:var(--f-disp);font-weight:700;font-size:var(--t-cap);color:var(--olive);
  line-height:var(--lh-h);margin-top:var(--sp-5);
}
.legal p{margin-top:var(--sp-3);color:var(--ink-2);font-size:var(--t-cap);line-height:var(--lh-body)}
.legal p b,.legal li b,.legal dd b{color:var(--ink);font-weight:600}
.legal ul{margin-top:var(--sp-3);display:grid;gap:.4rem}
.legal li{
  position:relative;padding-inline-start:1.25rem;color:var(--ink-2);
  font-size:var(--t-cap);line-height:var(--lh-body);
}
.legal li::before{
  content:'';position:absolute;inset-inline-start:.3rem;top:.85em;
  width:5px;height:5px;border-radius:50%;background:var(--gold);
}
.legal a{color:var(--gold-2);border-bottom:1px solid rgba(169,124,37,.28);transition:border-color .25s}
.legal a:hover{border-bottom-color:var(--gold)}
.legal span[dir="ltr"]{font-variant-numeric:tabular-nums}

.legal .card{
  margin-top:var(--sp-4);display:grid;gap:0;
  border-top:1px solid var(--doc-rule);border-bottom:1px solid var(--doc-rule);
}
.legal .card p{
  margin:0;padding-block:.62rem;font-size:var(--t-cap);
  border-top:1px solid var(--doc-rule);
}
.legal .card p:first-child{border-top:0}

.legal .callout{
  margin-top:var(--sp-4);padding-inline-start:clamp(.9rem,2.4vw,1.4rem);
  border-inline-start:2px solid var(--gold);
}
.legal .callout p{margin-top:.45rem;color:var(--ink)}
.legal .callout p:first-child{margin-top:0}

.doc-end{
  margin-top:clamp(1.8rem,3.6vw,2.6rem);padding-block:var(--sp-4) var(--sec-y);
  border-top:2px solid var(--olive);
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  gap:.7rem var(--sp-4);font-size:var(--t-mini);color:var(--ink-3);line-height:1.95;
}
.doc-end b{color:var(--ink-2)}
.doc-link{
  font-size:var(--t-cap);font-weight:600;color:var(--gold-2);
  border-bottom:1px solid rgba(169,124,37,.3);padding-bottom:2px;
  transition:border-color .25s var(--ease);
}
.doc-link:hover{border-bottom-color:var(--gold)}

@media (max-width:1000px){
  .doc-grid{grid-template-columns:1fr;gap:clamp(1.2rem,3vw,2rem)}
  .toc,.legal{grid-column:1}
  .toc{position:static;grid-row:1}
  .legal{grid-row:2;max-width:none}
  .toc-in{max-height:none;padding-inline-end:0}
  .toc-list{display:flex;flex-wrap:wrap;gap:.3rem .9rem}
  .toc a{padding:.24rem 0}
  .toc a::before{display:none}
  .toc a.is-here{text-decoration:underline;text-underline-offset:4px}
  .doc-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3) clamp(1rem,4vw,2rem)}
}
@media (max-width:340px){
  .doc-meta{grid-template-columns:1fr}
}

@media print{
  .hdr,.readbar,.toc,.crumbs,.ft-social,.ft-col{display:none!important}
  body.doc{background:#fff;color:#000}
  .doc-grid{display:block;padding:0;border:0}
  .legal{max-width:none}
  .legal h2{break-after:avoid}
  .legal .callout,.legal .card{break-inside:avoid}
  .legal a{color:#000;border:0}
  .ft{border-top:1px solid #999;background:#fff}
}

.ad-slot { text-align: center; margin: 20px 0 8px; }
.ad-slot.flush { padding-top: 0; padding-bottom: 24px; margin: 0; }
.ad-aside { max-width: 480px; margin: 6px auto 42px; padding: 0 20px; text-align: center; }
.ad-aside.wide { max-width: 760px; margin: 24px auto 8px; padding: 0; }
.ad-note { font-size: 10px; font-weight: 700; opacity: .45; margin-bottom: 6px; }
ins.adsbygoogle { display: block; }

.ad-slot, .ad-aside, .read-ad { display: none; }
html.ads-on .ad-slot, html.ads-on .ad-aside { display: block; }
html.ads-on .read-ad { display: block; }
html.ads-on .read-ad[hidden] { display: none; }

ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important; }
