        :root {
            --forest-green: #001f03;
            --forest-text: #8c9199;
            --forest-light: #004d08;
            --zinc-950: #09090b;
        }
        *,
        *::before,
        *::after {
            box-sizing: border-box;
        }
        html {
            scroll-behavior: smooth;
            scroll-padding-top: 120px;
        }
        /* View transitions handled by JS soft-navigation only */
        main {
            view-transition-name: page-content;
            contain: paint;
        }
        /* Suppress the root crossfade entirely — the fixed nav should never animate.
           Only the main[view-transition-name=page-content] fades. */
        ::view-transition-old(root),
        ::view-transition-new(root) {
            animation: none;
            mix-blend-mode: normal;
        }
        ::view-transition-image-pair(root) {
            isolation: auto;
        }
        ::view-transition-old(page-content) {
            animation: 0.18s ease-out both simpleFadeOut;
        }
        ::view-transition-new(page-content) {
            animation: 0.28s cubic-bezier(0.16, 1, 0.3, 1) both simpleFadeIn;
        }
        @keyframes simpleFadeOut {
            from { opacity: 1; }
            to   { opacity: 0; }
        }
        @keyframes simpleFadeIn {
            from { opacity: 0; }
            to   { opacity: 1; }
        }
        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--zinc-950);
            color: #e4e4e7;
            margin: 0;
            padding: 0;
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
            text-rendering: optimizeLegibility;
        }
        main,
        section {
            max-width: 100%;
        }
        /* Prevent orphaned words site-wide */
        h1, h2 { text-wrap: balance; }
        p { text-wrap: pretty; }
        .hero-bg {
            background: linear-gradient(to bottom, rgba(9, 9, 11, 0.28) 0%, rgba(9, 9, 11, 0.50) 55%, #09090b 100%),
                        url('https://images.unsplash.com/photo-1557429287-b2e26467fc2b?auto=format&fit=crop&q=80&w=1920');
            background-size: cover;
            background-position: center 28%;
            background-attachment: scroll;
        }
        .glass-nav {}
        .card-hover {
            transition: transform 0.28s cubic-bezier(.16,1,.3,1),
                        border-color 0.22s ease,
                        box-shadow 0.22s ease;
            cursor: pointer;
        }
        .card-hover:hover {
            transform: translateY(-3px);
            border-color: rgba(74, 122, 87, 0.5);
            box-shadow: 0 16px 44px rgba(0,0,0,0.45), 0 0 20px rgba(74,122,87,0.14);
        }
        .btn-glow {
            position: relative;
            overflow: hidden;
            transition: all 0.3s ease;
        }
        .btn-glow::after {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 70%);
            transform: scale(0);
            transition: transform 0.6s ease;
        }
        .btn-glow:hover::after { transform: scale(1); }
        .btn-glow:hover {
            box-shadow: 0 0 30px rgba(0, 77, 8, 0.6), inset 0 0 15px rgba(255,255,255,0.1);
            transform: scale(1.02);
        }
        .btn-glow:active { transform: scale(0.98); }

        .liquid-cta {
            position: relative;
            overflow: hidden;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(255,255,255,0.18);
            background: rgba(0, 22, 3, 0.52);
            color: #e4e4e7;
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.38),
                inset 0 -1px 0 rgba(0,0,0,0.4),
                0 6px 28px rgba(0,0,0,0.45),
                0 1px 0 rgba(255,255,255,0.06);
            backdrop-filter: blur(12px) saturate(120%);
            -webkit-backdrop-filter: blur(12px) saturate(120%);
            transition: transform 0.28s cubic-bezier(.16,1,.3,1),
                        border-color 0.22s ease,
                        background 0.22s ease,
                        box-shadow 0.22s ease;
        }
        .liquid-cta::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.2) 48%, transparent 100%);
            transform: translateX(-110%);
            transition: transform 0.55s cubic-bezier(0.23, 1, 0.32, 1);
            pointer-events: none;
        }
        .liquid-cta::after {
            content: '';
            position: absolute;
            inset: 1px;
            border-radius: inherit;
            background: linear-gradient(160deg, rgba(255,255,255,0.15) 0%, transparent 48%, rgba(0,0,0,0.12) 100%);
            pointer-events: none;
        }
        .liquid-cta:hover {
            transform: translateY(-1px);
            border-color: rgba(255,255,255,0.28);
            background: rgba(0, 30, 4, 0.62);
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.48),
                inset 0 -1px 0 rgba(0,0,0,0.45),
                0 10px 34px rgba(0,0,0,0.48),
                0 0 18px rgba(82,168,122,0.14);
        }
        .liquid-cta:hover::before {
            transform: translateX(110%);
        }
        .liquid-cta:active {
            transform: translateY(1px);
        }
        .liquid-cta:focus-visible {
            outline: 2px solid rgba(140,145,153,0.7);
            outline-offset: 3px;
        }
        .liquid-cta span {
            position: relative;
            z-index: 1;
        }
        .brand-glass {
            --nav-scale: 1;
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 9px 14px 9px 12px;
            border: 1px solid rgba(255,255,255,0.2);
            border-radius: 5px;
            background: rgba(0, 24, 3, 0.58);
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.42),
                inset 0 -1px 0 rgba(0,0,0,0.45),
                0 6px 32px rgba(0,0,0,0.48),
                0 1px 0 rgba(255,255,255,0.07);
            backdrop-filter: blur(14px) saturate(120%);
            -webkit-backdrop-filter: blur(14px) saturate(120%);
            overflow: hidden;
            transform: scale(var(--nav-scale)) translateZ(0);
            transform-origin: center;
            transition: transform 0.28s cubic-bezier(.16,1,.3,1),
                        border-color 0.22s ease,
                        background 0.22s ease,
                        box-shadow 0.22s ease;
        }
        .brand-glass::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.22) 48%, transparent 100%);
            transform: translateX(-110%);
            transition: transform 0.58s cubic-bezier(0.23, 1, 0.32, 1);
            pointer-events: none;
        }
        .brand-glass::after {
            content: '';
            position: absolute;
            inset: 1px;
            border-radius: inherit;
            background: linear-gradient(155deg, rgba(255,255,255,0.18) 0%, transparent 46%, rgba(0,0,0,0.1) 100%);
            pointer-events: none;
        }
        .brand-glass:hover {
            transform: translateY(-2px) scale(var(--nav-scale)) translateZ(0);
            border-color: rgba(255,255,255,0.32);
            background: rgba(0, 32, 4, 0.68);
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.52),
                inset 0 -1px 0 rgba(0,0,0,0.48),
                0 10px 42px rgba(0,0,0,0.54),
                0 0 28px rgba(0,77,8,0.2);
        }
        .brand-glass:hover::before {
            transform: translateX(110%);
        }
        .brand-glass:focus-visible {
            outline: 2px solid rgba(140,145,153,0.7);
            outline-offset: 3px;
        }
        .brand-glass > * {
            position: relative;
            z-index: 1;
        }
        .brand-mark {
            width: 22px;
            height: 30px;
            opacity: 0.92;
            flex-shrink: 0;
            filter: drop-shadow(0 0 10px rgba(255,255,255,0.12));
        }
        .brand-name {
            color: #d4d8e0;
            font-size: clamp(0.78rem, 1.35vw, 1.1rem);
            font-weight: 800;
            letter-spacing: 0.015em;
            line-height: 1;
            text-transform: uppercase;
            text-align: left;
            text-wrap: balance;
            text-shadow: 0 1px 0 rgba(0,0,0,0.28);
        }
        @media (max-width: 420px) {
            .brand-name {
                font-size: 0.72rem;
                max-width: 210px;
            }
        }
        .nav-glass-link {
            --nav-scale: 1;
            position: relative;
            overflow: hidden;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            min-height: 36px;
            padding: 9px 13px;
            border: 1px solid rgba(255,255,255,0.14);
            border-radius: 4px;
            background: rgba(0, 18, 2, 0.44);
            color: rgba(228,228,231,0.88);
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.28),
                inset 0 -1px 0 rgba(0,0,0,0.36),
                0 3px 14px rgba(0,0,0,0.36);
            backdrop-filter: blur(12px) saturate(120%);
            -webkit-backdrop-filter: blur(12px) saturate(120%);
            transform: scale(var(--nav-scale)) translateZ(0);
            transform-origin: center;
            transition: transform 0.28s cubic-bezier(.16,1,.3,1),
                        color 0.20s ease,
                        border-color 0.20s ease,
                        background 0.20s ease,
                        box-shadow 0.20s ease;
        }
        .nav-glass-link::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.16) 48%, transparent 100%);
            transform: translateX(-110%);
            transition: transform 0.55s cubic-bezier(0.23, 1, 0.32, 1);
            pointer-events: none;
        }
        .nav-glass-link::after {
            content: '';
            position: absolute;
            inset: 1px;
            border-radius: inherit;
            background: linear-gradient(155deg, rgba(255,255,255,0.12) 0%, transparent 46%, rgba(0,0,0,0.08) 100%);
            pointer-events: none;
        }
        .nav-glass-link:hover,
        .nav-glass-link:focus-visible {
            color: #e4e4e7;
            transform: translateY(-1px) scale(var(--nav-scale)) translateZ(0);
            border-color: rgba(255,255,255,0.24);
            background: rgba(0, 26, 3, 0.56);
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.36),
                inset 0 -1px 0 rgba(0,0,0,0.4),
                0 6px 22px rgba(0,0,0,0.44),
                0 0 16px rgba(0,60,6,0.18);
            outline: none;
        }
        .nav-glass-link:hover::before,
        .nav-glass-link:focus-visible::before {
            transform: translateX(110%);
        }
        .nav-glass-link span {
            position: relative;
            z-index: 1;
        }
        .nav-glass-link i {
            position: relative;
            z-index: 1;
            color: var(--forest-text);
            font-size: 11px;
            opacity: 0.9;
        }
        .status-glass {
            position: relative;
            overflow: hidden;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 9px 16px;
            border: 1px solid rgba(255,255,255,0.2);
            border-radius: 999px;
            background: rgba(0, 20, 3, 0.54);
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.38),
                inset 0 -1px 0 rgba(0,0,0,0.42),
                0 6px 26px rgba(0,0,0,0.44);
            backdrop-filter: blur(12px) saturate(120%);
            -webkit-backdrop-filter: blur(12px) saturate(120%);
        }
        .status-glass::before {
            content: '';
            position: absolute;
            inset: 1px;
            border-radius: inherit;
            background: linear-gradient(155deg, rgba(255,255,255,0.16) 0%, transparent 46%, rgba(0,0,0,0.1) 100%);
            pointer-events: none;
        }
        .status-dot {
            position: relative;
            z-index: 1;
            width: 6px;
            height: 6px;
            border-radius: 999px;
            background: #22c55e;
            box-shadow: 0 0 9px rgba(34,197,94,1), 0 0 24px rgba(34,197,94,0.38);
            flex-shrink: 0;
            transform: translateY(-0.5px);
        }
        .status-text {
            position: relative;
            z-index: 1;
            color: #d4d8e0;
            font-size: 8px;
            font-weight: 800;
            letter-spacing: 0.22em;
            line-height: 1;
            text-transform: uppercase;
            transform: translateY(0.5px);
        }
        @media (min-width: 768px) {
            .status-text { font-size: 9px; }
        }

        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(10px); }
            to   { opacity: 1; transform: translateY(0); }
        }
        @keyframes pageSettle {
            from { opacity: 1; }
            to { opacity: 1; }
        }
        @keyframes pageBlurOut {
            from { opacity: 1; }
            to { opacity: 0.88; }
        }
        .page-view {
            display: block;
            animation: none;
        }
        .booking-engine-wrapper {
            transition: height 0.6s cubic-bezier(0.23, 1, 0.32, 1);
            overflow: hidden;
            background: transparent;
            width: 100%;
            position: relative;
            display: flex;
            flex-direction: column;
        }
        .booking-height-calendar,
        .booking-height-form,
        .booking-height-nomination,
        .booking-height-partner { height: auto !important; min-height: 0 !important; }
        .booking-tab {
            position: relative;
            overflow: hidden;
            transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, color 0.20s ease;
        }
        .booking-tab::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.16) 48%, transparent 100%);
            transform: translateX(-110%);
            transition: transform 0.55s cubic-bezier(0.23, 1, 0.32, 1);
            pointer-events: none;
            z-index: 0;
        }
        .booking-tab::after {
            content: '';
            position: absolute;
            inset: 1px;
            background: linear-gradient(155deg, rgba(255,255,255,0.10) 0%, transparent 46%, rgba(0,0,0,0.08) 100%);
            pointer-events: none;
            z-index: 0;
        }
        .booking-tab span {
            position: relative;
            z-index: 1;
        }
        .booking-tab:hover:not(.active-tab-style) {
            background: rgba(0, 22, 3, 0.52) !important;
            color: rgba(228,228,231,0.90) !important;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.24), inset 0 -1px 0 rgba(0,0,0,0.36);
        }
        .booking-tab:hover:not(.active-tab-style)::before {
            transform: translateX(110%);
        }
        .booking-tab.active-tab-style {
            background:
                linear-gradient(145deg, rgba(255,255,255,0.13), rgba(255,255,255,0.025) 42%, rgba(0,0,0,0.18)),
                linear-gradient(180deg, rgba(0,42,10,0.70), rgba(0,13,4,0.86)) !important;
            border-bottom: 2px solid rgba(214,229,218,0.30) !important;
            color: rgba(228,228,231,0.95) !important;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.24), inset 0 -1px 0 rgba(0,0,0,0.42), 0 0 28px rgba(0,42,10,0.14);
        }
        .booking-tab span {
            font-size: clamp(11px, 1.05vw, 14px) !important;
            line-height: 1.05 !important;
            letter-spacing: 0.065em !important;
            white-space: nowrap;
        }
        .booking-tab:hover {
            background: rgba(0,34,8,0.34);
            color: rgba(228,228,231,0.86) !important;
        }
        @media (max-width: 1023px) {
            .booking-tab {
                padding: 12px 3px !important;
            }
            .booking-tab span {
                font-size: clamp(9px, 2.8vw, 11px) !important;
                letter-spacing: 0.035em !important;
            }
        }
        .iframe-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            transition: opacity 0.4s ease, transform 0.4s ease;
        }
        .iframe-hidden { opacity: 0; pointer-events: none; transform: translateY(10px); }
        .iframe-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
        .booking-height-form #iframe-form {
            position: relative;
            height: auto;
            min-height: 0;
            overflow: visible !important;
            flex-grow: 1;
            padding-bottom: 30px;
        }
        .booking-height-form #iframe-calendar,
        .booking-height-calendar #iframe-form {
            display: none;
        }
        .booking-height-calendar #iframe-calendar {
            display: block;
            position: relative;
            height: auto;
            min-height: 0;
            overflow: visible !important;
            flex-grow: 1;
            padding-bottom: 30px;
        }
        /* Nomination + Partner tab layout */
        .booking-height-nomination #iframe-nomination,
        .booking-height-partner #iframe-partner {
            position: relative;
            height: auto;
            min-height: 0;
            overflow: visible !important;
            flex-grow: 1;
            padding-bottom: 30px;
        }
        .booking-height-nomination #iframe-form,
        .booking-height-nomination #iframe-calendar,
        .booking-height-nomination #iframe-partner,
        .booking-height-partner #iframe-form,
        .booking-height-partner #iframe-calendar,
        .booking-height-partner #iframe-nomination,
        .booking-height-form #iframe-nomination,
        .booking-height-form #iframe-partner,
        .booking-height-calendar #iframe-nomination,
        .booking-height-calendar #iframe-partner { display: none; }
        .text-industrial {
            letter-spacing: -0.04em;
            line-height: 0.8; 
            text-transform: uppercase;
        }
        #mobile-menu {
            transition: transform 0.52s cubic-bezier(.16,1,.3,1), box-shadow 0.52s cubic-bezier(.16,1,.3,1);
            transform: translateX(100%);
            position: fixed;
            inset: 0;
            width: 100%;
            height: 100%;
            background:
                radial-gradient(ellipse at 15% 12%, rgba(0, 42, 10, 0.55) 0%, transparent 52%),
                radial-gradient(ellipse at 85% 88%, rgba(0, 28, 6, 0.38) 0%, transparent 48%),
                #09090b;
            z-index: 150;
            box-shadow: none;
            overflow-y: auto;
        }
        #mobile-menu.active {
            transform: translateX(0);
            box-shadow: -24px 0 80px rgba(0,0,0,0.55), inset 1px 0 0 rgba(255,255,255,0.06);
        }

        /* ── MOBILE NAV GLASS LINKS ─────────────────────────── */
        .mobile-nav-glass {
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: center;
            gap: 15px;
            width: 100%;
            padding: 17px 22px;
            border: 1px solid var(--lobos-glass-edge);
            border-radius: 7px;
            background:
                linear-gradient(145deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.025) 32%, rgba(0,0,0,0.14) 100%),
                linear-gradient(180deg, rgba(0,42,8,0.58), rgba(0,10,2,0.64));
            box-shadow: var(--lobos-glass-shadow);
            backdrop-filter: blur(10px) saturate(130%);
            -webkit-backdrop-filter: blur(10px) saturate(130%);
            color: rgba(228,228,231,0.88);
            font-size: 11px;
            font-weight: 900;
            letter-spacing: 0.26em;
            text-transform: uppercase;
            text-decoration: none;
            transition: transform 0.28s cubic-bezier(.16,1,.3,1),
                        color 0.20s ease,
                        border-color 0.20s ease,
                        background 0.20s ease,
                        box-shadow 0.20s ease;
        }
        .mobile-nav-glass::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background:
                linear-gradient(115deg, rgba(255,255,255,0.16) 0%, transparent 24%, transparent 72%, rgba(74,222,128,0.06) 100%),
                linear-gradient(180deg, rgba(174,255,203,0.10), transparent 38%);
            pointer-events: none;
            z-index: 0;
        }
        .mobile-nav-glass::after {
            content: '';
            position: absolute;
            top: -80%;
            left: -45%;
            width: 38%;
            height: 260%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.20), transparent);
            transform: rotate(22deg) translateX(-170%);
            transition: transform 0.76s cubic-bezier(0.16, 1, 0.3, 1);
            pointer-events: none;
            z-index: 1;
        }
        .mobile-nav-glass:hover::after,
        .mobile-nav-glass:active::after {
            transform: rotate(22deg) translateX(520%);
        }
        .mobile-nav-glass > * {
            position: relative;
            z-index: 2;
        }
        .mobile-nav-glass i {
            color: var(--forest-text);
            font-size: 15px;
            opacity: 0.9;
            flex-shrink: 0;
        }
        .mobile-nav-glass:hover,
        .mobile-nav-glass:focus-visible {
            transform: translateY(-1px);
            color: rgba(228,228,231,0.98);
            border-color: var(--lobos-glass-edge-hot);
            box-shadow:
                0 16px 44px rgba(0,0,0,0.52),
                0 0 0 1px rgba(226,232,228,0.12),
                0 0 18px rgba(210,218,214,0.08),
                inset 0 1px 0 rgba(255,255,255,0.28),
                inset 0 -1px 0 rgba(0,0,0,0.48);
            outline: none;
        }
        .mobile-nav-glass--cta {
            justify-content: center;
            border-color: rgba(174,255,203,0.26) !important;
            background:
                linear-gradient(145deg, rgba(255,255,255,0.14), rgba(255,255,255,0.03) 38%, rgba(0,0,0,0.16)),
                linear-gradient(180deg, rgba(0,52,10,0.74), rgba(0,16,3,0.80)) !important;
        }
        .mobile-nav-glass--cta i {
            color: rgba(174,255,203,0.7) !important;
        }

        /* ── MOBILE NAV BRANDING ─────────────────────────────── */
        .mobile-nav-brand {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 2px 0 16px;
            margin-bottom: 2px;
            border-bottom: 1px solid rgba(255,255,255,0.07);
        }
        .mobile-nav-brand svg {
            width: 11px;
            height: 11px;
            fill: rgba(174,255,203,0.5);
            flex-shrink: 0;
        }
        .mobile-nav-brand span {
            font-size: 8.5px;
            font-weight: 900;
            letter-spacing: 0.42em;
            text-transform: uppercase;
            color: rgba(228,228,231,0.38);
        }

        ::-webkit-scrollbar { width: 5px; }
        ::-webkit-scrollbar-track { background: var(--zinc-950); }
        ::-webkit-scrollbar-thumb { background: #27272a; border-radius: 5px; }
        ::-webkit-scrollbar-thumb:hover { background: #3f3f46; }
        
        .fill-brand { fill: #001f03 !important; }
        .bg-brand { background-color: #001f03 !important; }
        .text-brand { color: var(--forest-text) !important; }
        .border-brand { border-color: #001f03 !important; }

        /* ── NAV: soft over the hero, steadier after scroll ────── */
        #main-nav {
            background: transparent;
            border-bottom: 1px solid rgba(255, 255, 255, 0);
            box-shadow: none;
            transition: border-color 0.30s cubic-bezier(.16,1,.3,1),
                        padding-top 0.30s cubic-bezier(.16,1,.3,1),
                        padding-bottom 0.30s cubic-bezier(.16,1,.3,1);
            transform: translateY(0) translateZ(0);
        }
        #main-nav::before {
            content: '';
            position: absolute;
            inset: 0;
            pointer-events: none;
            opacity: 0;
            background:
                linear-gradient(145deg, rgba(255,255,255,0.08), rgba(255,255,255,0.018) 38%, rgba(0,0,0,0.16)),
                linear-gradient(180deg, rgba(0,23,5,0.78), rgba(0,7,2,0.82)) !important;
            box-shadow: 0 16px 54px rgba(0,0,0,0.50), inset 0 1px 0 rgba(255,255,255,0.14);
            backdrop-filter: blur(10px) saturate(130%);
            -webkit-backdrop-filter: blur(10px) saturate(130%);
            transform: translateY(-4px) translateZ(0);
            transition: opacity 0.30s cubic-bezier(.16,1,.3,1), transform 0.30s cubic-bezier(.16,1,.3,1);
            will-change: opacity, transform;
            z-index: 0;
        }
        #main-nav.nav-scrolled {
            border-bottom-color: rgba(210,218,214,0.14) !important;
            padding-top: 0.75rem !important;
            padding-bottom: 0.75rem !important;
        }
        #main-nav.nav-scrolled::before {
            opacity: 1;
            transform: translateY(0) translateZ(0);
        }
        #main-nav > div {
            position: relative;
            z-index: 2;
            transform: translateY(0) scale(1) translateZ(0);
            transform-origin: top center;
            transition: transform 0.30s cubic-bezier(.16,1,.3,1);
            will-change: transform;
        }
        #main-nav.nav-scrolled > div {
            transform: scale(0.96) translateZ(0);
            transform-origin: center center;
        }
        #main-nav.nav-scrolled .nav-glass-link {
            --nav-scale: 0.88;
        }
        /* ── SERVICE CARD: readable hover border ────────────── */
        .card-hover:hover {
            border-color: rgba(226, 232, 228, 0.24) !important;
            box-shadow: 0 24px 60px rgba(0,0,0,.6), 0 0 28px rgba(210,218,214,.08) !important;
        }

        /* ── WORK PHOTO GALLERY ──────────────────────────────── */
        .gallery-label {
            font-size: 8px;
            font-weight: 800;
            letter-spacing: 0.5em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.22);
            margin: 52px auto 18px;
            max-width: 820px;
            width: 100%;
            display: flex;
            align-items: center;
            gap: 14px;
        }
        .gallery-label::after {
            content: '';
            flex: 1;
            height: 1px;
            background: rgba(255,255,255,0.06);
        }
        .work-gallery {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 6px;
            margin-bottom: 8px;
        }
        @media (max-width: 640px) { .work-gallery { grid-template-columns: 1fr 1fr; } }
        .work-photo {
            position: relative;
            aspect-ratio: 4 / 3;
            overflow: hidden;
            background: #111;
            cursor: zoom-in;
            transform: translateZ(0);
            contain: layout paint;
        }
        .work-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .photo-tag {
            position: absolute;
            top: 10px;
            left: 10px;
            padding: 3px 9px;
            font-size: 7px;
            font-weight: 800;
            letter-spacing: 0.35em;
            text-transform: uppercase;
            background: rgba(0,0,0,0.82);
            border: 1px solid rgba(255,255,255,0.12);
            color: rgba(255,255,255,0.85);
            z-index: 2;
        }
        .photo-tag.after {
            background: rgba(0,31,3,0.88);
            border-color: rgba(34,197,94,0.35);
            color: #86efac;
        }
        .photo-tag.during {
            background: rgba(18,26,28,0.88);
            border-color: rgba(148,163,184,0.28);
            color: #d4d8e0;
        }
        /* Before / After split */
        .ba-split {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4px;
            background: #0a0a0a;
            margin-bottom: 6px;
            overflow: hidden;
        }
        .ba-item {
            position: relative;
            aspect-ratio: 4 / 3;
            overflow: hidden;
            background: #111;
            cursor: zoom-in;
            transform: translateZ(0);
            contain: layout paint;
        }
        .ba-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        /* ── LIGHTBOX ──────────────────────────────────────── */
        #lightbox {
            position: fixed;
            inset: 0;
            z-index: 9000;
            background: rgba(0,0,0,0.96);
            display: none;
            align-items: center;
            justify-content: center;
            cursor: zoom-out;
        }
        #lightbox.open { display: flex; }
        #lightbox-img {
            max-width: 90vw;
            max-height: 86vh;
            object-fit: contain;
            pointer-events: none;
            box-shadow: 0 40px 100px rgba(0,0,0,0.9);
        }
        #lightbox-close {
            position: absolute;
            top: 22px;
            right: 28px;
            font-family: 'Inter', sans-serif;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.3em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.4);
            cursor: pointer;
            transition: color 0.2s;
        }
        #lightbox-close:hover { color: #fff; }
        #lightbox-prev, #lightbox-next {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(255,255,255,0.08);
            border: 1px solid rgba(255,255,255,0.14);
            color: rgba(255,255,255,0.7);
            font-size: 18px;
            width: 48px; height: 48px;
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            cursor: pointer;
            transition: background .2s, color .2s;
            z-index: 2;
        }
        #lightbox-prev:hover, #lightbox-next:hover { background: rgba(255,255,255,0.18); color: #fff; }
        #lightbox-prev { left: 24px; }
        #lightbox-next { right: 24px; }
        #lightbox-counter {
            position: absolute;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            font-size: 10px;
            font-weight: 700;
            letter-spacing: .2em;
            color: rgba(255,255,255,0.4);
        }

        /* ── PHOTO CAROUSEL ─────────────────────────────────── */
        .carousel {
            position: relative;
            overflow: hidden;
            background: #050505;
            border-radius: 8px;
            box-shadow: 0 8px 32px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.06);
            max-width: 560px;
            width: 100%;
            margin: 0 auto 56px;
            transform: translateZ(0);
            contain: layout paint;
            content-visibility: auto;
            contain-intrinsic-size: 560px 620px;
        }
        .carousel-wide { max-width: 820px; }
        .carousel-track {
            display: flex;
            gap: 12px;
            transition: transform 0.52s cubic-bezier(0.23, 1, 0.32, 1);
            cursor: grab;
            user-select: none;
            -webkit-user-select: none;
        }
        .carousel-track.is-dragging {
            cursor: grabbing;
            transition: none;
            will-change: transform;
        }
        .carousel-slide {
            min-width: 100%;
            flex-shrink: 0;
            position: relative;
            aspect-ratio: 1 / 1;
            overflow: hidden;
            cursor: grab;
            background: #0d100d;
        }
        .carousel-slide img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            pointer-events: none;
        }
        /* Circular glass nav buttons */
        .carousel-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background: rgba(0, 0, 0, 0.68);
            border: 1px solid rgba(255, 255, 255, 0.18);
            color: rgba(255, 255, 255, 0.92);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: background 0.2s, border-color 0.2s, transform 0.2s;
            z-index: 10;
            outline: none;
            box-shadow: 0 4px 16px rgba(0,0,0,0.5);
        }
        .carousel-btn:hover {
            background: rgba(0, 0, 0, 0.78);
            border-color: rgba(255, 255, 255, 0.32);
            transform: translateY(-50%) scale(1.08);
        }
        @media (max-width: 640px) {
            .carousel-btn { width: 36px; height: 36px; opacity: 0.8; }
        }
        .carousel-prev { left: 14px; }
        .carousel-next { right: 14px; }
        /* Bottom scrim — dots + counter */
        .carousel-footer {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 56px 18px 16px;
            background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%);
            z-index: 8;
            pointer-events: none;
        }
        .carousel-dots { pointer-events: all; display: flex; gap: 6px; align-items: center; }
        .carousel-dot {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.28);
            cursor: pointer;
            transition: all 0.38s cubic-bezier(0.23, 1, 0.32, 1);
            flex-shrink: 0;
        }
        .carousel-dot.active { width: 24px; border-radius: 3px; background: rgba(255, 255, 255, 0.95); }
        .carousel-counter {
            font-size: 8px;
            font-weight: 700;
            letter-spacing: 0.32em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.45);
        }

        /* ── HERO ENHANCEMENTS ──────────────────────────────── */
        .hero-glow {
            position: absolute;
            top: 36%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 85%;
            max-width: 840px;
            height: 540px;
            background: radial-gradient(ellipse at center, rgba(0,52,8,0.22) 0%, transparent 65%);
            pointer-events: none;
            z-index: 1;
        }
        .hero-anim {
            opacity: 0;
            animation: fadeInUp 0.55s cubic-bezier(0.16, 1, 0.3, 1) both;
        }
        .hero-anim-1 { animation-delay: 0.05s; }
        .hero-anim-2 { animation-delay: 0.16s; }
        .hero-anim-3 { animation-delay: 0.28s; }
        .hero-anim-4 { animation-delay: 0.40s; }

        /* Hero headline — cool steel-white cascade, no chip boxes */
        .hero-line-primary {
            display: block;
            font-size: clamp(2.2rem, 8.6vw, 6.8rem);
            line-height: 0.86;
            white-space: nowrap;
            color: rgba(210, 218, 230, 0.68);
            text-shadow: 0 2px 28px rgba(0,0,0,0.88);
        }
        .hero-line-secondary {
            display: block;
            font-size: clamp(1.75rem, 7.1vw, 5.65rem);
            line-height: 0.86;
            white-space: nowrap;
            margin-top: 0.015em;
            color: rgba(196, 208, 224, 0.58);
            text-shadow: 0 2px 22px rgba(0,0,0,0.84);
        }
        .hero-line-accent {
            display: block;
            font-size: clamp(1.55rem, 5.1vw, 4.15rem);
            line-height: 0.9;
            letter-spacing: 0.1em;
            margin-top: 0.075em;
            white-space: nowrap;
            text-transform: uppercase;
            color: rgba(180, 196, 218, 0.52);
            text-shadow: 0 2px 22px rgba(0,0,0,0.82);
        }
        .brand-lockup {
            color: var(--forest-text);
        }
        .brand-lockup:hover {
            color: #b0b6be;
        }
        .dark-green-mark { color: var(--forest-text); }
        /* Icon boxes and any zinc-900 surfaces → pitch black */
        .bg-zinc-900 { background-color: #000000 !important; }
        /* Soften pure-white — removes harsh bloom on dark bg */
        .text-white { color: #d4d8e0 !important; }

        .page-kicker {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 18px;
            color: rgba(255,255,255,0.38);
            font-size: 9px;
            font-weight: 900;
            letter-spacing: 0.42em;
            text-transform: uppercase;
        }
        .page-kicker::before {
            content: '';
            width: 34px;
            height: 1px;
            background: rgba(140,145,153,0.5);
            box-shadow: 0 0 10px rgba(140,145,153,0.2);
        }
        .page-title {
            font-size: clamp(2.75rem, 7vw, 7.25rem);
            letter-spacing: -0.055em;
        }
        .page-lede {
            max-width: 700px;
            margin: -28px 0 54px;
            color: rgba(228,228,231,0.72);
            font-size: clamp(0.95rem, 1.5vw, 1.18rem);
            line-height: 1.75;
            text-align: left;
        }
        .service-card {
            background: rgba(0, 12, 2, 0.5);
            border: 1px solid rgba(255,255,255,0.09);
            padding: 30px;
            min-height: 188px;
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.12),
                inset 0 -1px 0 rgba(0,0,0,0.3),
                0 4px 20px rgba(0,0,0,0.28);
            backdrop-filter: blur(10px) saturate(120%);
            -webkit-backdrop-filter: blur(10px) saturate(120%);
        }
        .service-card h3,
        .service-card h4 {
            color: #d4d8e0;
            font-size: 11px;
            font-weight: 900;
            letter-spacing: 0.28em;
            text-transform: uppercase;
            margin-bottom: 16px;
        }
        .service-card p {
            color: rgba(212,212,216,0.72);
            font-size: 12px;
            line-height: 1.72;
            font-weight: 600;
            text-transform: none;
            letter-spacing: 0.02em;
        }
        .feature-panel {
            background: rgba(0, 14, 2, 0.46);
            border: 1px solid rgba(255,255,255,0.1);
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.13),
                inset 0 -1px 0 rgba(0,0,0,0.3),
                0 4px 22px rgba(0,0,0,0.32);
            backdrop-filter: blur(10px) saturate(120%);
            -webkit-backdrop-filter: blur(10px) saturate(120%);
        }
        .section-cta {
            margin-top: 0;
            margin-bottom: 56px;
        }
        .seasonal-photo {
            position: relative;
            aspect-ratio: 1 / 1;
            overflow: hidden;
            background: #050505;
            cursor: zoom-in;
            border-radius: 8px;
            box-shadow: 0 8px 32px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.06);
            max-width: 560px;
            margin: 0 auto 56px;
            transform: translateZ(0);
            contain: layout paint;
        }
        .seasonal-photo img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .bright-hover {
            color: rgba(255,255,255,0.68);
            transition: color 0.20s ease, transform 0.28s cubic-bezier(.16,1,.3,1), text-shadow 0.20s ease;
        }
        .bright-hover:hover,
        .bright-hover:focus-visible {
            color: rgba(228,228,231,0.98) !important;
            text-shadow: 0 0 18px rgba(255,255,255,0.15);
            transform: translateY(-1px);
            outline: none;
        }
        .no-break {
            white-space: nowrap;
        }
        @media (max-width: 420px) {
            .no-break {
                white-space: normal;
            }
        }
        @media (min-width: 768px) and (max-height: 860px) {
            #view-booking,
            #view-landscaping,
            #view-junk,
            #view-seasonal,
            #view-expansion,
            #view-legal {
                padding-top: 7.5rem !important;
            }
            .page-title {
                font-size: clamp(2.7rem, 5.9vw, 5.9rem);
            }
            .page-lede {
                margin-bottom: 38px;
            }
        }

        /* ── CONTACT LINKS: visible, clickable, premium ───────── */
        .nav-contact-group {
            display: flex;
            align-items: center;
            gap: 8px;
            white-space: nowrap;
        }
        .contact-link {
            --nav-scale: 1;
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            min-height: 42px;
            padding: 12px 14px;
            border: 1px solid rgba(255,255,255,0.16);
            background: rgba(0, 18, 2, 0.5);
            color: rgba(228,228,231,0.9);
            border-radius: 4px;
            text-decoration: none;
            overflow: hidden;
            backdrop-filter: blur(12px) saturate(120%);
            -webkit-backdrop-filter: blur(12px) saturate(120%);
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.26),
                inset 0 -1px 0 rgba(0,0,0,0.38),
                0 6px 24px rgba(0,0,0,0.38);
            transform: scale(var(--nav-scale)) translateZ(0);
            transform-origin: center;
            transition: transform 0.28s cubic-bezier(.16,1,.3,1),
                        color 0.20s ease,
                        border-color 0.20s ease,
                        background 0.20s ease,
                        box-shadow 0.20s ease;
        }
        .contact-link::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.18) 48%, transparent 100%);
            transform: translateX(-110%);
            transition: transform 0.55s cubic-bezier(0.23, 1, 0.32, 1);
        }
        .contact-link::after {
            content: '';
            position: absolute;
            inset: 1px;
            border-radius: inherit;
            background: linear-gradient(160deg, rgba(255,255,255,0.12) 0%, transparent 46%, rgba(0,0,0,0.1) 100%);
            pointer-events: none;
        }
        .contact-link i,
        .contact-link span {
            position: relative;
            z-index: 2;
        }
        .contact-link span { min-width: 0; white-space: nowrap; }
        .contact-link i {
            color: var(--forest-text);
            opacity: 0.9;
        }
        .contact-link:hover {
            color: #e4e4e7;
            background: rgba(0, 26, 3, 0.64);
            border-color: rgba(255,255,255,0.26);
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.34),
                inset 0 -1px 0 rgba(0,0,0,0.44),
                0 10px 32px rgba(0,0,0,0.48),
                0 0 22px rgba(0,60,6,0.2);
            transform: translateY(-2px) scale(var(--nav-scale)) translateZ(0);
        }
        .contact-link:hover::before { transform: translateX(110%); }
        .contact-link:focus-visible {
            outline: 2px solid rgba(140,145,153,0.65);
            outline-offset: 3px;
        }
        .contact-link--nav {
            min-height: 36px;
            padding: 9px 12px;
            font-size: 9px;
            font-weight: 900;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            background: rgba(0, 14, 2, 0.46);
            border-color: rgba(255,255,255,0.12);
        }
        #main-nav.nav-scrolled .contact-link--nav {
            --nav-scale: 0.88;
        }

        /* Phone CTA — dark emerald glass standout */
        .contact-link--phone {
            background: rgba(0,20,4,0.54) !important;
            border-color: rgba(20,80,10,0.38) !important;
        }
        .contact-link--phone i {
            color: #52a87a !important;
            opacity: 1 !important;
        }
        .contact-link--phone:hover {
            background: rgba(0,28,5,0.7) !important;
            border-color: rgba(30,100,16,0.5) !important;
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.34),
                inset 0 -1px 0 rgba(0,0,0,0.44),
                0 8px 28px rgba(0,0,0,0.44),
                0 0 18px rgba(0,50,8,0.2) !important;
        }

        /* Footer glass panel */
        .footer-glass-panel {
            position: relative;
            overflow: hidden;
            padding: 24px 28px;
            border: 1px solid rgba(255,255,255,0.12);
            border-radius: 6px;
            background: rgba(0, 14, 2, 0.52);
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.16),
                inset 0 -1px 0 rgba(0,0,0,0.42),
                0 8px 36px rgba(0,0,0,0.48);
            backdrop-filter: blur(12px) saturate(120%);
            -webkit-backdrop-filter: blur(12px) saturate(120%);
        }
        .footer-glass-panel::before {
            content: '';
            position: absolute;
            inset: 1px;
            border-radius: inherit;
            background: linear-gradient(155deg, rgba(255,255,255,0.1) 0%, transparent 44%, rgba(0,0,0,0.08) 100%);
            pointer-events: none;
        }

        /* Footer nav glass pills */
        .footer-glass-link {
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: center;
            width: 100%;
            padding: 9px 14px;
            border: 1px solid rgba(255,255,255,0.09);
            border-radius: 4px;
            background: rgba(0, 10, 1, 0.38);
            color: rgba(228,228,231,0.65);
            font-size: 9px;
            font-weight: 900;
            letter-spacing: 0.44em;
            text-transform: uppercase;
            text-align: left;
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.1),
                inset 0 -1px 0 rgba(0,0,0,0.28);
            transition: color 0.20s ease, border-color 0.20s ease,
                        background 0.20s ease, transform 0.28s cubic-bezier(.16,1,.3,1),
                        box-shadow 0.20s ease;
        }
        .footer-glass-link::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.15) 48%, transparent 100%);
            transform: translateX(-110%);
            transition: transform 0.55s cubic-bezier(0.23, 1, 0.32, 1);
            pointer-events: none;
        }
        .footer-glass-link::after {
            content: '';
            position: absolute;
            inset: 1px;
            border-radius: inherit;
            background: linear-gradient(155deg, rgba(255,255,255,0.07) 0%, transparent 52%);
            pointer-events: none;
        }
        .footer-glass-link:hover {
            color: rgba(228,228,231,0.96);
            border-color: rgba(255,255,255,0.2);
            background: rgba(0, 20, 3, 0.58);
            transform: translateY(-1px);
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.2),
                inset 0 -1px 0 rgba(0,0,0,0.38),
                0 6px 20px rgba(0,0,0,0.44),
                0 0 16px rgba(0,55,4,0.18);
        }
        .footer-glass-link:hover::before {
            transform: translateX(110%);
        }

        /* Social glass circles */
        .social-glass {
            position: relative;
            overflow: hidden;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 42px;
            height: 42px;
            border-radius: 50%;
            border: 1px solid var(--lobos-glass-edge);
            background:
                linear-gradient(145deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.02) 40%, rgba(0,0,0,0.12) 100%),
                linear-gradient(180deg, rgba(0,38,7,0.58), rgba(0,10,2,0.68));
            color: rgba(200,210,206,0.72);
            font-size: 14px;
            text-decoration: none;
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.22),
                inset 0 -1px 0 rgba(0,0,0,0.40),
                0 6px 20px rgba(0,0,0,0.42),
                0 0 0 1px rgba(0,0,0,0.18);
            backdrop-filter: blur(10px) saturate(130%);
            -webkit-backdrop-filter: blur(10px) saturate(130%);
            transition: color 0.20s ease, border-color 0.20s ease,
                        background 0.20s ease, transform 0.28s cubic-bezier(.16,1,.3,1),
                        box-shadow 0.20s ease;
        }
        .social-glass::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background:
                linear-gradient(135deg, rgba(255,255,255,0.14) 0%, transparent 40%),
                linear-gradient(180deg, rgba(174,255,203,0.06), transparent 50%);
            pointer-events: none;
        }
        .social-glass::after {
            content: '';
            position: absolute;
            top: -80%;
            left: -60%;
            width: 50%;
            height: 260%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent);
            transform: rotate(22deg) translateX(-200%);
            transition: transform 0.58s cubic-bezier(0.16, 1, 0.3, 1);
            pointer-events: none;
        }
        .social-glass i {
            position: relative;
            z-index: 2;
        }
        .social-glass:hover {
            color: rgba(228,228,231,0.98);
            border-color: var(--lobos-glass-edge-hot);
            background:
                linear-gradient(145deg, rgba(255,255,255,0.14), rgba(255,255,255,0.03) 40%, rgba(0,0,0,0.14)),
                linear-gradient(180deg, rgba(0,48,9,0.72), rgba(0,14,3,0.78));
            transform: translateY(-2px) scale(1.08);
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.34),
                inset 0 -1px 0 rgba(0,0,0,0.46),
                0 10px 28px rgba(0,0,0,0.50),
                0 0 18px rgba(82,168,122,0.14),
                0 0 0 1px rgba(226,232,228,0.10);
        }
        .social-glass:hover::after {
            transform: rotate(22deg) translateX(400%);
        }
        .mobile-social-row {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            padding-top: 2px;
        }
        .mobile-social-link {
            width: 48px;
            height: 48px;
            color: rgba(200, 210, 206, 0.82);
        }
        .mobile-social-link i {
            font-size: 17px;
        }
        .contact-link--stack {
            width: 100%;
            justify-content: flex-start;
            font-size: 11px;
            font-weight: 900;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            line-height: 1.35;
            word-break: break-word;
        }
        .contact-link--footer {
            width: 100%;
            max-width: 360px;
            min-height: 38px;
            padding: 10px 12px;
            font-size: 10px;
            font-weight: 900;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            line-height: 1.35;
            word-break: break-word;
        }
        .contact-link--footer[href^="tel:"] {
            background: rgba(0,20,4,0.54) !important;
            border-color: rgba(20,80,10,0.38) !important;
        }
        .contact-link--footer[href^="tel:"] i {
            color: #52a87a !important;
            opacity: 1 !important;
        }

        /* ── Our Work Gallery ───────────────────────────────── */
        .work-filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:32px; }
        .work-filter-btn {
            background:transparent; border:1px solid #27272a; border-radius:3px;
            color:#71717a; font-size:9px; font-weight:900; letter-spacing:.25em;
            text-transform:uppercase; padding:7px 16px; cursor:pointer;
            transition: border-color .15s, color .15s, background .15s;
        }
        .work-filter-btn:hover { border-color:#3f3f46; color:#a1a1aa; }
        .work-filter-btn.active { background:rgba(0,31,3,.4); border-color:#16a34a; color:#4ade80; }

        /* Grid: 2 equal columns on desktop */
        .work-grid {
            display:grid;
            grid-template-columns: repeat(2, 1fr);
            gap:12px;
        }
        .work-card {
            background:#0f0f0f;
            border:1px solid #1c1c1e;
            border-radius:4px;
            overflow:hidden;
            transition:border-color .2s;
            contain: layout paint;
            content-visibility: auto;
            contain-intrinsic-size: 520px 620px;
        }
        .work-card:hover { border-color:#2a2a2d; }
        .work-card { transition: border-color .2s, opacity .22s ease, transform .22s ease; }
        .work-card[data-hidden="1"] { opacity:0; pointer-events:none; position:absolute; visibility:hidden; }
        .work-card-wide { grid-column:1 / -1; }

        /* Unified photo strip — all cards same height, photos fill width equally */
        .work-photos {
            display:flex;
            aspect-ratio: 1 / 1;
            height:auto;
            gap:1px;
            background:#1c1c1e;
            overflow:hidden;
            transform:translateZ(0);
            contain:layout paint;
            isolation: isolate;
        }
        /* 4+ photos: wrap into 2 rows */
        .work-photos.many {
            flex-wrap:wrap;
            height:auto;
            max-height:300px;
        }
        .work-photos.many .work-photo {
            flex: 0 0 calc(50% - 1px);
            height:148px;
        }
        .work-photo {
            flex:1;
            min-width:0;
            position:relative;
            overflow:hidden;
            cursor:pointer;
            background:#0a0a0a;
            transform: translateZ(0);
            contain: layout paint;
        }
        .work-photo img {
            width:100%; height:100%; object-fit:cover; display:block;
        }
        /* 4+ overlay on last item */
        .work-photo .more-overlay {
            position:absolute;inset:0;background:rgba(0,0,0,0.62);
            display:flex;align-items:center;justify-content:center;
            font-size:18px;font-weight:900;color:#fff;letter-spacing:-.5px;
            pointer-events:none; z-index:3;
        }

        /* Tags */
        .work-photo-tag {
            position:absolute; bottom:8px; left:8px;
            font-size:8px; font-weight:900; letter-spacing:.18em;
            text-transform:uppercase; padding:3px 8px; border-radius:2px;
            pointer-events:none; z-index:2;
        }
        .work-photo-tag.before { background:rgba(28,31,32,.92); color:#d4d8e0; }
        .work-photo-tag.during { background:rgba(29,78,216,.92); color:#dbeafe; }
        .work-photo-tag.after  { background:rgba(20,83,45,.92);  color:#dcfce7; }
        .work-photo-tag.junk   { background:rgba(58,9,13,.92); color:#f0d7d7; }
        .work-photo-tag.view   { background:rgba(0,0,0,.7);      color:#e4e4e7; }

        /* Card footer */
        .work-card-footer {
            padding:10px 14px 12px;
            display:flex; justify-content:space-between; align-items:center;
            gap:8px;
        }
        .work-card-title {
            font-size:9px; font-weight:900; letter-spacing:.18em;
            text-transform:uppercase; color:#52525b;
        }
        .work-card-badge {
            flex-shrink:0; font-size:7px; font-weight:900; letter-spacing:.18em;
            text-transform:uppercase; padding:2px 8px; border-radius:2px;
            color:#4ade80; background:rgba(0,31,3,.5); border:1px solid rgba(22,163,74,.15);
            white-space:nowrap;
        }

        /* Cleanout full-width carousel */
        .work-carousel { position:relative; overflow:hidden; aspect-ratio: 1 / 1; height:auto; transform:translateZ(0); contain:layout paint; }
        .work-carousel-track {
            display:flex; height:100%;
            transition:transform .3s cubic-bezier(.4,0,.2,1);
        }
        .work-carousel-slide { flex:0 0 100%; height:100%; position:relative; }
        .work-carousel-slide img { width:100%; height:100%; object-fit:cover; display:block; }
        .work-carousel-btn {
            position:absolute; top:50%; transform:translateY(-50%);
            background:rgba(0,0,0,.55); border:1px solid rgba(255,255,255,.08);
            color:white; width:34px; height:34px; border-radius:50%;
            display:flex; align-items:center; justify-content:center;
            cursor:pointer; font-size:10px; z-index:2;
            transition:background .15s;
        }
        .work-carousel-btn:hover { background:rgba(0,0,0,.85); }
        .work-carousel-prev { left:12px; }
        .work-carousel-next { right:12px; }
        .work-carousel-counter {
            position:absolute; bottom:10px; right:12px;
            font-size:9px; font-weight:700; color:rgba(255,255,255,.75);
            background:rgba(0,0,0,.55); padding:3px 10px; border-radius:20px;
            letter-spacing:.08em;
        }

        /* Responsive */
        @media(max-width:767px) {
            .work-grid { grid-template-columns:1fr; gap:10px; }
            .work-photos { aspect-ratio: 1 / 1; height:auto; }
            .work-carousel { aspect-ratio: 1 / 1; height:auto; }
        }
        /* Premium emerald liquid glass refinement */
        :root {
            --lobos-glass-bg: rgba(0, 17, 4, 0.58);
            --lobos-glass-bg-strong: rgba(0, 21, 5, 0.72);
            --lobos-glass-edge: rgba(210, 218, 214, 0.16);
            --lobos-glass-edge-hot: rgba(226, 232, 228, 0.30);
            --lobos-glass-line: rgba(255,255,255,0.16);
            --lobos-glass-shadow: 0 8px 28px rgba(0,0,0,0.48), 0 0 0 1px rgba(210,218,214,0.045), inset 0 1px 0 rgba(255,255,255,0.26), inset 0 -1px 0 rgba(0,0,0,0.46);
        }
        body {
            background: #09090b;
        }
        .brand-glass,
        .nav-glass-link,
        .status-glass,
        .liquid-cta,
        .contact-link,
        .footer-glass-panel,
        .footer-glass-link,
        .social-glass,
        .service-card,
        .feature-panel,
        .work-card {
            border-color: var(--lobos-glass-edge) !important;
            background:
                linear-gradient(145deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.025) 32%, rgba(0,0,0,0.14) 100%),
                linear-gradient(180deg, rgba(0,42,8,0.58), rgba(0,10,2,0.64)) !important;
            box-shadow: var(--lobos-glass-shadow) !important;
        }
        /* backdrop-filter only on nav-level elements — cards sit on solid dark bg, blur adds no value */
        .brand-glass,
        .nav-glass-link,
        .status-glass,
        .liquid-cta,
        .contact-link,
        .footer-glass-link,
        .social-glass {
            backdrop-filter: blur(10px) saturate(130%) !important;
            -webkit-backdrop-filter: blur(10px) saturate(130%) !important;
        }
        .service-card,
        .feature-panel,
        .work-card {
            position: relative;
            overflow: hidden;
            border-radius: 8px !important;
        }
        .service-card::before,
        .feature-panel::before,
        .work-card::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background:
                linear-gradient(115deg, rgba(255,255,255,0.16) 0%, transparent 24%, transparent 72%, rgba(74,222,128,0.08) 100%),
                linear-gradient(180deg, rgba(174,255,203,0.10), transparent 38%);
            pointer-events: none;
            opacity: 0.82;
            z-index: 0;
        }
        .service-card::after,
        .feature-panel::after,
        .work-card::after {
            content: '';
            position: absolute;
            top: -80%;
            left: -45%;
            width: 38%;
            height: 260%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent);
            transform: rotate(22deg) translateX(-170%);
            transition: transform 0.76s cubic-bezier(0.16, 1, 0.3, 1);
            pointer-events: none;
            z-index: 1;
        }
        .service-card:hover::after,
        .feature-panel:hover::after,
        .work-card:hover::after {
            transform: rotate(22deg) translateX(520%);
        }
        .service-card > *,
        .feature-panel > *,
        .work-card > * {
            position: relative;
            z-index: 2;
        }
        .service-card {
            min-height: 230px;
            padding: 38px;
            transition: transform 0.28s cubic-bezier(.16,1,.3,1), border-color .22s ease, box-shadow .22s ease, background .22s ease;
            content-visibility: auto;
            contain-intrinsic-size: 360px 260px;
        }
        .page-view .service-card {
            min-height: 0;
            padding: 16px 18px;
        }
        .page-view .service-card h3,
        .page-view .service-card h4 {
            margin-bottom: 8px;
        }
        .page-view .service-card p {
            font-size: 13px;
            line-height: 1.45;
        }
        .service-detail-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            align-items: center;
            margin: 20px 0 28px;
        }
        .service-detail-actions .liquid-cta {
            min-width: 210px;
            text-align: center;
        }
        .service-detail-note {
            color: rgba(222,229,225,.62);
            font-size: 12px;
            line-height: 1.6;
            max-width: 520px;
        }
        .page-view .gallery-label {
            margin-top: 18px;
        }
        .service-card:hover,
        .feature-panel:hover,
        .work-card:hover {
            transform: translateY(-2px);
            border-color: var(--lobos-glass-edge-hot) !important;
            box-shadow:
                0 16px 44px rgba(0,0,0,0.52),
                0 0 0 1px rgba(226,232,228,0.12),
                0 0 18px rgba(210,218,214,0.08),
                inset 0 1px 0 rgba(255,255,255,0.26),
                inset 0 -1px 0 rgba(0,0,0,0.48) !important;
        }
        .service-card .bg-zinc-900,
        .service-card [class*="bg-zinc-900"] {
            background:
                linear-gradient(145deg, rgba(255,255,255,0.10), rgba(0,0,0,0.22)),
                rgba(0, 9, 2, 0.78) !important;
            border: 1px solid rgba(174,255,203,0.12);
            border-radius: 6px;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.16), 0 10px 30px rgba(0,0,0,0.38);
        }
        .service-card h3,
        .service-card h4 {
            color: rgba(238, 244, 241, 0.96);
            letter-spacing: -0.01em;
            font-size: 15px;
        }
        .service-card p,
        .feature-panel p {
            color: rgba(222, 229, 225, 0.76);
        }
        .service-card a,
        .service-card .text-\[10px\] {
            color: rgba(212, 255, 226, 0.82) !important;
        }
        .feature-panel {
            border-radius: 8px !important;
            background:
                linear-gradient(150deg, rgba(255,255,255,0.09) 0%, rgba(255,255,255,0.02) 34%, rgba(0,0,0,0.18) 100%),
                linear-gradient(180deg, rgba(0,31,6,0.58), rgba(0,9,2,0.70)) !important;
        }
        .dark-green-mark {
            color: rgba(171, 180, 188, 0.86);
            text-shadow: 0 0 28px rgba(74,222,128,0.08);
        }
        .page-kicker {
            color: rgba(212, 255, 226, 0.44);
        }
        .page-kicker::before {
            background: linear-gradient(90deg, transparent, rgba(214,229,218,0.30));
        }
        .work-card {
            background:
                linear-gradient(145deg, rgba(255,255,255,0.08), rgba(0,0,0,0.18)),
                rgba(0, 15, 3, 0.62) !important;
        }
        .work-photos,
        .work-photo,
        .work-carousel {
            background: rgba(0, 8, 2, 0.85);
        }
        .work-card-footer {
            border-top: 1px solid rgba(174,255,203,0.08);
        }
        .work-card-title {
            color: rgba(225, 232, 228, 0.58);
        }
        .work-card-badge,
        .work-filter-btn.active {
            background: rgba(226,232,228,0.10);
            border-color: rgba(226,232,228,0.24);
            color: rgba(188,255,211,0.92);
        }
        .feature-panel[style],
        .work-filter-btn.active[style] {
            border-color: rgba(226,232,228,0.18) !important;
        }
        .footer-glass-link:hover,
        .social-glass:hover,
        #booking .contact-link:hover {
            border-color: rgba(226,232,228,0.24) !important;
            box-shadow:
                0 14px 38px rgba(0,0,0,0.46),
                0 0 24px rgba(210,218,214,0.09),
                inset 0 1px 0 rgba(255,255,255,0.28) !important;
        }
        .liquid-cta {
            border-color: rgba(174,255,203,0.24) !important;
            background:
                linear-gradient(145deg, rgba(255,255,255,0.14), rgba(255,255,255,0.03) 38%, rgba(0,0,0,0.16)),
                linear-gradient(180deg, rgba(0,50,10,0.72), rgba(0,16,3,0.78)) !important;
        }
        .liquid-cta:hover,
        .contact-link:hover {
            border-color: rgba(226,232,228,0.32) !important;
            box-shadow:
                0 18px 54px rgba(0,0,0,0.62),
                0 0 30px rgba(210,218,214,0.12),
                inset 0 1px 0 rgba(255,255,255,0.38),
                inset 0 -1px 0 rgba(0,0,0,0.5) !important;
        }
        .booking-engine-wrapper {
            background:
                linear-gradient(145deg, rgba(255,255,255,0.026), rgba(255,255,255,0.008) 42%, rgba(0,0,0,0.34)),
                linear-gradient(180deg, rgba(0,18,4,0.88), rgba(3,8,5,0.98) 34%, #050606 100%) !important;
            border: 1px solid rgba(255,255,255,0.09);
            border-radius: 8px;
            box-shadow: 0 22px 72px rgba(0,0,0,0.62), 0 0 0 1px rgba(255,255,255,0.035) !important;
        }
        #iframe-calendar,
        #iframe-calendar-premium {
            background:
                radial-gradient(760px 460px at 14% -10%, rgba(0,46,12,0.22), transparent 64%),
                radial-gradient(520px 380px at 104% 20%, rgba(226,232,228,0.050), transparent 58%),
                linear-gradient(145deg, rgba(255,255,255,0.036), rgba(255,255,255,0.012) 38%, rgba(0,0,0,0.32)),
                linear-gradient(180deg, rgba(3,9,5,0.98), #050606 76%, #050505 100%) !important;
            padding: 16px 18px 18px !important;
            overflow: visible;
        }
        #iframe-calendar iframe,
        #iframe-calendar-premium iframe {
            display: block;
            background: #000 !important;
            filter: none !important;
            opacity: 1 !important;
        }
        #iframe-form,
        #iframe-nomination,
        #iframe-partner {
            background:
                radial-gradient(900px 520px at 18% -12%, rgba(0,80,22,0.16), transparent 62%),
                radial-gradient(720px 500px at 105% 18%, rgba(226,232,228,0.035), transparent 58%),
                linear-gradient(145deg, rgba(255,255,255,0.032), rgba(255,255,255,0.010) 38%, rgba(0,0,0,0.30)),
                linear-gradient(180deg, rgba(3,8,5,0.98), #050606 78%, #050505 100%) !important;
            border-radius: 8px;
            padding-bottom: 22px !important;
        }
        #view-booking .lbs-contact-submit {
            position: relative;
            overflow: hidden;
            isolation: isolate;
            border-color: rgba(174,255,203,0.24) !important;
            background:
                linear-gradient(145deg, rgba(255,255,255,0.16), rgba(255,255,255,0.035) 38%, rgba(0,0,0,0.18)),
                linear-gradient(180deg, rgba(0,48,11,0.78), rgba(0,14,4,0.88)) !important;
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.34),
                inset 0 -1px 0 rgba(0,0,0,0.48),
                0 12px 38px rgba(0,0,0,0.48),
                0 0 24px rgba(0,90,18,0.16) !important;
            transition:
                transform 0.28s cubic-bezier(.16,1,.3,1),
                border-color 0.22s ease,
                background 0.22s ease,
                box-shadow 0.22s ease !important;
        }
        #view-booking .lbs-contact-submit::after {
            content: '';
            position: absolute;
            inset: 0;
            z-index: 0;
            background: linear-gradient(105deg, transparent 0%, rgba(255,255,255,0.22) 48%, transparent 100%);
            transform: translateX(-120%);
            transition: transform 0.62s cubic-bezier(0.16, 1, 0.3, 1);
            pointer-events: none;
        }
        #view-booking .lbs-contact-submit:hover:not(:disabled) {
            transform: translateY(-1px);
            border-color: rgba(226,232,228,0.42) !important;
            background:
                linear-gradient(145deg, rgba(255,255,255,0.19), rgba(255,255,255,0.045) 38%, rgba(0,0,0,0.18)),
                linear-gradient(180deg, rgba(0,62,14,0.84), rgba(0,18,5,0.92)) !important;
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.44),
                inset 0 -1px 0 rgba(0,0,0,0.52),
                0 16px 48px rgba(0,0,0,0.58),
                0 0 34px rgba(174,255,203,0.12) !important;
        }
        #view-booking .lbs-contact-submit:hover:not(:disabled)::after {
            transform: translateX(120%);
        }
        #view-booking .lbs-contact-submit > * {
            position: relative;
            z-index: 1;
        }
        #iframe-form::before {
            content: '';
            position: absolute;
            inset: 0;
            pointer-events: none;
            background: linear-gradient(115deg, rgba(255,255,255,0.075), transparent 32%, rgba(180,190,185,0.035));
            z-index: 0;
        }
        #iframe-form > * {
            position: relative;
            z-index: 1;
        }
        /* ── IMAGE FADE-IN ──────────────────────────────────── */
        .carousel-slide img,
        .work-carousel-slide img,
        .work-photo img,
        .ba-item img,
        .seasonal-photo img {
            opacity: 0;
            transition: opacity 0.4s ease;
            backface-visibility: hidden;
        }
        .carousel-slide:first-child img,
        .work-carousel-slide:first-child img {
            opacity: 1;
        }
        .carousel-slide img.img-loaded,
        .work-carousel-slide img.img-loaded,
        .work-photo img.img-loaded,
        .ba-item img.img-loaded,
        .seasonal-photo img.img-loaded {
            opacity: 1;
        }
        /* ── HERO REVIEW LINK ───────────────────────────────── */
        .review-hero-link {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: rgba(161,161,170,0.8);
            text-decoration: none;
            font-size: 9px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0.35em;
            transition: color 0.32s ease;
        }
        .review-hero-link > span:first-child { margin-right: -0.35em; }
        .review-hero-link:hover { color: rgba(228,228,231,0.9); }
        .review-hero-stars {
            letter-spacing: 0.06em;
            margin-right: -0.06em;
            color: #facc15;
            filter: drop-shadow(0 0 0px rgba(253,224,71,0));
            transition: color 0.32s ease, filter 0.32s ease;
        }
        .review-hero-link:hover .review-hero-stars {
            color: #fef9c3;
            filter: drop-shadow(0 0 4px rgba(253,224,71,1)) drop-shadow(0 0 14px rgba(253,224,71,0.55));
        }
        /* ── SUNDAY BLESSING PANEL ───────────────────────────── */
        @keyframes panelReveal {
            from { opacity: 0; transform: translateY(16px); }
            to   { opacity: 1; transform: translateY(0); }
        }

        /* Scale+fade entrance */
        .scroll-reveal.sunday-blessing-panel.is-visible {
            animation: panelReveal 0.65s cubic-bezier(.16,1,.3,1) 0.05s both;
        }

        /* Balance the quote so it breaks cleanly at the comma */
        .sunday-blessing-panel > p { text-wrap: balance; }

        /* Children stagger in after the panel is well underway */
        .sunday-blessing-panel .blessing-child { opacity: 0; }
        .sunday-blessing-panel.is-visible .blessing-child {
            animation: scrollRevealUp 0.50s cubic-bezier(.16,1,.3,1) both;
        }
        .sunday-blessing-panel.is-visible .blessing-child:nth-child(1) { animation-delay: 0.20s; }
        .sunday-blessing-panel.is-visible .blessing-child:nth-child(2) { animation-delay: 0.34s; }
        .sunday-blessing-panel.is-visible .blessing-child:nth-child(3) { animation-delay: 0.48s; }
        .sunday-blessing-panel.is-visible .blessing-child:nth-child(4) { animation-delay: 0.62s; }

        /* ── BOOKING CONTACT BAR (below form) ────────────────── */
        .bk-contact-bar {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 6px 20px;
            padding: 14px 20px;
        }
        .bk-contact-item {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            text-decoration: none;
            color: rgba(228,228,231,0.55);
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            transition: color 0.2s ease;
        }
        a.bk-contact-item:hover {
            color: rgba(228,228,231,0.9);
        }
        .bk-contact-item i {
            color: rgba(174,255,203,0.45);
            font-size: 11px;
        }

        /* ── GOOGLE CALENDAR IFRAME STYLING ──────────────────── */
        .bk-cal-wrap {
            overflow: hidden;
        }
        .bk-cal-wrap iframe {
            filter: brightness(1.55) contrast(0.85) saturate(0.35);
        }
        .bk-cal-wrap::after {
            content: '';
            position: absolute;
            inset: 0;
            background: rgba(0, 32, 6, 0.12);
            mix-blend-mode: color;
            pointer-events: none;
            z-index: 1;
        }

        /* ── BOOKING PAGE ENTRANCE ───────────────────────────── */
        @keyframes bkReveal {
            from { opacity: 0; transform: translateY(18px); }
            to   { opacity: 1; transform: translateY(0); }
        }

        #view-booking .bk-header {
            animation: bkReveal 0.42s cubic-bezier(0.16, 1, 0.3, 1) both;
            animation-delay: 0.05s;
        }
        #view-booking .bk-box {
            animation: bkReveal 0.48s cubic-bezier(0.16, 1, 0.3, 1) both;
            animation-delay: 0.14s;
        }

        @media (max-width: 767px) {
            #iframe-calendar,
            #iframe-calendar-premium {
                padding: 14px 12px 16px !important;
            }
        }

        /* ── FOOTER MOBILE ────────────────────────────────────── */
        @media (max-width: 767px) {
            footer { padding-left: 14px !important; padding-right: 14px !important; }
            footer .grid { gap: 8px !important; }
            .footer-glass-panel {
                padding: 20px 18px !important;
                text-align: center;
                align-items: center;
                justify-content: flex-start !important;
            }
            /* Force inner containers to full panel width so buttons stretch consistently */
            .footer-glass-panel > * { width: 100% !important; }
            .footer-glass-panel .relative.z-10 { width: 100% !important; }
            .contact-link--footer { max-width: none !important; }
            .footer-glass-panel .space-y-2,
            .footer-glass-panel .space-y-3,
            .footer-glass-panel .flex.flex-col { align-items: center; }
            .footer-glass-panel .border-t { align-items: center; justify-content: center; }
            .footer-glass-panel .flex.gap-3 { justify-content: center; flex-wrap: nowrap; flex-direction: row; }
            .footer-glass-panel .flex.flex-col.gap-2 { align-items: center; }
            .footer-glass-panel a.brand-glass { justify-content: center; }
            .footer-glass-link { justify-content: center; }
        }

        /* ── BOOKING MOBILE OVERRIDES ────────────────────────── */
        @media (max-width: 1023px) {
            #view-booking {
                padding-top: 120px !important;
            }
            #iframe-form, #iframe-nomination, #iframe-partner {
                padding-bottom: 28px !important;
            }
        }

        /* ── SCROLL REVEAL ───────────────────────────────────── */
        @keyframes scrollRevealUp {
            from { opacity: 0; transform: translateY(10px); }
            to   { opacity: 1; transform: translateY(0); }
        }

        .scroll-reveal { opacity: 0; transform: translateY(10px); }
        .scroll-reveal.is-visible {
            animation: scrollRevealUp 0.50s cubic-bezier(0.16, 1, 0.3, 1) both;
        }

        @media (hover: none) {
            .service-card:hover,
            .feature-panel:hover,
            .work-card:hover,
            .card-hover:hover,
            .btn-glow:hover,
            .liquid-cta:hover,
            .contact-link:hover {
                transform: none !important;
            }
            .service-card:hover::after,
            .feature-panel:hover::after,
            .work-card:hover::after {
                transform: rotate(22deg) translateX(-170%) !important;
            }
            .liquid-cta:hover::before,
            .contact-link:hover::before {
                transform: translateX(-110%) !important;
            }
        }

        /* MPA Subpage Layout Restoration */
        .page-view:not(#view-home) {
            padding-top: 160px !important;
            padding-bottom: 100px !important;
            padding-left: 2rem !important;
            padding-right: 2rem !important;
            max-width: 80rem !important;
            width: 100% !important;
            margin-left: auto !important;
            margin-right: auto !important;
        }

        @media (max-width: 640px) {
            .page-view:not(#view-home) {
                padding-top: 132px !important;
                padding-left: 1.35rem !important;
                padding-right: 1.35rem !important;
                width: 100% !important;
                overflow-x: hidden;
            }
            .page-title {
                font-size: clamp(2.15rem, 10.8vw, 2.7rem);
                line-height: 0.95;
                letter-spacing: -0.04em;
                overflow-wrap: normal;
            }
            #view-ourwork h1 {
                font-size: clamp(2.35rem, 12vw, 3rem);
                line-height: 0.95;
            }
            .page-lede {
                margin-top: -12px;
                margin-bottom: 42px;
            }
            .page-view p,
            .service-detail-note {
                width: 100% !important;
                max-width: 100% !important;
                overflow-wrap: break-word;
            }
            .service-card,
            .feature-panel,
            .carousel,
            .seasonal-photo {
                width: 100% !important;
                max-width: 100% !important;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            html { scroll-behavior: auto; }
            *,
            *::before,
            *::after {
                animation-duration: 0.001ms !important;
                animation-iteration-count: 1 !important;
                scroll-behavior: auto !important;
                transition-duration: 0.001ms !important;
            }
            body {
                opacity: 1 !important;
                filter: none !important;
                pointer-events: auto !important;
            }
            ::view-transition-old(root),
            ::view-transition-new(root),
            ::view-transition-old(page-content),
            ::view-transition-new(page-content) {
                animation-duration: 0.001ms !important;
            }
        }

        /* ── Mobile sticky CTA ───────────────────────────────── */
        .mobile-sticky-cta {
            display: none;
        }

        /* ══ MOBILE VISUAL POLISH ══════════════════════════════
           Sitewide mobile refinements — all pages
        ════════════════════════════════════════════════════════ */

        @media (max-width: 640px) {
            .mobile-sticky-cta {
                display: flex;
                position: fixed;
                bottom: 20px;
                left: 50%;
                transform: translateX(-50%);
                z-index: 8000;
                width: 90%;
                justify-content: center;
            }

            /* ── Homepage sections: reduce heavy 32px side padding ── */
            #view-home > section {
                padding-left: 1.25rem !important;
                padding-right: 1.25rem !important;
            }
            #services-anchor {
                padding-bottom: 3.5rem !important;
            }

            /* ── Footer: tighter horizontal padding on mobile ─────── */
            footer {
                padding-left: 1.25rem !important;
                padding-right: 1.25rem !important;
            }

            /* ── Sunday Blessing: less padding on mobile ──────────── */
            .sunday-blessing-panel {
                padding: 26px 20px !important;
            }

            /* ── Service detail actions: stack CTA + note vertically ── */
            .service-detail-actions {
                flex-direction: column;
                align-items: stretch;
                gap: 10px;
            }
            .service-detail-actions .liquid-cta {
                width: 100% !important;
                min-width: 0 !important;
                justify-content: center;
                padding-left: 1.5rem !important;
                padding-right: 1.5rem !important;
            }
            .service-detail-note {
                margin-top: 0;
            }

            /* ── page-lede: soften negative margin on mobile ─────── */
            .page-lede {
                margin-top: -4px;
                margin-bottom: 36px;
            }

            /* ── Gallery label: reduce oversized top margin ───────── */
            .gallery-label {
                margin-top: 28px;
                margin-bottom: 14px;
            }

            /* ── Lightbox: better sizing + button positions ───────── */
            #lightbox-img {
                max-width: 96vw;
                max-height: 80vh;
            }
            #lightbox-prev { left: 10px; }
            #lightbox-next { right: 10px; }
            #lightbox-close {
                top: 16px;
                right: 18px;
            }

            /* ── Booking form: tighter inner padding ─────────────── */
            #iframe-form,
            #iframe-nomination,
            #iframe-partner {
                padding: 16px 14px 0 !important;
            }

            /* ── Booking contact bar: compact layout ─────────────── */
            .bk-contact-bar {
                gap: 4px 14px;
                padding: 10px 14px;
            }

            /* ── Carousel: better intrinsic size hint on mobile ──── */
            .carousel {
                contain-intrinsic-size: 100% 360px;
                margin-bottom: 36px;
            }
            .carousel-wide {
                margin-bottom: 36px;
            }

            /* ── Work card: correct intrinsic size on mobile ─────── */
            .work-card {
                contain-intrinsic-size: 100% 480px;
            }

            /* ── Expansion page: stats panels are 2-col on mobile ── */
            #view-expansion .grid-cols-2 .feature-panel {
                padding: 18px 14px !important;
            }
            #view-expansion .grid-cols-2 .feature-panel .text-3xl {
                font-size: 1.5rem;
            }

            /* ── Our Work page: tighten bottom CTA spacing ───────── */
            #view-ourwork .mt-4 {
                margin-top: 2rem;
            }

            /* ── Legal page: reduce oversized panel padding ──────── */
            #view-legal .feature-panel {
                padding: 20px 18px !important;
            }
        }

        /* ── Very small screens (360px and below) ─────────────── */
        @media (max-width: 360px) {

            /* Allow hero headline to wrap instead of overflowing */
            .hero-line-primary,
            .hero-line-secondary,
            .hero-line-accent {
                white-space: normal;
            }

            /* Further reduce side padding */
            #view-home > section,
            footer,
            .page-view:not(#view-home) {
                padding-left: 1rem !important;
                padding-right: 1rem !important;
            }

            /* Tighter service detail note */
            .service-detail-note {
                font-size: 11px;
            }

            /* Booking page heading */
            #view-booking h1 {
                font-size: clamp(1.75rem, 9vw, 2.4rem);
            }
        }

