        @font-face {
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 800;
            font-display: swap;
            src: url('/assets/fonts/poppins-800.ttf') format('truetype');
        }

        /* Custom Styles for active link & transitions */
        .hero-title { font-family: 'Poppins', Inter, system-ui, sans-serif; }
        .fade-in { animation: fadeIn 0.4s ease-in-out; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        html { scroll-padding-top: 80px; }
        .ph-fill::before, .ph-bold::before, .ph-light::before { display: inline-block; font-style: normal; }
        .ph-taxi::before, .ph-car-profile::before { content: ""; }
        .ph-phone-call::before, .ph-phone::before { content: "☎"; }
        .ph-whatsapp-logo::before { content: ""; }
        .ph-chat-text::before { content: "SMS"; font-size: .7em; font-weight: 800; }
        .ph-airplane-takeoff::before { content: "✈"; }
        .ph-currency-eur::before { content: "€"; font-weight: 800; }
        .ph-clock::before { content: "◷"; }
        .ph-map-pin::before { content: "⌖"; }
        .ph-paper-plane-tilt::before { content: "➤"; }
        .ph-arrow-right::before, .ph-caret-right::before { content: "›"; }
        .ph-arrow-left::before { content: "‹"; }
        .ph-check::before, .ph-check-circle::before, .ph-shield-check::before { content: "✓"; }
        .ph-star::before { content: "★"; }
        .ph-identification-card::before { content: "ID"; font-size: .7em; font-weight: 800; }
        .ph-users-three::before { content: "4+1"; font-size: .7em; font-weight: 800; }
        .ph-suitcase-rolling::before { content: "▣"; }
        .ph-translate::before { content: "EN"; font-size: .7em; font-weight: 800; }
        .ph-receipt::before { content: "€"; font-weight: 800; }
        .ph-calendar-plus::before { content: "+"; }
        .ph-spinner::before { content: "…"; }
        .ph-caret-down::before { content: "⌄"; }
        .hidden { display: none; }
        .sticky { position: sticky; }
        .top-24 { top: 6rem; }
        .ml-4 { margin-left: 1rem; }
        .mt-1 { margin-top: .25rem; }
        .mt-12 { margin-top: 3rem; }
        .pb-5 { padding-bottom: 1.25rem; }
        .px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
        .p-5 { padding: 1.25rem; }
        .pr-4 { padding-right: 1rem; }
        .h-64 { height: 16rem; }
        .h-80 { height: 20rem; }
        .h-96 { height: 24rem; }
        .max-w-3xl { max-width: 48rem; }
        .max-w-4xl { max-width: 56rem; }
        .max-w-xl { max-width: 36rem; }
        .max-w-none { max-width: none; }
        .text-base { font-size: 1rem; line-height: 1.5rem; }
        .text-right { text-align: right; }
        .text-blue-800 { color: rgb(30 64 175); }
        .text-green-500 { color: rgb(34 197 94); }
        .text-green-600 { color: rgb(22 163 74); }
        .bg-gray-100 { background-color: rgb(243 244 246); }
        .bg-blue-50 { background-color: rgb(239 246 255); }
        .bg-blue-100 { background-color: rgb(219 234 254); }
        .bg-green-100 { background-color: rgb(220 252 231); }
        .bg-brand-light { background-color: #F3F4F6; }
        .border-b-2 { border-bottom-width: 2px; }
        .border-l-4 { border-left-width: 4px; }
        .border-blue-100 { border-color: rgb(219 234 254); }
        .divide-y > :not([hidden]) ~ :not([hidden]) { border-top-width: 1px; }
        .divide-gray-100 > :not([hidden]) ~ :not([hidden]) { border-color: rgb(243 244 246); }
        .space-y-3 > :not([hidden]) ~ :not([hidden]) { margin-top: .75rem; }
        .space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.5rem; }
        .leading-relaxed { line-height: 1.625; }
        .whitespace-nowrap { white-space: nowrap; }
        .truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .opacity-60 { opacity: .6; }
        .transition-transform { transition-property: transform; transition-duration: 150ms; transition-timing-function: cubic-bezier(.4,0,.2,1); }
        .duration-500 { transition-duration: 500ms; }
        .hover\:bg-gray-50:hover { background-color: rgb(249 250 251); }
        .hover\:shadow-md:hover { box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); }
        .hover\:underline:hover { text-decoration: underline; }
        .group:hover .group-hover\:scale-110 { transform: scale(1.1); }
        .cookie-consent {
            position: fixed;
            left: 50%;
            bottom: 6.75rem;
            z-index: 60;
            width: min(46rem, calc(100% - 2rem));
            transform: translateX(-50%);
        }
        .cookie-consent__panel {
            display: flex;
            gap: 1rem;
            align-items: center;
            justify-content: space-between;
            border: 1px solid rgb(229 231 235);
            border-radius: .5rem;
            background: rgb(255 255 255 / .97);
            box-shadow: 0 18px 45px rgb(0 0 0 / .18);
            padding: 1rem;
            backdrop-filter: blur(12px);
        }
        .cookie-consent__actions {
            display: flex;
            gap: .75rem;
            flex-shrink: 0;
        }
        @media (max-width: 640px) {
            .cookie-consent {
                bottom: 6.25rem;
                width: calc(100% - 1rem);
            }
            .cookie-consent__panel {
                align-items: stretch;
                flex-direction: column;
                gap: .65rem;
                padding: .75rem;
                max-height: calc(100vh - 7rem);
                overflow-y: auto;
            }
            .cookie-consent__panel p {
                font-size: .75rem;
                line-height: 1.25;
            }
            .cookie-consent__actions {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: .5rem;
            }
            .cookie-consent__actions button {
                padding: .625rem .75rem;
            }
        }
        .group:hover .group-hover\:text-blue-600 { color: rgb(37 99 235); }
        .group:hover .group-hover\:text-brand-yellow { color: #FFCC00; }
        .group:hover .group-hover\:translate-x-1 { transform: translateX(.25rem); }
        .focus\:outline-none:focus { outline: 2px solid transparent; outline-offset: 2px; }
        .aspect-w-1.aspect-h-1 { aspect-ratio: 1 / 1; }
        html, body { max-width: 100%; overflow-x: hidden; overflow-x: clip; }
        :focus-visible { outline: 3px solid #2563eb !important; outline-offset: 3px; }
        .lang-btn { min-width: 2.75rem; min-height: 2.75rem; }
        .gallery-grid {
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            gap: 1rem;
        }
        .gallery-item {
            min-width: 0;
            aspect-ratio: 4 / 3;
        }
        .gallery-item img,
        .location-map {
            display: block;
            width: 100%;
            height: 100%;
        }
        @media (min-width: 480px) {
            .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }
        @media (min-width: 768px) {
            .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        }
        @media (min-width: 1024px) {
            .gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
        }
        .prose p { margin-bottom: 1rem; }
        .prose-lg { font-size: 1.125rem; line-height: 1.75rem; }
        .trust-panel {
            background: linear-gradient(180deg, #101722 0%, #070b12 100%);
            border-top: 1px solid rgb(255 255 255 / .1);
            border-bottom: 1px solid rgb(255 255 255 / .08);
            box-shadow: inset 0 1px 0 rgb(255 255 255 / .05);
        }
        .trust-panel__grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            grid-auto-rows: 1fr;
            gap: .75rem;
        }
        .trust-card {
            min-height: 9rem;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: flex-start;
            gap: .75rem;
            position: relative;
            overflow: hidden;
            border: 1px solid rgb(255 255 255 / .12);
            border-radius: .5rem;
            background: linear-gradient(180deg, rgb(255 255 255 / .07), rgb(255 255 255 / .035));
            padding: 1rem;
            box-shadow: inset 0 1px 0 rgb(255 255 255 / .07), 0 16px 34px rgb(0 0 0 / .22);
        }
        .trust-card::before {
            content: "";
            position: absolute;
            inset: 0 auto 0 0;
            width: 3px;
            background: rgb(255 255 255 / .18);
        }
        .trust-card > div {
            position: relative;
            max-width: 13rem;
        }
        .trust-card__icon {
            width: 2.5rem;
            height: 2.5rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: .5rem;
            background: rgb(255 255 255 / .08);
            color: #f9fafb;
            font-size: 1.35rem;
        }
        .trust-card__title {
            color: #fff;
            font-size: .95rem;
            font-weight: 800;
            line-height: 1.2;
        }
        .trust-card__desc {
            color: rgb(209 213 219 / .92);
            font-size: .8rem;
            line-height: 1.35;
            margin-top: .25rem;
        }
        .trust-card--yellow {
            border-color: rgb(255 204 0 / .42);
            background: linear-gradient(180deg, rgb(255 204 0 / .15), rgb(255 255 255 / .04));
        }
        .trust-card--yellow::before { background: #ffcc00; }
        .trust-card--yellow .trust-card__icon { background: rgb(255 204 0 / .18); color: #ffcc00; }
        .trust-card--yellow .trust-card__title { color: #ffdc3d; }
        .trust-card--green {
            border-color: rgb(37 211 102 / .42);
            background: linear-gradient(180deg, rgb(37 211 102 / .14), rgb(255 255 255 / .045));
        }
        .trust-card--green::before { background: #25d366; }
        .trust-card--green .trust-card__icon { background: rgb(37 211 102 / .16); color: #25d366; }
        .trust-card--green .trust-card__title { color: #7cf7aa; }
        .trust-card--green .ph-whatsapp-logo::before { content: "WA"; font-size: .7em; font-weight: 800; }
        .trust-card--blue {
            border-color: rgb(96 165 250 / .34);
            background: linear-gradient(180deg, rgb(59 130 246 / .14), rgb(255 255 255 / .045));
        }
        .trust-card--blue::before { background: #60a5fa; }
        .trust-card--blue .trust-card__icon { background: rgb(59 130 246 / .16); color: #93c5fd; }
        .trust-card--blue .trust-card__title { color: #bfdbfe; }
        @media (min-width: 640px) { .sm\:h-64 { height: 16rem; } }
        @media (min-width: 768px) {
            .md\:block { display: block; }
            .md\:hidden { display: none; }
            .md\:col-span-3 { grid-column: span 3 / span 3; }
            .md\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
            .md\:h-96 { height: 24rem; }
            .md\:p-6 { padding: 1.5rem; }
            .md\:text-5xl { font-size: 3rem; line-height: 1; }
            .trust-panel__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
            .trust-card { min-height: 10rem; padding: 1.1rem; }
        }
        @media (min-width: 1024px) {
            .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
            .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
        }

        /* 2026 premium mobile-first design layer */
        :root {
            --premium-ink: #0b1422;
            --premium-ink-soft: #152238;
            --premium-yellow: #ffd21f;
            --premium-yellow-strong: #edbd00;
            --premium-paper: #ffffff;
            --premium-canvas: #f4f5f2;
            --premium-muted: #5f6b7a;
            --premium-line: #dfe3e7;
            --premium-blue: #1558c0;
            --premium-green: #12864b;
            --premium-shadow: 0 18px 50px rgb(11 20 34 / .11);
        }

        html {
            color-scheme: light;
            scroll-padding-top: 5.25rem;
            background: var(--premium-paper);
        }

        body.site-body {
            min-width: 320px;
            padding-bottom: 0;
            color: var(--premium-ink);
            background: var(--premium-paper);
            font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            line-height: 1.6;
            text-rendering: optimizeLegibility;
        }

        body.site-body h1,
        body.site-body h2,
        body.site-body .hero-title {
            font-family: Poppins, Inter, ui-sans-serif, system-ui, sans-serif;
            letter-spacing: -.035em;
            text-wrap: balance;
        }

        body.site-body p {
            text-wrap: pretty;
        }

        body.site-body a,
        body.site-body button,
        body.site-body input,
        body.site-body select,
        body.site-body textarea {
            -webkit-tap-highlight-color: transparent;
        }

        .skip-link {
            position: fixed;
            top: -5rem;
            left: .75rem;
            z-index: 100;
            padding: .7rem 1rem;
            border: 2px solid var(--premium-ink);
            border-radius: .25rem;
            color: var(--premium-ink);
            background: var(--premium-yellow);
            font-weight: 800;
            box-shadow: 0 8px 20px rgb(0 0 0 / .18);
        }

        .skip-link:focus {
            top: .75rem;
        }

        .site-header {
            height: 4.5rem;
            border-color: rgb(11 20 34 / .1);
            background: rgb(255 255 255 / .94);
            box-shadow: 0 8px 24px rgb(11 20 34 / .07);
        }

        .site-header > div {
            height: 4.5rem;
        }

        .site-header > div > a {
            min-width: 0;
            gap: .65rem;
            line-height: 1;
        }

        .brand-sign {
            width: 3.25rem;
            height: 2.25rem;
            display: inline-flex;
            flex: 0 0 auto;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--premium-ink);
            border-radius: .18rem;
            color: var(--premium-ink);
            background: var(--premium-yellow);
            font-size: .62rem;
            font-weight: 900;
            letter-spacing: .08em;
            line-height: 1;
            box-shadow: 3px 3px 0 var(--premium-ink);
        }

        .brand-sign strong {
            display: block;
            font-size: .54rem;
            letter-spacing: .12em;
        }

        .brand-copy {
            display: grid;
            min-width: 0;
            gap: .05rem;
        }

        .brand-copy strong {
            overflow: hidden;
            font-size: 1.02rem;
            font-weight: 850;
            letter-spacing: -.03em;
            line-height: 1.05;
            text-overflow: ellipsis;
        }

        .brand-copy small {
            color: #647082;
            font-size: .62rem;
            font-weight: 800;
            letter-spacing: .18em;
            line-height: 1.1;
            text-transform: uppercase;
        }

        .language-switcher {
            flex: 0 0 auto;
            gap: .3rem;
        }

        .language-switcher .lang-btn {
            min-width: 2.65rem;
            min-height: 2.65rem;
            padding: .35rem;
            border-radius: .25rem;
            border-color: #d7dce2;
            color: #374151;
            background: #fff;
            font-size: .75rem;
            box-shadow: none;
        }

        .language-switcher .lang-btn[aria-pressed="true"] {
            border-color: var(--premium-yellow-strong);
            color: var(--premium-ink);
            background: var(--premium-yellow);
            box-shadow: inset 0 -2px 0 rgb(11 20 34 / .12);
        }

        .site-main {
            padding-top: 4.5rem;
            background: var(--premium-paper);
        }

        .hero-section {
            isolation: isolate;
            min-height: 35rem;
            background: var(--premium-ink);
        }

        .hero-media {
            opacity: 1;
            mix-blend-mode: normal;
        }

        .hero-media::after {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(90deg, rgb(5 12 22 / .98) 0%, rgb(7 15 27 / .91) 56%, rgb(7 15 27 / .48) 100%),
                linear-gradient(0deg, rgb(5 12 22 / .88), transparent 55%);
            content: "";
        }

        .hero-media img {
            object-position: 62% center;
            filter: saturate(.86) contrast(1.06);
        }

        .hero-layout {
            min-height: 35rem;
            align-items: center;
            padding-top: 3.5rem;
            padding-bottom: 4rem;
        }

        .hero-copy {
            max-width: 42rem;
            padding-top: 0;
        }

        .hero-copy > span:first-child {
            border-radius: .2rem;
            border-color: rgb(255 210 31 / .7);
            color: #ffe26b;
            background: rgb(255 210 31 / .1);
            letter-spacing: .07em;
            text-transform: uppercase;
        }

        .hero-title {
            max-width: 13ch;
            margin-bottom: 1.4rem;
            font-size: clamp(2.25rem, 10vw, 4.65rem);
            line-height: 1.02;
            text-shadow: 0 8px 30px rgb(0 0 0 / .3);
        }

        .hero-copy > p {
            max-width: 39rem;
            color: #d5dbe4;
            font-size: clamp(1rem, 3.7vw, 1.2rem);
            line-height: 1.72;
        }

        .hero-copy a {
            min-height: 3.45rem;
            border: 1px solid transparent;
            border-radius: .4rem;
            box-shadow: 0 12px 28px rgb(0 0 0 / .18);
        }

        .hero-copy a[href*="wa.me"] {
            border-color: #22a85e;
            background: #159957;
        }

        .hero-copy a[href^="tel:"] {
            border-color: #fff;
        }

        .hero-booking .booking-form-card {
            border-color: rgb(255 255 255 / .32);
            box-shadow: 0 28px 70px rgb(0 0 0 / .34);
        }

        .trust-panel {
            border: 0;
            background: #101b2c;
            box-shadow: inset 0 1px 0 rgb(255 255 255 / .08);
        }

        .trust-panel__grid {
            gap: .65rem;
        }

        .trust-card {
            min-height: 8.25rem;
            gap: .65rem;
            border-radius: .35rem;
            border-color: rgb(255 255 255 / .1);
            padding: .9rem;
            box-shadow: none;
        }

        .trust-card::before {
            width: 2px;
        }

        .trust-card__icon {
            width: 2.25rem;
            height: 2.25rem;
            border-radius: .25rem;
            font-size: 1.15rem;
        }

        .trust-card__title {
            font-size: .85rem;
        }

        .trust-card__desc {
            font-size: .74rem;
        }

        #app-root .rounded-2xl,
        #app-root .rounded-xl,
        #app-root .rounded-lg {
            border-radius: .5rem;
        }

        #app-root .shadow-xl,
        #app-root .shadow-lg {
            box-shadow: var(--premium-shadow);
        }

        #app-root .bg-gray-50 {
            background-color: var(--premium-canvas);
        }

        #app-root .bg-white.rounded-2xl,
        #app-root .bg-white.rounded-xl,
        #app-root .bg-white.rounded-lg {
            border-color: var(--premium-line);
        }

        #app-root .grid.md\:grid-cols-3 > .bg-white,
        #app-root .grid.lg\:grid-cols-3 > .bg-white {
            box-shadow: 0 12px 34px rgb(11 20 34 / .07);
            transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
        }

        #app-root .grid.md\:grid-cols-3 > .bg-white:hover,
        #app-root .grid.lg\:grid-cols-3 > .bg-white:hover {
            transform: translateY(-3px);
            border-color: #c9d0d8;
            box-shadow: 0 18px 42px rgb(11 20 34 / .12);
        }

        #app-root .text-blue-600,
        #app-root .text-blue-700 {
            color: var(--premium-blue);
        }

        #app-root .service-page-button,
        #app-root .static-page-links a,
        #app-root .service-list-title-button {
            display: inline-flex;
            align-items: center;
            gap: .45rem;
            min-height: 2.8rem;
            padding: .68rem .9rem;
            border: 1px solid #d4aa00;
            border-radius: .4rem;
            color: var(--premium-ink);
            background: var(--premium-yellow);
            box-shadow: 0 8px 18px rgb(211 166 0 / .2);
            line-height: 1.25;
            text-align: left;
            text-decoration: none;
            transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
        }

        #app-root .service-page-button {
            justify-content: center;
            max-width: 72%;
            font-size: .86rem;
        }

        #app-root .service-page-button:hover,
        #app-root .static-page-links a:hover,
        #app-root .service-list-card:hover .service-list-title-button {
            border-color: #b89000;
            color: var(--premium-ink);
            background: #f5c400;
            box-shadow: 0 11px 22px rgb(211 166 0 / .28);
            transform: translateY(-1px);
        }

        #app-root .service-page-button:focus-visible,
        #app-root .static-page-links a:focus-visible,
        #app-root .service-list-card:focus-visible {
            outline: 3px solid rgb(37 99 235 / .35);
            outline-offset: 3px;
        }

        #app-root .service-page-button i {
            flex: 0 0 auto;
            font-size: 1rem;
        }

        #app-root .service-page-button--compact {
            margin-top: .55rem;
            max-width: 18rem;
            min-height: 2.55rem;
            padding: .55rem .75rem;
            font-size: .78rem;
        }

        #app-root .service-list-title-button {
            min-height: 2.55rem;
            padding: .55rem .75rem;
            font-size: 1rem;
        }

        #app-root .static-page-links {
            gap: .65rem;
        }

        #app-root .static-page-links a {
            width: 100%;
            min-height: 2.7rem;
            justify-content: space-between;
            font-size: .86rem;
        }

        #app-root .static-page-links a::after {
            flex: 0 0 auto;
            content: "\2192";
        }

        #app-root .py-20 {
            padding-top: clamp(4rem, 8vw, 6rem);
            padding-bottom: clamp(4rem, 8vw, 6rem);
        }

        #app-root .py-16,
        .reviews-widget.py-16 {
            padding-top: clamp(3.5rem, 7vw, 5rem);
            padding-bottom: clamp(3.5rem, 7vw, 5rem);
        }

        .booking-form-card {
            max-width: 39rem;
            border-radius: .55rem;
            border-color: #d8dde3;
            background:
                linear-gradient(135deg, rgb(255 210 31 / .08), transparent 14rem),
                #fbfcfd;
            box-shadow: 0 22px 58px rgb(11 20 34 / .13);
        }

        .booking-form-card::before {
            height: .22rem;
        }

        .booking-form-card > h2 {
            font-size: clamp(1.45rem, 5vw, 1.95rem);
        }

        .booking-channel,
        .booking-channel-option,
        .booking-form input:not([type="hidden"]):not([type="radio"]),
        .booking-form select,
        .booking-form textarea,
        .booking-submit,
        .booking-form-selected {
            border-radius: .4rem;
        }

        .booking-form input:not([type="hidden"]):not([type="radio"]),
        .booking-form select,
        .booking-form textarea {
            border-color: #bdc6d0;
            background: #fff;
        }

        .booking-submit {
            min-height: 3.6rem;
            color: var(--premium-ink);
            background: var(--premium-yellow);
            box-shadow: 0 12px 24px rgb(211 166 0 / .24);
        }

        .booking-submit:hover {
            background: #f2c300;
        }

        .gallery-item,
        .gallery-item img {
            border-radius: .35rem;
        }

        .reviews-widget {
            min-height: 22rem;
            content-visibility: auto;
            contain-intrinsic-size: 520px;
            border-color: var(--premium-line);
        }

        .reviews-widget h2 {
            font-size: clamp(1.75rem, 6vw, 2.4rem);
        }

        .floating-cta {
            bottom: max(.65rem, env(safe-area-inset-bottom));
            width: min(94%, 27rem);
            gap: .4rem;
            border-radius: .55rem;
            border-color: rgb(11 20 34 / .16);
            padding: .42rem;
            background: rgb(255 255 255 / .96);
            box-shadow: 0 18px 48px rgb(11 20 34 / .25);
        }

        .floating-cta a {
            min-height: 3.7rem;
            border: 1px solid transparent;
            border-radius: .35rem;
        }

        .floating-cta a[href^="tel:"] {
            background: #1e63cf;
        }

        .floating-cta a[href*="wa.me"] {
            background: #149852;
        }

        .site-footer {
            border-top: .25rem solid var(--premium-yellow);
            background: #08111f;
        }

        .site-footer h2 {
            letter-spacing: -.02em;
        }

        .site-footer a {
            text-underline-offset: .2em;
        }

        .cookie-consent {
            bottom: 5.4rem;
        }

        .cookie-consent__panel {
            border-radius: .45rem;
            border-color: #d4dae1;
            box-shadow: 0 20px 52px rgb(11 20 34 / .2);
        }

        .cookie-consent__actions button {
            min-height: 2.75rem;
            border-radius: .35rem;
        }

        @media (max-width: 600px) {
            .site-header > div {
                padding-right: .65rem;
                padding-left: .65rem;
            }

            .brand-sign {
                width: 2.8rem;
                height: 2rem;
            }

            .brand-copy strong {
                font-size: .92rem;
            }

            .brand-copy small {
                font-size: .55rem;
            }

            .language-switcher .lang-btn {
                min-width: 2.35rem;
                min-height: 2.35rem;
            }

            .hero-layout {
                padding-top: 3.1rem;
                padding-bottom: 3.6rem;
            }

            .hero-title {
                max-width: 12ch;
            }

            .hero-copy > p {
                margin-bottom: 1.65rem;
            }

            .hero-copy a {
                width: 100%;
                padding-right: 1rem;
                padding-left: 1rem;
            }

            .service-card-footer {
                align-items: stretch;
                flex-direction: column;
                gap: .8rem;
            }

            #app-root .service-card-footer .service-page-button {
                width: 100%;
                max-width: none;
                justify-content: space-between;
            }

            .booking-field-pair,
            .booking-channel-options {
                grid-template-columns: minmax(0, 1fr);
            }

            #app-root .grid.md\:grid-cols-3 > .bg-white:hover,
            #app-root .grid.lg\:grid-cols-3 > .bg-white:hover {
                transform: none;
            }

            .site-footer {
                padding-bottom: 7rem;
            }
        }

        @media (min-width: 768px) {
            .hero-section,
            .hero-layout {
                min-height: 45rem;
            }

            .hero-layout {
                grid-template-columns: minmax(0, 1.05fr) minmax(24rem, .95fr);
                gap: clamp(2rem, 5vw, 5rem);
            }

            .hero-booking .booking-form {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .hero-booking .booking-channel,
            .hero-booking .booking-field-pair,
            .hero-booking .booking-submit,
            .hero-booking .booking-form > .booking-field:has(input[name="phone"]),
            .hero-booking .booking-form > .booking-field:has(input[name="destination"]),
            .hero-booking .booking-form > .booking-field:has(textarea) {
                grid-column: 1 / -1;
            }

            .hero-booking .booking-form textarea {
                min-height: 5.5rem;
            }

            .trust-panel__grid {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }

            .site-footer {
                padding-bottom: 7rem;
            }
        }

        @media (min-width: 1100px) {
            .floating-cta {
                top: 50%;
                right: .7rem;
                bottom: auto;
                left: auto;
                width: 4.65rem;
                grid-template-columns: minmax(0, 1fr);
                transform: translateY(-50%);
            }

            .floating-cta a {
                min-height: 4.2rem;
                padding: .35rem .2rem;
            }

            .floating-cta a span {
                max-width: 100%;
                font-size: .55rem;
                overflow-wrap: anywhere;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            html { scroll-behavior: auto; }
            .fade-in { animation: none; }
            *, *::before, *::after {
                scroll-behavior: auto !important;
                transition-duration: .01ms !important;
                animation-duration: .01ms !important;
                animation-iteration-count: 1 !important;
            }
        }

        @media print {
            .site-header,
            .floating-cta,
            .cookie-consent,
            .reviews-widget {
                display: none !important;
            }
            .site-main { padding-top: 0; }
        }
    
