/* ===================== LEGAL · imprint · privacy · terms ===================== */
.tn{font-variant-numeric:tabular-nums}

/* ---------- hero ---------- */
.lgh{padding-block:calc(env(safe-area-inset-top,0px) + 150px) clamp(60px,7vw,110px)}
.lgh-k{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 22px}
.lgh-kl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.lg-tri{display:flex;flex-wrap:wrap;gap:4px}
.lg-tri a{font:700 12px/1 var(--f);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);padding:8px 11px;border:1px solid var(--ln);transition:color .25s,border-color .25s}
.lg-tri a:hover{color:var(--fg);border-color:var(--fg)}
.lg-tri a[aria-current]{color:var(--noturno);background:var(--vul);border-color:var(--vul)}
.lgh-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:30px 64px;align-items:end;margin-top:clamp(50px,7vw,110px)}
.lgh h1{font-size:clamp(72px,min(15vw,26vh),280px);font-weight:800;letter-spacing:-.07em;line-height:.8}
.lgh h1 span{color:var(--vul)}
.lgh-sub{margin-top:clamp(18px,2vw,30px);font-size:clamp(19px,1.6vw,26px);font-weight:700;letter-spacing:-.02em;line-height:1.3;max-width:30ch}
.lgh-sub em{font-style:normal;color:var(--mut);font-weight:600}
.lgh-m{margin:0;border-top:1px solid var(--ln)}
.lgh-m div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--ln)}
.lgh-m dt{font:600 10.5px/1.7 var(--f);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.lgh-m dd{margin:0;font-size:14.5px;font-weight:600;line-height:1.45}
.lgh-m dd a{border-bottom:1px solid var(--vul)}

/* ---------- reading band ---------- */
.lgb{padding-block:clamp(70px,8vw,120px) clamp(90px,10vw,160px)}
.lgb-g{display:grid;grid-template-columns:minmax(200px,270px) minmax(0,760px);justify-content:space-between;gap:40px clamp(40px,6vw,120px);align-items:start}
.lg-toc{position:sticky;top:120px;display:grid;gap:14px}
.lg-toc ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--fg)}
.lg-toc li a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:10px 0 10px 0;border-bottom:1px solid var(--ln);font-size:14px;font-weight:600;line-height:1.35;color:var(--mut);transition:color .25s,padding-left .35s var(--eo)}
.lg-toc li a span{font:500 11px/1.8 var(--m);color:var(--mut)}
.lg-toc li a:hover{color:var(--fg)}
.lg-toc li a.on{color:var(--fg);padding-left:10px;box-shadow:inset 3px 0 0 var(--ac)}
.lg-toc li a.on span{color:var(--ac)}
.lg-toc .rt{font:500 11.5px/1.4 var(--m);color:var(--mut)}

.lg-note{margin:0 0 clamp(40px,5vw,64px);border:1.5px dashed var(--line2);background:color-mix(in srgb,var(--fg) 4%,transparent)}
.lg-note summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;font:500 11.5px/1.3 var(--m);color:var(--mut)}
.lg-note summary::-webkit-details-marker{display:none}
.lg-note summary b{font-weight:500;color:var(--ac)}
.lg-note summary i{font-style:normal;color:var(--mut)}
.lg-note[open] summary i::before{content:"hide"}
.lg-note:not([open]) summary i::before{content:"show"}
.lg-note ul{margin:0;padding:0 18px 18px 36px;display:grid;gap:9px;font-size:14.5px;line-height:1.5}
.lg-note li::marker{color:var(--ac)}
.lg-note code{font:500 12.5px/1 var(--m);padding:2px 5px;background:color-mix(in srgb,var(--fg) 8%,transparent)}
.lg-note .ft{padding:0 18px 16px;font-size:12.5px;color:var(--mut)}

.lg-a{counter-reset:none}
.lg-a section{scroll-margin-top:110px;padding-top:clamp(34px,4vw,56px)}
.lg-a section:first-of-type{padding-top:0}
.lg-a h2{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 14px;align-items:baseline;font-size:clamp(26px,2.6vw,40px);font-weight:800;letter-spacing:-.045em;line-height:1.05;padding-bottom:16px;margin-bottom:22px;border-bottom:1px solid var(--fg)}
.lg-a h2 .n{font:500 13px/1 var(--m);letter-spacing:0;color:var(--ac)}
.lg-a h3{font-size:clamp(18px,1.5vw,22px);font-weight:800;letter-spacing:-.025em;line-height:1.2;margin:30px 0 10px}
.lg-a h4{font-size:16px;font-weight:700;letter-spacing:-.01em;margin:22px 0 6px}
.lg-a p{font-size:17px;line-height:1.72;max-width:68ch;color:color-mix(in srgb,var(--fg) 88%,var(--bg))}
.lg-a p+p{margin-top:14px}
.lg-a a{border-bottom:1.5px solid var(--ac)}
.lg-a ul,.lg-a ol.lg-l{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:10px;max-width:68ch}
.lg-a ul li,.lg-a ol.lg-l li{position:relative;padding-left:26px;font-size:16.5px;line-height:1.6}
.lg-a ul li::before{content:"";position:absolute;left:2px;top:.78em;width:12px;height:2px;background:var(--ac)}
.lg-a ol.lg-l li b:first-child{position:absolute;left:0;font:500 13px/1.9 var(--m);color:var(--ac)}
.lg-a .mono{font-size:.92em}
.lg-last{margin-top:clamp(40px,5vw,70px);padding-top:18px;border-top:2px solid var(--ac);font:500 12.5px/1.5 var(--m);color:var(--mut)}

