:root{--ink:#211c2d;--muted:#625b70;--purple:#7138f5;--pink:#f543c8;--line:#e9ddf5;--paper:#fffaff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Avenir Next","Apple SD Gothic Neo",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid #49dabb;outline-offset:4px;border-radius:3px}
.wrap{width:min(1120px,calc(100% - 64px));margin:auto}
.header{border-bottom:1px solid var(--line);background:#fffaff}
.header .wrap{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:23px;font-weight:900;letter-spacing:-.06em}
.brand img{width:42px;height:42px;border-radius:11px;box-shadow:0 6px 16px #8438e43a}
.header nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:14px;font-weight:750}
.header nav a:hover,.header nav a[aria-current="page"]{color:var(--purple)}
.hero{padding:88px 0 72px;background:radial-gradient(circle at 80% 24%,#e5cbff 0,transparent 30%),radial-gradient(circle at 14% 78%,#cdfced 0,transparent 31%),linear-gradient(120deg,#fff6fb,#eee7ff 62%,#fff5d8)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:#6435cc;font-size:13px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.eyebrow:before{content:"";width:20px;height:2px;background:currentColor}
h1,h2{letter-spacing:-.04em}
h1{font:700 clamp(47px,7vw,78px)/1.02 Georgia,"Times New Roman",serif;margin:18px 0 20px}
.hero p{font-size:18px;line-height:1.7;max-width:690px;margin:0;color:#51475e}
.date{display:inline-block;margin-top:28px;padding:10px 16px;border:1px solid #ccb4f5;border-radius:100px;background:#ffffffb8;font-size:13px;font-weight:750;color:#5b36af}
.legal-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:64px;padding:72px 0 115px}
.toc{position:sticky;top:28px;align-self:start;display:grid;gap:10px}
.toc strong{font-size:12px;color:#735f91;letter-spacing:.11em;text-transform:uppercase;margin-bottom:10px}
.toc a{font-size:14px;line-height:1.45;color:#625b70;padding:6px 0}
.toc a:hover{color:var(--purple)}
.legal-content{min-width:0}
.legal-section{padding:0 0 32px;margin:0 0 32px;border-bottom:1px solid var(--line);scroll-margin-top:32px}
.legal-section:last-child{border:0;margin-bottom:0;padding-bottom:0}
.legal-section h2{font-size:28px;line-height:1.2;margin:0 0 16px}
.legal-section h3{font-size:18px;margin:24px 0 8px}
.legal-section p,.legal-section li{font-size:16px;line-height:1.8;color:#514a5c}
.legal-section p{margin:0 0 15px}
.legal-section ul{padding-left:22px;margin:0 0 18px}
.legal-section a{color:#6533d5;text-decoration:underline;text-underline-offset:3px}
.legal-section strong{color:#2b2039}
.notice{background:#f3ebff;border:1px solid #ddcbff;border-radius:18px;padding:22px 25px;margin:22px 0}
.notice p:last-child{margin-bottom:0}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:0 18px 40px #6d39aa12}
.contact-form{display:grid;gap:20px}
.contact-form .two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label{display:grid;gap:8px;font-size:14px;font-weight:800;color:#392f47}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #d6c8e9;border-radius:12px;background:#fffdfd;color:var(--ink);font:inherit;font-size:16px;padding:13px 15px;outline:none;transition:border-color .2s,box-shadow .2s}
.contact-form textarea{min-height:175px;resize:vertical;line-height:1.55}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 4px #7138f51f}
.contact-form button{justify-self:start;border:0;border-radius:100px;padding:15px 25px;background:linear-gradient(110deg,#7138f5,#ad43e9);color:#fff;font:inherit;font-size:15px;font-weight:850;cursor:pointer;box-shadow:0 10px 22px #7138f53a;transition:transform .2s,box-shadow .2s}
.contact-form button:hover{transform:translateY(-2px);box-shadow:0 14px 28px #7138f54c}
.contact-form button:focus-visible{outline:3px solid #49dabb;outline-offset:3px}
.contact-helper,.contact-status{font-size:14px;line-height:1.65;color:#655c70}
.contact-helper{margin:0}.contact-status{margin:0;padding:13px 16px;border-radius:12px;background:#e9fff6;color:#176b58}
.contact-direct{margin-top:27px;font-size:15px;color:#625b70}
.contact-direct a{color:#6533d5;text-decoration:underline;text-underline-offset:3px}
.footer{background:#f1eaff;border-top:1px solid #d9c9ee;padding:30px 0}
.footer .wrap{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}
.footer nav{display:flex;gap:24px;flex-wrap:wrap}
.footer a,.footer span{font-size:15px;color:#554a68}
.footer a:hover{color:var(--purple)}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.header .wrap{min-height:75px;align-items:flex-start;flex-direction:column;justify-content:center;padding:14px 0;gap:12px}.header nav{gap:14px;font-size:13px}.hero{padding:62px 0}.hero p{font-size:16px}.legal-layout{display:block;padding:48px 0 80px}.toc{position:static;display:flex;overflow:auto;white-space:nowrap;gap:18px;padding-bottom:16px;margin-bottom:32px;border-bottom:1px solid var(--line)}.toc strong{display:none}.toc a{flex:none}.legal-section h2{font-size:25px}.legal-section p,.legal-section li{font-size:15px}.contact-card{padding:22px}.contact-form .two-col{grid-template-columns:1fr;gap:20px}.footer .wrap{align-items:flex-start;flex-direction:column}.footer a,.footer span{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
