:root{--legal-ink:#17251c;--legal-green:#173d2b;--legal-cream:#f5f0e5;--legal-line:#d8d1c0;--legal-orange:#e56a39}
.legal-body{margin:0;color:var(--legal-ink);background:var(--legal-cream);font-family:"DM Sans",Arial,sans-serif}.legal-body *{box-sizing:border-box}
.legal-page{width:min(820px,calc(100% - 40px));margin:48px auto 80px;overflow-wrap:anywhere;color:var(--legal-ink);font:16px/1.7 "DM Sans",Arial,sans-serif}.legal-page h1,.legal-page h2{font-family:"Fraunces",Georgia,serif;font-weight:600;letter-spacing:-.02em}.legal-page h1{font-size:clamp(38px,7vw,64px);line-height:1}.legal-page h2{margin-top:42px;font-size:27px}.legal-page a{color:var(--legal-green)}.legal-card{padding:24px;border:1px solid var(--legal-line);border-radius:18px;background:#fff}.legal-form{display:grid;gap:18px}.legal-form label{display:grid;gap:6px;font-weight:650}.legal-form input,.legal-form select,.legal-form textarea{width:100%;padding:12px;border:1px solid #aaa;border-radius:8px;font:inherit}.legal-form button{padding:14px 20px;border:0;border-radius:999px;background:var(--legal-green);color:#fff;font-weight:700;cursor:pointer}.legal-form button:disabled{opacity:.55}.legal-status{padding:14px;border-radius:10px;background:#e8eee5}.legal-notice{padding:12px 16px;background:#fff4d8;border:1px solid #dfbd68;border-radius:10px}
.legal-dialog{width:min(920px,calc(100% - 28px));max-height:min(880px,calc(100dvh - 28px));border:1px solid #ffffff66;border-radius:28px;padding:0;background:var(--legal-cream);color:var(--legal-ink);box-shadow:0 30px 100px #09180f70;font:15px/1.5 "DM Sans",Arial,sans-serif}.legal-dialog::backdrop{background:#102319cc;backdrop-filter:blur(7px)}.legal-dialog-inner{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;max-height:inherit}.consent-intro{padding:28px 30px 20px;background:linear-gradient(135deg,#fffdf8,#edf1e5)}.consent-intro>span{display:inline-block;margin-bottom:8px;color:#9c421f;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.legal-dialog h2{margin:0;font:700 clamp(28px,4vw,42px)/1.05 "Fraunces",Georgia,serif;letter-spacing:-.025em}.consent-intro p{max-width:70ch;margin:12px 0 0;color:#46584c}.consent-categories{overflow:auto;padding:16px 22px;overscroll-behavior:contain}
.consent-category{margin:10px 0;border:1px solid var(--legal-line);border-radius:18px;background:#fff}.consent-category.is-requested{outline:3px solid #e56a3950;border-color:var(--legal-orange)}.consent-category-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:18px 20px}.consent-category h3{margin:0;font:700 21px/1.15 "Fraunces",Georgia,serif}.consent-category-head p{max-width:65ch;margin:6px 0 0;color:#56655b}.consent-category details{border-top:1px solid #e7e2d7}.consent-category summary{padding:12px 20px;color:var(--legal-green);font-weight:750;cursor:pointer}.consent-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 12px 12px}.consent-services article{padding:14px;border-radius:12px;background:#f5f4ee}.consent-services h4{margin:0 0 9px;font-size:15px}.consent-services dl{display:grid;gap:7px;margin:0}.consent-services dl div{display:grid;grid-template-columns:92px 1fr;gap:7px}.consent-services dt{font-size:12px;font-weight:800;color:#516156}.consent-services dd{margin:0;font-size:12px;color:#46534a}
.consent-switch{flex:0 0 auto;display:grid;grid-template-columns:42px auto;align-items:center;gap:8px;cursor:pointer}.consent-switch input{position:absolute;width:1px;height:1px;opacity:0}.consent-switch span{position:relative;width:42px;height:24px;border-radius:999px;background:#b8bcb8;transition:background .18s ease}.consent-switch span::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0004;transition:transform .18s ease}.consent-switch input:checked+span{background:var(--legal-green)}.consent-switch input:checked+span::after{transform:translateX(18px)}.consent-switch input:focus-visible+span{outline:3px solid #e56a3970;outline-offset:2px}.consent-switch b{min-width:76px;font-size:12px}.consent-switch.is-locked{cursor:default;opacity:.8}
.consent-links{display:flex;gap:18px;margin:0;padding:2px 30px 13px}.consent-links a{color:var(--legal-green);font-size:13px;font-weight:700;text-underline-offset:3px}.legal-dialog-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:14px 22px 20px;border-top:1px solid var(--legal-line);background:#fffdf8}.legal-dialog button{min-height:48px;padding:11px 15px;border:1px solid var(--legal-green);border-radius:999px;background:#fff;color:var(--legal-green);font:750 14px/1.2 "DM Sans",Arial,sans-serif;cursor:pointer}.legal-dialog button.decision{background:var(--legal-green);color:#fff}.legal-dialog button.secondary{border-color:var(--legal-orange);color:#9c421f}.legal-dialog button.quiet{grid-column:1/-1;min-height:auto;border:0;background:transparent;color:#59665d;text-decoration:underline}.legal-dialog button:focus-visible,.consent-category summary:focus-visible{outline:3px solid #e56a3970;outline-offset:3px}
@media(max-width:700px){.legal-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:20px}.consent-intro{padding:22px 20px 16px}.consent-categories{padding:10px 12px}.consent-category-head{gap:12px;padding:15px}.consent-category-head p{font-size:13px}.consent-switch{grid-template-columns:38px}.consent-switch span{width:38px}.consent-switch input:checked+span::after{transform:translateX(14px)}.consent-switch b{grid-column:1/-1;min-width:0;text-align:center}.consent-services{grid-template-columns:1fr}.consent-services dl div{grid-template-columns:82px 1fr}.consent-links{padding-inline:20px}.legal-dialog-actions{grid-template-columns:1fr;padding:12px}.legal-dialog button.quiet{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.consent-switch span,.consent-switch span::after{transition:none}}
.legal-form [hidden],.legal-success [hidden]{display:none!important}
.legal-page .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.contract-field{display:grid;gap:12px;margin:0;padding:0;border:0;min-width:0}.contract-field legend{margin-bottom:8px;padding:0;font-weight:650}.contract-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.legal-form .contract-option{position:relative;display:block;font-weight:400;cursor:pointer}.legal-form .contract-option input{position:absolute;opacity:0;width:1px;height:1px}.contract-option span{display:grid;gap:2px;height:100%;padding:12px 14px;border:1px solid var(--legal-line);border-radius:12px;background:#fbfaf6;transition:border-color .15s,background .15s}.contract-option strong{font-size:14px;overflow-wrap:normal}.contract-option small{color:#5d6a61;font-size:12px;overflow-wrap:normal;font-variant-numeric:tabular-nums}.contract-option input:checked+span{border-color:var(--legal-green);background:#eef3ea;box-shadow:inset 0 0 0 1px var(--legal-green)}.contract-option input:focus-visible+span{outline:3px solid #e56a3970;outline-offset:2px}.legal-form [name=contractId]{font-variant-numeric:tabular-nums;letter-spacing:.02em}.legal-form [name=contractId][aria-invalid]{border-color:#b4462d}.contract-hint{display:grid;gap:2px;margin:-4px 0 0;color:#56655b;font-size:13px;line-height:1.45}.contract-hint strong{color:var(--legal-ink);font-weight:650}.contract-check{display:flex;align-items:center;gap:6px;margin:-4px 0 0;color:#2f6b43;font-size:13px;font-weight:700}.contract-check::before{content:"";width:14px;height:8px;margin-top:-4px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}
.legal-card.is-confirmed{scroll-margin-top:110px;border-color:#b9d1b9;background:linear-gradient(160deg,#fff,#f1f6ee)}.legal-success{display:grid;justify-items:center;gap:6px;padding:12px 0 6px;text-align:center}.legal-success h2{margin:10px 0 0;outline:none}.legal-success>p{max-width:52ch;margin:0;color:#3f4d44}.success-check{width:64px;height:64px}.success-check circle,.copy-check circle{fill:none;stroke:var(--legal-green);stroke-width:3}.success-check path,.copy-check path{fill:none;stroke:var(--legal-green);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.success-check circle{fill:#e3eedf}
.reference-box{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;width:min(100%,540px);margin-top:18px;padding:14px 14px 14px 20px;overflow:hidden;border:1px solid var(--legal-line);border-radius:16px;background:#fff;text-align:left}.reference-label{grid-column:1;color:#5d6a61;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.reference-code{grid-column:1;display:flex;flex-wrap:nowrap;font:700 clamp(15px,4.2vw,21px)/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;color:var(--legal-ink);user-select:all}.reference-code span{display:inline-block}.copy-button{grid-column:2;grid-row:1/span 2;position:relative;display:grid;min-width:118px;min-height:46px;padding:0 16px;border:0;border-radius:999px;background:var(--legal-green);color:#fff;font:750 14px/1 "DM Sans",Arial,sans-serif;cursor:pointer;transition:background .2s,transform .12s}.copy-button:active{transform:scale(.96)}.copy-button:focus-visible{outline:3px solid #e56a3970;outline-offset:3px}.copy-button>span{grid-area:1/1;display:flex;align-items:center;justify-content:center;gap:6px;transition:opacity .2s,transform .25s}.copy-done{opacity:0;transform:translateY(8px)}.copy-check{width:18px;height:18px}.copy-check circle{stroke:#fff}.copy-check path{stroke:#fff}.copy-button.is-copied{background:#2f6b43}.copy-button.is-copied .copy-idle{opacity:0;transform:translateY(-8px)}.copy-button.is-copied .copy-done{opacity:1;transform:none}.reference-box::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#dce98e80 50%,transparent 70%);transform:translateX(-100%);pointer-events:none}.reference-box.is-copied{border-color:#7fae84}.reference-note{margin-top:10px!important;font-size:13px;color:#5d6a61!important}
.is-animated .success-check circle{stroke-dasharray:151;stroke-dashoffset:151;animation:legal-draw .6s ease-out forwards}.is-animated .success-check path{stroke-dasharray:36;stroke-dashoffset:36;animation:legal-draw .35s .5s ease-out forwards}.is-animated .success-check{animation:legal-pop .5s .75s ease-out both}.is-animated>h2,.is-animated>p{animation:legal-rise .45s ease-out both}.is-animated>h2{animation-delay:.25s}.is-animated>p{animation-delay:.35s}.is-animated .reference-box{animation:legal-rise .45s .45s ease-out both}.is-animated .reference-code span{animation:legal-char .35s calc(.6s + var(--i) * 28ms) cubic-bezier(.2,.8,.3,1.2) both}.is-animated .reference-box.is-copied::after{animation:legal-sweep .8s ease-out}.is-animated .copy-button.is-copied .copy-check path{stroke-dasharray:30;stroke-dashoffset:30;animation:legal-draw .3s .1s ease-out forwards}
@keyframes legal-draw{to{stroke-dashoffset:0}}@keyframes legal-pop{50%{transform:scale(1.08)}}@keyframes legal-rise{from{opacity:0;transform:translateY(10px)}}@keyframes legal-char{from{opacity:0;transform:translateY(12px) scale(.8)}}@keyframes legal-sweep{to{transform:translateX(100%)}}
@media(max-width:560px){.contract-options{grid-template-columns:1fr}.contract-option span{padding:10px 14px}.reference-box{grid-template-columns:1fr;padding:16px}.reference-code{flex-wrap:wrap}.copy-button{grid-column:1;grid-row:auto;width:100%;margin-top:10px}}
@media(prefers-reduced-motion:reduce){.copy-button,.copy-button>span,.contract-option span{transition:none}}
