/* Shared legal links: keep navigation useful on every page. */
.footer-bottom{align-items:flex-start;gap:28px}
.footer-company{display:grid;gap:6px;max-width:650px;font-size:13px;line-height:1.6}
.footer-company>span:first-child{color:#fff;font-size:14px}
.footer-legal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 24px;font-size:14px;line-height:1.6}
.footer-legal a{border-bottom:1px solid #ffffff40;padding-bottom:3px}
.footer-legal a:hover{color:#91e0f1;border-color:currentColor}
.legal-page{background:#f5f8fa;color:#123040}
.legal-page .site-header{background:var(--navy,#071c2c)}
.legal-hero{background:var(--navy,#071c2c);color:#fff;padding-top:calc(var(--header,96px) + 32px);padding-bottom:46px}
.legal-breadcrumbs{display:flex;gap:12px;align-items:center;font-size:14px;color:#b5cad4;margin-bottom:36px}
.legal-breadcrumbs a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.legal-hero .eyebrow{font-size:12px;letter-spacing:.14em;color:#8bd6e8;margin-bottom:16px}
.legal-hero h1{font-size:clamp(40px,5vw,68px);font-weight:500;line-height:1.1;letter-spacing:-.05em;margin:0 0 20px}
.legal-lead{font-size:clamp(17px,1.5vw,21px);line-height:1.6;color:#d1e0e7;max-width:660px}
.legal-updated{font-size:13px;line-height:1.6;color:#a9c2cf;margin-top:24px}
.legal-layout{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,800px);justify-content:space-between;gap:clamp(32px,6vw,100px);padding-block:54px 88px;align-items:start}
.legal-index{position:sticky;top:calc(var(--header,96px) + 30px);font-size:14px;max-height:calc(100dvh - var(--header,96px) - 60px);overflow:auto;padding-right:12px}
.legal-index summary{font-size:15px;font-weight:700;color:#123040;cursor:pointer;padding-bottom:14px}
.legal-index nav{display:grid;gap:0;border-top:1px solid #cadbe3}
.legal-index a{color:#38586a;line-height:1.5;padding:11px 0;border-bottom:1px solid #dce6eb;transition:color .18s}
.legal-index a:hover{color:#006e90}
.legal-copy{min-width:0;font-size:17px;line-height:1.8;overflow-wrap:anywhere}
.legal-section{scroll-margin-top:calc(var(--header,96px) + 24px);padding-bottom:34px;margin-bottom:34px;border-bottom:1px solid #cddce4}
.legal-section:last-child{border:0;padding-bottom:0;margin-bottom:0}
.legal-section h2{font-size:clamp(24px,2vw,30px);line-height:1.25;letter-spacing:-.03em;font-weight:600;margin:0 0 24px;color:#123040}
.legal-section h3{font-size:20px;line-height:1.4;font-weight:600;margin:32px 0 16px}
.legal-section p{margin:0 0 18px;color:#3e5968}
.legal-section p:last-child{margin-bottom:0}
.legal-copy strong{color:#123040;font-weight:650}
.legal-copy a:not(.button){color:#006583;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.legal-copy ul{padding-left:22px;margin:16px 0;list-style:disc}
.legal-copy li+li{margin-top:9px}
.legal-contacts{background:#e7f0f4;border-radius:12px;margin:24px 0 0;padding:24px 28px}
.legal-contacts>div+div{border-top:1px solid #c5d6df;margin-top:18px;padding-top:18px}
.legal-contacts dt{font-size:13px;font-weight:650;line-height:1.6;color:#527182;margin-bottom:5px}
.legal-contacts dd{font-size:16px;line-height:1.6;margin:0}
.legal-callout{padding:24px 28px;background:#e3f1f7;border-left:3px solid #00b8e4;border-radius:0 10px 10px 0;margin-bottom:22px}
.legal-callout>strong{display:block;font-size:19px;line-height:1.4;margin-bottom:12px}
.legal-table-wrap{overflow:auto;max-width:100%;margin:22px 0 20px;border:1px solid #c8d9e3;border-radius:10px;background:#fff}
.legal-table{width:100%;border-collapse:collapse;text-align:left;font-size:15px;line-height:1.65;min-width:540px}
.legal-table caption{text-align:left;padding:18px 20px;color:#3f6173;background:#eef5f8;font-size:14px;font-weight:600}
.legal-table thead{background:#123040;color:#fff}
.legal-table th,.legal-table td{padding:16px 18px;vertical-align:top}
.legal-table td{color:#3e5968}
.legal-table tbody tr+tr>*{border-top:1px solid #dbe5eb}
.legal-table tbody th{font-weight:600;width:26%;color:#173d50}
.legal-table code{font-size:13px;white-space:normal;overflow-wrap:anywhere}
.legal-table-note{display:block;font-size:12px;color:#607b8b;font-weight:400;margin-top:5px}
.legal-preferences-button{font-size:16px;white-space:normal;max-width:100%;margin:3px 0 10px}
.privacy-is-open{overflow:hidden}
.privacy-dialog{background:#f8fbfc;color:#123040;border:1px solid #b8cfdc;border-radius:18px;width:calc(100% - 32px);max-width:660px;max-height:calc(100dvh - 32px);overflow:auto;padding:32px;margin:auto;box-shadow:0 24px 100px #0006;font:inherit;animation:privacy-enter .18s ease-out}
.privacy-dialog::backdrop{background:#041d2c99}
.privacy-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.privacy-dialog .eyebrow{font-size:12px;color:#406b81;margin:0}
.privacy-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid #b5cbd7;background:transparent;border-radius:50%;color:#173d50;cursor:pointer;flex-shrink:0}
.privacy-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.privacy-dialog h2{font-size:32px;font-weight:550;line-height:1.2;letter-spacing:-.035em;margin:0 0 16px}
.privacy-dialog p{font-size:16px;line-height:1.65;color:#446171;margin:0}
.privacy-essential{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 0;margin-top:22px;border-block:1px solid #cddde6}
.privacy-essential h3{font-size:16px;font-weight:650;margin:0 0 6px}
.privacy-essential p{font-size:14px;max-width:350px}
.privacy-essential>span{font-size:12px;font-weight:650;white-space:nowrap;background:#e3eef3;border-radius:30px;padding:6px 10px}
.privacy-links{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:22px!important}
.privacy-links a{font-size:14px;color:#006583;text-decoration:underline;text-underline-offset:4px}
.privacy-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.privacy-button{min-height:46px;flex:1 1 170px;padding:12px 16px;border:1px solid #173d50;border-radius:7px;color:#123040;background:#edf5f8;font:inherit;font-size:14px;font-weight:650;cursor:pointer}
.privacy-button:hover,.privacy-close:hover{background:#dbeef5}
.privacy-option{display:flex;align-items:flex-start;gap:14px;padding:20px 0;border-bottom:1px solid #cddde6;cursor:pointer}
.privacy-option input{appearance:auto;width:20px;height:20px;flex-shrink:0;accent-color:#08799e;margin:3px 0 0}
.privacy-option strong{display:block;font-size:16px;margin-bottom:5px}
.privacy-option span span{display:block;font-size:14px;line-height:1.65;color:#446171}
.privacy-status:empty{display:none}
.privacy-status{margin-top:18px!important;font-size:14px!important}
@keyframes privacy-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.footer-bottom{flex-direction:column}.footer-legal{justify-content:flex-start}.legal-hero{padding-top:calc(var(--header,80px) + 24px);padding-bottom:30px}.legal-breadcrumbs{margin-bottom:28px}.legal-layout{grid-template-columns:1fr;gap:32px;padding-block:30px 56px}.legal-index{position:static;max-height:none;padding:20px 22px;background:#e7f0f4;border-radius:10px}.legal-index nav{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.legal-copy{font-size:16px;line-height:1.8}.legal-section{margin-bottom:28px;padding-bottom:28px}.legal-section h2{margin-bottom:20px}.legal-contacts,.legal-callout{padding:22px}.privacy-dialog{padding:24px}.privacy-dialog h2{font-size:28px}}
@media(max-width:480px){.legal-index nav{grid-template-columns:1fr}.footer-company{font-size:12px}.footer-legal{gap:12px 18px}.privacy-essential{flex-direction:column;gap:12px}.privacy-actions{flex-direction:column}.privacy-button{flex:none;width:100%}.legal-table th,.legal-table td{padding:13px}}
@media(prefers-reduced-motion:reduce){.privacy-dialog{animation:none}.legal-index a{transition:none}}
.legal-review-note{font-size:14px;line-height:1.65;border:1px solid #709bae;border-radius:8px;padding:16px 20px;color:#e3f3fa;max-width:780px;margin-top:24px}
.legal-review-note strong{display:block;color:#fff;margin-bottom:5px}
