/* Legal documents (Terms, Privacy) — content styles. Relies on base.css variables.
   Everything is scoped under .legal so it never affects the rest of the site. */
.legal{max-width:820px;counter-reset:sec;padding:40px 0 10px;}
.legal .doc-h1{font-family:var(--sail-font-system);font-weight:500;font-size:clamp(28px,4.4vw,40px);color:var(--plum);line-height:1.12;letter-spacing:-.01em;margin:0 0 6px;}
.legal .doc-sub{font-size:15px;color:var(--rose);font-weight:700;letter-spacing:.02em;margin:0 0 26px;}
.legal .ph{color:var(--rose);font-weight:800;}

.legal .notice{background:#FBEBE1;border:1.5px solid #D98E6A;border-radius:14px;padding:16px 20px;margin:0 0 22px;}
.legal .notice b{display:block;font-family:var(--sail-font-system);font-size:16px;color:#9C3A1E;letter-spacing:.02em;margin-bottom:6px;}
.legal .notice p{margin:0;font-size:14.5px;color:#7A3A24;line-height:1.6;}

.legal .callout{background:#F6E7EC;border:1.5px solid var(--rose);border-radius:14px;padding:16px 20px;margin:8px 0 20px;}
.legal .callout b{display:block;font-family:var(--sail-font-system);font-size:17px;color:var(--plum);margin-bottom:5px;}
.legal .callout p{margin:0;font-size:15px;color:#5B3242;}

.legal .company{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin:0 0 26px;font-size:14.5px;line-height:1.7;}
.legal .company b{color:var(--plum);}

.legal section.par{margin:0 0 26px;counter-increment:sec;}
.legal h2.sec{font-family:var(--sail-font-system);font-weight:500;font-size:22px;color:var(--plum);margin:30px 0 12px;padding-bottom:7px;border-bottom:1px solid var(--line);}
.legal h2.sec .n{color:var(--berry);font-weight:600;}
.legal p.lead-in{margin:0 0 8px;font-size:16px;}
.legal p.body{margin:0 0 12px;font-size:15.5px;}

.legal ol.ust{list-style:none;counter-reset:ust;padding:0;margin:0;}
.legal ol.ust>li{counter-increment:ust;position:relative;padding-left:2.7em;margin:.5em 0;font-size:15.5px;line-height:1.68;}
.legal ol.ust>li::before{content:counter(sec) "." counter(ust);position:absolute;left:0;top:0;font-weight:700;color:var(--berry);min-width:2.4em;}
.legal ol.pkt{list-style:none;counter-reset:pkt;padding:0;margin:.4em 0;}
.legal ol.pkt>li{counter-increment:pkt;position:relative;padding-left:2.3em;margin:.35em 0;font-size:15.5px;line-height:1.68;}
.legal ol.pkt>li::before{content:"(" counter(pkt, lower-latin) ")";position:absolute;left:0;top:0;font-weight:700;color:var(--rose);min-width:2em;}
.legal ul.bul{margin:.4em 0 .6em;padding-left:20px;font-size:15.5px;}
.legal ul.bul li{margin:.3em 0;}
.legal li strong,.legal p.body strong{color:var(--plum);}
.legal a{color:var(--berry);text-decoration:underline;text-underline-offset:2px;}
.legal a:hover{color:var(--plum);}

.legal table.dtl{width:100%;border-collapse:collapse;margin:14px 0;font-size:13.8px;}
.legal table.dtl th,.legal table.dtl td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top;}
.legal table.dtl th{background:var(--blush);color:var(--plum);}
.legal table.price{width:100%;border-collapse:collapse;margin:14px 0;font-size:14.5px;}
.legal table.price th,.legal table.price td{border:1px solid var(--line);padding:9px 12px;text-align:left;}
.legal table.price th{background:var(--blush);color:var(--plum);}

.legal .annex{margin-top:40px;border-top:2px solid var(--line);padding-top:22px;}
.legal .annex h2{font-family:var(--sail-font-system);font-weight:500;font-size:22px;color:var(--plum);margin:0 0 6px;}
.legal .annex .hint{font-size:14px;color:var(--berry);font-style:italic;margin:0 0 16px;}
.legal .annex .field{margin:14px 0;font-size:15px;}
.legal .annex .field .ln{display:block;border-bottom:1px dotted var(--mauve);height:20px;margin-top:4px;}
.legal .annex .small{font-size:13px;color:var(--berry);font-style:italic;margin-top:14px;}
@media(max-width:520px){ .legal table.dtl{font-size:12.5px;} }
