.cookie-banner{z-index:60;box-sizing:border-box;background:var(--color-cream);width:445px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);color:var(--color-ink);font-family:var(--font-body);border-radius:8px;padding:30px 31px 28px;position:fixed;bottom:26px;right:32px;overflow-y:auto;box-shadow:0 18px 44px -18px #0f1c3773,0 2px 8px #0f1c371f}.cookie-banner h2{font-family:var(--font-display);color:var(--color-navy);margin:0 0 18px;font-size:32px;font-weight:400;line-height:1.15}.cookie-banner p{color:#4b5263;margin:0;font-size:15px;line-height:1.75}.cookie-banner-links{flex-wrap:wrap;gap:8px 24px;margin:18px 0 22px;display:flex}.cookie-banner-links a{color:var(--color-navy);text-underline-offset:4px;font-size:13px;text-decoration:underline;text-decoration-thickness:1px}.cookie-banner-actions{grid-template-columns:1fr 1fr;gap:11px 12px;display:grid}.cookie-btn{border:1px solid var(--color-navy);min-height:48px;color:var(--color-navy);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:2px;padding:10px 16px;font-size:13.5px;font-weight:500;line-height:1.3}.cookie-btn:hover{background:color-mix(in srgb,var(--color-navy) 6%,transparent)}.cookie-btn-primary{background:var(--color-amber);border-color:var(--color-amber)}.cookie-btn-primary:hover{background:color-mix(in srgb,var(--color-amber) 88%,var(--color-navy))}.cookie-btn-wide{grid-column:1/-1}:is(.cookie-banner,.cookie-prefs) :is(a,button,input):focus-visible{outline:2px solid var(--color-navy);outline-offset:3px}@media(max-width:600px){.cookie-banner{width:auto;max-width:none;padding:22px 20px 20px;bottom:16px;left:16px;right:16px}.cookie-banner h2{margin-bottom:12px;font-size:28px}.cookie-banner p{font-size:14px;line-height:1.65}.cookie-banner-links{margin:14px 0 16px}}@media(max-width:340px){.cookie-banner-actions{grid-template-columns:1fr}}.cookie-prefs{box-sizing:border-box;background:var(--color-cream);width:520px;max-width:calc(100vw - 32px);height:fit-content;max-height:calc(100dvh - 32px);color:var(--color-ink);font-family:var(--font-body);border:0;border-radius:8px;margin:auto;padding:0;position:fixed;inset:0;overflow-y:auto;box-shadow:0 24px 60px -20px #0f1c378c}.cookie-prefs::backdrop{background:#0f1c378c}.cookie-prefs-inner{padding:32px}.cookie-prefs h2{font-family:var(--font-display);color:var(--color-navy);outline:none;margin:0 0 12px;font-size:32px;font-weight:400;line-height:1.15}.cookie-prefs p{color:#4b5263;margin:0;font-size:15px;line-height:1.7}.cookie-prefs-category{background:var(--background);border:1px solid var(--color-hairline);border-radius:4px;margin-top:22px;padding:18px 20px}.cookie-prefs-category-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.cookie-prefs-category h3{font-family:var(--font-body);color:var(--color-navy);margin:0;font-size:16px;font-weight:500}.cookie-prefs-category p{font-size:14px}.cookie-prefs-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--color-navy);background:color-mix(in srgb,var(--color-amber) 35%,transparent);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500}.cookie-prefs .cookie-prefs-note{margin-top:16px;font-size:14px}.cookie-prefs .cookie-prefs-status{color:var(--color-muted);margin-top:16px;font-size:13px}.cookie-prefs-link{margin-top:6px!important}.cookie-prefs-link a{color:var(--color-navy);text-underline-offset:4px;font-size:13px;text-decoration:underline}.cookie-prefs-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;display:grid}@media(max-width:600px){.cookie-prefs-inner{padding:24px 20px}.cookie-prefs h2{font-size:28px}}@media(max-width:340px){.cookie-prefs-actions{grid-template-columns:1fr}}.firm-footer .footer-columns{grid-template-columns:minmax(0,1fr);gap:40px;display:grid}.firm-footer .footer-columns>div{min-width:0}.firm-footer .footer-contact-link{overflow-wrap:anywhere}.firm-footer .footer-booking-label{color:var(--color-amber);font-family:var(--font-body);margin-bottom:16px;font-size:15px;font-weight:500}.firm-footer .footer-qr-tile{aspect-ratio:1;background:var(--background);border-radius:4px;width:148px;display:block}.firm-footer .footer-qr-tile img{object-fit:contain;width:100%;height:100%;display:block}.firm-footer .footer-booking-caption{max-width:190px;margin-top:12px;margin-bottom:12px;font-size:15px;line-height:1.6}.firm-footer .footer-badge-img-link{display:inline-block}.firm-footer .footer-booking-group{flex-direction:column;align-items:flex-start;gap:24px;display:flex}.firm-footer .footer-booking-qr{min-width:0}.firm-footer .footer-badge{flex:none;min-width:0}.firm-footer .footer-badge img{width:180px;height:auto;margin:0;display:block}.firm-footer .footer-badge-name{margin-top:8px}.firm-footer .footer-badge-name a{font-family:var(--font-display);color:var(--color-amber);font-size:16px;text-decoration:none}.firm-footer .footer-badge-name a:hover{text-decoration:underline}.firm-footer .footer-booking-link{color:var(--color-amber);border-bottom:1px solid;padding-bottom:3px;font-size:15px}.firm-footer a:focus-visible{outline:2px solid var(--color-amber);outline-offset:5px}@media(min-width:768px){.firm-footer .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px}}@media(min-width:960px){.firm-footer .footer-booking-group{flex-direction:row}.firm-footer .footer-badge img{width:150px}}@media(min-width:1240px){.firm-footer .footer-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,1.15fr) 336px;gap:36px}.firm-footer .footer-booking-group{flex-direction:row}.firm-footer .footer-badge img{width:150px}}.firm-footer .footer-legal{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.firm-footer .footer-legal-copy{text-wrap:balance;min-width:0;margin:0}.firm-footer .footer-legal-link{white-space:nowrap;flex:none}.firm-footer .footer-legal-links{flex-wrap:wrap;flex:none;justify-content:center;gap:12px 22px;display:flex}@media(min-width:768px){.firm-footer .footer-legal-links{justify-content:flex-start}}@media(min-width:1024px){.firm-footer .footer-legal-links{justify-content:flex-end}}@media(min-width:768px){.firm-footer .footer-legal{text-align:left;align-items:flex-start}}@media(min-width:1024px){.firm-footer .footer-legal{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:48px}}.firm-footer .footer-cookie-preferences{font:inherit;line-height:inherit;cursor:pointer;background:0 0;border:0;padding:0}.firm-footer .footer-cookie-preferences:focus-visible{outline:2px solid var(--color-amber);outline-offset:5px}
