.doc{padding:80px 0 96px}
.doc .wrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:72px;align-items:start}
.toc{position:sticky;top:100px}
.toc b{display:block;font:600 11.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin-bottom:16px}
.toc ol{list-style:none;padding:0;border-left:1px solid #E4DAD3}
.toc a{display:flex;gap:12px;padding:9px 0 9px 18px;margin-left:-1px;border-left:2px solid transparent;font-size:14.5px;line-height:1.4;color:var(--mute);text-decoration:none;transition:color .25s,border-color .25s}
.toc a span{min-width:30px;font-weight:600;color:var(--ink)}
.toc a:hover,.toc a.on{color:var(--ink);border-left-color:var(--red)}

.art{display:grid;grid-template-columns:90px minmax(0,1fr);gap:24px;padding:44px 0;border-top:1px solid #E9E0DA;scroll-margin-top:100px}
.art:first-child{border-top:0;padding-top:0}
.art .num{font:600 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--red);padding-top:7px}
.art h2{font:500 22px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px}
.art ol{padding-left:22px;color:#4F4642;max-width:46em}
.art ol>li{padding-left:6px;margin-bottom:14px;line-height:1.75}
.art ol>li::marker{color:var(--mute);font-weight:500}
.art ul{list-style:none;padding:0;margin:14px 0 4px}
.art ul li{position:relative;padding:6px 0 6px 24px}
.art ul li::before{content:"";position:absolute;left:2px;top:18px;width:9px;height:2px;background:var(--red)}
.card{display:grid;grid-template-columns:max-content 1fr;gap:10px 28px;margin:16px 0 4px;padding:22px 26px;background:#fff;border:1px solid #EEE5DE;border-radius:4px}
.card dt{font:600 11.5px/1.9 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.card dd{margin:0;color:#4F4642}
.card a{color:#4F4642;text-decoration:none;border-bottom:1px solid #D3C7BF;transition:color .25s,border-color .25s}
.card a:hover{color:var(--red);border-color:var(--red)}
.sign{margin-top:12px;padding-top:28px;border-top:1px solid #E9E0DA;color:var(--mute)}
.sign b{display:block;margin-top:10px;font:400 36px/1 var(--script);color:var(--ink)}
.back{margin-top:40px}

@media (max-width:980px){
  .doc{padding:48px 0 64px}
  .doc .wrap{grid-template-columns:1fr;gap:36px}
  .toc{position:static}
  .art{grid-template-columns:1fr;gap:10px;padding:32px 0}
  .art .num{padding-top:0}
  .art h2{font-size:18px}
  .card{grid-template-columns:1fr;gap:2px;padding:18px}
  .card dd{margin-bottom:10px}
}

/* terms: clause numbers in their own column, same rhythm as the privacy policy */
.art ol.cl{list-style:none;padding:0;max-width:48em}
.art ol.cl>li{position:relative;padding:7px 0 7px 54px;margin:0;line-height:1.75;color:#4F4642}
.art ol.cl>li>b{position:absolute;left:0;top:7px;font-weight:600;color:var(--mute);font-variant-numeric:tabular-nums}
.art ol.cl ol.cl{margin-top:6px}
.art ol.cl ol.cl>li{padding-left:62px}
.art ol.cl ul{list-style:none;padding:6px 0 0}
.art ol.cl ul li{position:relative;padding:5px 0 5px 24px}
.art ol.cl ul li::before{content:"";position:absolute;left:2px;top:18px;width:9px;height:2px;background:var(--red)}
.art a{color:var(--ink)}
.art a:hover{color:var(--red)}

.fill-note{max-width:48em;margin:0 0 36px}
@media (max-width:980px){.art ol.cl>li{padding-left:44px}.art ol.cl ol.cl>li{padding-left:44px}}
