@keyframes legalNavIn{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}body[data-page] #nav{animation:legalNavIn .45s var(--ease-out-quart) both}@media(prefers-reduced-motion:reduce){body[data-page] #nav{animation:none}}.legal{background:var(--bg);color:var(--ink);padding-block:clamp(7rem,5rem + 6vw,9.5rem) var(--space-2xl);min-height:100vh}.legal__hero{max-width:var(--max-w);margin-inline:auto;padding-inline:var(--pad);padding-bottom:var(--space-l);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs);text-align:center}.legal__title{font-size:clamp(2.25rem,1.4rem + 3.6vw,4rem);font-weight:800;line-height:1.05;letter-spacing:-.035em;color:var(--ink);text-wrap:wrap}.legal__line-mask{display:block;overflow:hidden;padding-block:.05em}.legal__line{display:block;will-change:transform,opacity;animation:legalHeroLine .85s var(--ease-out-expo) .1s both}.legal__title .legal__line-mask:nth-child(2) .legal__line{animation-delay:.2s}.legal__title .legal__line-mask:nth-child(3) .legal__line{animation-delay:.3s}@keyframes legalHeroLine{0%{opacity:0;transform:translateY(110%)}to{opacity:1;transform:none}}.legal__meta[data-hero-sub]{animation:legalHeroSub .7s var(--ease-out-expo) .35s both}@keyframes legalHeroSub{0%{opacity:0;transform:translateY(18px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}@media(prefers-reduced-motion:reduce){.legal__line,.legal__meta[data-hero-sub]{animation:none;opacity:1;transform:none;filter:none}}.legal__meta{display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);font-size:var(--step--1);color:var(--muted)}.legal__meta-label{color:var(--secondary-deep);font-weight:700;letter-spacing:.02em}.legal__meta-value{color:var(--ink-soft);font-weight:500}.legal__layout{max-width:var(--max-w);margin-inline:auto;padding-inline:var(--pad);padding-top:var(--space-xl);display:grid;grid-template-columns:1fr;gap:var(--space-xl)}@media(min-width:960px){.legal__layout{grid-template-columns:240px minmax(0,1fr);gap:var(--space-2xl);align-items:start}}.legal__toc{position:relative}.legal__toc-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xs);padding:var(--space-xs) var(--space-s);background:var(--surface);border:1px solid var(--line);border-radius:12px;font-size:var(--step--1);font-weight:700;color:var(--ink);cursor:pointer;list-style:none}.legal__toc-summary::-webkit-details-marker{display:none}.legal__toc-summary:after{content:"";width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s var(--ease-out-quart);flex-shrink:0}.legal__toc[open]>.legal__toc-summary:after{transform:rotate(-135deg) translate(-2px,-2px)}.legal__toc-list{margin-top:var(--space-xs);display:flex;flex-direction:column;gap:2px;padding:var(--space-2xs);background:var(--surface);border:1px solid var(--line);border-radius:12px;max-height:70vh;overflow-y:auto;position:relative;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.legal__toc-list::-webkit-scrollbar{width:6px;height:6px}.legal__toc-list::-webkit-scrollbar-track{background:transparent;margin-block:var(--space-2xs)}.legal__toc-list::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px;border:0;transition:background-color .2s var(--ease-out-quart)}.legal__toc-list::-webkit-scrollbar-thumb:hover{background:var(--primary)}.legal__toc-list::-webkit-scrollbar-thumb:active{background:var(--primary-deep)}.legal__toc-item{display:flex;align-items:center;gap:var(--space-2xs);height:2.5rem;padding-inline:var(--space-xs);padding-inline-start:calc(var(--space-xs) + .5rem);font-size:var(--step--1);color:var(--ink-soft);border-radius:8px;transition:color .2s var(--ease-out-quart);line-height:1;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legal__toc-num{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:500;min-width:1.75rem;flex-shrink:0}.legal__toc-item:hover{color:var(--ink)}.legal__toc-item.is-active{color:var(--primary);font-weight:600}.legal__toc-item.is-active .legal__toc-num{color:var(--primary)}.legal__toc-dot{position:absolute;top:0;inset-inline-end:var(--space-xs);width:6px;height:6px;margin-top:0;border-radius:50%;background:var(--secondary);opacity:0;transform:translateY(0);pointer-events:none;will-change:transform,opacity;box-shadow:0 0 8px var(--glow-bronze-soft);z-index:2}.legal__toc-dot.is-active{opacity:1}.legal__toc-dot-ring{position:absolute;top:0;inset-inline-end:var(--space-xs);width:6px;height:6px;margin-top:0;border-radius:50%;background:transparent;border:1.5px solid var(--secondary);opacity:0;transform:translateY(0) scale(1);transform-origin:center center;pointer-events:none;will-change:transform,opacity;z-index:1}.legal__toc-dot-ring.is-active{opacity:1}@media(min-width:960px){.legal__toc{position:sticky;top:96px}.legal__toc-summary{display:none}.legal__toc-list{margin-top:0;border:none;background:transparent;padding:0;max-height:calc(100vh - 120px)}.legal__toc-item{padding-inline:0;padding-inline-start:.5rem}}.legal__body{max-width:70ch;font-size:var(--step-0);line-height:1.75;color:var(--ink);text-wrap:pretty}.legal__intro{font-size:var(--step-1);line-height:1.65;color:var(--ink-soft);margin-bottom:var(--space-xl);text-wrap:pretty}.legal__section{padding-block:var(--space-l);border-top:1px solid var(--line);scroll-margin-top:96px}.legal__section:first-of-type{border-top:none;padding-top:0}.legal__h2{display:flex;align-items:baseline;gap:var(--space-s);font-size:var(--step-3);font-weight:800;line-height:1.1;letter-spacing:-.025em;color:var(--ink);margin-bottom:var(--space-m);text-wrap:balance}.legal__h2-num{font-size:var(--step-1);font-weight:700;color:var(--secondary-deep);font-variant-numeric:tabular-nums;letter-spacing:.02em;flex-shrink:0}.legal__h3{font-size:var(--step-2);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--ink);margin-top:var(--space-m);margin-bottom:var(--space-2xs);text-wrap:balance}.legal__h2+.legal__h3,.legal__list+.legal__h3,.legal__p+.legal__h3,.legal__callout+.legal__h3{margin-top:var(--space-s)}.legal__p{margin-bottom:var(--space-s);color:var(--ink)}.legal__p:last-child{margin-bottom:0}.legal__list{list-style:none;margin:0 0 var(--space-s);padding:0;display:flex;flex-direction:column;gap:var(--space-2xs)}.legal__list li{position:relative;padding-inline-start:var(--space-m);color:var(--ink);line-height:1.7}.legal__list li:before{content:"";position:absolute;top:.7em;inset-inline-start:0;width:6px;height:6px;border-radius:50%;background:var(--primary)}.legal__callout{background:var(--primary-soft);border:1px solid var(--line);border-radius:12px;padding:var(--space-s) var(--space-m);margin-block:var(--space-s);color:var(--ink);line-height:1.7}.legal__callout strong{color:var(--primary-deep)}.legal__body a{color:var(--primary);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .2s var(--ease-out-quart)}.legal__body a:hover,.legal__body a:focus-visible{background-size:100% 1px;color:var(--primary-deep)}.legal__contact-cta{display:inline-flex;align-items:center;gap:var(--space-2xs);margin-top:var(--space-m);font-size:var(--step--1);color:var(--secondary-deep);font-weight:700}.legal__contact-cta:after{content:"→";transition:transform .25s var(--ease-out-quart)}.legal__contact-cta:hover:after{transform:translate(4px)}.legal__end{max-width:var(--max-w);margin:var(--space-xl) auto 0;padding-inline:var(--pad);display:flex;align-items:center;gap:var(--space-s);color:var(--muted);font-size:var(--step--1)}.legal__end:before,.legal__end:after{content:"";flex:1;height:1px;background:var(--line)}.legal__end-mark{width:6px;height:6px;border-radius:50%;background:var(--secondary)}html[dir=rtl] .legal__body{line-height:1.9}html[dir=rtl] .legal__title{letter-spacing:0;line-height:1.2}html[dir=rtl] .legal__h2{letter-spacing:0;line-height:1.25}html[dir=rtl] .legal__h3{letter-spacing:0}@media(prefers-reduced-motion:reduce){.legal__body a,.legal__toc-item,.legal__toc-summary:after{transition:none}}@media(hover:hover)and (pointer:fine){html,body,a,button,[role=button],input,textarea,select,summary,label{cursor:none}}.custom-cursor{position:fixed;top:0;left:0;width:12px;height:12px;border-radius:50%;background:var(--white);pointer-events:none;z-index:9999;opacity:0;will-change:transform,width,height,background-color,border-color;mix-blend-mode:difference;transform:translate3d(-100px,-100px,0) scale(1);transition:width .32s var(--ease-out-quart),height .32s var(--ease-out-quart),background-color .25s var(--ease-out-quart),border .25s var(--ease-out-quart),opacity .2s var(--ease-out-quart)}.custom-cursor.is-active{opacity:1}.custom-cursor.is-hovering{width:44px;height:44px;background:transparent;border:1.5px solid var(--white)}.custom-cursor.is-hidden{opacity:0}@media(prefers-reduced-motion:reduce){.custom-cursor{display:none}html,body,a,button,[role=button]{cursor:auto}}.footer__social{display:flex;gap:var(--space-xs);margin-top:var(--space-m)}.footer__social-link{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--secondary-on-dark);border:1px solid var(--secondary-on-dark);transition:color .3s var(--ease-out-quart),background-color .3s var(--ease-out-quart),border-color .3s var(--ease-out-quart),transform .3s var(--ease-out-quart),box-shadow .3s var(--ease-out-quart)}.footer__social-link:hover{color:var(--white);background:var(--secondary);border-color:var(--secondary);transform:translateY(-2px);box-shadow:0 8px 24px #8f704259}.footer__social-link:active{transform:translateY(0) scale(.95)}.footer__social-link:focus-visible{outline:2px solid var(--secondary);outline-offset:3px}.footer__social-link svg{width:18px;height:18px;display:block}::selection{background:var(--primary);color:var(--white);text-shadow:none}::-moz-selection{background:var(--primary);color:var(--white);text-shadow:none}button,a,img,svg,picture{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
