body.legal-modal-open { overflow:hidden!important; }
dialog.legal-modal { width:min(760px,calc(100% - 40px)); max-width:none; height:min(780px,85dvh); max-height:85dvh; margin:auto; padding:0; border:1px solid #ffffff30; border-radius:22px; background:#faf8f3; color:#213244; box-shadow:0 28px 100px #0006; overflow:hidden; }
dialog.legal-modal[open] { display:flex; flex-direction:column; }
dialog.legal-modal::backdrop { background:#03101db3; backdrop-filter:blur(6px); }
.legal-modal .legal-modal-head { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-shrink:0; padding:23px 28px; background:linear-gradient(125deg,#091b2b,#183447); border-bottom:1px solid #ffffff15; }
.legal-modal .legal-modal-head span:not(:where(.home-visual-strong,.home-visual-b)) { display:block; margin-bottom:7px; font-weight:800; font-size:10px; line-height:1.2; letter-spacing:.12em; color:#ffbf63; }
.legal-modal .legal-modal-head h2:not(:where(.home-secondary-heading)) { margin:0; padding:0; font-size:24px; font-weight:750; line-height:1.2; color:#fff; }
.legal-modal .legal-modal-close { display:grid; place-items:center; width:38px; height:38px; min-width:38px; min-height:38px; padding:9px; border:1px solid #ffffff25; border-radius:11px; background:#ffffff08; color:#fff; box-shadow:none; cursor:pointer; }
.legal-modal .legal-modal-close svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
.legal-modal .legal-modal-close:hover { background:#ffffff18; }
.legal-modal .legal-modal-body { min-height:0; flex:1; overflow-y:auto; overscroll-behavior:contain; padding:26px 30px; font-size:15px; line-height:1.75; scrollbar-width:thin; scrollbar-color:#9daeb9 transparent; }
.legal-modal .legal-modal-body p { margin:0 0 16px; font-size:15px; line-height:1.75; color:#334859; }
.legal-modal .legal-modal-body :is(h1,:where(.home-secondary-heading)),.legal-modal .legal-modal-body h2:not(:where(.home-secondary-heading)),.legal-modal .legal-modal-body h3 { margin:25px 0 12px; padding:0; border:0; background:none; color:#10283b; font-size:20px; line-height:1.35; }
.legal-modal .legal-modal-body > :first-child { margin-top:0; }
.legal-modal .legal-modal-body ul,.legal-modal .legal-modal-body ol { padding-left:22px; margin:12px 0 18px; }
.legal-modal .legal-modal-body li { margin:6px 0; }
.legal-modal .legal-modal-body a { color:#096d9b; text-decoration:underline; text-underline-offset:3px; }
.legal-modal .legal-modal-body img { max-width:100%; height:auto; }
.legal-modal .legal-modal-body table { display:block; max-width:100%; overflow:auto; }
.legal-modal .legal-modal-foot { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-shrink:0; padding:14px 28px; border-top:1px solid #18344715; background:#f1f1eb; font-size:11px; color:#637583; }
.legal-modal .legal-modal-foot a { font-size:12px; font-weight:650; color:#183447; text-decoration:none; }
.legal-modal button:focus-visible,.legal-modal a:focus-visible { outline:2px solid #ffae3f; outline-offset:3px; }
@media(max-width:600px) {
 dialog.legal-modal { width:calc(100% - 24px); height:88dvh; max-height:88dvh; border-radius:18px; }
 .legal-modal .legal-modal-head { padding:18px; gap:12px; }
 .legal-modal .legal-modal-head h2:not(:where(.home-secondary-heading)) { font-size:20px; }
 .legal-modal .legal-modal-body { padding:20px; }
 .legal-modal .legal-modal-body p { font-size:14px; }
 .legal-modal .legal-modal-body h2:not(:where(.home-secondary-heading)),.legal-modal .legal-modal-body h3 { font-size:18px; }
 .legal-modal .legal-modal-foot { padding:13px 18px; }
}

/* Polished legal reading sheet with a restrained brand accent. */
dialog.legal-modal { width:min(800px,calc(100% - 40px)); border:1px solid #ffffff35; border-radius:24px; background:#fffdf9; box-shadow:0 35px 110px #0008; }
dialog.legal-modal::backdrop { background:#03101dc7; backdrop-filter:blur(9px); }
.legal-modal .legal-modal-head { position:relative; padding:27px 30px 26px 91px; background:radial-gradient(ellipse at 80% 0%,#24566980,transparent 65%),linear-gradient(125deg,#091b2b,#173244); }
.legal-modal .legal-modal-head::before { content:''; position:absolute; left:30px; top:50%; transform:translateY(-50%); width:43px; height:43px; border:1px solid #ffbf6345; border-radius:13px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffca78' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-7 3v5c0 5 3 8 7 10 4-2 7-5 7-10V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center/24px no-repeat,#ffb34708; }
.legal-modal .legal-modal-head::after { content:''; position:absolute; bottom:0; left:30px; right:30px; height:2px; background:linear-gradient(90deg,#ffbc58,#ffbc5800 80%); }
.legal-modal .legal-modal-head span:not(:where(.home-visual-strong,.home-visual-b)) { color:#f4c384; letter-spacing:.16em; font-size:9px; }
.legal-modal .legal-modal-head h2:not(:where(.home-secondary-heading)) { font-size:25px; letter-spacing:-.025em; }
.legal-modal .legal-modal-close { border-radius:50%; width:34px; height:34px; min-width:34px; min-height:34px; background:#ffffff06; border-color:#ffffff20; }
.legal-modal .legal-modal-body { padding:30px 38px; background:linear-gradient(180deg,#fffdf9,#faf9f5); scrollbar-color:#c3b8a5 transparent; }
.legal-modal .legal-modal-body p { color:#425364; font-size:14px; line-height:1.8; margin-bottom:18px; }
.legal-modal .legal-modal-body > p:first-child { padding:16px 18px; border:1px solid #e8e1d5; border-radius:13px; background:#f5f2ea; color:#405362; }
.legal-modal .legal-modal-body :is(h1,:where(.home-secondary-heading)),.legal-modal .legal-modal-body h2:not(:where(.home-secondary-heading)),.legal-modal .legal-modal-body h3 { margin:28px 0 13px; padding:0 0 0 13px; border-left:3px solid #e5aa51; color:#142d40; font-size:18px; letter-spacing:-.015em; }
.legal-modal .legal-modal-body :is(strong,:where(.home-visual-strong)) { color:#152f41; }
.legal-modal .legal-modal-body li::marker { color:#c18328; }
.legal-modal .legal-modal-foot { padding:15px 30px; background:#f2f0e9; color:#85909a; }
.legal-modal .legal-modal-foot a { padding:7px 10px; border:1px solid #18344718; border-radius:8px; background:#ffffff80; color:#1e3d52; }
.legal-modal .legal-modal-foot a:hover { background:#fff; border-color:#c9ac77; }
@media(max-width:600px) {
 dialog.legal-modal { width:calc(100% - 24px); border-radius:20px; }
 .legal-modal .legal-modal-head { padding:21px 16px 21px 65px; gap:10px; }
 .legal-modal .legal-modal-head::before { left:16px; width:34px; height:34px; border-radius:10px; background-size:20px; }
 .legal-modal .legal-modal-head::after { left:16px; right:16px; }
 .legal-modal .legal-modal-head h2:not(:where(.home-secondary-heading)) { font-size:19px; }
 .legal-modal .legal-modal-body { padding:22px 20px; }
 .legal-modal .legal-modal-body > p:first-child { padding:13px; }
 .legal-modal .legal-modal-body h2:not(:where(.home-secondary-heading)),.legal-modal .legal-modal-body h3 { font-size:17px; }
 .legal-modal .legal-modal-foot { padding:12px 16px; }
}
