:root { --ink:#080b10; --panel:#10151c; --line:#27313c; --muted:#8b97a5; --paper:#f3f1ec; --blue:#57a8e3; --green:#5dd1a6; --sans:'Manrope','Noto Sans SC','Noto Sans JP','Noto Sans KR',sans-serif; --mono:'DM Mono',monospace; }
* { box-sizing:border-box; }
html { max-width:100%; overflow-x:hidden; scroll-behavior:smooth; }
body { max-width:100%; margin:0; overflow-x:hidden; background:var(--paper); color:#18202a; font-family:var(--sans); }
a { color:inherit; text-decoration:none; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; clip-path:inset(50%); }
a:focus-visible,button:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
.skip-link { position:fixed; z-index:100; top:10px; left:10px; padding:10px 14px; background:#fff; color:#111; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.legal-header { position:sticky; z-index:20; top:0; display:flex; min-height:68px; align-items:center; justify-content:space-between; gap:28px; border-bottom:1px solid rgba(255,255,255,.1); padding:0 max(24px,calc((100vw - 1180px)/2)); background:rgba(8,11,16,.97); color:#fff; }
.brand { display:flex; flex:0 0 auto; align-items:center; gap:8px; font-size:14px; font-weight:700; letter-spacing:-.03em; }
.brand img { width:30px; height:30px; object-fit:contain; }
.brand em { color:var(--blue); font-style:normal; font-weight:500; }
.legal-actions { display:flex; flex:0 0 auto; align-items:center; gap:18px; color:#a9b3be; font:500 10px/1 var(--mono); letter-spacing:.06em; }
.legal-actions>a:hover { color:#fff; }
.menu-button { display:none; border:0; background:transparent; }
.language-picker { position:relative; z-index:4; letter-spacing:0; }
.language-trigger { display:grid; width:148px; min-height:38px; grid-template-columns:30px 1fr 16px; align-items:center; overflow:hidden; border:1px solid #44515f; border-radius:9px; background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)); padding:0 10px 0 7px; color:#dce3e9; cursor:pointer; }
.language-icon { display:grid; width:24px; height:24px; place-items:center; border:1px solid rgba(116,184,236,.38); border-radius:6px; background:rgba(116,184,236,.08); color:var(--blue); font:500 7px/1 var(--mono); }
.language-current { overflow:hidden; font:500 10px/1 var(--mono); text-align:left; text-overflow:ellipsis; white-space:nowrap; }
.language-chevron { color:#80909f; font-size:15px; transform:translateY(-2px); transition:transform .2s; }
.language-picker.is-open .language-chevron { transform:translateY(1px) rotate(180deg); }
.language-menu { position:absolute; top:calc(100% + 9px); right:0; width:204px; padding:6px; border:1px solid #3d4b59; border-radius:11px; background:#0b1017; box-shadow:0 20px 54px rgba(0,0,0,.46); opacity:0; pointer-events:none; transform:translateY(-7px) scale(.98); transform-origin:top right; visibility:hidden; transition:opacity .18s,transform .18s,visibility .18s; }
.language-picker.is-open .language-menu { opacity:1; pointer-events:auto; transform:none; visibility:visible; }
.language-menu button { display:grid; width:100%; min-height:42px; grid-template-columns:30px 1fr 18px; gap:9px; align-items:center; border:0; border-radius:7px; background:transparent; padding:5px 9px 5px 6px; color:#aab5c0; font:500 11px/1 var(--mono); text-align:left; cursor:pointer; }
.language-menu button:hover,.language-menu button:focus-visible { background:rgba(116,184,236,.09); color:#f4f7f9; outline:0; }
.language-menu button[aria-selected='true'] { background:linear-gradient(90deg,rgba(116,184,236,.14),rgba(116,184,236,.05)); color:#f4f8fb; }
.language-code { display:grid; width:27px; height:27px; place-items:center; border:1px solid #384b5c; border-radius:6px; color:#85bde5; font-size:8px; }
.language-check { color:var(--green); font-size:11px; opacity:0; }
.language-menu button[aria-selected='true'] .language-check { opacity:1; }
.legal-hero { position:relative; overflow:hidden; background:var(--ink); color:#fff; }
.legal-hero::after { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 82% 10%,rgba(87,168,227,.2),transparent 28%); background-size:68px 68px,68px 68px,auto; content:''; }
.hero-inner { position:relative; z-index:1; width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:96px 0 78px; }
.eyebrow,.section-no { margin:0 0 18px; color:var(--blue); font:500 10px/1.5 var(--mono); letter-spacing:.14em; text-transform:uppercase; }
.legal-hero h1 { max-width:900px; margin:0; font-size:clamp(48px,7vw,92px); font-weight:600; letter-spacing:-.065em; line-height:.98; }
.legal-hero h1 i { color:#9bcaf0; font-style:normal; }
.hero-copy { max-width:760px; margin:30px 0 0; color:#9ca8b5; font-size:17px; line-height:1.75; }
.hero-meta { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:38px; color:#768392; font:500 10px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.hero-meta strong { color:#dbe3eb; font-weight:500; }
.legal-layout { display:grid; width:min(1180px,calc(100% - 48px)); margin:0 auto; grid-template-columns:240px minmax(0,760px); gap:80px; padding:78px 0 110px; }
.legal-nav { position:sticky; top:100px; align-self:start; }
.legal-nav>p { margin:0 0 16px; color:#6f7c89; font:500 9px/1.4 var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.legal-nav a { display:block; border-left:1px solid #ccd1d5; padding:9px 0 9px 16px; color:#697582; font-size:12px; line-height:1.4; }
.legal-nav a:hover { border-color:var(--blue); color:#17202a; }
.legal-document { min-width:0; }
.summary-card { min-width:0; margin-bottom:56px; border:1px solid #cdd4d9; background:#fff; padding:28px 30px; box-shadow:0 16px 50px rgba(21,29,38,.06); }
.summary-card h2 { margin:0 0 14px; font-size:23px; letter-spacing:-.035em; }
.summary-card ul { margin:0; padding-left:20px; color:#53606d; font-size:13px; line-height:1.8; }
.legal-section { scroll-margin-top:96px; border-top:1px solid #cbd1d6; padding:46px 0 8px; }
.legal-section:first-of-type { border-top:0; }
.legal-section h2 { margin:0 0 20px; font-size:31px; letter-spacing:-.045em; line-height:1.15; }
.legal-section h3 { margin:28px 0 10px; font-size:16px; letter-spacing:-.02em; }
.legal-section p,.legal-section li,.summary-card li { overflow-wrap:anywhere; }
.legal-section p,.legal-section li { color:#4f5c68; font-size:13px; line-height:1.85; }
.legal-section ul,.legal-section ol { padding-left:21px; }
.legal-section a,.contact-card a { color:#176ca8; text-decoration:underline; text-decoration-color:rgba(23,108,168,.3); text-underline-offset:3px; }
.practice-grid { display:grid; gap:1px; margin:26px 0; border:1px solid #cbd2d8; background:#cbd2d8; }
.practice-row { display:grid; grid-template-columns:150px 1fr; gap:26px; background:#fff; padding:22px; }
.practice-row strong { color:#1d2833; font-size:12px; }
.practice-row p { margin:0; }
.notice { margin:25px 0; border-left:3px solid var(--blue); background:#e8edf1; padding:18px 21px; }
.notice strong { display:block; margin-bottom:5px; color:#17202a; font-size:12px; }
.notice p { margin:0; }
.contact-card { display:grid; gap:14px; margin-top:24px; border:1px solid #283440; background:var(--panel); padding:25px; color:#dfe6ec; }
.contact-card span { color:#82909d; font:500 9px/1.5 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.contact-card strong { font-size:18px; }
.contact-card a { color:#83c6f3; overflow-wrap:anywhere; }
.legal-footer { display:flex; min-height:105px; align-items:center; justify-content:space-between; gap:30px; border-top:1px solid #242d37; background:var(--ink); padding:28px max(24px,calc((100vw - 1180px)/2)); color:#737f8c; font:500 9px/1.6 var(--mono); letter-spacing:.05em; }
.legal-footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:22px; }
.legal-footer a { color:var(--blue); }
.legal-changing .legal-document { opacity:.58; }
.legal-document { transition:opacity .18s ease; }

@media (max-width:860px) { .legal-layout{grid-template-columns:1fr;gap:0}.legal-nav{display:none}.hero-inner{padding:72px 0 58px}.brand,.menu-button{position:relative;z-index:2}.menu-button{display:grid;width:40px;height:40px;align-content:center;gap:5px;padding:8px}.menu-button>span:not(.sr-only){display:block;height:1px;background:#dce1e6;transition:transform .2s,opacity .2s}.menu-button[aria-expanded='true']>span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-button[aria-expanded='true']>span:nth-child(2){opacity:0}.menu-button[aria-expanded='true']>span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.legal-actions{position:fixed;z-index:1;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:26px;background:#080b10;padding:78px 28px 42px;font-size:20px;transform:translateX(100%);transition:transform .3s ease}.legal-actions.open{transform:translateX(0)}.legal-actions>a{display:block}.language-picker{width:220px}.language-trigger{width:100%;min-height:46px;grid-template-columns:34px 1fr 18px}.language-current{font-size:12px}.language-menu{right:auto;left:0;width:100%;transform-origin:top left}body.menu-open{overflow:hidden}.legal-header{padding:0 18px}.practice-row{grid-template-columns:1fr;gap:8px}.legal-footer{align-items:flex-start;flex-direction:column}.legal-footer nav{justify-content:flex-start} }
@media (max-width:520px) { .legal-header{gap:10px}.brand em{display:none}.legal-layout,.hero-inner{width:calc(100% - 34px)}.legal-hero h1{font-size:45px}.hero-copy{font-size:15px}.summary-card{padding:22px}.legal-section h2{font-size:27px}.legal-footer nav{gap:15px} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.legal-document{transition:none} }

.summary-card ul,.legal-section p,.legal-section li { font-size:15px; color:#46535e; }
.practice-row strong,.notice strong { font-size:13px; }
