.legal-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px 30px;border-top:1px solid #ffffff35;padding-top:24px;font-size:.88rem}.legal-links a:hover{text-decoration:underline}.legal-dialog{padding:0;border:1px solid #ead9dc;border-radius:20px;width:min(760px,calc(100% - 28px));max-height:86dvh;margin:auto;background:#fff;color:#241719;box-shadow:0 28px 100px #26000966;overscroll-behavior:contain}.legal-dialog::backdrop{background:#21040bdd;backdrop-filter:blur(7px)}.legal-modal-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:14px 22px;background:#970d1c;color:white;font-weight:700;letter-spacing:.13em}.legal-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff70;border-radius:50%;background:transparent;color:white;font-size:30px;line-height:1}.legal-close:hover{background:#620c16}.legal-modal-body{padding:30px clamp(20px,5vw,44px)}.legal-modal-body h2{font-size:clamp(1.8rem,5vw,2.8rem);margin-bottom:30px;color:#970d1c}.legal-modal-body h3{font-size:1.15rem;letter-spacing:-.02em;margin:26px 0 12px}.legal-modal-body p{font-size:.95rem;line-height:1.75;overflow-wrap:anywhere}.legal-modal-body a,.privacy-form-note a,.consent a{text-decoration:underline;text-underline-offset:3px}.legal-date{border-top:1px solid #ead9dc;padding-top:20px;color:#6e6264;margin-top:28px}.privacy-banner{position:fixed;z-index:9999;bottom:22px;left:50%;transform:translateX(-50%);width:min(1060px,calc(100% - 28px));display:flex;align-items:center;gap:28px;background:#fff;color:#241719;border:1px solid #ead9dc;border-top:4px solid #970d1c;border-radius:15px;padding:24px;box-shadow:0 12px 60px #25040b40}.privacy-banner[hidden]{display:none}.privacy-banner strong{color:#970d1c;font-size:1.15rem}.privacy-banner p{font-size:.87rem;line-height:1.5;margin:8px 0 0}.privacy-banner-actions{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:12px}.privacy-banner-actions a{font-size:.8rem;text-decoration:underline}.privacy-action{border:1px solid #970d1c;background:#970d1c;color:#fff;border-radius:7px;padding:13px 20px;font-weight:600;white-space:normal}.privacy-action:hover{background:#620c16}.privacy-form-note{font-size:.8rem;line-height:1.6}.travel-region{border:1px solid #ead9dc!important;border-left:4px solid #970d1c!important;border-radius:12px;padding:28px!important;background:linear-gradient(120deg,#fff7f8,#fff)!important;margin-top:32px!important;text-align:left!important}.travel-region .travel-heading{font-size:1.3rem;font-weight:700;color:#970d1c;margin-bottom:6px}.travel-region p{margin-bottom:14px}.department-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:18px 0}.department-list li{background:#970d1c;color:white;border-radius:30px;padding:8px 16px;font-size:.9rem;font-weight:600}.travel-region .travel-detail{font-size:.85rem;color:#6e6264;margin:18px 0 0}@media(max-width:600px){.privacy-banner{bottom:12px;padding:18px;gap:16px;flex-direction:column;align-items:stretch}.privacy-banner-actions{align-items:stretch;text-align:center}.legal-links{gap:16px;flex-direction:column}.legal-modal-body{padding:22px}.travel-region{padding:20px!important}.department-list{gap:8px}.department-list li{font-size:.8rem;padding:8px 12px}}

/* Footer navigation stays in document flow at every viewport size. */
footer .legal-links{position:static;inset:auto;width:auto;height:auto;max-height:none;overflow:visible;padding:24px 0 0;background:transparent;color:var(--red);font-size:.88rem;letter-spacing:normal;align-items:flex-start}
@media(max-width:600px){.privacy-banner{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}.legal-dialog{max-height:calc(100dvh - 28px);overflow-y:auto}.legal-modal-head{min-height:68px}.legal-close{flex-shrink:0}}
