:root{--legal-ink:#132f35;--legal-muted:#64777b;--legal-line:#d7e1df;--legal-green:#1b6f60;--legal-soft:#edf6f2;--legal-paper:#fffefa}
.legal-site{background:#f4f7f5;color:var(--legal-ink)}
.legal-site .public-header{background:rgba(255,254,250,.96)}
.legal-hero{padding:64px 24px 52px;border-bottom:1px solid var(--legal-line);background:linear-gradient(130deg,#f9fbf8 0%,#eaf4ef 58%,#f8f5ea 100%)}
.legal-hero-inner,.legal-layout,.contact-shell{width:min(1160px,calc(100% - 40px));margin:auto}
.legal-kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;color:var(--legal-green);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.legal-kicker::before{content:"";width:28px;height:2px;background:currentColor}
.legal-hero h1{max-width:760px;margin:0;color:#102f35;font-family:var(--gh-font-serif,"Noto Serif SC",serif);font-size:clamp(36px,5vw,60px);font-weight:600;line-height:1.15;letter-spacing:.03em}
.legal-hero p{max-width:760px;margin:18px 0 0;color:#526b70;font-size:16px;line-height:1.9}
.legal-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:24px;color:#597076;font-size:13px}
.legal-meta strong{color:#204b50}
.legal-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:32px;padding:40px 0 72px}
.legal-toc{position:sticky;top:106px;align-self:start;padding:20px;border:1px solid var(--legal-line);border-radius:14px;background:rgba(255,255,255,.9);box-shadow:0 12px 30px rgba(31,62,59,.05)}
.legal-toc strong{display:block;margin-bottom:12px;font-size:14px}
.legal-toc a{display:block;padding:8px 10px;border-left:2px solid transparent;color:#5c7074;font-size:13px;line-height:1.4}
.legal-toc a:hover{border-left-color:var(--legal-green);background:var(--legal-soft);color:var(--legal-green)}
.legal-document{overflow:hidden;border:1px solid var(--legal-line);border-radius:16px;background:var(--legal-paper);box-shadow:0 18px 55px rgba(25,52,49,.07)}
.legal-summary{padding:28px 34px;border-bottom:1px solid var(--legal-line);background:linear-gradient(90deg,#eff7f3,#fbfaf5);font-size:15px;line-height:1.9}
.legal-section{padding:30px 34px;border-bottom:1px solid #e4eae7;scroll-margin-top:110px}
.legal-section:last-child{border-bottom:0}
.legal-section h2{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:20px;line-height:1.45}
.legal-section h2 span{display:grid;flex:none;width:32px;height:32px;border-radius:50%;place-items:center;background:var(--legal-soft);color:var(--legal-green);font-size:12px}
.legal-section p,.legal-section li{color:#425d62;font-size:14px;line-height:1.95}
.legal-section ul{margin:12px 0 0;padding-left:20px}
.legal-note{margin-top:16px;padding:14px 16px;border-left:3px solid var(--legal-green);background:#f1f7f4;color:#37575b;font-size:13px;line-height:1.8}
.legal-table{width:100%;margin-top:16px;border-collapse:collapse;font-size:13px}
.legal-table th,.legal-table td{padding:12px 14px;border:1px solid var(--legal-line);vertical-align:top;text-align:left;line-height:1.7}
.legal-table th{background:#edf5f2;color:#244e51}
.contact-shell{padding:56px 0 76px}
.contact-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;margin-bottom:28px}
.contact-intro h1{margin:0 0 16px;font-family:var(--gh-font-serif,"Noto Serif SC",serif);font-size:clamp(36px,5vw,56px);font-weight:600;line-height:1.2}
.contact-intro p{max-width:650px;color:var(--legal-muted);font-size:16px;line-height:1.9}
.contact-response{align-self:end;padding:22px;border:1px solid rgba(27,111,96,.25);border-radius:14px;background:var(--legal-soft)}
.contact-response strong{display:block;margin-bottom:8px;color:var(--legal-green);font-size:13px;letter-spacing:.08em}
.contact-response p{margin:0;font-size:14px;line-height:1.7}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.contact-card{min-height:210px;padding:26px;border:1px solid var(--legal-line);border-radius:15px;background:#fff;box-shadow:0 12px 36px rgba(25,52,49,.05)}
.contact-card .contact-index{display:block;margin-bottom:28px;color:#8ca29f;font-family:var(--gh-font-serif,serif);font-size:28px}
.contact-card h2{margin:0 0 10px;font-size:18px}.contact-card p{margin:0;color:var(--legal-muted);font-size:13px;line-height:1.75}
.contact-card a,.contact-card address{display:block;margin-top:18px;color:var(--legal-green);font-size:16px;font-style:normal;font-weight:750;line-height:1.65;overflow-wrap:anywhere}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.contact-panel{padding:28px;border:1px solid var(--legal-line);border-radius:15px;background:#fff}
.contact-panel h2{margin:0 0 16px;font-size:19px}.contact-panel dl{display:grid;grid-template-columns:112px 1fr;margin:0}.contact-panel dt,.contact-panel dd{margin:0;padding:11px 0;border-bottom:1px solid #e8eeeb;font-size:14px;line-height:1.7}.contact-panel dt{color:#718589}.contact-panel dd{color:#2a4a4f;font-weight:650}
.legal-site .public-footer{background:#203b37}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr}.legal-toc{position:static;display:none}.contact-intro,.contact-details{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.legal-hero{padding:42px 10px 36px}.legal-hero-inner,.legal-layout,.contact-shell{width:calc(100% - 28px)}.legal-layout{padding:22px 0 48px}.legal-summary,.legal-section{padding:22px 20px}.legal-section h2{align-items:flex-start;font-size:18px}.legal-table{display:block;overflow-x:auto}.contact-shell{padding:38px 0 52px}.contact-grid{grid-template-columns:1fr}.contact-card{min-height:0}.contact-panel{padding:22px}.contact-panel dl{grid-template-columns:1fr}.contact-panel dt{padding-bottom:2px;border-bottom:0}.contact-panel dd{padding-top:0}}
.legal-document .legal-summary p{margin:0;line-height:1.95;text-align:justify}.legal-document .legal-section p{line-height:1.95;text-align:justify;word-break:normal;overflow-wrap:anywhere}.legal-table-wrap{overflow-x:auto;margin:20px 0;border:1px solid #d5e1d9;border-radius:8px}.legal-table-wrap table{border-collapse:collapse;min-width:550px;width:100%;font-size:13px;line-height:1.8}.legal-table-wrap th{padding:14px;background:#eaf3ee;color:#285640;text-align:left}.legal-table-wrap td{padding:14px;border-top:1px solid #dae5dd;vertical-align:top}.legal-table-wrap tr:nth-child(even){background:#f7faf7}.legal-toc{max-height:calc(100dvh - 130px);overflow:auto}.legal-meta{gap:14px}.legal-section{scroll-margin-top:90px}
