*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-core);scroll-behavior:smooth;}
a{color:var(--text-link);} a:hover{color:var(--text-link-hover);}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.site-header{position:sticky;top:0;z-index:20;background:rgba(250,249,246,.82);backdrop-filter:saturate(150%) blur(18px);-webkit-backdrop-filter:saturate(150%) blur(18px);}
.site-header-inner{max-width:1200px;margin:0 auto;padding:0 clamp(20px,4.5vw,64px);height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.site-header-inner .cv-btn{height:44px;padding:0 20px;font-size:16px;}
.site-nav{display:flex;gap:28px;font-size:15px;font-weight:500;}
.site-nav a{text-decoration:none;}
@media (max-width:899px){
  .site-nav{display:none;}
  .site-header-inner{height:64px;}
  .site-header-inner .cv-btn{height:36px;padding:0 16px;font-size:14px;}
}

.legal{max-width:1200px;margin:0 auto;padding:clamp(40px,6vw,88px) clamp(20px,4.5vw,64px) clamp(48px,6vw,96px);}
.legal__head{max-width:72ch;display:flex;flex-direction:column;gap:16px;margin-bottom:clamp(32px,4vw,56px);}
.legal__head h1{margin:0;font-size:clamp(34px,4vw,56px);line-height:1.04;letter-spacing:-0.025em;font-weight:700;text-wrap:pretty;}
.legal__meta{font-size:14px;color:var(--text-muted);}
.legal__lead{margin:0;font-size:18px;line-height:1.55;color:var(--text-secondary);text-wrap:pretty;}
.legal__body{max-width:72ch;font-size:16px;line-height:1.65;}
.legal__body h2{margin:clamp(32px,4vw,48px) 0 12px;font-size:24px;line-height:1.22;letter-spacing:-0.018em;font-weight:700;text-wrap:pretty;}
.legal__body h3{margin:24px 0 8px;font-size:18px;line-height:1.3;font-weight:600;}
.legal__body p{margin:0 0 14px;max-width:none;text-wrap:pretty;}
.legal__body ul,.legal__body ol{margin:0 0 14px;padding-left:22px;}
.legal__body li{margin:0 0 8px;}
.legal__body li::marker{color:var(--text-accent);}
.legal__body strong{color:var(--text-primary);}
.legal__body address{font-style:normal;}

.legal__notice{display:flex;gap:14px;align-items:flex-start;padding:16px 20px;border-radius:20px;background:var(--surface-accent-wash);border:1px solid var(--border-accent);font-size:15px;line-height:1.5;color:var(--text-primary);margin:0 0 8px;}
.legal__notice .cv-icon{flex-shrink:0;margin-top:3px;width:18px;height:18px;color:var(--text-accent);}

.legal__table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5;margin:8px 0 20px;border:1px solid var(--border-subtle);border-radius:14px;overflow:hidden;}
.legal__table-wrap{overflow-x:auto;margin:0 0 20px;}
.legal__table th,.legal__table td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--border-subtle);}
.legal__table th{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;color:var(--text-muted);background:var(--surface-sunken);}
.legal__table tr:last-child td{border-bottom:0;}
.legal__table td:first-child{font-weight:600;min-width:150px;}

.site-footer{padding:clamp(40px,5vw,64px) 0 40px;border-top:1px solid var(--border-subtle);}
.site-footer__inner{max-width:1200px;margin:0 auto;padding:0 clamp(20px,4.5vw,64px);display:flex;flex-direction:column;gap:28px;}
.site-footer__row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;}
.site-footer__nav{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;font-weight:500;}
.site-footer__nav a{text-decoration:none;}
.site-footer__nav a[aria-current="page"]{color:var(--text-accent);}
.site-footer__legal{padding-top:8px;font-size:13px;line-height:1.6;color:var(--text-secondary);max-width:96ch;}
.site-footer__legal p{margin:0 0 12px;max-width:none;}
.site-footer__legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-weight:600;color:var(--text-primary);margin-bottom:12px;}
.site-footer__copy{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;color:var(--text-muted);}

.icon-check{-webkit-mask-image:url('/assets/icons/check.svg');mask-image:url('/assets/icons/check.svg');}
.icon-info{-webkit-mask-image:url('/assets/icons/info.svg');mask-image:url('/assets/icons/info.svg');}