/* address / register card */
.lg-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:0;margin-top:6px;border:1px solid var(--fg)}
.lg-card>div{padding:18px 20px}
.lg-card>div+div{border-left:1px solid var(--ln)}
.lg-card b{display:block;font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.3}
.lg-card address{font-style:normal;font-size:16px;line-height:1.6;margin-top:6px}
.lg-kv{margin:0;display:grid}
.lg-kv div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;padding:9px 0;border-bottom:1px solid var(--ln)}
.lg-kv div:last-child{border-bottom:0}
.lg-card .lg-kv div{grid-template-columns:128px minmax(0,1fr)}
.lg-kv dt{font:600 10.5px/1.9 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.lg-kv dd{margin:0;font-size:15.5px;font-weight:700;line-height:1.45;word-break:break-word}

/* tables */
.lg-tw{overflow-x:auto;margin-top:16px}
.lg-t{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
.lg-t th,.lg-t td{text-align:left;vertical-align:top;padding:12px 16px 12px 0;border-bottom:1px solid var(--ln)}
.lg-t thead th{font:600 10.5px/1.5 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);border-bottom:1px solid var(--fg)}
.lg-t tbody th{font-weight:700}
.lg-t .mono{font-size:13px}
.lg-t .no{color:var(--mut)}

/* rights grid */
.lg-rt{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--fg)}
.lg-rt li{display:grid;gap:6px;align-content:start;padding:16px 18px 18px 0;border-bottom:1px solid var(--ln)}
.lg-rt li:nth-child(even){padding-left:18px;border-left:1px solid var(--ln)}
.lg-rt b{font-size:17px;font-weight:800;letter-spacing:-.02em}
.lg-rt span{font:500 11.5px/1 var(--m);color:var(--ac)}
.lg-rt p{font-size:15px!important;line-height:1.55!important}

.lg-a .lg-rt{gap:0;max-width:none}
.lg-a .lg-rt li{padding-left:0;font-size:inherit}
.lg-a .lg-rt li::before{display:none}
.lg-a .lg-rt li:nth-child(even){padding-left:18px}

/* terms clauses */
.lg-cl{margin:0;display:grid;gap:14px}
.lg-cl>div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px}
.lg-cl dt{font:500 13px/1.95 var(--m);color:var(--ac)}
.lg-cl dd{margin:0}
.lg-cl dd p{margin:0}
.lg-cl .ab{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:6px}
.lg-cl .ab li{padding-left:28px!important}
.lg-cl .ab li::before{content:attr(data-l)!important;background:none!important;width:auto!important;height:auto!important;top:0!important;font:500 13px/1.75 var(--m);color:var(--mut)}

/* ---------- responsive ---------- */
@media (max-width:1100px){.lgh-g{grid-template-columns:1fr}}
@media (max-width:900px){
  .lgb-g{grid-template-columns:1fr}
  .lg-toc{position:static}
  .lg-toc ol{display:flex;gap:6px;overflow-x:auto;border-top:0;padding-bottom:6px}
  .lg-toc li{flex:none}
  .lg-toc li a{display:flex;gap:6px;padding:8px 11px;border:1px solid var(--ln);white-space:nowrap}
  .lg-toc li a.on{padding-left:11px;box-shadow:none;border-color:var(--ac)}
}
@media (max-width:760px){
  .lgh{padding-top:calc(env(safe-area-inset-top,0px) + 120px)}
  .lg-tri a{padding:7px 9px;font-size:10.5px;letter-spacing:.08em}
  .lgh-k>.label{display:none}
  .lgh-m div,.lg-kv div{grid-template-columns:1fr;gap:3px}
  .lg-card{grid-template-columns:1fr}.lg-card>div+div{border-left:0;border-top:1px solid var(--ln)}
  .lg-rt{grid-template-columns:1fr}.lg-a .lg-rt li:nth-child(even){padding-left:0;border-left:0}
  .lg-a p{font-size:16px}
  .lg-cl>div{grid-template-columns:42px minmax(0,1fr);gap:8px}
  .lg-t.stack thead{display:none}
  .lg-t.stack,.lg-t.stack tbody,.lg-t.stack tr,.lg-t.stack th,.lg-t.stack td{display:block;width:auto}
  .lg-t.stack tr{padding:12px 0;border-bottom:1px solid var(--ln)}
  .lg-t.stack th,.lg-t.stack td{border:0;padding:2px 0}
  .lg-t.stack tbody th{font-size:16px;margin-bottom:4px}
  .lg-t.stack td{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px}
  .lg-t.stack td::before{content:attr(data-h);font:600 10px/1.9 var(--f);letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
  html.fx .hud-bl{display:none}
}
