/* legal page styles (load after base.css) */
.l-hero{position:relative;padding:clamp(130px,17vh,190px) 0 clamp(40px,5vw,64px);overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.l-hero::before{content:"";position:absolute;right:-12vw;top:-30%;width:60vw;height:130%;background:radial-gradient(closest-side,rgba(255,0,200,.12),transparent 70%);z-index:-1}
.l-hero .bgmark{position:absolute;right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));top:50%;width:clamp(160px,22vw,300px);transform:translateY(-42%);opacity:.08;z-index:-1}
.l-hero .bgmark path{fill:var(--pink)}
.ltag{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2);margin-bottom:22px}
.ltag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 12px var(--pink)}
.l-hero h1{font-size:clamp(46px,6.4vw,104px);font-weight:500;letter-spacing:-.05em;line-height:.95}
.l-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:26px;font-size:14px;color:var(--ink-3)}
.l-meta b{font-weight:500;color:var(--ink-2)}
.docs{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.docs a{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;font-size:14px;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2);transition:background .3s,color .3s,box-shadow .3s}
.docs a:hover{color:var(--ink);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.docs a[aria-current="page"]{background:var(--ink);color:var(--space);box-shadow:none}

.l-body{padding:clamp(48px,6vw,90px) 0 clamp(80px,9vw,140px)}
.l-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(40px,6vw,100px);align-items:start}
.toc{position:sticky;top:110px}
.toc h2{font-size:13px;font-weight:500;color:var(--ink-3);margin-bottom:14px}
.toc-list{position:relative}
.toc ol{list-style:none;display:flex;flex-direction:column;gap:2px;padding-left:16px}
.toc ol::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:1px;background:var(--line-2)}
.toc .ind{position:absolute;left:0;width:1px;background:var(--pink);top:0;height:0;transition:top .4s var(--ease),height .4s var(--ease)}
.toc a{display:grid;grid-template-columns:24px 1fr;gap:6px;padding:6px 0;font-size:14px;line-height:1.35;color:var(--ink-3);transition:color .3s}
.toc a span{font-variant-numeric:tabular-nums}
.toc a:hover{color:var(--ink-2)}
.toc a.on{color:var(--ink)}
.toc a.on span{color:var(--pink)}
.toc-actions{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;font-size:14px}
.toc-actions button,.toc-actions a{display:inline-flex;align-items:center;gap:10px;color:var(--ink-2);transition:color .3s}
.toc-actions button:hover,.toc-actions a:hover{color:var(--ink)}
.toc-actions svg{width:16px;height:16px}
.mtoc{display:none}
.read-bar{position:fixed;left:0;right:0;top:0;height:2px;z-index:60;pointer-events:none}
.read-bar i{display:block;height:100%;width:100%;background:var(--pink);transform-origin:left;transform:scaleX(0)}

.doc{max-width:72ch}
.sect{padding-top:8px;margin-bottom:clamp(44px,5vw,64px);scroll-margin-top:110px}
.sect h2{display:flex;align-items:baseline;gap:16px;font-size:clamp(24px,2.2vw,32px);font-weight:500;letter-spacing:-.03em;line-height:1.1;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.sect h2 .n{font-size:15px;color:var(--pink);font-variant-numeric:tabular-nums;min-width:1.6em;letter-spacing:0}
.sect h2 .t{flex:1}
.sect h2 .cp{opacity:0;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3);transition:opacity .3s,background .3s,color .3s;align-self:center;flex:none}
.sect h2 .cp svg{width:15px;height:15px}
.sect:hover h2 .cp,.sect h2 .cp:focus-visible{opacity:1}
@media (hover:none){.sect h2 .cp{opacity:1}}
.sect h2 .cp:hover{background:rgba(255,255,255,.06);color:var(--ink)}
.sect h2 .cp.done{opacity:1;color:#39D79C}
.doc p{color:var(--ink-2);margin-bottom:14px;line-height:1.7}
.doc p.cl{display:grid;grid-template-columns:3.6em minmax(0,1fr);gap:0 10px}
.doc p.cl.l3{padding-left:3.6em;grid-template-columns:3.8em minmax(0,1fr)}
.doc p .cn{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:.92em;padding-top:.08em}
.doc a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:3px;transition:color .3s}
.doc a:hover{color:var(--pink)}
.doc a.btn{color:var(--fg);text-decoration:none}
.doc a.btn:hover{color:var(--space)}
.doc .sect h3{font-size:17px;font-weight:500;color:var(--ink);margin:24px 0 10px;display:flex;gap:10px}
.doc .sect h3 .cn{color:var(--ink-3);font-weight:400;font-variant-numeric:tabular-nums;font-size:.92em}
.doc ul{list-style:none;margin:0 0 18px 3.6em;display:flex;flex-direction:column;gap:8px}
.doc ul li{position:relative;padding-left:22px;color:var(--ink-2);line-height:1.65}
.doc ul li::before{content:"";position:absolute;left:2px;top:.72em;width:7px;height:7px;border-radius:2px;background:var(--pink);transform:rotate(45deg)}
.doc dl{margin:4px 0 20px 3.6em;border-radius:var(--r-md);border:1px solid var(--line);overflow:hidden}
.doc dl div{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:16px;padding:14px 18px;border-top:1px solid var(--line)}
.doc dl div:first-child{border-top:0}
.doc dl div:nth-child(odd){background:rgba(255,255,255,.018)}
.doc dt{font-weight:500;color:var(--ink);font-size:15px}
.doc dd{color:var(--ink-2);font-size:15.5px;line-height:1.6}
.doc dl div.solo{grid-template-columns:1fr}
.contact-box{margin-top:clamp(40px,5vw,64px);border-radius:var(--r-lg);border:1px solid var(--pink-soft);background:radial-gradient(70% 90% at 100% 0%,rgba(255,0,200,.12),transparent 60%),var(--space-2);padding:clamp(24px,3vw,36px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
.contact-box h3{font-size:22px;font-weight:500;letter-spacing:-.02em}
.contact-box p{color:var(--ink-2);margin-top:6px;font-size:15px}
.contact-box .acts{display:flex;gap:10px;flex-wrap:wrap}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;padding:12px 18px;border-radius:999px;background:var(--ink);color:var(--space);font-size:14px;font-weight:500;z-index:80;transition:opacity .3s,transform .4s var(--ease-out);pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}

@media print{
  .nav,.mnav,.toc,.mtoc,.docs,.cta,footer,.read-bar,.contact-box,.bgmark{display:none!important}
  body,html{background:#fff!important;color:#000}
  .l-hero{padding:0 0 20px;border:0}.l-hero h1{font-size:32pt}
  .l-grid{display:block}.doc p,.doc dd,.doc ul li{color:#222}.doc dt,.sect h2{color:#000}
}
@media (max-width:1080px){
  .l-grid{grid-template-columns:1fr}
  .toc{display:none}
  .mtoc{display:block;border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--space-2);margin-bottom:36px}
  .mtoc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;cursor:pointer;font-size:15px}
  .mtoc summary::-webkit-details-marker{display:none}
  .mtoc summary svg{width:12px;transition:transform .4s var(--ease)}
  .mtoc[open] summary svg{transform:rotate(180deg)}
  .mtoc ol{list-style:none;padding:0 18px 14px;display:flex;flex-direction:column}
  .mtoc a{display:grid;grid-template-columns:28px 1fr;padding:9px 0;font-size:15px;color:var(--ink-2);border-top:1px solid var(--line)}
  .mtoc a span{color:var(--pink)}
  .l-hero .bgmark{display:none}
}
@media (max-width:720px){
  .doc p.cl{grid-template-columns:1fr;gap:2px}
  .doc p.cl.l3{padding-left:1em;grid-template-columns:1fr}
  .doc ul,.doc dl{margin-left:0}
  .doc dl div{grid-template-columns:1fr;gap:4px}
}
