        @font-face {
            font-family: 'Cormorant Garamond';
            src: url('../fonts/cormorant-garamond-normal.woff2?v=20260728-1') format('woff2');
            font-style: normal;
            font-weight: 300 700;
            font-display: swap;
        }

        @font-face {
            font-family: 'Cormorant Garamond';
            src: url('../fonts/cormorant-garamond-italic.woff2?v=20260728-1') format('woff2');
            font-style: italic;
            font-weight: 300 400;
            font-display: swap;
        }

        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat.woff2?v=20260728-1') format('woff2');
            font-style: normal;
            font-weight: 100 900;
            font-display: swap;
        }

        @font-face {
            font-family: 'Italianno';
            src: url('../fonts/italianno.woff2?v=20260728-1') format('woff2');
            font-style: normal;
            font-weight: 400;
            font-display: swap;
        }

        @font-face {
            font-family: 'Mea Culpa';
            src: url('../fonts/mea-culpa-regular.ttf?v=20260829-1') format('truetype');
            font-style: normal;
            font-weight: 400;
            font-display: swap;
        }

        :root {
            --font-serif: 'Cormorant Garamond', Georgia, serif;
            --font-sans: 'Montserrat', Arial, sans-serif;
            --font-script: 'Italianno', cursive;
            --parchment: #f0ebb3;
            --sage: #c7d0aa;
            --olive: #3f4a30;
            --earth: #83521a;
            --gold: #b17a20;
            --soft-cream: #fff9d9;
            --shadow: rgba(54, 42, 18, 0.22);
        }

        html.is-booting,
        html.is-booting body {
            overflow: hidden;
        }

        .boot-screen {
            position: fixed;
            inset: 0;
            z-index: 200;
            display: grid;
            place-items: center;
            background:
                radial-gradient(circle at 50% 38%, rgba(255, 249, 217, 0.98), transparent 22rem),
                linear-gradient(145deg, #f0ebb3, #c7d0aa);
            color: var(--earth);
            opacity: 1;
            visibility: visible;
            transition: opacity 0.36s ease, visibility 0.36s ease;
        }

        .boot-screen-inner {
            width: min(230px, 70vw);
            text-align: center;
        }

        .boot-screen-mark {
            display: block;
            font-family: var(--font-script);
            font-size: clamp(2rem, 2.6vw, 3.1rem);
            font-style: normal;
            line-height: 1;
            letter-spacing: normal;
        }

        .boot-screen-line {
            display: block;
            width: 100%;
            height: 2px;
            margin-top: 20px;
            overflow: hidden;
            border-radius: 999px;
            background: rgba(131, 82, 26, 0.14);
        }

        .boot-screen-line::after {
            content: '';
            display: block;
            width: 46%;
            height: 100%;
            border-radius: inherit;
            background: var(--earth);
            animation: bootProgress 1.05s ease-in-out infinite alternate;
        }

        html.is-ready .boot-screen {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }

        html:not(.is-booting):not(.is-ready) .boot-screen {
            display: none;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            min-width: 0;
            scroll-behavior: smooth;
        }

        body {
            min-height: 100vh;
            background:
                radial-gradient(circle at 50% -10%, rgba(255, 249, 217, 0.86), transparent 38rem),
                linear-gradient(180deg, var(--parchment) 0%, #e8df9a 42%, var(--sage) 100%);
            color: var(--olive);
            font-family: var(--font-serif);
            overflow-x: hidden;
            position: relative;
        }

        body::before {
            content: '';
            position: fixed;
            inset: 0;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.035'/%3E%3C/svg%3E");
            pointer-events: none;
            z-index: 1;
        }

        button {
            font: inherit;
        }

        .skip-link {
            position: fixed;
            top: 10px;
            left: 10px;
            z-index: 210;
            padding: 12px 16px;
            border-radius: 8px;
            background: var(--olive);
            color: var(--soft-cream);
            font-family: var(--font-sans);
            font-size: 0.82rem;
            font-weight: 600;
            text-decoration: none;
            transform: translateY(-160%);
            transition: transform 0.18s ease;
        }

        .skip-link:focus {
            transform: translateY(0);
            outline: 3px solid var(--soft-cream);
            outline-offset: 2px;
        }

        :where(a, button, input, textarea, select, [tabindex]):focus-visible {
            outline: 3px solid rgba(131, 82, 26, 0.82);
            outline-offset: 3px;
        }

        .site-header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 20;
            padding: 18px clamp(18px, 4vw, 64px);
            color: rgba(255, 249, 232, 0.96);
            background: rgba(18, 76, 91, 0.42);
            border-bottom: 1px solid rgba(255, 249, 217, 0.12);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            transition: color 0.35s ease, background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, padding 0.35s ease;
        }

        .site-header.is-solid {
            padding-top: 12px;
            padding-bottom: 12px;
            color: var(--earth);
            background: rgba(240, 235, 179, 0.88);
            border-color: rgba(131, 82, 26, 0.16);
            box-shadow: 0 14px 34px rgba(54, 42, 18, 0.08);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }

        .site-nav {
            width: min(100%, 1280px);
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            align-items: center;
            gap: clamp(18px, 4vw, 56px);
        }

        .nav-toggle {
            display: none;
        }

        .nav-group {
            display: flex;
            align-items: center;
            gap: clamp(18px, 2.45vw, 34px);
        }

        .nav-group.right {
            justify-content: flex-end;
        }

        .nav-link {
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-family: var(--font-sans);
            font-size: clamp(0.72rem, 0.72vw, 0.84rem);
            font-weight: 500;
            letter-spacing: clamp(1.7px, 0.16vw, 2.4px);
            text-transform: uppercase;
            text-decoration: none;
            color: currentColor;
            white-space: nowrap;
            transition: color 0.2s ease;
        }

        .nav-brush {
            width: 0;
            height: 18px;
            color: currentColor;
            opacity: 0;
            transform: translateX(-5px) rotate(-12deg);
            transition: width 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
            flex: 0 0 auto;
        }

        .nav-link.is-active .nav-brush {
            width: 18px;
            opacity: 1;
            transform: translateX(0) rotate(-12deg);
        }

        .nav-link::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            bottom: -8px;
            height: 1px;
            background: rgba(255, 249, 232, 0.92);
            transform: scaleX(0);
            transform-origin: center;
            transition: transform 0.22s ease;
        }

        .site-header.is-solid .nav-link::after,
        .site-header.is-open .nav-link::after {
            background: currentColor;
        }

        .nav-link:hover,
        .nav-link:focus-visible {
            color: currentColor;
            outline: none;
        }

        .nav-link:hover::after,
        .nav-link:focus-visible::after,
        .nav-link.is-active::after {
            transform: scaleX(1);
        }

        .nav-brand {
            font-family: var(--font-script);
            font-size: clamp(2rem, 2.6vw, 3.1rem);
            line-height: 1;
            color: currentColor;
            text-decoration: none;
            white-space: nowrap;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-6px);
            transition: opacity 0.28s ease, visibility 0.28s ease, transform 0.28s ease;
            pointer-events: none;
        }

        .nav-brand-signature {
            display: none;
        }

        .site-header.is-solid .nav-brand {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
            pointer-events: auto;
        }

        .nav-cta {
            --cta-rgb: 18, 76, 91;
            position: relative;
            isolation: isolate;
            overflow: hidden;
            min-height: 42px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 12px 22px 11px;
            border: 1px solid rgba(255, 249, 217, 0.4);
            border-radius: 999px;
            color: var(--soft-cream);
            background: rgba(var(--cta-rgb), 0.58);
            box-shadow: 0 10px 24px rgba(var(--cta-rgb), 0.2);
            transition: color 0.22s ease, background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
        }

        .site-header .nav-group .nav-link.nav-cta::after {
            content: '';
            display: block;
            position: absolute;
            top: 0;
            right: auto;
            bottom: auto;
            left: -70%;
            z-index: 0;
            width: 55%;
            height: 100%;
            border-radius: inherit;
            pointer-events: none;
            background: linear-gradient(90deg, transparent, rgba(255, 249, 217, 0.22), transparent);
            transform: none;
            transform-origin: center;
            animation: navCtaShimmer 3s ease-in-out infinite;
            animation-delay: 1s;
        }

        .nav-cta span {
            position: relative;
            z-index: 1;
        }

        .site-header.is-solid .nav-cta {
            --cta-rgb: 214, 167, 47;
            display: inline-flex;
            flex: 0 0 auto;
            visibility: visible;
            opacity: 1;
            color: #3f3520;
            background: rgba(var(--cta-rgb), 0.88);
            border-color: rgba(131, 82, 26, 0.34);
            box-shadow: 0 12px 28px rgba(var(--cta-rgb), 0.25);
        }

        body.is-order-mode .site-header .nav-link.nav-cta {
            display: none;
        }

        .nav-cta:hover,
        .nav-cta:focus-visible {
            color: var(--soft-cream);
            background: rgba(var(--cta-rgb), 0.98);
            border-color: rgba(255, 249, 217, 0.72);
            box-shadow: 0 15px 34px rgba(var(--cta-rgb), 0.34);
            transform: translateY(-2px);
        }

        .nav-cta:focus-visible {
            outline: 3px solid rgba(255, 249, 217, 0.9);
            outline-offset: 3px;
        }

        .site-header.is-solid .nav-cta:hover,
        .site-header.is-solid .nav-cta:focus-visible {
            color: #332914;
            border-color: rgba(131, 82, 26, 0.54);
            box-shadow: 0 16px 36px rgba(var(--cta-rgb), 0.38);
        }

        .site-header.is-solid .nav-cta:focus-visible {
            outline-color: rgba(131, 82, 26, 0.82);
        }

        .site-header.is-mobile-nav {
            padding: 0;
            color: var(--earth);
            background: transparent;
            border-bottom: 0;
            box-shadow: none;
            backdrop-filter: none;
            pointer-events: none;
        }

        .site-header.is-mobile-nav.is-solid {
            padding: 0;
            background: transparent;
            border-color: transparent;
            box-shadow: none;
            backdrop-filter: none;
        }

        .site-header.is-mobile-nav.is-open {
            color: var(--earth);
            background: transparent;
            border-color: transparent;
            box-shadow: none;
            backdrop-filter: none;
            pointer-events: auto;
        }

        .site-header.is-mobile-nav .site-nav {
            position: fixed;
            top: 14px;
            left: 14px;
            right: 14px;
            width: auto;
            margin: 0;
            grid-template-columns: 1fr auto;
            column-gap: 12px;
            row-gap: 0;
            align-items: start;
            pointer-events: none;
            border-radius: 22px;
            transition: background 0.28s ease, box-shadow 0.28s ease, padding 0.28s ease, border-color 0.28s ease;
        }

        .site-header.is-mobile-nav.is-open .site-nav {
            padding: 72px 16px 18px;
            background:
                radial-gradient(circle at 92% 0%, rgba(190, 143, 32, 0.18), transparent 34%),
                linear-gradient(180deg, rgba(255, 249, 217, 0.97), rgba(239, 232, 177, 0.96));
            border: 1px solid rgba(131, 82, 26, 0.18);
            box-shadow: 0 24px 58px rgba(20, 49, 53, 0.24);
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
            pointer-events: auto;
        }

        .site-header.is-mobile-nav .nav-brand,
        .site-header.is-mobile-nav.is-solid .nav-brand {
            display: none;
        }

        .site-header.is-mobile-nav .nav-toggle {
            grid-column: 2;
            justify-self: end;
            position: fixed !important;
            top: 14px !important;
            right: 14px !important;
            z-index: 999;
            pointer-events: auto;
            width: 54px;
            height: 48px;
            border: 1px solid rgba(190, 143, 32, 0.54);
            border-radius: 999px;
            background: rgba(13, 43, 50, 0.78);
            display: inline-flex !important;
            visibility: visible;
            opacity: 1;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            gap: 6px;
            box-shadow: 0 16px 34px rgba(13, 43, 50, 0.3);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
            transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
        }

        .site-header.is-mobile-nav.is-open .nav-toggle {
            border-color: rgba(131, 82, 26, 0.26);
            background: rgba(255, 249, 217, 0.96);
            box-shadow: 0 12px 26px rgba(54, 42, 18, 0.13);
            transform: translateY(1px);
        }

        .site-header.is-mobile-nav .nav-toggle span {
            width: 22px;
            height: 2px;
            border-radius: 999px;
            background: #d6a72f;
            box-shadow: 0 0 12px rgba(214, 167, 47, 0.34);
            transition: transform 0.24s ease, opacity 0.2s ease, width 0.22s ease, background 0.22s ease;
        }

        .site-header.is-mobile-nav .nav-toggle span:nth-child(2) {
            width: 15px;
        }

        .site-header.is-mobile-nav.is-open .nav-toggle span {
            background: var(--earth);
            box-shadow: none;
            width: 22px;
        }

        .site-header.is-mobile-nav.is-open .nav-toggle span:nth-child(1) {
            transform: translateY(6px) rotate(42deg);
        }

        .site-header.is-mobile-nav.is-open .nav-toggle span:nth-child(2) {
            opacity: 0;
        }

        .site-header.is-mobile-nav.is-open .nav-toggle span:nth-child(3) {
            transform: translateY(-6px) rotate(-42deg);
        }

        .site-header.is-mobile-nav .nav-group {
            grid-column: 1 / -1;
            width: 100%;
            display: none;
            flex-direction: column;
            align-items: stretch;
            justify-content: flex-start;
            gap: 6px;
            padding: 0;
            flex-wrap: nowrap;
        }

        .site-header.is-mobile-nav.is-open .nav-group {
            display: flex;
        }

        .site-header.is-mobile-nav .nav-group.right {
            justify-content: flex-start;
        }

        .site-header.is-mobile-nav .nav-link {
            width: 100%;
            min-height: 50px;
            justify-content: flex-start;
            padding: 14px 15px;
            border-top: 0;
            border-radius: 14px;
            font-size: 0.76rem;
            letter-spacing: 1.9px;
            background: rgba(255, 249, 217, 0.3);
            transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
        }

        .site-header.is-mobile-nav .nav-link:hover,
        .site-header.is-mobile-nav .nav-link:focus-visible,
        .site-header.is-mobile-nav .nav-link.is-active {
            background: rgba(255, 249, 217, 0.82);
            box-shadow: inset 0 0 0 1px rgba(131, 82, 26, 0.08);
            transform: translateX(2px);
        }

        .site-header.is-mobile-nav .nav-link::after {
            left: 14px;
            right: 14px;
            bottom: 8px;
            background: rgba(131, 82, 26, 0.42);
        }

        .site-header.is-mobile-nav .nav-cta {
            --cta-rgb: 18, 76, 91;
            min-height: 44px;
            margin-top: 10px;
            padding: 12px 18px 11px;
            justify-content: center;
            background: rgba(var(--cta-rgb), 0.86);
            color: var(--soft-cream);
            border-color: rgba(255, 249, 217, 0.42);
            box-shadow: 0 14px 30px rgba(var(--cta-rgb), 0.24);
        }

        .page {
            position: relative;
            z-index: 2;
        }

        .hero {
            --hero-bg: url('../fundo_qualidade.webp?v=20260829-1');
            min-height: 100vh;
            min-height: 100svh;
            display: flex;
            align-items: flex-end;
            justify-content: center;
            padding: clamp(58px, 8vw, 108px) 20px clamp(54px, 8vw, 92px);
            text-align: center;
            position: relative;
            overflow: hidden;
            background-image: var(--hero-bg);
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
        }

        .hero::before {
            content: '';
            position: absolute;
            z-index: 2;
            inset: 0;
            pointer-events: none;
            background: linear-gradient(180deg, rgba(16, 53, 60, 0.1) 0%, rgba(17, 55, 60, 0.08) 56%, rgba(12, 38, 43, 0.28) 100%);
        }

        .container {
            width: min(100%, 920px);
            position: relative;
            z-index: 4;
        }

        .hero-heading {
            position: absolute;
            isolation: isolate;
            z-index: 4;
            top: 40%;
            left: 50%;
            width: min(92vw, 900px);
            transform: translate(-50%, -50%);
            display: flex;
            flex-direction: column;
            align-items: center;
            color: var(--soft-cream);
            text-align: center;
            text-shadow: 0 2px 4px rgba(3, 25, 45, 0.5), 0 5px 20px rgba(3, 25, 45, 0.38);
            pointer-events: none;
        }

        .hero-heading::before {
            content: '';
            position: absolute;
            z-index: -1;
            inset: -34% -12%;
            background: radial-gradient(ellipse at center, rgba(5, 34, 57, 0.26) 0%, rgba(5, 34, 57, 0.1) 46%, transparent 72%);
            filter: blur(10px);
            opacity: 0.82;
        }

        .hero-heading-kicker {
            position: relative;
            z-index: 2;
            margin: 0 0 clamp(-18px, -1.2vw, -10px);
            transform: translate(clamp(10px, 1.5vw, 20px), clamp(-50px, -4vw, -34px));
            font-family: var(--font-sans);
            font-size: clamp(1.15rem, 2.5vw, 2.1rem);
            font-weight: 600;
            font-style: italic;
            line-height: 1;
            letter-spacing: -0.02em;
            text-transform: uppercase;
        }

        .hero-heading-signature {
            transform: translateY(clamp(5px, 1vw, 15px));
            font-family: 'Mea Culpa', 'Italianno', cursive;
            font-size: clamp(7rem, 17vw, 12.5rem);
            font-weight: 400;
            line-height: 0.82;
            color: #f0e85a;
            text-shadow: 0 2px 3px rgba(3, 25, 45, 0.42), 0 6px 24px rgba(3, 25, 45, 0.46), 0 0 1px rgba(255, 249, 217, 0.35);
        }

        .subtitle-top {
            font-size: clamp(1.35rem, 4.8vw, 2.2rem);
            font-weight: 300;
            font-style: italic;
            color: var(--earth);
            letter-spacing: clamp(1px, 0.45vw, 2px);
            margin-bottom: clamp(8px, 1.4vw, 14px);
            opacity: 0;
            animation: fadeInDown 1.1s ease forwards;
        }

        .name-wrapper {
            display: flex;
            align-items: center;
            justify-content: center;
            margin: clamp(14px, 3vw, 22px) 0 clamp(24px, 4vw, 34px);
            opacity: 0;
            animation: fadeInUp 1.1s ease 0.2s forwards;
        }

        .name {
            font-family: var(--font-script);
            font-size: clamp(4.2rem, 16vw, 8rem);
            color: var(--earth);
            line-height: 0.92;
            text-shadow: 1px 1px 2px rgba(131, 82, 26, 0.08);
            transition: transform 0.3s ease, text-shadow 0.3s ease;
            cursor: default;
        }

        .name:hover {
            transform: scale(1.02);
            text-shadow: 2px 2px 4px rgba(131, 82, 26, 0.12);
        }

        .divider {
            width: min(26vw, 96px);
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(131, 82, 26, 0.45), transparent);
            margin: clamp(32px, 7vw, 54px) auto;
            opacity: 0;
            animation: fadeIn 1.1s ease 0.55s forwards;
        }

        .bottom-section {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: clamp(18px, 5vw, 50px);
            width: min(100%, 560px);
            margin: 0 auto;
            opacity: 1;
            color: var(--soft-cream);
            text-shadow: 0 2px 14px rgba(13, 43, 50, 0.42);
        }

        .bottom-text {
            font-family: var(--font-sans);
            font-size: clamp(0.64rem, 2.2vw, 0.76rem);
            font-weight: 500;
            letter-spacing: clamp(1.2px, 0.58vw, 3px);
            text-transform: uppercase;
            color: rgba(255, 249, 217, 0.94);
            line-height: 1.75;
            text-align: center;
            flex: 0 1 168px;
            min-width: 0;
        }

        .logo-container {
            width: clamp(38px, 8vw, 52px);
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .logo-symbol {
            font-family: var(--font-script);
            font-size: clamp(2.4rem, 7vw, 3.2rem);
            color: var(--soft-cream);
            line-height: 1;
            text-shadow: 0 2px 14px rgba(13, 43, 50, 0.42);
        }

        .gallery-section {
            min-height: 100vh;
            min-height: 100svh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: clamp(78px, 7vw, 96px) 16px clamp(22px, 4vw, 42px);
            scroll-margin-top: 90px;
        }

        .gallery-inner {
            width: min(100%, 980px);
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            justify-items: center;
            gap: clamp(18px, 4vw, 34px);
        }

        .gallery-heading {
            max-width: 620px;
            text-align: center;
            font-family: var(--font-script);
            font-size: clamp(3rem, 5.8vw, 5rem);
            font-weight: 300;
            font-style: normal;
            line-height: 1;
            color: rgba(131, 82, 26, 0.78);
            margin: 0 auto clamp(14px, 2vw, 24px);
            transform: rotate(4deg);
            transform-origin: center;
        }

        .gallery-stage {
            width: min(100%, 1040px);
            display: grid;
            place-items: center;
            position: relative;
        }

        .frame-carousel {
            width: min(80vw, 420px);
            aspect-ratio: 1122 / 1402;
            position: relative;
            isolation: isolate;
            z-index: 4;
            touch-action: pan-y;
        }

        .frame-carousel:focus-visible {
            outline: 3px solid rgba(190, 143, 32, 0.78);
            outline-offset: 7px;
            border-radius: 46% 46% 42% 42%;
        }

        .paint-preview {
            position: absolute;
            top: 58%;
            z-index: 2;
            width: clamp(150px, 13.5vw, 230px);
            aspect-ratio: 1 / 1;
            border: 0;
            padding: 0;
            background: transparent;
            cursor: pointer;
            opacity: 0.72;
            transform-origin: center;
            transition: opacity 0.25s ease, transform 0.25s ease, filter 0.25s ease;
            -webkit-tap-highlight-color: transparent;
            border-radius: 50%;
            overflow: hidden;
        }

        .paint-preview.prev {
            right: calc(50% + min(17vw, 205px));
            transform: translateY(-50%);
        }

        .paint-preview.next {
            left: calc(50% + min(17vw, 205px));
            transform: translateY(-50%);
        }

        .paint-preview:hover,
        .paint-preview:focus-visible {
            opacity: 0.92;
            outline: none;
        }

        .paint-preview.prev:hover,
        .paint-preview.prev:focus-visible {
            transform: translateY(-50%) scale(1.03);
        }

        .paint-preview.next:hover,
        .paint-preview.next:focus-visible {
            transform: translateY(-50%) scale(1.03);
        }

        .paint-preview:focus-visible,
        .carousel-control:focus-visible {
            outline: 3px solid rgba(190, 143, 32, 0.86);
            outline-offset: 4px;
        }

        .paint-preview.prev:active,
        .paint-preview.next:active {
            transform: translateY(-50%) scale(0.97);
        }

        .paint-preview img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            object-position: center;
        }

        .portrait-window {
            position: absolute;
            top: 17.15%;
            right: 21.85%;
            bottom: 14.65%;
            left: 21.85%;
            border-radius: 50%;
            overflow: hidden;
            background: rgba(255, 249, 217, 0.72);
            box-shadow: inset 0 0 22px rgba(56, 38, 14, 0.22);
            contain: paint;
            z-index: 1;
        }

        .carousel-track {
            height: 100%;
            display: flex;
        }

        .carousel-slide {
            position: relative;
            min-width: 100%;
            height: 100%;
            overflow: hidden;
        }

        .carousel-image.is-active {
            z-index: 1;
            opacity: 1;
        }

        .carousel-image.is-incoming {
            z-index: 2;
            opacity: 0;
            transition: opacity 0.28s ease;
        }

        .carousel-slide.is-resetting .carousel-image.is-incoming {
            transition: none;
        }

        .carousel-slide.is-crossfading .carousel-image.is-incoming {
            opacity: 1;
        }

        .carousel-slide img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            object-position: center;
        }

        .frame-image {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: contain;
            filter: drop-shadow(0 24px 34px rgba(58, 43, 18, 0.28));
            pointer-events: none;
            z-index: 2;
        }

        .carousel-control {
            position: absolute;
            top: 50%;
            z-index: 3;
            width: clamp(42px, 10vw, 48px);
            height: clamp(42px, 10vw, 48px);
            border: 1px solid rgba(255, 249, 217, 0.58);
            border-radius: 50%;
            background: rgba(63, 74, 48, 0.72);
            color: var(--soft-cream);
            display: grid;
            place-items: center;
            cursor: pointer;
            transform: translateY(-50%);
            box-shadow: 0 12px 24px rgba(40, 30, 12, 0.22);
            transition: background 0.2s ease, transform 0.2s ease;
            -webkit-tap-highlight-color: transparent;
        }

        .carousel-control:hover,
        .carousel-control:focus-visible {
            background: rgba(63, 74, 48, 0.92);
            transform: translateY(-50%) scale(1.04);
        }

        .carousel-control:active {
            transform: translateY(-50%) scale(0.96);
        }

        .carousel-control svg {
            width: 20px;
            height: 20px;
            stroke: currentColor;
            stroke-width: 2.4;
            fill: none;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .carousel-control.prev {
            left: -10px;
        }

        .carousel-control.next {
            right: -10px;
        }

        .carousel-dots {
            position: relative;
            z-index: 6;
            display: flex;
            justify-content: center;
            gap: 0;
            margin-top: clamp(16px, 3vw, 22px);
        }

        .carousel-dot {
            position: relative;
            width: 28px;
            height: 44px;
            border: 0;
            background: transparent;
            cursor: pointer;
            padding: 0;
            -webkit-tap-highlight-color: transparent;
        }

        .carousel-dot::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 10px;
            height: 10px;
            border: 1px solid rgba(63, 74, 48, 0.58);
            border-radius: 50%;
            background: transparent;
            transform: translate(-50%, -50%);
            transition: background 0.2s ease, transform 0.2s ease;
        }

        .carousel-dot[aria-current="true"]::before {
            background: var(--olive);
            transform: translate(-50%, -50%) scale(1.18);
        }

        .carousel-dot:focus-visible {
            border-radius: 999px;
        }

        .carousel-dot:active::before {
            transform: translate(-50%, -50%) scale(0.88);
        }

        .booking-section {
            min-height: 70vh;
            min-height: 70svh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: clamp(42px, 6vw, 76px) 18px clamp(92px, 11vw, 142px);
            scroll-margin-top: 92px;
            position: relative;
            overflow: hidden;
        }

        .booking-section::before {
            content: '';
            position: absolute;
            inset: auto 8% 12% auto;
            width: clamp(120px, 16vw, 220px);
            height: clamp(70px, 9vw, 120px);
            border-bottom: 1px solid rgba(63, 74, 48, 0.26);
            border-right: 1px solid rgba(63, 74, 48, 0.16);
            transform: rotate(-18deg);
            opacity: 0.52;
            pointer-events: none;
        }

        .booking-inner {
            width: min(100%, 980px);
            margin: 0 auto;
            text-align: center;
            color: var(--olive);
            position: relative;
            z-index: 2;
        }

        .booking-kicker {
            font-family: var(--font-script);
            display: inline-block;
            font-size: clamp(3rem, 5.8vw, 5rem);
            line-height: 1;
            color: rgba(131, 82, 26, 0.78);
            margin-bottom: clamp(18px, 2.4vw, 28px);
            transform: rotate(-4deg);
            transform-origin: center;
        }

        .booking-title {
            max-width: 880px;
            margin: 0 auto;
            font-size: clamp(2.45rem, 6vw, 5.35rem);
            font-weight: 300;
            line-height: 0.98;
            letter-spacing: 0;
            text-transform: uppercase;
            color: var(--olive);
        }

        .booking-action {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-top: clamp(38px, 5vw, 58px);
            padding-bottom: 5px;
            font-family: var(--font-sans);
            font-size: clamp(0.72rem, 0.85vw, 0.9rem);
            font-weight: 500;
            letter-spacing: clamp(2px, 0.24vw, 3.2px);
            text-transform: uppercase;
            text-decoration: none;
            color: rgba(131, 82, 26, 0.9);
            border-bottom: 1px solid rgba(131, 82, 26, 0.42);
            transition: color 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
        }

        .booking-action:hover,
        .booking-action:focus-visible {
            color: var(--olive);
            border-color: var(--olive);
            transform: translateY(-2px);
            outline: none;
        }

        .booking-quote {
            position: relative;
            overflow: hidden;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 48px;
            margin-top: clamp(34px, 4vw, 46px);
            padding: 15px 30px 14px;
            border: 1px solid rgba(131, 82, 26, 0.54);
            border-radius: 999px;
            background: rgba(131, 82, 26, 0.92);
            color: var(--soft-cream);
            box-shadow: 0 16px 34px rgba(54, 42, 18, 0.18);
            font-family: var(--font-sans);
            font-size: clamp(0.76rem, 0.86vw, 0.92rem);
            font-weight: 600;
            letter-spacing: clamp(1.4px, 0.16vw, 2.2px);
            text-transform: uppercase;
            text-decoration: none;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
            transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, color 0.22s ease, border-color 0.22s ease;
        }

        .booking-quote::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(115deg, transparent 0%, rgba(255, 249, 217, 0.38) 46%, transparent 70%);
            transform: translateX(-120%);
            transition: transform 0.5s ease;
        }

        .booking-quote:hover,
        .booking-quote:focus-visible {
            background: rgba(255, 249, 217, 0.9);
            color: var(--earth);
            border-color: rgba(131, 82, 26, 0.72);
            box-shadow: 0 18px 38px rgba(54, 42, 18, 0.18);
            transform: translateY(-3px);
            outline: none;
        }

        .booking-quote:hover::before,
        .booking-quote:focus-visible::before {
            transform: translateX(120%);
        }

        .booking-quote:active {
            transform: translateY(0) scale(0.98);
            box-shadow: 0 10px 24px rgba(54, 42, 18, 0.16);
        }

        .site-footer {
            position: relative;
            overflow: hidden;
            padding: clamp(74px, 9vw, 118px) 18px clamp(42px, 6vw, 68px);
            background:
                radial-gradient(circle at 50% 0%, rgba(255, 249, 217, 0.5), transparent 34rem),
                linear-gradient(180deg, rgba(199, 208, 170, 0.62), rgba(240, 235, 179, 0.96));
            color: var(--olive);
            text-align: center;
            border-top: 1px solid rgba(131, 82, 26, 0.14);
        }

        .site-footer::before {
            content: '';
            position: absolute;
            left: 50%;
            top: 34px;
            width: min(260px, 56vw);
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(131, 82, 26, 0.38), transparent);
            transform: translateX(-50%);
        }

        .footer-inner {
            width: min(100%, 920px);
            margin: 0 auto;
            position: relative;
            z-index: 2;
        }

        .footer-quote {
            max-width: 820px;
            margin: 0 auto clamp(34px, 4vw, 52px);
            font-size: clamp(1.55rem, 3.5vw, 3.2rem);
            font-weight: 300;
            font-style: italic;
            line-height: 1.16;
            color: var(--olive);
        }

        .footer-source {
            display: block;
            margin-top: clamp(14px, 2vw, 20px);
            font-family: var(--font-sans);
            font-size: clamp(0.64rem, 0.8vw, 0.78rem);
            font-weight: 500;
            letter-spacing: clamp(1.6px, 0.22vw, 2.8px);
            text-transform: uppercase;
            color: rgba(131, 82, 26, 0.8);
        }

        .footer-contact {
            display: grid;
            gap: 10px;
            justify-items: center;
            margin-bottom: clamp(24px, 3vw, 36px);
            font-family: var(--font-sans);
            font-size: clamp(0.78rem, 0.95vw, 0.96rem);
            letter-spacing: 1.2px;
        }

        .footer-contact a {
            position: relative;
            display: inline-flex;
            align-items: center;
            padding: 4px 3px 10px;
            color: rgba(63, 74, 48, 0.92);
            text-decoration: none;
            transform-origin: center;
            transition: color 0.2s ease, transform 0.2s ease;
        }

        .footer-contact a::after {
            content: '';
            position: absolute;
            left: 2px;
            right: 2px;
            bottom: 0;
            height: 9px;
            border-radius: 60% 45% 58% 42% / 72% 64% 50% 58%;
            background: linear-gradient(90deg, #b98217 0%, #d6a72f 52%, #e4c65c 100%);
            box-shadow: 0 4px 10px rgba(190, 143, 32, 0.16);
            clip-path: polygon(0 38%, 8% 23%, 19% 34%, 34% 16%, 51% 29%, 68% 11%, 84% 26%, 100% 18%, 99% 76%, 82% 70%, 64% 88%, 45% 69%, 27% 91%, 9% 71%, 0 81%);
            opacity: 0;
            transform: scaleX(0);
            transform-origin: left center;
        }

        .footer-contact a::before {
            content: '';
            position: absolute;
            left: 10px;
            right: 16px;
            bottom: 5px;
            z-index: 1;
            height: 2px;
            border-radius: 999px;
            background: linear-gradient(90deg, transparent, rgba(255, 249, 217, 0.46), transparent);
            opacity: 0;
            transform: scaleX(0);
            transform-origin: left center;
        }

        .footer-contact-brush {
            position: absolute;
            left: -15px;
            bottom: -7px;
            z-index: 2;
            width: 23px;
            height: 23px;
            color: #9c6a13;
            opacity: 0;
            filter: drop-shadow(0 3px 5px rgba(54, 42, 18, 0.18));
            transform: translateY(-5px) rotate(38deg);
            transform-origin: 44% 92%;
            pointer-events: none;
        }

        .footer-contact a:hover,
        .footer-contact a:focus-visible {
            color: var(--earth);
            transform: translateY(-1px);
            outline: none;
        }

        .footer-social {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 44px;
            height: 44px;
            border: 1px solid rgba(131, 82, 26, 0.38);
            border-radius: 50%;
            color: var(--earth);
            background: rgba(255, 249, 217, 0.36);
            box-shadow: 0 12px 26px rgba(54, 42, 18, 0.1);
            transition: transform 0.22s ease, background 0.22s ease, color 0.22s ease, box-shadow 0.22s ease;
        }

        .footer-social svg {
            width: 20px;
            height: 20px;
        }

        .footer-social:hover,
        .footer-social:focus-visible {
            background: var(--earth);
            color: var(--soft-cream);
            box-shadow: 0 16px 34px rgba(54, 42, 18, 0.18);
            transform: translateY(-3px);
            outline: none;
        }

        .order-section,
        .portfolio-section,
        .about-section,
        .contact-section {
            display: none;
            min-height: 100vh;
            min-height: 100svh;
            padding: clamp(96px, 10vw, 132px) 18px clamp(58px, 8vw, 92px);
            position: relative;
            overflow: hidden;
        }

        body.is-order-mode,
        body.is-portfolio-mode,
        body.is-about-mode,
        body.is-contact-mode,
        body.is-coming-soon-mode {
            overflow-x: hidden;
        }

        body.is-order-mode .page > section:not(.order-section),
        body.is-portfolio-mode .page > section:not(.portfolio-section),
        body.is-about-mode .page > section:not(.about-section),
        body.is-contact-mode .page > section:not(.contact-section),
        body.is-coming-soon-mode .page > section:not(.coming-soon-section) {
            display: none;
        }

        body.is-order-mode .order-section {
            display: block;
            animation: fadeInUp 0.55s ease both;
        }

        body.is-portfolio-mode .portfolio-section {
            display: block;
            animation: fadeInUp 0.55s ease both;
        }

        body.is-about-mode .about-section {
            display: block;
            animation: fadeInUp 0.55s ease both;
        }

        body.is-contact-mode .contact-section {
            display: block;
            animation: fadeInUp 0.55s ease both;
        }

        body.is-coming-soon-mode .coming-soon-section {
            display: grid;
            animation: fadeInUp 0.55s ease both;
        }

        body.is-order-mode .site-header,
        body.is-portfolio-mode .site-header,
        body.is-about-mode .site-header,
        body.is-contact-mode .site-header,
        body.is-coming-soon-mode .site-header {
            color: var(--earth);
            background: rgba(240, 235, 179, 0.9);
            border-color: rgba(131, 82, 26, 0.16);
            box-shadow: 0 14px 34px rgba(54, 42, 18, 0.08);
            backdrop-filter: blur(16px);
        }

        body.is-order-mode .site-header .nav-link::after,
        body.is-portfolio-mode .site-header .nav-link::after,
        body.is-about-mode .site-header .nav-link::after,
        body.is-contact-mode .site-header .nav-link::after,
        body.is-coming-soon-mode .site-header .nav-link::after {
            background: currentColor;
        }

        body.is-view-loading {
            overflow: hidden;
            cursor: wait;
        }

        body.is-view-loading .page,
        body.is-view-loading .site-footer {
            filter: blur(7px) saturate(0.82);
            transform: scale(0.995);
            transition: filter 0.2s ease, transform 0.2s ease;
            pointer-events: none;
        }

        body.is-view-loading .site-header {
            filter: blur(2px);
            transition: filter 0.2s ease;
            pointer-events: none;
        }

        .page-loader {
            position: fixed;
            inset: 0;
            z-index: 1200;
            display: grid;
            place-items: center;
            padding: clamp(16px, 4vw, 32px);
            background:
                radial-gradient(circle at 50% 46%, rgba(255, 249, 217, 0.58), transparent 18rem),
                rgba(18, 76, 91, 0.3);
            backdrop-filter: blur(9px);
            -webkit-backdrop-filter: blur(9px);
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.18s ease, visibility 0.18s ease;
        }

        body.is-view-loading .page-loader {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
        }

        .brush-loader {
            width: min(330px, calc(100vw - 32px));
            padding: clamp(22px, 5vw, 30px) clamp(20px, 6vw, 34px) 24px;
            border: 1px solid rgba(255, 249, 217, 0.62);
            border-radius: 20px;
            background: rgba(255, 249, 217, 0.9);
            box-shadow: 0 26px 68px rgba(20, 49, 53, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.72);
            text-align: center;
            color: var(--earth);
            transform: translateY(8px) scale(0.98);
            transition: transform 0.2s ease;
        }

        body.is-view-loading .brush-loader {
            transform: translateY(0) scale(1);
        }

        .brush-loader-stage {
            position: relative;
            width: min(210px, 68vw);
            height: 64px;
            margin: 0 auto 12px;
        }

        .brush-loader-stroke {
            position: absolute;
            left: 8px;
            right: 8px;
            bottom: 12px;
            height: 12px;
            border-radius: 60% 45% 58% 42% / 72% 64% 50% 58%;
            background: linear-gradient(90deg, #b98217 0%, #d6a72f 52%, #e4c65c 100%);
            box-shadow: 0 5px 14px rgba(190, 143, 32, 0.2);
            transform-origin: left;
            transform: scaleX(0);
            opacity: 0;
        }

        .brush-loader-stroke::after {
            content: '';
            position: absolute;
            right: -1px;
            top: 3px;
            width: 24%;
            height: 3px;
            border-radius: inherit;
            background: rgba(255, 249, 217, 0.42);
            transform: rotate(-2deg);
        }

        .brush-loader-icon {
            position: absolute;
            left: 2px;
            bottom: 21px;
            width: 38px;
            height: 38px;
            color: #9c6a13;
            transform: rotate(-18deg);
            opacity: 0;
            filter: drop-shadow(0 8px 10px rgba(54, 42, 18, 0.2));
        }

        body.is-view-loading .brush-loader-stroke {
            animation: loaderStroke 0.78s cubic-bezier(0.55, 0, 0.2, 1) infinite;
        }

        body.is-view-loading .brush-loader-icon {
            animation: loaderBrush 0.78s cubic-bezier(0.55, 0, 0.2, 1) infinite;
        }

        .brush-loader-text {
            font-family: var(--font-sans);
            font-size: clamp(0.66rem, 2.5vw, 0.74rem);
            font-weight: 600;
            line-height: 1.5;
            letter-spacing: clamp(1.4px, 0.4vw, 2px);
            text-transform: uppercase;
            color: rgba(63, 74, 48, 0.82);
        }

        .order-section::before,
        .portfolio-section::before,
        .about-section::before,
        .contact-section::before {
            content: '';
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at 18% 8%, rgba(255, 249, 217, 0.72), transparent 26rem),
                radial-gradient(circle at 88% 22%, rgba(199, 208, 170, 0.42), transparent 24rem);
            pointer-events: none;
        }

        .order-inner,
        .portfolio-inner,
        .about-inner,
        .contact-inner {
            width: min(100%, 980px);
            margin: 0 auto;
            position: relative;
            z-index: 2;
        }

        .order-back,
        .portfolio-back,
        .about-back,
        .contact-back {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            border: 0;
            background: transparent;
            color: var(--earth);
            font-family: var(--font-sans);
            font-size: 0.72rem;
            font-weight: 600;
            letter-spacing: 1.7px;
            text-transform: uppercase;
            cursor: pointer;
            margin-bottom: clamp(24px, 4vw, 38px);
        }

        .order-back::before,
        .portfolio-back::before,
        .about-back::before,
        .contact-back::before {
            content: '<';
            font-size: 1rem;
            line-height: 1;
        }

        .order-back:hover,
        .order-back:focus-visible,
        .portfolio-back:hover,
        .portfolio-back:focus-visible,
        .about-back:hover,
        .about-back:focus-visible,
        .contact-back:hover,
        .contact-back:focus-visible {
            color: var(--olive);
            outline: none;
        }

        .contact-section {
            background:
                radial-gradient(circle at 24% 28%, rgba(255, 250, 221, 0.96), transparent 25rem),
                radial-gradient(circle at 86% 70%, rgba(199, 208, 170, 0.58), transparent 31rem),
                linear-gradient(155deg, #f5efbe 0%, #eae49e 52%, #cbd3ac 100%);
        }

        .contact-section::after {
            content: '';
            position: absolute;
            inset: auto auto 6% 8%;
            width: clamp(180px, 28vw, 410px);
            aspect-ratio: 1;
            border-radius: 50%;
            background: rgba(255, 249, 217, 0.17);
            filter: blur(2px);
            pointer-events: none;
        }

        .contact-inner {
            width: min(100%, 1120px);
        }

        .contact-layout {
            display: grid;
            grid-template-columns: minmax(0, 1.03fr) minmax(340px, 0.77fr);
            align-items: center;
            gap: clamp(46px, 7vw, 96px);
        }

        .contact-intro {
            text-align: center;
        }

        .contact-phone {
            width: min(100%, 360px);
            margin: clamp(-32px, -2vw, -12px) auto -12px;
            filter: drop-shadow(0 24px 22px rgba(54, 42, 18, 0.13));
        }

        .contact-phone img {
            display: block;
            width: 100%;
            height: auto;
        }

        body.is-contact-mode .contact-phone img {
            transform-origin: 50% 76%;
            animation: contactPhoneRing 7s ease-in-out 1.2s infinite;
        }

        @keyframes contactPhoneRing {
            0%,
            12%,
            100% {
                transform: translateX(0) rotate(0);
            }

            1.5% {
                transform: translateX(-3px) rotate(-1.8deg);
            }

            3% {
                transform: translateX(3px) rotate(1.8deg);
            }

            4.5% {
                transform: translateX(-4px) rotate(-2.2deg);
            }

            6% {
                transform: translateX(4px) rotate(2.2deg);
            }

            7.5% {
                transform: translateX(-3px) rotate(-1.5deg);
            }

            9% {
                transform: translateX(3px) rotate(1.5deg);
            }

            10.5% {
                transform: translateX(-1px) rotate(-0.6deg);
            }
        }

        .contact-kicker {
            display: inline-block;
            margin: 0 0 8px;
            color: rgba(131, 82, 26, 0.82);
            font-family: var(--font-script);
            font-size: clamp(3.4rem, 6vw, 5.65rem);
            font-weight: 400;
            line-height: 0.92;
            transform: rotate(-3deg);
        }

        .contact-title {
            margin: 0;
            color: var(--olive);
            font-size: clamp(3rem, 5.5vw, 5.2rem);
            font-weight: 300;
            line-height: 0.9;
            letter-spacing: -0.025em;
            text-transform: uppercase;
        }

        .contact-copy {
            width: min(100%, 500px);
            margin: clamp(24px, 3vw, 34px) auto 0;
            color: rgba(63, 74, 48, 0.86);
            font-size: clamp(1.08rem, 1.45vw, 1.28rem);
            line-height: 1.65;
        }

        .contact-cards {
            display: grid;
            gap: 16px;
        }

        .contact-card {
            min-height: 166px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 28px 24px;
            border: 1px solid rgba(131, 82, 26, 0.14);
            border-radius: 28px;
            background: rgba(255, 249, 217, 0.68);
            box-shadow:
                0 20px 42px rgba(54, 42, 18, 0.08),
                inset 0 1px 0 rgba(255, 255, 255, 0.6);
            color: var(--earth);
            text-align: center;
            text-decoration: none;
            transition: transform 0.24s ease, background 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
        }

        .contact-card:hover,
        .contact-card:focus-visible {
            border-color: rgba(131, 82, 26, 0.3);
            background: rgba(255, 249, 217, 0.9);
            box-shadow:
                0 25px 52px rgba(54, 42, 18, 0.13),
                inset 0 1px 0 rgba(255, 255, 255, 0.78);
            transform: translateY(-4px);
            outline: none;
        }

        .contact-card-icon {
            width: 42px;
            height: 42px;
            display: grid;
            place-items: center;
            margin-bottom: 10px;
            font-family: Georgia, serif;
            font-size: 2rem;
            font-weight: 400;
            line-height: 1;
        }

        .contact-card-instagram svg {
            width: 32px;
            height: 32px;
        }

        .contact-card-book svg {
            width: 32px;
            height: 32px;
        }

        .contact-card-label {
            font-family: var(--font-sans);
            font-size: 0.72rem;
            font-weight: 600;
            letter-spacing: 2.1px;
            line-height: 1.4;
            text-transform: uppercase;
        }

        .contact-card-value {
            margin-top: 10px;
            color: rgba(63, 74, 48, 0.88);
            font-family: var(--font-sans);
            font-size: clamp(0.76rem, 1.05vw, 0.9rem);
            font-weight: 400;
            line-height: 1.55;
            overflow-wrap: anywhere;
        }

        .order-header,
        .portfolio-header,
        .about-header {
            text-align: center;
            margin-bottom: clamp(34px, 5vw, 54px);
        }

        .order-kicker,
        .portfolio-kicker,
        .about-kicker {
            display: inline-block;
            font-family: var(--font-script);
            font-size: clamp(3rem, 6vw, 5.2rem);
            font-weight: 400;
            line-height: 1;
            color: rgba(131, 82, 26, 0.78);
            transform: rotate(-4deg);
            margin-bottom: 12px;
        }

        .order-title,
        .portfolio-title,
        .about-title {
            max-width: 760px;
            margin: 0 auto;
            font-size: clamp(2.25rem, 5vw, 4.7rem);
            font-weight: 300;
            line-height: 1;
            text-transform: uppercase;
            color: var(--olive);
        }

        .about-inner {
            width: min(100%, 1200px);
        }

        .about-header {
            margin-bottom: clamp(42px, 6vw, 70px);
        }

        .about-layout {
            display: grid;
            grid-template-columns: minmax(250px, 330px) minmax(0, 680px);
            align-items: stretch;
            justify-content: center;
            gap: clamp(42px, 6vw, 82px);
        }

        .about-aside {
            width: 100%;
            max-width: 330px;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .about-portrait {
            width: 100%;
            flex: 0 0 auto;
            margin: 0;
            aspect-ratio: 4 / 5;
            padding: 4px;
            border: 1px solid rgba(131, 82, 26, 0.16);
            border-radius: 50%;
            background: rgba(255, 249, 217, 0.46);
            box-shadow: 0 14px 30px rgba(54, 42, 18, 0.11);
            overflow: hidden;
        }

        .about-portrait img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: 50% 24%;
            border-radius: 50%;
        }

        .about-botanical {
            width: min(84%, 270px);
            min-height: 560px;
            flex: 1 1 auto;
            display: flex;
            align-items: stretch;
            justify-content: center;
            margin: clamp(32px, 4vw, 48px) auto 0;
            overflow: hidden;
        }

        .about-botanical img {
            display: block;
            width: auto;
            max-width: 100%;
            height: 100%;
            object-fit: contain;
            object-position: top center;
        }

        .about-copy {
            width: 100%;
            max-width: 680px;
            padding: 8px 0 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            box-shadow: none;
            color: rgba(63, 74, 48, 0.94);
            font-size: clamp(1.08rem, 1.42vw, 1.24rem);
            line-height: 1.75;
        }

        .about-copy p {
            margin: 0;
        }

        .about-copy p + p {
            margin-top: clamp(20px, 2.5vw, 30px);
        }

        .about-copy > p:not(:first-child):not(.about-signature) {
            text-indent: clamp(1.1rem, 2.2vw, 1.7rem);
        }

        .about-copy p:first-child {
            color: var(--olive);
            font-size: 1.1em;
            line-height: 1.65;
        }

        .about-copy p:first-child::first-letter {
            float: left;
            margin: 0.08em 0.1em 0 0;
            color: rgba(131, 82, 26, 0.82);
            font-family: var(--font-serif);
            font-size: 3.75em;
            font-weight: 300;
            line-height: 0.72;
        }

        .about-copy em,
        .about-copy cite {
            color: var(--earth);
        }

        .about-signature {
            margin-top: clamp(30px, 4vw, 44px) !important;
            padding-top: 22px;
            border-top: 1px solid rgba(131, 82, 26, 0.18);
            text-align: right;
        }

        .about-signature strong {
            display: block;
            margin-top: 5px;
            color: rgba(131, 82, 26, 0.82);
            font-family: var(--font-script);
            font-size: clamp(2rem, 3.5vw, 3rem);
            font-weight: 400;
            line-height: 1;
        }

        .portfolio-filters {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 10px;
            margin: 0 auto clamp(26px, 4vw, 42px);
            width: min(100%, 940px);
        }

        .portfolio-filter {
            min-height: 44px;
            border: 1px solid rgba(131, 82, 26, 0.32);
            border-radius: 999px;
            padding: 12px 17px 11px;
            background: rgba(255, 249, 217, 0.42);
            color: var(--earth);
            font-family: var(--font-sans);
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 1.3px;
            text-transform: uppercase;
            cursor: pointer;
            transition: background 0.22s ease, color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
        }

        .portfolio-filter:hover,
        .portfolio-filter:focus-visible,
        .portfolio-filter.is-active {
            background: rgba(131, 82, 26, 0.92);
            color: var(--soft-cream);
            box-shadow: 0 14px 28px rgba(54, 42, 18, 0.14);
            transform: translateY(-2px);
            outline: none;
        }

        .portfolio-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: clamp(12px, 2vw, 20px);
        }

        .portfolio-status {
            display: none;
            margin: 0 auto clamp(18px, 3vw, 28px);
            padding: 16px 18px;
            width: min(100%, 640px);
            border: 1px solid rgba(131, 82, 26, 0.18);
            border-radius: 8px;
            background: rgba(255, 249, 217, 0.54);
            color: rgba(63, 74, 48, 0.82);
            text-align: center;
            font-family: var(--font-sans);
            font-size: 0.82rem;
            line-height: 1.6;
        }

        .portfolio-status.is-visible {
            display: block;
        }

        .coming-soon-section {
            display: none;
            min-height: 100vh;
            min-height: 100svh;
            place-items: stretch;
            padding: 0;
            background: transparent;
            overflow: hidden;
        }

        .coming-soon-media {
            width: 100%;
            min-height: 100vh;
            min-height: 100svh;
            display: grid;
            place-items: center;
            overflow: hidden;
            padding: clamp(74px, 9vw, 112px) clamp(18px, 5vw, 70px) clamp(42px, 7vw, 82px);
            background: transparent;
        }

        .coming-soon-media img,
        .coming-soon-media video {
            width: min(84vw, 860px);
            max-height: min(78vh, 700px);
            max-height: min(78svh, 700px);
            height: auto;
            display: block;
            object-fit: contain;
            object-position: center;
        }

        .coming-soon-media img,
        .coming-soon-media video {
            padding: 0;
            background: var(--olive);
            filter: drop-shadow(0 24px 30px rgba(23, 30, 18, 0.2));
        }

        .portfolio-card {
            position: relative;
            aspect-ratio: 1 / 1;
            overflow: hidden;
            border: 1px solid rgba(131, 82, 26, 0.16);
            border-radius: 8px;
            background: rgba(255, 249, 217, 0.42);
            box-shadow: 0 18px 34px rgba(54, 42, 18, 0.11);
            animation: portfolioReveal 0.42s ease both;
            cursor: zoom-in;
        }

        .portfolio-card.is-hidden {
            display: none;
        }

        .portfolio-card img,
        .portfolio-card video {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            object-position: center;
            transition: transform 0.45s ease, filter 0.45s ease;
        }

        .portfolio-card video {
            background: rgba(63, 74, 48, 0.16);
            pointer-events: none;
        }

        .portfolio-card[data-media="video"]::before {
            content: none;
            position: absolute;
            top: 12px;
            right: 12px;
            z-index: 2;
            padding: 7px 9px;
            border-radius: 999px;
            background: rgba(255, 249, 217, 0.84);
            color: var(--earth);
            font-family: var(--font-sans);
            font-size: 0.62rem;
            font-weight: 800;
            letter-spacing: 1px;
            text-transform: uppercase;
        }

        .portfolio-card:hover img,
        .portfolio-card:focus-within img,
        .portfolio-card:hover video,
        .portfolio-card:focus-within video {
            transform: scale(1.045);
            filter: saturate(1.04) contrast(1.03);
        }

        .portfolio-lightbox {
            position: fixed;
            inset: 0;
            z-index: 120;
            display: grid;
            place-items: center;
            padding: clamp(18px, 3vw, 38px);
            background: rgba(31, 30, 23, 0.9);
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.24s ease, visibility 0.24s ease;
        }

        body.is-lightbox-open {
            overflow: hidden;
        }

        .portfolio-lightbox.is-open {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
        }

        .lightbox-shell {
            position: relative;
            width: min(94vw, 1380px);
            height: min(92svh, 920px);
            height: min(92dvh, 920px);
            display: grid;
            grid-template-rows: auto minmax(0, 1fr) auto;
            gap: clamp(10px, 1.5vw, 18px);
            padding: 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            box-shadow: none;
            transform: translateY(8px);
            transition: transform 0.3s cubic-bezier(.22, .78, .16, 1);
        }

        .portfolio-lightbox.is-open .lightbox-shell {
            transform: translateY(0);
        }

        .lightbox-topbar,
        .lightbox-toolbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
        }

        .lightbox-topbar {
            min-height: 44px;
            padding: 0 2px;
        }

        .lightbox-toolbar {
            min-height: 28px;
            justify-content: center;
        }

        .lightbox-title {
            font-family: var(--font-sans);
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 1.8px;
            text-transform: uppercase;
            color: rgba(255, 249, 232, 0.82);
        }

        .lightbox-button {
            width: 44px;
            height: 44px;
            display: inline-grid;
            place-items: center;
            border: 1px solid rgba(255, 249, 232, 0.26);
            border-radius: 50%;
            background: rgba(24, 23, 18, 0.24);
            color: rgba(255, 249, 232, 0.9);
            font-family: var(--font-sans);
            font-size: 1rem;
            font-weight: 700;
            cursor: pointer;
            transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
        }

        .lightbox-button:hover,
        .lightbox-button:focus-visible {
            border-color: rgba(225, 177, 65, 0.58);
            background: rgba(177, 122, 32, 0.32);
            color: #fff9e8;
            transform: translateY(-1px);
            outline: none;
        }

        .lightbox-button[disabled] {
            opacity: 0.38;
            cursor: default;
            transform: none;
        }

        .lightbox-stage {
            position: relative;
            min-height: 0;
            overflow: hidden;
            display: grid;
            place-items: center;
            border: 0;
            border-radius: 0;
            background: transparent;
        }

        .lightbox-media {
            position: relative;
            width: 100%;
            height: 100%;
            min-width: 0;
            min-height: 0;
            display: grid;
            place-items: center;
            overflow: hidden;
            padding: clamp(8px, 1.4vw, 18px) clamp(54px, 5vw, 78px);
            overscroll-behavior: contain;
            touch-action: none;
        }

        .lightbox-media img,
        .lightbox-media video {
            width: auto;
            height: auto;
            max-width: 100%;
            max-height: 100%;
            display: block;
            align-self: center;
            justify-self: center;
            margin: auto;
            object-fit: contain;
            object-position: center;
            border-radius: 0;
            box-shadow: 0 20px 54px rgba(0, 0, 0, 0.22);
        }

        .lightbox-media img {
            transform: translate3d(var(--lightbox-pan-x, 0px), var(--lightbox-pan-y, 0px), 0) scale(var(--lightbox-zoom, 1));
            transition: transform 0.2s cubic-bezier(.22, .78, .16, 1);
            cursor: default;
            transform-origin: center;
            user-select: none;
            -webkit-user-drag: none;
            touch-action: none;
        }

        .lightbox-media.is-zoomed img {
            cursor: grab;
            will-change: transform;
        }

        .lightbox-media.is-dragging img,
        .lightbox-media.is-pinching img {
            cursor: grabbing;
            transition: none;
        }

        .lightbox-media video {
            width: auto;
            height: auto;
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
            background: rgba(22, 40, 38, 0.28);
            transform: none !important;
        }

        .lightbox-sound-toggle {
            position: absolute;
            top: 14px;
            right: 14px;
            z-index: 5;
            min-height: 44px;
            padding: 10px 15px;
            border: 1px solid rgba(255, 249, 217, 0.5);
            border-radius: 999px;
            background: rgba(63, 74, 48, 0.86);
            color: var(--soft-cream);
            box-shadow: 0 10px 24px rgba(20, 30, 18, 0.24);
            font-family: var(--font-sans);
            font-size: 0.66rem;
            font-weight: 700;
            letter-spacing: 1.2px;
            text-transform: uppercase;
            cursor: pointer;
            transition: background 0.2s ease, transform 0.2s ease;
        }

        .lightbox-sound-toggle:hover,
        .lightbox-sound-toggle:focus-visible,
        .lightbox-sound-toggle[aria-pressed="true"] {
            background: rgba(131, 82, 26, 0.94);
            transform: translateY(-1px);
            outline: none;
        }

        .lightbox-arrow {
            position: absolute;
            top: 50%;
            z-index: 2;
            transform: translateY(-50%);
            background: rgba(24, 23, 18, 0.42);
        }

        .lightbox-arrow:hover,
        .lightbox-arrow:focus-visible {
            transform: translateY(-50%) translateY(-1px);
        }

        .lightbox-prev {
            left: 12px;
        }

        .lightbox-next {
            right: 12px;
        }

        .lightbox-count {
            font-family: var(--font-sans);
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 1.2px;
            color: rgba(255, 249, 232, 0.66);
        }

        @keyframes portfolioReveal {
            from {
                opacity: 0;
                transform: translateY(14px) scale(0.98);
            }
            to {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }

        .order-form {
            display: grid;
            gap: 18px;
            width: min(100%, 820px);
            margin: 0 auto;
        }

        .order-progress {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            margin: 0 auto clamp(18px, 3vw, 28px);
            font-family: var(--font-sans);
            font-size: 0.72rem;
            font-weight: 600;
            letter-spacing: 1.8px;
            text-transform: uppercase;
            color: rgba(131, 82, 26, 0.82);
        }

        .order-progress-bar {
            width: min(220px, 42vw);
            height: 1px;
            background: rgba(131, 82, 26, 0.18);
            overflow: hidden;
        }

        .order-progress-fill {
            display: block;
            width: var(--wizard-progress, 14.28%);
            height: 100%;
            background: var(--earth);
            transition: width 0.28s ease;
        }

        .form-step {
            display: none;
            padding: clamp(20px, 3vw, 30px);
            margin: 0;
            border: 1px solid rgba(131, 82, 26, 0.18);
            border-radius: 8px;
            background: rgba(255, 249, 217, 0.42);
            box-shadow: 0 16px 34px rgba(54, 42, 18, 0.08);
            animation: fadeInUp 0.45s ease both;
        }

        .form-step.is-active {
            display: block;
        }

        .form-step-title {
            display: block;
            width: 100%;
            padding: 0;
            margin: 0 0 14px;
            font-family: var(--font-serif);
            font-size: clamp(1.35rem, 2.3vw, 2rem);
            font-weight: 400;
            line-height: 1.1;
            color: var(--olive);
        }

        .conditional-step.is-skipped {
            display: none !important;
        }

        .conditional-field {
            display: grid;
            grid-template-rows: 0fr;
            opacity: 0;
            margin-top: 0;
            transition: grid-template-rows 0.28s ease, opacity 0.28s ease, margin-top 0.28s ease;
        }

        .conditional-field > * {
            overflow: hidden;
        }

        .conditional-field.is-visible {
            grid-template-rows: 1fr;
            opacity: 1;
            margin-top: 14px;
        }

        .conditional-field[aria-hidden="true"] {
            pointer-events: none;
        }

        .step-error {
            display: none;
            margin-top: 14px;
            font-family: var(--font-sans);
            font-size: 0.76rem;
            font-weight: 600;
            line-height: 1.5;
            color: var(--earth);
        }

        .form-step.has-error {
            border-color: rgba(131, 82, 26, 0.56);
            box-shadow: 0 16px 34px rgba(131, 82, 26, 0.12);
        }

        .form-step.has-error .step-error {
            display: block;
        }

        .form-hint {
            margin: -6px 0 16px;
            font-family: var(--font-sans);
            font-size: 0.78rem;
            line-height: 1.6;
            color: rgba(63, 74, 48, 0.72);
        }

        .input-field,
        .textarea-field {
            width: 100%;
            border: 1px solid rgba(131, 82, 26, 0.24);
            border-radius: 8px;
            background: rgba(255, 249, 217, 0.68);
            color: var(--olive);
            font: 500 0.92rem var(--font-sans);
            padding: 14px 15px;
            outline: none;
            transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
        }

        .textarea-field {
            min-height: 116px;
            resize: vertical;
            line-height: 1.7;
        }

        .input-field:focus,
        .textarea-field:focus {
            border-color: rgba(131, 82, 26, 0.64);
            background: rgba(255, 249, 217, 0.9);
            box-shadow: 0 0 0 4px rgba(131, 82, 26, 0.08);
        }

        .file-field {
            display: grid;
            gap: 12px;
        }

        .file-drop {
            display: grid;
            place-items: center;
            min-height: 138px;
            padding: 20px;
            border: 1px dashed rgba(131, 82, 26, 0.42);
            border-radius: 8px;
            background: rgba(255, 249, 217, 0.46);
            color: rgba(63, 74, 48, 0.86);
            font-family: var(--font-sans);
            font-size: 0.82rem;
            line-height: 1.55;
            text-align: center;
            cursor: pointer;
            transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
        }

        .file-drop:hover,
        .file-drop:focus-within {
            border-color: rgba(131, 82, 26, 0.74);
            background: rgba(255, 249, 217, 0.72);
            transform: translateY(-1px);
        }

        .file-drop input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }

        .file-preview {
            display: none;
            align-items: center;
            gap: 12px;
            font-family: var(--font-sans);
            font-size: 0.78rem;
            color: rgba(63, 74, 48, 0.86);
        }

        .file-preview.is-visible {
            display: flex;
        }

        .file-preview img {
            width: 58px;
            height: 58px;
            border-radius: 8px;
            object-fit: cover;
            border: 1px solid rgba(131, 82, 26, 0.18);
        }

        .choice-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
        }

        .choice-card {
            position: relative;
            display: flex;
            align-items: center;
            min-height: 54px;
            padding: 13px 14px 13px 44px;
            border: 1px solid rgba(131, 82, 26, 0.18);
            border-radius: 8px;
            background: rgba(255, 249, 217, 0.46);
            color: rgba(63, 74, 48, 0.92);
            font-family: var(--font-sans);
            font-size: 0.82rem;
            line-height: 1.35;
            cursor: pointer;
            transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
        }

        .choice-card input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }

        .choice-card::before {
            content: '';
            position: absolute;
            left: 14px;
            top: 50%;
            width: 16px;
            height: 16px;
            border: 1px solid rgba(131, 82, 26, 0.52);
            border-radius: 50%;
            transform: translateY(-50%);
            background: rgba(255, 249, 217, 0.5);
        }

        .choice-card:has(input[type="checkbox"])::before {
            border-radius: 5px;
        }

        .choice-card:has(input:checked) {
            border-color: rgba(131, 82, 26, 0.56);
            background: rgba(240, 235, 179, 0.76);
            box-shadow: 0 10px 22px rgba(54, 42, 18, 0.08);
            transform: translateY(-1px);
        }

        .choice-card:has(input:checked)::before {
            background: var(--earth);
            box-shadow: inset 0 0 0 4px var(--soft-cream);
        }

        .date-row,
        .contact-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
        }

        .contact-grid {
            grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
            align-items: end;
        }

        .contact-divider {
            display: grid;
            place-items: center;
            min-height: 47px;
            padding: 0 2px;
            font-family: var(--font-script);
            font-size: 2rem;
            line-height: 1;
            color: rgba(131, 82, 26, 0.78);
        }

        .contact-option {
            position: relative;
            display: grid;
            gap: 8px;
        }

        .contact-option span {
            font-family: var(--font-sans);
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 1.4px;
            text-transform: uppercase;
            color: rgba(131, 82, 26, 0.86);
        }

        .order-actions {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding-top: 12px;
        }

        .order-prev,
        .order-next,
        .order-submit {
            min-height: 52px;
            padding: 16px 28px 15px;
            border: 1px solid rgba(131, 82, 26, 0.52);
            border-radius: 999px;
            font-family: var(--font-sans);
            font-size: 0.8rem;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            cursor: pointer;
            transition: transform 0.22s ease, background 0.22s ease, color 0.22s ease, box-shadow 0.22s ease;
        }

        .order-prev {
            background: rgba(255, 249, 217, 0.55);
            color: var(--earth);
            box-shadow: none;
        }

        .order-next,
        .order-submit {
            background: rgba(131, 82, 26, 0.92);
            color: var(--soft-cream);
            box-shadow: 0 18px 38px rgba(54, 42, 18, 0.18);
        }

        .order-prev:hover,
        .order-prev:focus-visible,
        .order-next:hover,
        .order-next:focus-visible,
        .order-submit:hover,
        .order-submit:focus-visible {
            background: rgba(255, 249, 217, 0.92);
            color: var(--earth);
            box-shadow: 0 20px 42px rgba(54, 42, 18, 0.18);
            transform: translateY(-3px);
            outline: none;
        }

        .order-prev[hidden],
        .order-next[hidden],
        .order-submit[hidden] {
            display: none;
        }

        .review-list {
            display: grid;
            gap: 10px;
        }

        .review-item {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 14px;
            align-items: center;
            padding: 14px;
            border: 1px solid rgba(131, 82, 26, 0.16);
            border-radius: 8px;
            background: rgba(255, 249, 217, 0.44);
        }

        .review-label {
            display: block;
            margin-bottom: 5px;
            font-family: var(--font-sans);
            font-size: 0.66rem;
            font-weight: 700;
            letter-spacing: 1.4px;
            text-transform: uppercase;
            color: rgba(131, 82, 26, 0.78);
        }

        .review-value {
            font-family: var(--font-sans);
            font-size: 0.86rem;
            line-height: 1.55;
            color: rgba(63, 74, 48, 0.9);
        }

        .review-edit {
            border: 0;
            border-bottom: 1px solid currentColor;
            background: transparent;
            color: var(--earth);
            font-family: var(--font-sans);
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 1.3px;
            text-transform: uppercase;
            cursor: pointer;
        }

        .review-edit:hover,
        .review-edit:focus-visible {
            color: var(--olive);
            outline: none;
        }

        .order-success {
            display: none;
            margin: 0 0 18px;
            padding: 18px 20px;
            border: 1px solid rgba(63, 74, 48, 0.22);
            border-radius: 8px;
            background: rgba(255, 249, 217, 0.76);
            color: var(--olive);
            text-align: center;
            font-family: var(--font-sans);
            line-height: 1.6;
            box-shadow: 0 14px 28px rgba(54, 42, 18, 0.08);
        }

        .order-section.is-sent .order-success {
            display: block;
            animation: fadeInUp 0.35s ease both;
        }

        .order-success.is-visible {
            display: block;
            animation: fadeInUp 0.35s ease both;
        }

        .order-success.is-error {
            border-color: rgba(131, 82, 26, 0.34);
            background: rgba(255, 249, 217, 0.9);
            color: var(--earth);
        }

        .order-success strong {
            font-weight: 800;
            color: var(--earth);
        }

        .order-section.is-sent .order-form {
            display: none;
        }

        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        @keyframes fadeInDown {
            from {
                opacity: 0;
                transform: translateY(-20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes bootProgress {
            from { transform: translateX(-105%); }
            to { transform: translateX(220%); }
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        @keyframes navCtaShimmer {
            0%, 35% {
                left: -70%;
            }
            65%, 100% {
                left: 115%;
            }
        }

        @keyframes loaderBrush {
            0% {
                transform: translateX(0) translateY(2px) rotate(-22deg);
                opacity: 0;
            }
            12% {
                opacity: 1;
            }
            72% {
                transform: translateX(166px) translateY(-2px) rotate(-12deg);
                opacity: 1;
            }
            88% {
                transform: translateX(166px) translateY(-2px) rotate(-12deg);
                opacity: 0;
            }
            100% {
                transform: translateX(166px) translateY(-2px) rotate(-12deg);
                opacity: 0;
            }
        }

        @keyframes loaderStroke {
            0% {
                transform: scaleX(0);
                opacity: 0;
            }
            12% {
                opacity: 0.72;
            }
            72% {
                transform: scaleX(1);
                opacity: 1;
            }
            88% {
                transform: scaleX(1);
                opacity: 0;
            }
            100% {
                transform: scaleX(1);
                opacity: 0;
            }
        }

        @keyframes navBrandUnderline {
            0% {
                opacity: 0;
                transform: rotate(-1deg) scaleX(0);
            }
            12% {
                opacity: 0.52;
            }
            78%,
            100% {
                opacity: 0.82;
                transform: rotate(-1deg) scaleX(1);
            }
        }

        @keyframes navBrandBrush {
            0% {
                left: -7px;
                opacity: 0;
                transform: translateY(-3px) rotate(-19deg);
            }
            12% {
                opacity: 1;
            }
            78% {
                left: calc(100% - 21px);
                opacity: 1;
                transform: translateY(-4px) rotate(-13deg);
            }
            90%,
            100% {
                left: calc(100% - 21px);
                opacity: 0;
                transform: translateY(-4px) rotate(-13deg);
            }
        }

        @media (min-width: 900px) {
            .container {
                transform: none;
            }

            .bottom-section {
                width: min(100%, 740px);
                gap: clamp(64px, 6vw, 104px);
            }

            .bottom-text {
                flex-basis: 220px;
                font-size: clamp(0.86rem, 0.78vw, 1rem);
                letter-spacing: 4.2px;
                line-height: 1.85;
            }

            .logo-container {
                width: 72px;
            }

            .logo-symbol {
                font-size: 3.8rem;
            }
        }

        @media (min-width: 901px) and (max-width: 1180px) {
            .site-header {
                padding-inline: 16px;
            }

            .site-nav {
                gap: 14px;
            }

            .nav-group {
                gap: clamp(8px, 1vw, 12px);
            }

            .nav-link {
                gap: 5px;
                font-size: 0.65rem;
                letter-spacing: 1.05px;
            }

            .nav-brand {
                font-size: 2.05rem;
            }

            .nav-cta {
                min-height: 38px;
                padding: 10px 14px 9px;
            }
        }

        @media (max-width: 820px) {
            .about-header {
                margin-bottom: 34px;
            }

            .about-layout {
                grid-template-columns: 1fr;
                gap: 42px;
            }

            .about-aside {
                width: min(74vw, 320px);
                margin: 0 auto;
            }

            .about-botanical {
                display: none;
            }

            .about-copy {
                max-width: 640px;
                margin: 0 auto;
            }
        }

        @media (max-width: 900px) {
            .contact-section {
                padding: 96px 20px 72px;
            }

            .contact-layout {
                width: min(100%, 720px);
                margin: 0 auto;
                grid-template-columns: 1fr;
                gap: 42px;
            }

            .contact-phone {
                width: min(72vw, 300px);
                margin-top: -26px;
            }

            .contact-copy {
                width: min(100%, 520px);
            }

            .contact-cards {
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 12px;
            }

            .contact-card {
                min-height: 156px;
                padding-inline: 14px;
            }
        }

        @media (min-width: 721px) and (max-width: 900px) {
            .contact-card--fnac {
                grid-column: 3;
            }
        }

        @media (max-width: 900px) {
            .site-header {
                padding: 0;
                color: var(--earth);
                background: transparent;
                border-bottom: 0;
                box-shadow: none;
                backdrop-filter: none;
                pointer-events: none;
            }

            .site-header.is-solid {
                padding: 0;
                background: transparent;
                border-color: transparent;
                box-shadow: none;
                backdrop-filter: none;
            }

            .site-header.is-open {
                color: var(--earth);
                background: transparent;
                border-color: transparent;
                box-shadow: none;
                backdrop-filter: none;
                pointer-events: auto;
            }

            .site-nav {
                position: fixed;
                top: 14px;
                left: 14px;
                right: 14px;
                width: auto;
                margin: 0;
                grid-template-columns: 1fr auto;
                column-gap: 12px;
                row-gap: 0;
                align-items: start;
                pointer-events: none;
                border-radius: 22px;
                transition: background 0.28s ease, box-shadow 0.28s ease, padding 0.28s ease, border-color 0.28s ease;
            }

            .site-header.is-open .site-nav {
                padding: 72px 16px 18px;
                background:
                    radial-gradient(circle at 92% 0%, rgba(190, 143, 32, 0.18), transparent 34%),
                    linear-gradient(180deg, rgba(255, 249, 217, 0.97), rgba(239, 232, 177, 0.96));
                border: 1px solid rgba(131, 82, 26, 0.18);
                box-shadow: 0 24px 58px rgba(20, 49, 53, 0.24);
                backdrop-filter: blur(18px);
                pointer-events: auto;
            }

            .nav-brand {
                grid-column: 1;
                justify-self: start;
                font-size: 2.15rem;
                display: none;
            }

            .site-header.is-solid .nav-brand {
                display: none;
            }

            .nav-toggle {
                grid-column: 2;
                justify-self: end;
                position: fixed;
                top: 14px;
                right: 14px;
                z-index: 25;
                pointer-events: auto;
                width: 54px;
                height: 48px;
                border: 1px solid rgba(190, 143, 32, 0.54);
                border-radius: 999px;
                background: rgba(13, 43, 50, 0.78);
                display: inline-flex !important;
                align-items: center;
                justify-content: center;
                flex-direction: column;
                gap: 6px;
                box-shadow: 0 16px 34px rgba(13, 43, 50, 0.3);
                backdrop-filter: blur(14px);
                cursor: pointer;
                -webkit-tap-highlight-color: transparent;
                transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
            }

            .site-header.is-open .nav-toggle {
                border-color: rgba(131, 82, 26, 0.26);
                background: rgba(255, 249, 217, 0.96);
                box-shadow: 0 12px 26px rgba(54, 42, 18, 0.13);
                transform: translateY(1px);
            }

            .nav-toggle span {
                width: 22px;
                height: 2px;
                border-radius: 999px;
                background: #d6a72f;
                box-shadow: 0 0 12px rgba(214, 167, 47, 0.34);
                transition: transform 0.24s ease, opacity 0.2s ease, width 0.22s ease, background 0.22s ease;
            }

            .nav-toggle span:nth-child(2) {
                width: 15px;
            }

            .site-header.is-open .nav-toggle span {
                background: var(--earth);
                box-shadow: none;
                width: 22px;
            }

            .site-header.is-open .nav-toggle span:nth-child(1) {
                transform: translateY(6px) rotate(42deg);
            }

            .site-header.is-open .nav-toggle span:nth-child(2) {
                opacity: 0;
            }

            .site-header.is-open .nav-toggle span:nth-child(3) {
                transform: translateY(-6px) rotate(-42deg);
            }

            .nav-group {
                grid-column: 1 / -1;
                width: 100%;
                display: none;
                flex-direction: column;
                align-items: stretch;
                justify-content: flex-start;
                gap: 6px;
                padding: 0;
                flex-wrap: nowrap;
            }

            .site-header.is-open .nav-group {
                display: flex;
            }

            .nav-group.right {
                justify-content: flex-start;
            }

            .nav-link {
                width: 100%;
                min-height: 50px;
                justify-content: flex-start;
                padding: 14px 15px;
                border-top: 0;
                border-radius: 14px;
                font-size: 0.76rem;
                letter-spacing: 1.9px;
                background: rgba(255, 249, 217, 0.3);
                transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
            }

            .nav-link:hover,
            .nav-link:focus-visible,
            .nav-link.is-active {
                background: rgba(255, 249, 217, 0.82);
                box-shadow: inset 0 0 0 1px rgba(131, 82, 26, 0.08);
                transform: translateX(2px);
            }

            .nav-link::after {
                left: 14px;
                right: 14px;
                bottom: 8px;
                background: rgba(131, 82, 26, 0.42);
            }

            .nav-cta {
                min-height: 44px;
                margin-top: 10px;
                padding: 12px 18px 11px;
                justify-content: center;
                background: rgba(131, 82, 26, 0.92);
                color: var(--soft-cream);
                border-color: rgba(131, 82, 26, 0.42);
                box-shadow: 0 14px 30px rgba(131, 82, 26, 0.18);
            }
        }

        @media (max-width: 720px) {
            body::before {
                display: none;
            }

            .contact-section {
                padding: 88px 16px 54px;
            }

            .contact-back {
                margin-bottom: 10px;
                font-size: 0.66rem;
            }

            .contact-layout {
                gap: 36px;
            }

            .contact-phone {
                width: min(72vw, 260px);
                margin: -18px auto -8px;
                filter: drop-shadow(0 18px 17px rgba(54, 42, 18, 0.12));
            }

            .contact-kicker {
                margin-bottom: 8px;
                font-size: clamp(3.25rem, 15vw, 4.55rem);
            }

            .contact-title {
                font-size: clamp(2.75rem, 12vw, 3.8rem);
                line-height: 0.94;
            }

            .contact-copy {
                max-width: 32rem;
                margin-top: 24px;
                padding-inline: 10px;
                font-size: clamp(1.02rem, 4.6vw, 1.16rem);
                line-height: 1.58;
            }

            .contact-cards {
                grid-template-columns: 1fr;
                gap: 14px;
            }

            .contact-card {
                min-height: 146px;
                padding: 24px 18px;
                border-radius: 24px;
            }

            .hero {
                --hero-bg: url('../fundo_qualidade.webp?v=20260829-1');
                min-height: 100vh;
                min-height: 100svh;
                min-height: 100dvh;
                padding: 44px 18px calc(72px + env(safe-area-inset-bottom));
                background-position: center;
            }

            .bottom-section {
                display: grid;
                grid-template-columns: minmax(0, 1fr) clamp(44px, 12vw, 58px) minmax(0, 1fr);
                gap: clamp(14px, 4vw, 24px);
                width: min(100%, 420px);
                transform: translateY(-7vh);
            }

            .bottom-text {
                width: 100%;
                min-width: 0;
                font-size: clamp(0.72rem, 3vw, 0.94rem);
                letter-spacing: clamp(1.5px, 0.75vw, 2.6px);
                line-height: 1.8;
            }

            .logo-container {
                width: 100%;
            }

            .logo-symbol {
                font-size: clamp(3rem, 12vw, 4rem);
            }

            .gallery-section {
                min-height: auto;
                padding: 38px 16px 26px;
                scroll-margin-top: 78px;
            }

            .gallery-heading {
                font-size: clamp(3rem, 15vw, 4.3rem);
                max-width: 10ch;
            }

            .gallery-stage {
                width: 100%;
            }

            .paint-preview {
                display: block;
                top: 57%;
                width: clamp(70px, 22vw, 90px);
                border: 1px solid rgba(177, 122, 32, 0.26);
                background: rgba(255, 249, 217, 0.68);
                box-shadow: none;
                opacity: 0.64;
                filter: none;
            }

            .paint-preview::after {
                content: none;
            }

            .paint-preview.prev {
                right: calc(50% + min(36vw, 195px) - 44px);
                transform: translateY(-50%) scale(0.94);
            }

            .paint-preview.next {
                left: calc(50% + min(36vw, 195px) - 44px);
                transform: translateY(-50%) scale(0.94);
            }

            .paint-preview:hover,
            .paint-preview:focus-visible {
                opacity: 0.86;
                filter: none;
            }

            .paint-preview.prev:hover,
            .paint-preview.prev:focus-visible,
            .paint-preview.next:hover,
            .paint-preview.next:focus-visible {
                transform: translateY(-50%) scale(0.98);
            }

            .frame-carousel {
                width: min(72vw, 390px);
            }

            .carousel-control.prev {
                left: 2px;
            }

            .carousel-control.next {
                right: 2px;
            }

            .booking-section {
                min-height: 66vh;
                min-height: 66svh;
                padding: 44px 18px 82px;
                scroll-margin-top: 76px;
            }

            .booking-section::before {
                width: 116px;
                height: 64px;
                right: 4%;
                bottom: 14%;
                opacity: 0.34;
            }

            .booking-kicker {
                margin-bottom: 18px;
                font-size: clamp(3rem, 15vw, 4.3rem);
                transform: rotate(-5deg);
            }

            .booking-title {
                font-size: clamp(2.2rem, 12vw, 3.75rem);
                line-height: 1.02;
                width: 100%;
                max-width: none;
                text-align: center;
                overflow-wrap: normal;
                word-break: normal;
            }

            .booking-title-main {
                display: block;
                width: min(100%, 14ch);
                margin-inline: auto;
            }

            .booking-title-final {
                display: block;
                width: 100%;
                text-align: center;
                white-space: nowrap;
            }

            .booking-action {
                margin-top: 34px;
                font-size: 0.68rem;
                letter-spacing: 2px;
            }

            .booking-quote {
                min-height: 46px;
                margin-top: 30px;
                padding: 14px 22px 13px;
                font-size: 0.68rem;
                letter-spacing: 1.4px;
            }

            .site-footer {
                padding: 64px 18px 46px;
            }

            .footer-quote {
                font-size: clamp(1.45rem, 7vw, 2.2rem);
                line-height: 1.18;
                max-width: 11.5em;
            }

            .footer-contact {
                font-size: 0.72rem;
                letter-spacing: 0.8px;
            }

            .order-section {
                padding: 84px 14px 58px;
            }

            .portfolio-section {
                padding: 84px 14px 58px;
            }

            .about-section {
                padding: 84px 18px 64px;
            }

            .order-back {
                margin-bottom: 22px;
                font-size: 0.66rem;
            }

            .portfolio-back {
                margin-bottom: 22px;
                font-size: 0.66rem;
            }

            .about-back {
                margin-bottom: 22px;
                font-size: 0.66rem;
            }

            .order-header {
                margin-bottom: 30px;
            }

            .portfolio-header {
                margin-bottom: 30px;
            }

            .about-header {
                margin-bottom: 30px;
            }

            .order-kicker {
                font-size: clamp(2.9rem, 14vw, 4.2rem);
            }

            .portfolio-kicker {
                font-size: clamp(2.9rem, 14vw, 4.2rem);
            }

            .about-kicker {
                font-size: clamp(2.9rem, 14vw, 4.2rem);
            }

            .order-title {
                font-size: clamp(2rem, 10vw, 3.15rem);
            }

            .portfolio-title {
                font-size: clamp(2rem, 10vw, 3.15rem);
            }

            .about-title {
                font-size: clamp(2rem, 10vw, 3.15rem);
            }

            .about-layout {
                gap: 36px;
            }

            .about-aside {
                width: min(76vw, 310px);
            }

            .about-portrait {
                padding: 4px;
                border-radius: 50%;
            }

            .about-portrait img {
                height: 100%;
                border-radius: 50%;
                object-position: 50% 24%;
            }

            .about-copy {
                max-width: 620px;
                margin: 0 auto;
                padding: 0;
                font-size: clamp(1.06rem, 4.8vw, 1.2rem);
                line-height: 1.68;
            }

            .about-copy p + p {
                margin-top: 26px;
            }

            .portfolio-filters {
                justify-content: flex-start;
                flex-wrap: nowrap;
                overflow-x: auto;
                padding-bottom: 8px;
                scrollbar-width: thin;
            }

            .portfolio-filter {
                flex: 0 0 auto;
                min-height: 44px;
                padding-inline: 14px;
                font-size: 0.66rem;
                letter-spacing: 1.1px;
            }

            .portfolio-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 10px;
            }

            .form-step {
                padding: 18px 16px;
            }

            .choice-grid,
            .date-row,
            .contact-grid {
                grid-template-columns: 1fr;
            }

            .contact-divider {
                min-height: 18px;
                padding: 0;
            }

            .choice-card {
                min-height: 50px;
                font-size: 0.78rem;
            }

            .input-field,
            .textarea-field {
                font-size: 1rem;
            }

            .portfolio-lightbox {
                -webkit-backdrop-filter: none;
                backdrop-filter: none;
            }

            .order-submit {
                width: 100%;
                padding-inline: 22px;
            }

            .order-actions {
                flex-direction: column-reverse;
            }

            .order-prev,
            .order-next {
                width: 100%;
            }

            .review-item {
                grid-template-columns: 1fr;
            }

            .review-edit {
                justify-self: start;
            }
        }

        @media (max-width: 430px) {
            .about-aside {
                width: min(78vw, 286px);
            }

            .about-copy {
                padding: 0;
            }

            .contact-section {
                padding-inline: 15px;
            }

            .contact-phone {
                width: min(72vw, 242px);
            }

            .contact-card {
                min-height: 140px;
            }

            .hero {
                min-height: 100vh;
                min-height: 100svh;
                min-height: 100dvh;
                padding-inline: 14px;
                background-position: center;
            }

            .bottom-section {
                grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
                width: min(100%, 360px);
                max-width: none;
                gap: 8px;
                transform: translateY(-6vh);
            }

            .bottom-text {
                font-size: 0.68rem;
                letter-spacing: 1.15px;
                line-height: 1.72;
            }

            .logo-container {
                width: 100%;
            }

            .logo-symbol {
                font-size: 3.25rem;
            }

            .frame-carousel {
                width: min(72vw, 350px);
            }

            .portfolio-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 8px;
            }

            .portfolio-lightbox {
                padding: 12px;
            }

            .lightbox-shell {
                width: 100%;
                height: calc(100vh - 24px);
                height: calc(100svh - 24px);
                height: calc(100dvh - 24px);
                padding: 0;
                gap: 8px;
            }

            .lightbox-media {
                padding: 6px 50px;
            }

            .lightbox-button {
                width: 44px;
                height: 44px;
            }

            .lightbox-prev {
                left: 8px;
            }

            .lightbox-next {
                right: 8px;
            }

            .lightbox-toolbar {
                align-items: center;
            }

            .carousel-control {
                top: 53%;
            }
        }

        @media (max-width: 900px) {
            body::before {
                display: none;
            }

            body.is-menu-open {
                overflow: hidden;
                overscroll-behavior: none;
            }

            body.is-view-loading .page,
            body.is-view-loading .site-footer {
                filter: none;
                transform: none;
                opacity: 0.82;
                transition: opacity 0.16s ease;
            }

            body.is-view-loading .site-header {
                filter: none;
            }

            .page-loader {
                background: rgba(18, 76, 91, 0.42);
                -webkit-backdrop-filter: none;
                backdrop-filter: none;
            }

            .site-header.is-mobile-nav,
            .site-header.is-mobile-nav.is-solid,
            .site-header.is-mobile-nav.is-open {
                padding: 0;
                color: var(--earth);
                background: transparent;
                border: 0;
                box-shadow: none;
                backdrop-filter: none;
                pointer-events: none;
            }

            .site-header.is-mobile-nav .site-nav {
                position: fixed;
                top: max(12px, env(safe-area-inset-top));
                left: max(12px, env(safe-area-inset-left));
                right: max(12px, env(safe-area-inset-right));
                width: auto;
                margin: 0;
                display: flex;
                flex-direction: column;
                align-items: stretch;
                gap: 8px;
                padding: 0;
                border: 1px solid transparent;
                border-radius: 24px;
                background: transparent;
                box-shadow: none;
                backdrop-filter: none;
                max-height: calc(100vh - 24px);
                max-height: calc(100dvh - 24px);
                overflow-x: hidden;
                overflow-y: auto;
                overscroll-behavior: contain;
                -webkit-overflow-scrolling: touch;
                pointer-events: none;
                transition: none;
            }

            .site-header.is-mobile-nav.is-open .site-nav {
                padding: 76px 14px 16px;
                border-color: rgba(131, 82, 26, 0.18);
                background: linear-gradient(180deg, #fff9d9, #f0ebb3);
                box-shadow: 0 12px 28px rgba(28, 45, 39, 0.14);
                -webkit-backdrop-filter: none;
                backdrop-filter: none;
                pointer-events: auto;
            }

            .site-header.is-mobile-nav .nav-brand,
            .site-header.is-mobile-nav.is-solid .nav-brand {
                position: fixed;
                top: max(24px, calc(env(safe-area-inset-top) + 6px));
                left: max(18px, env(safe-area-inset-left));
                z-index: 1000;
                display: inline-flex !important;
                align-items: center;
                min-height: 44px;
                padding: 1px 13px 9px;
                border: 1px solid rgba(190, 143, 32, 0.34);
                border-radius: 999px;
                color: var(--earth);
                background: rgba(255, 249, 217, 0.9);
                box-shadow: 0 12px 30px rgba(18, 76, 91, 0.14);
                font-family: var(--font-script);
                font-size: clamp(2.1rem, 9vw, 2.75rem);
                line-height: 0.9;
                opacity: 0;
                visibility: hidden;
                transform: none;
                pointer-events: none;
                -webkit-backdrop-filter: none;
                backdrop-filter: none;
                transition: none;
            }

            .site-header.is-mobile-nav.is-open .nav-brand {
                border-color: transparent;
                background: transparent;
                box-shadow: none;
                color: var(--earth);
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
            }

            .site-header.is-mobile-nav .nav-brand-signature {
                display: none;
            }

            .site-header.is-mobile-nav .nav-brand-underline {
                position: absolute;
                left: 0;
                right: 13px;
                bottom: 1px;
                height: 7px;
                border-radius: 60% 45% 58% 42% / 72% 64% 50% 58%;
                background: linear-gradient(90deg, #b98217 0%, #d6a72f 52%, #e4c65c 100%);
                box-shadow: 0 4px 10px rgba(190, 143, 32, 0.18);
                opacity: 0;
                transform: rotate(-1deg) scaleX(0);
                transform-origin: left center;
            }

            .site-header.is-mobile-nav .nav-brand-underline::after {
                content: '';
                position: absolute;
                top: 2px;
                right: -1px;
                width: 24%;
                height: 2px;
                border-radius: inherit;
                background: rgba(255, 249, 217, 0.42);
                transform: rotate(-2deg);
            }

            .site-header.is-mobile-nav .nav-brand-brush {
                position: absolute;
                left: -7px;
                bottom: 0;
                width: 17px;
                height: 17px;
                color: #9c6a13;
                opacity: 0;
                filter: drop-shadow(0 3px 4px rgba(54, 42, 18, 0.16));
                transform: translateY(-3px) rotate(-19deg);
            }

            .site-header.is-mobile-nav.is-open .nav-brand-underline {
                animation: none;
            }

            .site-header.is-mobile-nav.is-open .nav-brand-brush {
                animation: none;
            }

            .site-header.is-mobile-nav .nav-toggle {
                position: fixed !important;
                top: max(14px, env(safe-area-inset-top)) !important;
                right: max(14px, env(safe-area-inset-right)) !important;
                z-index: 1000;
                width: 52px;
                height: 52px;
                display: inline-flex !important;
                align-items: center;
                justify-content: center;
                border: 1px solid rgba(190, 143, 32, 0.5);
                border-radius: 50%;
                background: #fff9d9;
                box-shadow: 0 6px 16px rgba(18, 76, 91, 0.14);
                -webkit-backdrop-filter: none;
                backdrop-filter: none;
                cursor: pointer;
                pointer-events: auto;
                -webkit-tap-highlight-color: transparent;
                transition: background-color 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
            }

            .site-header.is-mobile-nav .nav-toggle:hover,
            .site-header.is-mobile-nav .nav-toggle:focus-visible {
                transform: translateY(-1px);
            }

            .site-header.is-mobile-nav .nav-toggle:focus-visible,
            .site-header.is-mobile-nav .nav-link:focus-visible {
                outline: 3px solid rgba(131, 82, 26, 0.82);
                outline-offset: 3px;
            }

            .site-header.is-mobile-nav.is-open .nav-toggle {
                background: rgba(131, 82, 26, 0.94);
                border-color: rgba(255, 249, 217, 0.56);
                box-shadow: 0 6px 16px rgba(54, 42, 18, 0.14);
            }

            .site-header.is-mobile-nav .nav-toggle span {
                position: absolute;
                left: 15px;
                width: 22px;
                height: 2px;
                border-radius: 999px;
                background: #be8f20;
                box-shadow: none;
                opacity: 1;
                transform: none;
                transition: opacity 0.14s ease, transform 0.16s ease, background-color 0.16s ease;
            }

            .site-header.is-mobile-nav .nav-toggle span:nth-child(1) {
                top: 18px;
            }

            .site-header.is-mobile-nav .nav-toggle span:nth-child(2) {
                top: 25px;
                left: 20px;
                width: 17px;
            }

            .site-header.is-mobile-nav .nav-toggle span:nth-child(3) {
                top: 32px;
            }

            .site-header.is-mobile-nav.is-open .nav-toggle span {
                background: var(--soft-cream);
            }

            .site-header.is-mobile-nav.is-open .nav-toggle span:nth-child(1) {
                transform: translateY(7px) rotate(45deg);
            }

            .site-header.is-mobile-nav.is-open .nav-toggle span:nth-child(2) {
                opacity: 0;
                transform: scaleX(0.2);
            }

            .site-header.is-mobile-nav.is-open .nav-toggle span:nth-child(3) {
                transform: translateY(-7px) rotate(-45deg);
            }

            .site-header.is-mobile-nav .nav-group,
            .site-header.is-mobile-nav .nav-group.right {
                grid-column: auto;
                width: 100%;
                display: flex !important;
                flex-direction: column;
                align-items: stretch;
                justify-content: flex-start;
                gap: 8px;
                padding: 0;
                opacity: 0;
                visibility: hidden;
                transform: translateY(-8px);
                pointer-events: none;
                transition: opacity 0.16s ease, transform 0.16s ease;
            }

            .site-header.is-mobile-nav.is-open .nav-group,
            .site-header.is-mobile-nav.is-open .nav-group.right {
                opacity: 1;
                visibility: visible;
                transform: translateY(0);
                pointer-events: auto;
            }

            .site-header.is-mobile-nav.is-open .nav-group.left {
                transition-delay: 0s;
            }

            .site-header.is-mobile-nav.is-open .nav-group.right {
                transition-delay: 0s;
            }

            .site-header.is-mobile-nav .nav-link {
                width: 100%;
                min-height: 48px;
                display: inline-flex;
                align-items: center;
                justify-content: flex-start;
                gap: 10px;
                padding: 13px 14px;
                border: 1px solid rgba(131, 82, 26, 0.1);
                border-radius: 16px;
                background: rgba(255, 249, 217, 0.36);
                color: var(--earth);
                font-size: 0.74rem;
                font-weight: 600;
                letter-spacing: 1.7px;
                text-decoration: none;
                box-shadow: none;
                transform: none;
                transition: background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease;
            }

            .site-header.is-mobile-nav .nav-link::after {
                display: none;
            }

            .site-header.is-mobile-nav .nav-brush {
                width: 16px;
                height: 16px;
                opacity: 0;
                transform: translateX(-4px) rotate(-12deg);
            }

            .site-header.is-mobile-nav .nav-link.is-active .nav-brush {
                width: 16px;
                opacity: 1;
                transform: translateX(0) rotate(-12deg);
            }

            .site-header.is-mobile-nav .nav-link:hover,
            .site-header.is-mobile-nav .nav-link:focus-visible,
            .site-header.is-mobile-nav .nav-link.is-active {
                background: rgba(255, 249, 217, 0.82);
                border-color: rgba(131, 82, 26, 0.2);
                color: var(--earth);
                transform: none;
            }

            .site-header.is-mobile-nav .nav-cta {
                --cta-rgb: 214, 167, 47;
                justify-content: center;
                min-height: 50px;
                margin-top: 4px;
                border-color: rgba(131, 82, 26, 0.36);
                background: rgba(var(--cta-rgb), 0.92);
                color: #332914;
                box-shadow: none;
            }

            .site-header.is-mobile-nav.is-solid .nav-cta {
                border-color: rgba(131, 82, 26, 0.36);
                background: rgba(var(--cta-rgb), 0.92);
                color: #332914;
            }

            .site-header.is-mobile-nav .nav-cta:hover,
            .site-header.is-mobile-nav .nav-cta:focus-visible {
                background: rgba(var(--cta-rgb), 0.98);
                color: #332914;
                box-shadow: none;
                transform: none;
            }

            .site-header.is-mobile-nav.is-solid .nav-cta:hover,
            .site-header.is-mobile-nav.is-solid .nav-cta:focus-visible {
                color: #332914;
            }
        }

        @media (hover: none) {
            .portfolio-card:hover img,
            .portfolio-card:hover video {
                transform: none;
                filter: none;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .contact-phone img {
                animation: none !important;
            }

            *,
            *::before,
            *::after {
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                scroll-behavior: auto !important;
                transition-duration: 0.01ms !important;
            }
        }

        /* Editorial homepage redesign */
        :root {
            --home-ivory: #f8f5ef;
            --home-sand: #eee5d9;
            --home-ink: #1b2b35;
            --home-muted: #667078;
            --home-bronze: #ad7540;
            --home-gold: #d0a568;
        }

        body {
            background: var(--home-ivory);
            color: var(--home-ink);
        }

        body::before {
            opacity: 0.35;
        }

        .site-header.is-solid {
            color: var(--home-ink);
            background: rgba(250, 247, 242, 0.93);
            border-color: rgba(27, 43, 53, 0.1);
            box-shadow: 0 12px 34px rgba(27, 43, 53, 0.08);
        }

        .site-header.is-solid .nav-cta {
            --cta-rgb: 196, 145, 78;
            color: #211b14;
            border-color: rgba(88, 57, 29, 0.18);
            box-shadow: 0 10px 24px rgba(122, 79, 38, 0.16);
        }

        .gallery-section {
            min-height: 960px;
            padding: clamp(118px, 11vw, 164px) clamp(24px, 5vw, 72px) clamp(110px, 10vw, 152px);
            position: relative;
            isolation: isolate;
            background:
                radial-gradient(circle at 7% 14%, rgba(208, 165, 104, 0.1), transparent 24rem),
                linear-gradient(180deg, #faf7f2 0%, var(--home-ivory) 64%, #f3ece3 100%);
            border-top: 1px solid rgba(27, 43, 53, 0.07);
        }

        .gallery-section::before {
            content: '';
            position: absolute;
            z-index: -1;
            top: 0;
            left: clamp(24px, 5vw, 72px);
            width: min(180px, 18vw);
            height: 1px;
            background: var(--home-bronze);
            opacity: 0.68;
        }

        .gallery-inner {
            width: min(100%, 1200px);
            grid-template-columns: minmax(260px, 0.72fr) minmax(560px, 1.45fr);
            align-items: center;
            justify-items: stretch;
            gap: clamp(54px, 7vw, 96px);
        }

        .gallery-intro {
            max-width: 390px;
            text-align: left;
        }

        .gallery-eyebrow {
            margin-bottom: 22px;
            font-family: var(--font-sans);
            font-size: 0.72rem;
            font-weight: 600;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: var(--home-bronze);
        }

        .gallery-heading {
            max-width: none;
            margin: 0;
            text-align: left;
            font-family: var(--font-serif);
            font-size: clamp(4.4rem, 7.2vw, 7rem);
            font-weight: 300;
            font-style: normal;
            line-height: 0.84;
            letter-spacing: -0.045em;
            color: var(--home-ink);
            transform: none;
        }

        .gallery-lead {
            max-width: 33rem;
            margin-top: 34px;
            font-size: clamp(1.2rem, 1.55vw, 1.46rem);
            line-height: 1.55;
            color: var(--home-muted);
        }

        .gallery-portfolio-link {
            display: inline-flex;
            align-items: center;
            gap: 14px;
            margin-top: 34px;
            padding: 0 0 8px;
            border-bottom: 1px solid rgba(173, 117, 64, 0.48);
            font-family: var(--font-sans);
            font-size: 0.72rem;
            font-weight: 600;
            letter-spacing: 0.11em;
            text-transform: uppercase;
            text-decoration: none;
            color: var(--home-ink);
            transition: gap 0.22s ease, color 0.22s ease, border-color 0.22s ease;
        }

        .gallery-portfolio-link:hover,
        .gallery-portfolio-link:focus-visible {
            gap: 20px;
            color: var(--home-bronze);
            border-color: var(--home-bronze);
            outline: none;
        }

        .gallery-link-arrow {
            font-size: 1rem;
            line-height: 1;
        }

        .gallery-showcase {
            width: 100%;
            min-width: 0;
        }

        .gallery-stage {
            width: 100%;
            min-height: 650px;
            overflow: hidden;
            border: 1px solid rgba(72, 55, 39, 0.1);
            border-radius: 34px;
            background:
                radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.96), transparent 17rem),
                linear-gradient(145deg, #f3ece3 0%, #e9ddcf 100%);
            box-shadow: 0 34px 90px rgba(55, 42, 31, 0.13);
        }

        .gallery-stage::after {
            content: '01 — 10';
            position: absolute;
            left: 28px;
            bottom: 24px;
            font-family: var(--font-sans);
            font-size: 0.62rem;
            font-weight: 600;
            letter-spacing: 0.2em;
            color: rgba(27, 43, 53, 0.48);
        }

        .frame-carousel {
            width: min(38vw, 400px);
        }

        .frame-carousel:focus-visible {
            outline-color: var(--home-bronze);
        }

        .frame-image {
            filter: drop-shadow(0 26px 34px rgba(60, 42, 24, 0.22));
        }

        .portrait-window {
            background: #f7f1e7;
            box-shadow: inset 0 0 22px rgba(56, 38, 14, 0.14);
        }

        .paint-preview {
            top: 52%;
            width: clamp(108px, 11vw, 142px);
            opacity: 0.88;
            border: 6px solid rgba(250, 247, 242, 0.95);
            background: #f8f4ee;
            box-shadow: 0 18px 44px rgba(44, 34, 26, 0.18);
            filter: saturate(0.88) contrast(0.98);
        }

        .paint-preview.prev {
            right: calc(50% + min(15vw, 165px));
        }

        .paint-preview.next {
            left: calc(50% + min(15vw, 165px));
        }

        .paint-preview:hover,
        .paint-preview:focus-visible {
            opacity: 1;
            filter: saturate(1) contrast(1);
        }

        .carousel-control {
            width: 46px;
            height: 46px;
            border-color: rgba(27, 43, 53, 0.16);
            background: rgba(250, 247, 242, 0.94);
            color: var(--home-ink);
            box-shadow: 0 10px 24px rgba(27, 43, 53, 0.14);
        }

        .carousel-control:hover,
        .carousel-control:focus-visible {
            background: var(--home-ink);
            color: #fffaf4;
        }

        .carousel-dots {
            margin-top: 26px;
        }

        .carousel-dot::before {
            width: 8px;
            height: 8px;
            border-color: rgba(173, 117, 64, 0.54);
        }

        .carousel-dot[aria-current="true"]::before {
            background: var(--home-bronze);
            border-color: var(--home-bronze);
        }

        .booking-section {
            min-height: auto;
            padding: clamp(96px, 10vw, 142px) clamp(24px, 6vw, 84px);
            background:
                radial-gradient(circle at 88% 22%, rgba(208, 165, 104, 0.18), transparent 25rem),
                linear-gradient(135deg, #1d3441 0%, #142630 100%);
            color: #f9f4ec;
        }

        .booking-section::before {
            inset: 0;
            width: auto;
            height: auto;
            border: 0;
            background: linear-gradient(115deg, transparent 0 58%, rgba(255, 255, 255, 0.035) 58% 58.2%, transparent 58.2%);
            transform: none;
            opacity: 1;
        }

        .booking-inner {
            width: min(100%, 1180px);
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(240px, 0.34fr);
            align-items: end;
            gap: clamp(54px, 8vw, 110px);
            padding: clamp(42px, 5vw, 68px);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 32px;
            background: rgba(255, 255, 255, 0.035);
            box-shadow: 0 32px 90px rgba(7, 19, 25, 0.22);
            text-align: left;
            color: #f9f4ec;
        }

        .booking-copy-block {
            max-width: 760px;
        }

        .booking-kicker {
            margin: 0 0 24px;
            font-family: var(--font-sans);
            font-size: 0.7rem;
            font-weight: 600;
            line-height: 1;
            letter-spacing: 0.24em;
            text-transform: uppercase;
            color: var(--home-gold);
            transform: none;
        }

        .booking-title {
            max-width: 780px;
            margin: 0;
            font-size: clamp(3.5rem, 6.2vw, 6.2rem);
            font-weight: 300;
            line-height: 0.9;
            letter-spacing: -0.04em;
            text-transform: none;
            color: #fffaf4;
        }

        .booking-title-main,
        .booking-title-final {
            display: inline;
            width: auto;
            white-space: normal;
        }

        .booking-copy {
            max-width: 620px;
            margin-top: 30px;
            font-size: clamp(1.1rem, 1.45vw, 1.34rem);
            line-height: 1.55;
            color: rgba(249, 244, 236, 0.72);
        }

        .booking-actions {
            display: grid;
            gap: 16px;
            align-content: end;
        }

        .booking-quote {
            width: 100%;
            min-height: 58px;
            margin: 0;
            gap: 18px;
            padding: 18px 24px 17px;
            border-color: rgba(231, 190, 130, 0.5);
            border-radius: 999px;
            background: var(--home-gold);
            color: #1d2930;
            box-shadow: 0 18px 40px rgba(7, 19, 25, 0.24);
            font-size: 0.7rem;
            letter-spacing: 0.13em;
        }

        .booking-quote:hover,
        .booking-quote:focus-visible {
            border-color: #f0d2a5;
            background: #efd0a1;
            color: #17252d;
            box-shadow: 0 22px 46px rgba(7, 19, 25, 0.3);
        }

        .booking-note {
            font-family: var(--font-sans);
            font-size: 0.62rem;
            font-weight: 500;
            letter-spacing: 0.1em;
            text-align: center;
            text-transform: uppercase;
            color: rgba(249, 244, 236, 0.52);
        }

        .site-footer {
            padding: clamp(64px, 7vw, 92px) clamp(24px, 6vw, 84px);
            background: #101f28;
            color: #f8f3eb;
            text-align: left;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
        }

        .site-footer::before {
            content: none;
        }

        .footer-inner {
            width: min(100%, 1180px);
            display: grid;
            grid-template-columns: minmax(0, 1.35fr) minmax(240px, 0.65fr);
            grid-template-areas:
                'quote contact'
                'quote social';
            align-items: end;
            column-gap: clamp(60px, 9vw, 128px);
            row-gap: 24px;
        }

        .footer-quote {
            grid-area: quote;
            max-width: 760px;
            margin: 0;
            font-size: clamp(1.8rem, 3.4vw, 3.35rem);
            line-height: 1.08;
            color: rgba(248, 243, 235, 0.9);
        }

        .footer-source {
            margin-top: 24px;
            color: var(--home-gold);
        }

        .footer-contact {
            grid-area: contact;
            justify-items: start;
            margin: 0;
            color: #f8f3eb;
        }

        .footer-contact a {
            color: rgba(248, 243, 235, 0.82);
        }

        /* Final palette override: Nicole's original parchment, sage and earth tones */
        body {
            background:
                radial-gradient(circle at 50% -10%, rgba(255, 249, 217, 0.86), transparent 38rem),
                linear-gradient(180deg, #f0ebb3 0%, #e8df9a 42%, #c7d0aa 100%);
            color: #3f4a30;
        }

        .site-header.is-solid {
            color: #83521a;
            background: rgba(240, 235, 179, 0.96);
            border-color: rgba(131, 82, 26, 0.16);
            box-shadow: 0 14px 34px rgba(54, 42, 18, 0.08);
        }

        .site-header.is-solid .nav-cta {
            --cta-rgb: 214, 167, 47;
            color: #3f3520;
            border-color: rgba(131, 82, 26, 0.34);
            box-shadow: 0 12px 28px rgba(214, 167, 47, 0.25);
        }

        .gallery-section {
            background:
                radial-gradient(ellipse at 12% 18%, rgba(255, 249, 217, 0.58), transparent 24rem),
                radial-gradient(ellipse at 88% 72%, rgba(177, 122, 32, 0.13), transparent 28rem),
                linear-gradient(180deg, #f0ebb3 0%, #e8df9a 58%, #d9d5a8 100%);
            border-top-color: rgba(131, 82, 26, 0.12);
        }

        .gallery-section::before {
            background: linear-gradient(90deg, transparent, #83521a, transparent);
        }

        .gallery-eyebrow,
        .gallery-heading {
            color: #83521a;
        }

        .gallery-heading {
            text-shadow: 0 8px 28px rgba(131, 82, 26, 0.09);
        }

        .gallery-lead {
            color: rgba(63, 74, 48, 0.76);
        }

        .gallery-portfolio-link {
            color: #3f4a30;
            border-color: rgba(131, 82, 26, 0.42);
        }

        .gallery-portfolio-link:hover,
        .gallery-portfolio-link:focus-visible {
            color: #83521a;
            border-color: #83521a;
        }

        .gallery-showcase::before,
        .gallery-showcase::after {
            border-color: rgba(131, 82, 26, 0.24);
        }

        .gallery-stage::before {
            border-color: rgba(131, 82, 26, 0.13);
            background:
                radial-gradient(circle at 48% 44%, rgba(255, 249, 217, 0.92), transparent 58%),
                rgba(214, 167, 47, 0.13);
            box-shadow: 0 28px 90px rgba(54, 42, 18, 0.1);
        }

        .gallery-stage::after {
            color: rgba(63, 74, 48, 0.52);
        }

        .paint-preview {
            border-color: rgba(255, 249, 217, 0.95);
            background: #f0ebb3;
            box-shadow: 0 18px 44px rgba(54, 42, 18, 0.16);
        }

        .carousel-control {
            border-color: rgba(131, 82, 26, 0.18);
            background: rgba(255, 249, 217, 0.95);
            color: #83521a;
            box-shadow: 0 10px 24px rgba(54, 42, 18, 0.14);
        }

        .carousel-control:hover,
        .carousel-control:focus-visible {
            background: #3f4a30;
            color: #fff9d9;
        }

        .carousel-dot::before {
            border-color: rgba(63, 74, 48, 0.56);
        }

        .carousel-dot[aria-current="true"]::before {
            background: #3f4a30;
            border-color: #3f4a30;
        }

        .booking-section {
            background:
                radial-gradient(ellipse at 10% 18%, rgba(255, 249, 217, 0.5), transparent 24rem),
                radial-gradient(ellipse at 90% 82%, rgba(177, 122, 32, 0.11), transparent 28rem),
                linear-gradient(180deg, #deddb0 0%, #c7d0aa 100%);
            color: #3f4a30;
        }

        .booking-section::before {
            background: rgba(131, 82, 26, 0.07);
        }

        .booking-inner {
            border-color: rgba(131, 82, 26, 0.18);
            background: linear-gradient(135deg, rgba(255, 249, 217, 0.72), rgba(240, 235, 179, 0.58));
            box-shadow: 0 30px 80px rgba(54, 42, 18, 0.13);
            color: #3f4a30;
        }

        .booking-kicker {
            color: #83521a;
        }

        .booking-title {
            color: #3f4a30;
        }

        .booking-copy {
            color: rgba(63, 74, 48, 0.75);
        }

        .booking-quote {
            border-color: rgba(131, 82, 26, 0.5);
            background: #83521a;
            color: #fff9d9;
            box-shadow: 0 18px 38px rgba(54, 42, 18, 0.18);
        }

        .booking-quote:hover,
        .booking-quote:focus-visible {
            border-color: #83521a;
            background: rgba(255, 249, 217, 0.92);
            color: #83521a;
        }

        .booking-note {
            color: rgba(63, 74, 48, 0.62);
        }

        .site-footer {
            background:
                radial-gradient(circle at 50% 0%, rgba(255, 249, 217, 0.5), transparent 34rem),
                linear-gradient(180deg, rgba(199, 208, 170, 0.9), rgba(240, 235, 179, 0.98));
            color: #3f4a30;
            border-top-color: rgba(131, 82, 26, 0.14);
        }

        .footer-quote {
            color: #3f4a30;
        }

        .footer-source,
        .footer-social {
            color: #83521a;
        }

        .footer-social {
            border-color: rgba(131, 82, 26, 0.38);
            background: rgba(255, 249, 217, 0.36);
        }

        .footer-contact a {
            color: rgba(63, 74, 48, 0.92);
        }

        .footer-contact a:hover,
        .footer-contact a:focus-visible,
        .footer-social:hover,
        .footer-social:focus-visible {
            color: #fff9d9;
        }
        /* Restore Nicole's original brand palette */
        body {
            background:
                radial-gradient(circle at 50% -10%, rgba(255, 249, 217, 0.86), transparent 38rem),
                linear-gradient(180deg, #f0ebb3 0%, #e8df9a 42%, #c7d0aa 100%);
            color: #3f4a30;
        }

        .site-header.is-solid {
            color: #83521a;
            background: rgba(240, 235, 179, 0.9);
            border-color: rgba(131, 82, 26, 0.16);
            box-shadow: 0 14px 34px rgba(54, 42, 18, 0.08);
        }

        .site-header.is-solid .nav-cta {
            --cta-rgb: 214, 167, 47;
            color: #3f3520;
            border-color: rgba(131, 82, 26, 0.34);
            box-shadow: 0 12px 28px rgba(214, 167, 47, 0.25);
        }

        .gallery-section {
            background:
                radial-gradient(ellipse at 12% 18%, rgba(255, 249, 217, 0.58), transparent 24rem),
                radial-gradient(ellipse at 88% 72%, rgba(177, 122, 32, 0.13), transparent 28rem),
                linear-gradient(180deg, #f0ebb3 0%, #e8df9a 58%, #d9d5a8 100%);
            border-top-color: rgba(131, 82, 26, 0.12);
        }

        .gallery-section::before {
            background: linear-gradient(90deg, transparent, #83521a, transparent);
        }

        .gallery-eyebrow,
        .gallery-heading {
            color: #83521a;
        }

        .gallery-heading {
            text-shadow: 0 8px 28px rgba(131, 82, 26, 0.09);
        }

        .gallery-lead {
            color: rgba(63, 74, 48, 0.76);
        }

        .gallery-portfolio-link {
            color: #3f4a30;
            border-color: rgba(131, 82, 26, 0.42);
        }

        .gallery-portfolio-link:hover,
        .gallery-portfolio-link:focus-visible {
            color: #83521a;
            border-color: #83521a;
        }

        .gallery-showcase::before,
        .gallery-showcase::after {
            border-color: rgba(131, 82, 26, 0.24);
        }

        .gallery-stage::before {
            border-color: rgba(131, 82, 26, 0.13);
            background:
                radial-gradient(circle at 48% 44%, rgba(255, 249, 217, 0.92), transparent 58%),
                rgba(214, 167, 47, 0.13);
            box-shadow: 0 28px 90px rgba(54, 42, 18, 0.1);
        }

        .gallery-stage::after {
            color: rgba(63, 74, 48, 0.52);
        }

        .paint-preview {
            border-color: rgba(255, 249, 217, 0.95);
            background: #f0ebb3;
            box-shadow: 0 18px 44px rgba(54, 42, 18, 0.16);
        }

        .carousel-control {
            border-color: rgba(131, 82, 26, 0.18);
            background: rgba(255, 249, 217, 0.95);
            color: #83521a;
            box-shadow: 0 10px 24px rgba(54, 42, 18, 0.14);
        }

        .carousel-control:hover,
        .carousel-control:focus-visible {
            background: #3f4a30;
            color: #fff9d9;
        }

        .carousel-dot::before {
            border-color: rgba(63, 74, 48, 0.56);
        }

        .carousel-dot[aria-current="true"]::before {
            background: #3f4a30;
            border-color: #3f4a30;
        }

        .booking-section {
            background:
                radial-gradient(ellipse at 10% 18%, rgba(255, 249, 217, 0.5), transparent 24rem),
                radial-gradient(ellipse at 90% 82%, rgba(177, 122, 32, 0.11), transparent 28rem),
                linear-gradient(180deg, #deddb0 0%, #c7d0aa 100%);
            color: #3f4a30;
        }

        .booking-section::before {
            background: rgba(131, 82, 26, 0.07);
        }

        .booking-inner {
            border-color: rgba(131, 82, 26, 0.18);
            background: linear-gradient(135deg, rgba(255, 249, 217, 0.72), rgba(240, 235, 179, 0.58));
            box-shadow: 0 30px 80px rgba(54, 42, 18, 0.13);
            color: #3f4a30;
        }

        .booking-kicker {
            color: #83521a;
        }

        .booking-title {
            color: #3f4a30;
        }

        .booking-copy {
            color: rgba(63, 74, 48, 0.75);
        }

        .booking-quote {
            border-color: rgba(131, 82, 26, 0.5);
            background: #83521a;
            color: #fff9d9;
            box-shadow: 0 18px 38px rgba(54, 42, 18, 0.18);
        }

        .booking-quote:hover,
        .booking-quote:focus-visible {
            border-color: #83521a;
            background: rgba(255, 249, 217, 0.92);
            color: #83521a;
        }

        .booking-note {
            color: rgba(63, 74, 48, 0.62);
        }

        .site-footer {
            background:
                radial-gradient(circle at 50% 0%, rgba(255, 249, 217, 0.5), transparent 34rem),
                linear-gradient(180deg, rgba(199, 208, 170, 0.82), rgba(240, 235, 179, 0.98));
            color: #3f4a30;
            border-top-color: rgba(131, 82, 26, 0.14);
        }

        .footer-quote {
            color: #3f4a30;
        }

        .footer-source,
        .footer-social {
            color: #83521a;
        }

        .footer-social {
            border-color: rgba(131, 82, 26, 0.38);
            background: rgba(255, 249, 217, 0.36);
        }

        .footer-contact a {
            color: rgba(63, 74, 48, 0.92);
        }

        .footer-contact a:hover,
        .footer-contact a:focus-visible {
            color: #fff;
        }

        .footer-social {
            grid-area: social;
            justify-self: start;
            border-color: rgba(208, 165, 104, 0.48);
            color: var(--home-gold);
            background: transparent;
            box-shadow: none;
        }

        .footer-social:hover,
        .footer-social:focus-visible {
            background: var(--home-gold);
            color: var(--home-ink);
        }

        @media (max-width: 960px) {
            .gallery-section {
                min-height: auto;
                padding: 104px 24px 110px;
            }

            .gallery-inner {
                grid-template-columns: 1fr;
                gap: 54px;
            }

            .gallery-intro {
                max-width: 680px;
                text-align: center;
                justify-self: center;
            }

            .gallery-heading {
                text-align: center;
            }

            .gallery-stage {
                min-height: 620px;
            }

            .frame-carousel {
                width: min(56vw, 390px);
            }

            .booking-inner {
                grid-template-columns: 1fr;
                align-items: start;
            }

            .booking-actions {
                width: min(100%, 320px);
            }
        }

        @media (max-width: 720px) {
            .site-header.is-solid {
                background: transparent;
                box-shadow: none;
            }

            .gallery-section {
                padding: 90px 16px 82px;
            }

            .gallery-section::before {
                left: 16px;
                width: 90px;
            }

            .gallery-eyebrow {
                margin-bottom: 16px;
                font-size: 0.64rem;
            }

            .gallery-heading {
                max-width: none;
                font-size: clamp(4.2rem, 20vw, 6rem);
            }

            .gallery-lead {
                margin-top: 24px;
                font-size: 1.16rem;
            }

            .gallery-portfolio-link {
                margin-top: 26px;
                font-size: 0.65rem;
            }

            .gallery-stage {
                min-height: 520px;
                border-radius: 26px;
            }

            .gallery-stage::after {
                left: 20px;
                bottom: 18px;
            }

            .frame-carousel {
                width: min(82vw, 350px);
            }

            .paint-preview {
                display: none;
            }

            .carousel-dots {
                gap: 0;
                margin-top: 18px;
                overflow: hidden;
            }

            .carousel-dot {
                width: 24px;
                height: 38px;
            }

            .booking-section {
                padding: 76px 16px;
            }

            .booking-inner {
                gap: 42px;
                padding: 40px 24px;
                border-radius: 26px;
            }

            .booking-title {
                font-size: clamp(3.1rem, 15vw, 4.8rem);
                line-height: 0.92;
            }

            .booking-title-main,
            .booking-title-final {
                display: inline;
                width: auto;
                white-space: normal;
            }

            .booking-copy {
                margin-top: 24px;
                font-size: 1.08rem;
            }

            .booking-actions {
                width: 100%;
            }

            .booking-quote {
                width: 100%;
                min-height: 56px;
                margin: 0;
            }

            .site-footer {
                padding: 64px 24px 54px;
            }

            .footer-inner {
                grid-template-columns: 1fr;
                grid-template-areas:
                    'quote'
                    'contact'
                    'social';
                row-gap: 34px;
            }

            .footer-quote {
                font-size: clamp(1.72rem, 8.6vw, 2.5rem);
            }
        }

        /* Artistic refinement: preserve the original handmade character */
        body {
            background: #f3e7cb;
            color: #44332d;
        }

        .site-header.is-solid {
            color: #50362d;
            background: rgba(248, 238, 214, 0.93);
            border-color: rgba(116, 72, 48, 0.13);
            box-shadow: 0 12px 34px rgba(91, 57, 39, 0.1);
        }

        .gallery-section {
            min-height: 1020px;
            padding: clamp(112px, 10vw, 150px) 24px clamp(104px, 9vw, 138px);
            scroll-margin-top: 80px;
            background:
                radial-gradient(ellipse at 12% 18%, rgba(204, 119, 72, 0.13), transparent 23rem),
                radial-gradient(ellipse at 88% 72%, rgba(222, 170, 78, 0.17), transparent 28rem),
                linear-gradient(180deg, #f7edda 0%, #f1dfbc 100%);
            border-top-color: rgba(122, 74, 46, 0.12);
        }

        .gallery-section::before {
            left: 50%;
            width: min(180px, 34vw);
            background: linear-gradient(90deg, transparent, #a8663d, transparent);
            transform: translateX(-50%);
        }

        .gallery-inner {
            width: min(100%, 1080px);
            grid-template-columns: 1fr;
            justify-items: center;
            gap: 18px;
        }

        .gallery-intro {
            max-width: 720px;
            text-align: center;
        }

        .gallery-eyebrow {
            margin-bottom: 8px;
            font-size: 0.66rem;
            letter-spacing: 0.25em;
            color: #9b5b36;
        }

        .gallery-heading {
            margin: 0 auto;
            text-align: center;
            font-family: var(--font-script);
            font-size: clamp(5.3rem, 9vw, 8.2rem);
            font-weight: 400;
            line-height: 0.88;
            letter-spacing: 0;
            color: #8b5030;
            transform: rotate(-2deg);
            text-shadow: 0 8px 28px rgba(116, 72, 48, 0.1);
        }

        .gallery-lead {
            max-width: 620px;
            margin: 24px auto 0;
            font-size: clamp(1.18rem, 1.5vw, 1.4rem);
            line-height: 1.55;
            color: rgba(68, 51, 45, 0.72);
        }

        .gallery-portfolio-link {
            margin-top: 24px;
            color: #684437;
            border-color: rgba(155, 91, 54, 0.4);
        }

        .gallery-showcase {
            width: min(100%, 980px);
            position: relative;
            margin-top: -8px;
        }

        .gallery-showcase::before,
        .gallery-showcase::after {
            content: '';
            position: absolute;
            z-index: 0;
            width: 128px;
            height: 74px;
            border-color: rgba(143, 83, 47, 0.22);
            pointer-events: none;
        }

        .gallery-showcase::before {
            top: 9%;
            left: 5%;
            border-top: 1px solid;
            border-left: 1px solid;
            border-radius: 82% 0 0 0;
            transform: rotate(-9deg);
        }

        .gallery-showcase::after {
            right: 5%;
            bottom: 12%;
            border-right: 1px solid;
            border-bottom: 1px solid;
            border-radius: 0 0 82% 0;
            transform: rotate(7deg);
        }

        .gallery-stage {
            min-height: 560px;
            overflow: visible;
            border: 0;
            border-radius: 0;
            background: transparent;
            box-shadow: none;
        }

        .gallery-stage::before {
            content: '';
            position: absolute;
            z-index: 0;
            top: 50%;
            left: 50%;
            width: min(72vw, 650px);
            height: min(50vw, 455px);
            border: 1px solid rgba(151, 94, 52, 0.12);
            border-radius: 48% 52% 44% 56% / 55% 46% 54% 45%;
            background:
                radial-gradient(circle at 48% 44%, rgba(255, 251, 241, 0.92), transparent 58%),
                rgba(225, 188, 119, 0.22);
            box-shadow: 0 28px 90px rgba(107, 68, 39, 0.1);
            transform: translate(-50%, -50%) rotate(-3deg);
        }

        .gallery-stage::after {
            z-index: 6;
            left: 50%;
            bottom: 0;
            color: rgba(102, 67, 49, 0.5);
            transform: translateX(-50%);
        }

        .frame-carousel {
            width: min(46vw, 430px);
        }

        .frame-image {
            filter: drop-shadow(0 28px 34px rgba(91, 58, 31, 0.24));
        }

        .paint-preview {
            top: 53%;
            width: clamp(120px, 13vw, 170px);
            border: 8px solid rgba(247, 237, 218, 0.94);
            border-radius: 47% 53% 49% 51% / 54% 48% 52% 46%;
            background: #f5e8cd;
            box-shadow: 0 18px 44px rgba(91, 58, 31, 0.17);
            filter: saturate(0.78) sepia(0.08);
        }

        .paint-preview.prev {
            right: calc(50% + min(18vw, 205px));
            transform: translateY(-50%) rotate(-3deg);
        }

        .paint-preview.next {
            left: calc(50% + min(18vw, 205px));
            transform: translateY(-50%) rotate(3deg);
        }

        .paint-preview.prev:hover,
        .paint-preview.prev:focus-visible {
            transform: translateY(-50%) rotate(-3deg) scale(1.03);
        }

        .paint-preview.next:hover,
        .paint-preview.next:focus-visible {
            transform: translateY(-50%) rotate(3deg) scale(1.03);
        }

        .carousel-control {
            border-color: rgba(109, 70, 47, 0.2);
            background: rgba(249, 239, 218, 0.95);
            color: #70452f;
            box-shadow: 0 10px 24px rgba(91, 58, 31, 0.15);
        }

        .carousel-control:hover,
        .carousel-control:focus-visible {
            background: #8b5030;
            color: #fff8e8;
        }

        .carousel-dot::before {
            border-color: rgba(139, 80, 48, 0.52);
        }

        .carousel-dot[aria-current="true"]::before {
            background: #9b5b36;
            border-color: #9b5b36;
        }

        .booking-section {
            padding: clamp(92px, 10vw, 138px) 24px;
            scroll-margin-top: 0;
            background:
                radial-gradient(ellipse at 8% 16%, rgba(167, 86, 55, 0.16), transparent 24rem),
                radial-gradient(ellipse at 92% 84%, rgba(220, 157, 74, 0.2), transparent 28rem),
                linear-gradient(145deg, #edcf9f 0%, #e4b986 100%);
            color: #4a342d;
        }

        .booking-section::before {
            inset: 14% auto auto 7%;
            width: clamp(150px, 22vw, 290px);
            height: clamp(80px, 12vw, 150px);
            border: 0;
            border-radius: 54% 46% 52% 48%;
            background: rgba(153, 78, 52, 0.09);
            transform: rotate(-11deg);
            opacity: 1;
        }

        .booking-inner {
            width: min(100%, 1040px);
            display: grid;
            grid-template-columns: 1fr;
            justify-items: center;
            gap: 34px;
            padding: clamp(56px, 7vw, 88px) clamp(26px, 7vw, 84px);
            border: 1px solid rgba(112, 66, 45, 0.18);
            border-radius: 54px 18px 54px 18px;
            background:
                linear-gradient(135deg, rgba(255, 250, 236, 0.62), rgba(250, 232, 196, 0.48));
            box-shadow: 0 30px 80px rgba(105, 59, 35, 0.14);
            text-align: center;
            color: #49332d;
        }

        .booking-copy-block {
            max-width: 840px;
        }

        .booking-kicker {
            margin-bottom: 20px;
            font-family: var(--font-script);
            font-size: clamp(3.6rem, 6vw, 5.4rem);
            font-weight: 400;
            letter-spacing: 0;
            text-transform: none;
            color: #995938;
            transform: rotate(-3deg);
        }

        .booking-title {
            max-width: 900px;
            margin: 0 auto;
            font-size: clamp(3.15rem, 6vw, 5.8rem);
            line-height: 0.95;
            letter-spacing: -0.015em;
            text-transform: uppercase;
            color: #44322d;
        }

        .booking-copy {
            max-width: 650px;
            margin: 28px auto 0;
            color: rgba(68, 50, 45, 0.72);
        }

        .booking-actions {
            width: min(100%, 330px);
            justify-items: center;
        }

        .booking-quote {
            border-color: rgba(112, 66, 45, 0.34);
            background: #8d5032;
            color: #fff8e8;
            box-shadow: 0 16px 34px rgba(105, 59, 35, 0.2);
        }

        .booking-quote:hover,
        .booking-quote:focus-visible {
            border-color: #70402c;
            background: #70402c;
            color: #fffaf0;
        }

        .booking-note {
            color: rgba(78, 50, 40, 0.58);
        }

        .site-footer {
            padding: clamp(72px, 8vw, 104px) 24px clamp(54px, 6vw, 78px);
            background:
                radial-gradient(circle at 50% 0%, rgba(198, 128, 76, 0.13), transparent 28rem),
                linear-gradient(180deg, #49312c 0%, #2f2523 100%);
            color: #fff4df;
            text-align: center;
            border-top-color: rgba(255, 244, 223, 0.1);
        }

        .footer-inner {
            width: min(100%, 960px);
            display: block;
        }

        .footer-quote {
            max-width: 840px;
            margin: 0 auto clamp(38px, 5vw, 58px);
            text-align: center;
            color: rgba(255, 244, 223, 0.92);
        }

        .footer-source {
            color: #d8a56f;
        }

        .footer-contact {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            justify-items: center;
            gap: 12px 32px;
            margin-bottom: 30px;
        }

        .footer-contact a {
            color: rgba(255, 244, 223, 0.82);
        }

        .footer-social {
            display: inline-flex;
            border-color: rgba(216, 165, 111, 0.5);
            color: #d8a56f;
        }

        @media (max-width: 720px) {
            .gallery-section {
                min-height: auto;
                padding: 88px 16px 78px;
            }

            .gallery-heading {
                font-size: clamp(5rem, 25vw, 7rem);
            }

            .gallery-stage {
                min-height: 510px;
                overflow: hidden;
            }

            .gallery-stage::before {
                width: 130vw;
                height: 360px;
            }

            .gallery-showcase::before,
            .gallery-showcase::after {
                display: none;
            }

            .frame-carousel {
                width: min(84vw, 360px);
            }

            .paint-preview {
                display: none;
            }

            .booking-section {
                padding: 72px 16px;
            }

            .booking-inner {
                gap: 32px;
                padding: 46px 22px;
                border-radius: 34px 14px 34px 14px;
            }

            .booking-kicker {
                font-size: clamp(3.4rem, 18vw, 4.8rem);
            }

            .booking-title {
                font-size: clamp(2.7rem, 13vw, 4rem);
                line-height: 0.98;
            }

            .site-footer {
                padding-inline: 22px;
            }

            .footer-contact {
                display: grid;
                justify-items: center;
            }
        }

        /* Palette correction: ivory, midnight blue and bronze */
        body {
            background: #f8f5ef;
            color: #1b2b35;
        }

        .site-header.is-solid {
            color: #1b2b35;
            background: rgba(250, 247, 242, 0.94);
            border-color: rgba(27, 43, 53, 0.1);
            box-shadow: 0 12px 34px rgba(27, 43, 53, 0.08);
        }

        .gallery-section {
            background:
                radial-gradient(ellipse at 12% 18%, rgba(173, 117, 64, 0.1), transparent 23rem),
                radial-gradient(ellipse at 88% 72%, rgba(208, 165, 104, 0.12), transparent 28rem),
                linear-gradient(180deg, #faf7f2 0%, #f3ece3 100%);
            border-top-color: rgba(27, 43, 53, 0.08);
        }

        .gallery-section::before {
            background: linear-gradient(90deg, transparent, #ad7540, transparent);
        }

        .gallery-eyebrow {
            color: #ad7540;
        }

        .gallery-heading {
            color: #1b2b35;
            text-shadow: 0 8px 28px rgba(27, 43, 53, 0.08);
        }

        .gallery-lead {
            color: rgba(50, 65, 74, 0.72);
        }

        .gallery-portfolio-link {
            color: #1b2b35;
            border-color: rgba(173, 117, 64, 0.45);
        }

        .gallery-portfolio-link:hover,
        .gallery-portfolio-link:focus-visible {
            color: #ad7540;
            border-color: #ad7540;
        }

        .gallery-showcase::before,
        .gallery-showcase::after {
            border-color: rgba(173, 117, 64, 0.24);
        }

        .gallery-stage::before {
            border-color: rgba(173, 117, 64, 0.12);
            background:
                radial-gradient(circle at 48% 44%, rgba(255, 255, 255, 0.95), transparent 58%),
                rgba(208, 165, 104, 0.16);
            box-shadow: 0 28px 90px rgba(27, 43, 53, 0.09);
        }

        .gallery-stage::after {
            color: rgba(27, 43, 53, 0.46);
        }

        .paint-preview {
            border-color: rgba(250, 247, 242, 0.96);
            background: #f8f4ee;
            box-shadow: 0 18px 44px rgba(27, 43, 53, 0.15);
            filter: saturate(0.82) contrast(0.98);
        }

        .carousel-control {
            border-color: rgba(27, 43, 53, 0.16);
            background: rgba(250, 247, 242, 0.96);
            color: #1b2b35;
            box-shadow: 0 10px 24px rgba(27, 43, 53, 0.14);
        }

        .carousel-control:hover,
        .carousel-control:focus-visible {
            background: #1b2b35;
            color: #fffaf4;
        }

        .carousel-dot::before {
            border-color: rgba(173, 117, 64, 0.54);
        }

        .carousel-dot[aria-current="true"]::before {
            background: #ad7540;
            border-color: #ad7540;
        }

        .booking-section {
            background:
                radial-gradient(circle at 88% 22%, rgba(208, 165, 104, 0.18), transparent 25rem),
                linear-gradient(135deg, #1d3441 0%, #142630 100%);
            color: #f9f4ec;
        }

        .booking-section::before {
            background: rgba(208, 165, 104, 0.08);
        }

        .booking-inner {
            border-color: rgba(255, 255, 255, 0.12);
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.025));
            box-shadow: 0 30px 80px rgba(7, 19, 25, 0.22);
            color: #f9f4ec;
        }

        .booking-kicker {
            color: #d0a568;
        }

        .booking-title {
            color: #fffaf4;
        }

        .booking-copy {
            color: rgba(249, 244, 236, 0.72);
        }

        .booking-quote {
            border-color: rgba(231, 190, 130, 0.5);
            background: #d0a568;
            color: #1d2930;
            box-shadow: 0 18px 40px rgba(7, 19, 25, 0.24);
        }

        .booking-quote:hover,
        .booking-quote:focus-visible {
            border-color: #f0d2a5;
            background: #efd0a1;
            color: #17252d;
        }

        .booking-note {
            color: rgba(249, 244, 236, 0.52);
        }

        .site-footer {
            background:
                radial-gradient(circle at 50% 0%, rgba(208, 165, 104, 0.12), transparent 28rem),
                linear-gradient(180deg, #172a35 0%, #101f28 100%);
            color: #f8f3eb;
            border-top-color: rgba(255, 255, 255, 0.08);
        }

        .footer-quote {
            color: rgba(248, 243, 235, 0.92);
        }

        .footer-source,
        .footer-social {
            color: #d0a568;
        }

        .footer-social {
            border-color: rgba(208, 165, 104, 0.5);
        }

        .footer-contact a {
            color: rgba(248, 243, 235, 0.82);
        }

        /* Original brand palette — kept last so it governs the live homepage */
        body {
            background:
                radial-gradient(circle at 50% -10%, rgba(255, 249, 217, 0.86), transparent 38rem),
                linear-gradient(180deg, #f0ebb3 0%, #e8df9a 42%, #c7d0aa 100%);
            color: #3f4a30;
        }

        .site-header.is-solid {
            color: #83521a;
            background: rgba(240, 235, 179, 0.96);
            border-color: rgba(131, 82, 26, 0.16);
            box-shadow: 0 14px 34px rgba(54, 42, 18, 0.08);
        }

        .site-header.is-solid .nav-cta {
            --cta-rgb: 214, 167, 47;
            color: #3f3520;
            border-color: rgba(131, 82, 26, 0.34);
            box-shadow: 0 12px 28px rgba(214, 167, 47, 0.25);
        }

        .gallery-section {
            background:
                radial-gradient(ellipse at 12% 18%, rgba(255, 249, 217, 0.58), transparent 24rem),
                radial-gradient(ellipse at 88% 72%, rgba(177, 122, 32, 0.13), transparent 28rem),
                linear-gradient(180deg, #f0ebb3 0%, #e8df9a 58%, #d9d5a8 100%);
            border-top-color: rgba(131, 82, 26, 0.12);
        }

        .gallery-section::before {
            background: linear-gradient(90deg, transparent, #83521a, transparent);
        }

        .gallery-eyebrow,
        .gallery-heading {
            color: #83521a;
        }

        .gallery-heading {
            text-shadow: 0 8px 28px rgba(131, 82, 26, 0.09);
        }

        .gallery-lead {
            color: rgba(63, 74, 48, 0.76);
        }

        .gallery-portfolio-link {
            color: #3f4a30;
            border-color: rgba(131, 82, 26, 0.42);
        }

        .gallery-portfolio-link:hover,
        .gallery-portfolio-link:focus-visible {
            color: #83521a;
            border-color: #83521a;
        }

        .gallery-showcase::before,
        .gallery-showcase::after {
            border-color: rgba(131, 82, 26, 0.24);
        }

        .gallery-stage::before {
            border-color: rgba(131, 82, 26, 0.13);
            background:
                radial-gradient(circle at 48% 44%, rgba(255, 249, 217, 0.92), transparent 58%),
                rgba(214, 167, 47, 0.13);
            box-shadow: 0 28px 90px rgba(54, 42, 18, 0.1);
        }

        .gallery-stage::after {
            color: rgba(63, 74, 48, 0.52);
        }

        .paint-preview {
            border-color: rgba(255, 249, 217, 0.95);
            background: #f0ebb3;
            box-shadow: 0 18px 44px rgba(54, 42, 18, 0.16);
        }

        .carousel-control {
            border-color: rgba(131, 82, 26, 0.18);
            background: rgba(255, 249, 217, 0.95);
            color: #83521a;
            box-shadow: 0 10px 24px rgba(54, 42, 18, 0.14);
        }

        .carousel-control:hover,
        .carousel-control:focus-visible {
            background: #3f4a30;
            color: #fff9d9;
        }

        .carousel-dot::before {
            border-color: rgba(63, 74, 48, 0.56);
        }

        .carousel-dot[aria-current="true"]::before {
            background: #3f4a30;
            border-color: #3f4a30;
        }

        .booking-section {
            background:
                radial-gradient(ellipse at 10% 18%, rgba(255, 249, 217, 0.5), transparent 24rem),
                radial-gradient(ellipse at 90% 82%, rgba(177, 122, 32, 0.11), transparent 28rem),
                linear-gradient(180deg, #deddb0 0%, #c7d0aa 100%);
            color: #3f4a30;
        }

        .booking-section::before {
            background: rgba(131, 82, 26, 0.07);
        }

        .booking-inner {
            border-color: rgba(131, 82, 26, 0.18);
            background: linear-gradient(135deg, rgba(255, 249, 217, 0.72), rgba(240, 235, 179, 0.58));
            box-shadow: 0 30px 80px rgba(54, 42, 18, 0.13);
            color: #3f4a30;
        }

        .booking-kicker {
            color: #83521a;
        }

        .booking-title {
            color: #3f4a30;
        }

        .booking-copy {
            color: rgba(63, 74, 48, 0.75);
        }

        .booking-quote {
            border-color: rgba(131, 82, 26, 0.5);
            background: #83521a;
            color: #fff9d9;
            box-shadow: 0 18px 38px rgba(54, 42, 18, 0.18);
        }

        .booking-quote:hover,
        .booking-quote:focus-visible {
            border-color: #83521a;
            background: rgba(255, 249, 217, 0.92);
            color: #83521a;
        }

        .booking-note {
            color: rgba(63, 74, 48, 0.62);
        }

        .site-footer {
            background:
                radial-gradient(circle at 50% 0%, rgba(255, 249, 217, 0.5), transparent 34rem),
                linear-gradient(180deg, rgba(199, 208, 170, 0.9), rgba(240, 235, 179, 0.98));
            color: #3f4a30;
            border-top-color: rgba(131, 82, 26, 0.14);
        }

        .footer-quote {
            color: #3f4a30;
        }

        .footer-source,
        .footer-social {
            color: #83521a;
        }

        .footer-social {
            border-color: rgba(131, 82, 26, 0.38);
            background: rgba(255, 249, 217, 0.36);
        }

        .footer-contact a {
            color: rgba(63, 74, 48, 0.92);
        }

        .footer-contact a:hover,
        .footer-contact a:focus-visible,
        .footer-social:hover,
        .footer-social:focus-visible {
            color: #fff9d9;
        }
        /* Full-bleed exhibition — rebuilt from a clean slate */
        .art-gallery.gallery-section {
            --art-paper: #fff9d9;
            --art-parchment: #f0ebb3;
            --art-sage: #c7d0aa;
            --art-olive: #3f4a30;
            --art-earth: #83521a;
            --art-gold: #b17a20;
            position: relative;
            isolation: isolate;
            min-height: 100vh;
            min-height: 100svh;
            display: block;
            padding: clamp(82px, 7vw, 104px) 0 clamp(20px, 2.6vw, 34px);
            overflow: hidden;
            scroll-margin-top: 68px;
            color: var(--art-olive);
            background:
                radial-gradient(circle at 79% 18%, rgba(255, 255, 255, 0.78), transparent 32rem),
                radial-gradient(circle at 54% 104%, rgba(199, 208, 170, 0.26), transparent 32rem),
                repeating-linear-gradient(92deg, rgba(131, 82, 26, 0.018) 0 1px, transparent 1px 6px),
                linear-gradient(112deg, #fff9d9 0%, #f7f0c7 55%, #fff9e4 100%);
            border: 0;
        }

        .art-gallery.gallery-section::before {
            display: none;
        }

        .art-gallery-shell {
            position: relative;
            z-index: 2;
            width: min(100%, 1600px);
            min-height: calc(100vh - clamp(104px, 9vw, 138px));
            min-height: calc(100svh - clamp(104px, 9vw, 138px));
            margin: 0 auto;
            display: grid;
            grid-template-rows: minmax(0, 1fr) auto auto;
            align-content: stretch;
        }

        .art-gallery-brush {
            position: absolute;
            z-index: 0;
            display: block;
            pointer-events: none;
            mix-blend-mode: multiply;
        }

        .art-gallery-brush::before,
        .art-gallery-brush::after {
            content: '';
            position: absolute;
            inset: 0;
        }

        .art-gallery-brush--upper {
            top: -5%;
            left: -9%;
            width: clamp(300px, 38vw, 620px);
            height: clamp(330px, 56vh, 610px);
            opacity: 0.64;
            transform: rotate(-5deg);
            background:
                linear-gradient(132deg, rgba(214, 167, 47, 0.92) 0 31%, rgba(177, 122, 32, 0.63) 38%, transparent 65%);
            clip-path: polygon(0 0, 100% 0, 84% 5%, 94% 8%, 77% 12%, 88% 15%, 70% 20%, 82% 23%, 64% 29%, 75% 33%, 57% 40%, 68% 44%, 50% 52%, 61% 56%, 42% 65%, 53% 69%, 33% 78%, 44% 82%, 23% 91%, 34% 94%, 0 100%);
            filter: saturate(0.9) blur(0.25px);
        }

        .art-gallery-brush--upper::before {
            inset: 5% -2% 8% 3%;
            opacity: 0.5;
            background:
                linear-gradient(139deg, transparent 0 21%, rgba(255, 249, 217, 0.74) 21.3% 21.8%, transparent 22.1%),
                linear-gradient(137deg, transparent 0 36%, rgba(255, 249, 217, 0.58) 36.3% 36.8%, transparent 37.1%),
                linear-gradient(141deg, transparent 0 53%, rgba(255, 249, 217, 0.66) 53.3% 53.7%, transparent 54%),
                linear-gradient(134deg, transparent 0 69%, rgba(255, 249, 217, 0.48) 69.3% 69.7%, transparent 70%);
            clip-path: inherit;
        }

        .art-gallery-brush--upper::after {
            top: 31%;
            left: 22%;
            width: 94%;
            height: 25%;
            opacity: 0.72;
            transform: rotate(-8deg);
            background: linear-gradient(90deg, rgba(214, 167, 47, 0.74), rgba(177, 122, 32, 0.4) 55%, transparent);
            clip-path: polygon(0 31%, 100% 0, 82% 38%, 100% 47%, 73% 61%, 88% 72%, 0 100%);
        }

        .art-gallery-brush--lower {
            left: -12%;
            bottom: -11%;
            width: clamp(330px, 42vw, 680px);
            height: clamp(210px, 34vh, 380px);
            opacity: 0.58;
            transform: rotate(8deg);
            background:
                linear-gradient(20deg, rgba(214, 167, 47, 0.9), rgba(177, 122, 32, 0.52) 47%, transparent 76%);
            clip-path: polygon(0 0, 38% 9%, 28% 18%, 61% 24%, 49% 33%, 81% 39%, 62% 48%, 96% 57%, 73% 65%, 100% 76%, 54% 85%, 67% 93%, 0 100%);
        }

        .art-gallery-brush--lower::before {
            opacity: 0.4;
            background:
                linear-gradient(18deg, transparent 0 19%, rgba(255, 249, 217, 0.7) 19.4% 20%, transparent 20.4%),
                linear-gradient(14deg, transparent 0 42%, rgba(255, 249, 217, 0.62) 42.4% 43%, transparent 43.4%),
                linear-gradient(21deg, transparent 0 67%, rgba(255, 249, 217, 0.58) 67.4% 68%, transparent 68.4%);
        }

        .art-gallery-exhibition {
            position: relative;
            z-index: 2;
            width: 100%;
            min-height: 0;
            padding: 0 clamp(28px, 3.4vw, 58px);
            display: grid;
            grid-template-columns:
                minmax(205px, 0.74fr)
                minmax(110px, 0.5fr)
                54px
                minmax(350px, 1.45fr)
                54px
                minmax(110px, 0.5fr);
            align-items: center;
            column-gap: clamp(8px, 1vw, 16px);
        }

        .art-gallery-copy {
            grid-column: 1;
            align-self: center;
            max-width: 270px;
            padding-left: clamp(4px, 1vw, 14px);
        }

        .art-gallery-kicker {
            margin: 0 0 18px;
            font-family: var(--font-sans);
            font-size: 0.59rem;
            font-weight: 600;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: rgba(63, 74, 48, 0.62);
        }

        .art-gallery-title {
            margin: 0;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            font-family: var(--font-serif);
            font-size: clamp(2.75rem, 3.5vw, 4.15rem);
            font-weight: 400;
            line-height: 0.88;
            letter-spacing: -0.035em;
            text-transform: uppercase;
            color: var(--art-olive);
        }

        .art-gallery-title em {
            margin: 4px 0 3px;
            font-family: var(--font-serif);
            font-weight: 400;
            font-style: italic;
            color: var(--art-gold);
        }

        .art-gallery-title span:last-child {
            max-width: 5.8em;
        }

        .art-gallery-copy-stroke {
            display: block;
            width: 44px;
            height: 1px;
            margin: 24px 0 20px;
            background: rgba(131, 82, 26, 0.54);
        }

        .art-gallery-description {
            max-width: 25ch;
            margin: 0;
            font-family: var(--font-serif);
            font-size: clamp(1rem, 1.25vw, 1.18rem);
            line-height: 1.5;
            color: rgba(63, 74, 48, 0.78);
        }

        .art-gallery-collection-link {
            display: inline-flex;
            align-items: center;
            gap: 24px;
            margin-top: 28px;
            padding: 0 0 8px;
            position: relative;
            font-family: var(--font-sans);
            font-size: 0.59rem;
            font-weight: 600;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            text-decoration: none;
            color: var(--art-olive);
        }

        .art-gallery-collection-link::after {
            content: '';
            position: absolute;
            right: 32px;
            bottom: 0;
            left: 0;
            height: 2px;
            background: var(--art-gold);
            transform-origin: left;
            transition: transform 0.24s ease;
        }

        .art-gallery-collection-link:hover::after,
        .art-gallery-collection-link:focus-visible::after {
            transform: scaleX(1.18);
        }

        .art-gallery-collection-link:focus-visible {
            outline: 2px solid rgba(177, 122, 32, 0.72);
            outline-offset: 6px;
        }

        .art-gallery-side {
            position: relative;
            z-index: 1;
            width: 100%;
            height: clamp(300px, 43vh, 455px);
            padding: 0;
            overflow: hidden;
            border: 0;
            border-radius: 0;
            background: transparent;
            box-shadow: 0 22px 36px rgba(54, 42, 18, 0.2);
            cursor: pointer;
            transform-style: preserve-3d;
            transition: filter 0.24s ease, opacity 0.24s ease, transform 0.3s ease;
            -webkit-tap-highlight-color: transparent;
        }

        .art-gallery-side img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            object-position: center;
        }

        .art-gallery-side--prev {
            grid-column: 2;
            transform: perspective(960px) rotateY(24deg) translateX(4px) scale(0.96);
            transform-origin: right center;
            filter: saturate(0.76) brightness(0.95);
        }

        .art-gallery-side--next {
            grid-column: 6;
            transform: perspective(960px) rotateY(-24deg) translateX(-4px) scale(0.96);
            transform-origin: left center;
            filter: saturate(0.76) brightness(0.95);
        }

        .art-gallery-side--prev:hover,
        .art-gallery-side--prev:focus-visible {
            filter: saturate(0.94) brightness(1);
            transform: perspective(960px) rotateY(19deg) translateX(1px) scale(0.98);
            outline: none;
        }

        .art-gallery-side--next:hover,
        .art-gallery-side--next:focus-visible {
            filter: saturate(0.94) brightness(1);
            transform: perspective(960px) rotateY(-19deg) translateX(-1px) scale(0.98);
            outline: none;
        }

        .art-gallery-side-index {
            align-self: center;
            display: grid;
            justify-items: start;
            color: var(--art-olive);
        }

        .art-gallery-side-index--prev {
            grid-column: 3;
        }

        .art-gallery-side-index--next {
            grid-column: 5;
        }

        .art-gallery-side-index strong {
            font-family: var(--font-serif);
            font-size: clamp(2.25rem, 3vw, 3.45rem);
            font-weight: 400;
            line-height: 1;
        }

        .art-gallery-side-index > span {
            width: 34px;
            height: 2px;
            margin: 9px 0 13px;
            background: var(--art-gold);
        }

        .art-gallery-side-index small {
            font-family: var(--font-sans);
            font-size: 0.48rem;
            font-weight: 500;
            line-height: 1.65;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(63, 74, 48, 0.72);
        }

        .art-gallery-center {
            grid-column: 4;
            min-width: 0;
            align-self: center;
            position: relative;
            z-index: 4;
        }

        .art-gallery-carousel {
            width: 100%;
            height: clamp(390px, 53vh, 570px);
            position: relative;
            touch-action: pan-y;
        }

        .art-gallery-carousel:focus-visible {
            outline: 3px solid rgba(177, 122, 32, 0.68);
            outline-offset: 7px;
        }

        .art-gallery-window,
        .art-gallery-track,
        .art-gallery-slide {
            width: 100%;
            height: 100%;
        }

        .art-gallery-window {
            position: relative;
            overflow: hidden;
            background: var(--art-parchment);
            box-shadow:
                0 26px 38px rgba(54, 42, 18, 0.22),
                0 7px 14px rgba(54, 42, 18, 0.12);
            contain: paint;
        }

        .art-gallery-track {
            position: relative;
        }

        .art-gallery-slide {
            position: relative;
            overflow: hidden;
        }

        .art-gallery-image {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            object-position: center;
        }

        .art-gallery-image.is-active {
            z-index: 1;
            opacity: 1;
        }

        .art-gallery-image.is-incoming {
            z-index: 2;
            opacity: 0;
            transition: opacity 0.28s ease;
        }

        .art-gallery-slide.is-resetting .art-gallery-image.is-incoming {
            transition: none;
        }

        .art-gallery-slide.is-crossfading .art-gallery-image.is-incoming {
            opacity: 1;
        }

        .art-gallery-caption {
            padding-top: clamp(14px, 1.7vh, 20px);
            text-align: center;
            color: var(--art-olive);
        }

        .art-gallery-caption > p {
            margin: 0 0 2px;
            font-family: var(--font-sans);
            font-size: 0.5rem;
            font-weight: 600;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--art-gold);
        }

        .art-gallery-caption h3 {
            margin: 0;
            font-family: var(--font-serif);
            font-size: clamp(1.65rem, 2.2vw, 2.35rem);
            font-weight: 400;
            line-height: 1;
            letter-spacing: 0.045em;
            text-transform: uppercase;
            color: var(--art-olive);
        }

        .art-gallery-caption > div {
            margin-top: 7px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            font-family: var(--font-sans);
            font-size: 0.54rem;
            font-weight: 500;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            color: rgba(63, 74, 48, 0.74);
        }

        .art-gallery-caption > div i {
            font-style: normal;
            color: var(--art-gold);
        }

        .art-gallery-caption > a {
            width: fit-content;
            margin: 11px auto 0;
            padding-bottom: 4px;
            position: relative;
            display: flex;
            align-items: center;
            gap: 12px;
            font-family: var(--font-sans);
            font-size: 0.57rem;
            font-weight: 600;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            text-decoration: none;
            color: var(--art-olive);
        }

        .art-gallery-caption > a::after {
            content: '';
            position: absolute;
            right: 22px;
            bottom: 0;
            left: 0;
            height: 2px;
            background: var(--art-gold);
        }

        .art-gallery-caption > a b {
            font-size: 1.05rem;
            font-weight: 400;
        }

        .art-gallery-navigation {
            position: relative;
            z-index: 5;
            width: min(77%, 1010px);
            margin: clamp(4px, 1vh, 12px) clamp(34px, 4vw, 66px) 0 auto;
            display: grid;
            grid-template-columns: 72px minmax(0, 1fr) 72px;
            align-items: center;
            gap: clamp(18px, 2.3vw, 36px);
        }

        .art-gallery-arrow {
            width: 64px;
            height: 64px;
            padding: 0;
            display: grid;
            place-items: center;
            border: 0;
            border-radius: 50%;
            background: rgba(255, 249, 217, 0.94);
            color: var(--art-olive);
            box-shadow: 0 12px 22px rgba(54, 42, 18, 0.18);
            cursor: pointer;
            transition: transform 0.22s ease, background 0.22s ease, color 0.22s ease;
        }

        .art-gallery-arrow--next {
            justify-self: end;
            background: linear-gradient(135deg, #d6a72f, var(--art-gold));
            color: var(--art-paper);
        }

        .art-gallery-arrow:hover,
        .art-gallery-arrow:focus-visible {
            background: var(--art-olive);
            color: var(--art-paper);
            transform: translateY(-2px);
            outline: none;
        }

        .art-gallery-arrow svg {
            width: 31px;
            height: 31px;
            stroke: currentColor;
            stroke-width: 1.7;
            fill: none;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .art-gallery-timeline {
            position: relative;
            min-width: 0;
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            padding: 0;
        }

        .art-gallery-timeline::before {
            content: '';
            position: absolute;
            top: 14px;
            right: 14px;
            left: 14px;
            height: 1px;
            background: rgba(63, 74, 48, 0.5);
        }

        .art-gallery-dot {
            position: relative;
            z-index: 1;
            width: 30px;
            height: 42px;
            padding: 0;
            border: 0;
            background: transparent;
            color: rgba(63, 74, 48, 0.8);
            cursor: pointer;
        }

        .art-gallery-dot::before {
            content: '';
            position: absolute;
            top: 10px;
            left: 50%;
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background: rgba(63, 74, 48, 0.55);
            box-shadow: 0 0 0 4px var(--art-paper);
            transform: translateX(-50%);
            transition: transform 0.2s ease, background 0.2s ease;
        }

        .art-gallery-dot::after {
            content: attr(data-number);
            position: absolute;
            top: 27px;
            left: 50%;
            font-family: var(--font-sans);
            font-size: 0.48rem;
            letter-spacing: 0.04em;
            transform: translateX(-50%);
        }

        .art-gallery-dot[aria-current='true']::before {
            width: 14px;
            height: 14px;
            top: 7px;
            background: var(--art-gold);
        }

        .art-gallery-dot:focus-visible {
            outline: 2px solid rgba(177, 122, 32, 0.72);
            outline-offset: 2px;
        }

        .art-gallery-footer {
            position: relative;
            z-index: 4;
            padding: 5px clamp(34px, 4vw, 66px) 0;
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            align-items: end;
            color: var(--art-olive);
        }

        .art-gallery-palette {
            justify-self: start;
            margin: 0;
            display: inline-flex;
            align-items: center;
            gap: 11px;
            font-family: var(--font-sans);
            font-size: 0.53rem;
            font-weight: 600;
            letter-spacing: 0.14em;
            text-transform: uppercase;
        }

        .art-gallery-palette b {
            width: 42px;
            height: 42px;
            display: grid;
            place-items: center;
            border-radius: 50%;
            background: rgba(214, 167, 47, 0.78);
            font-family: Georgia, serif;
            font-size: 1.42rem;
            font-weight: 400;
        }

        .art-gallery-count {
            margin: 0;
            display: flex;
            align-items: baseline;
            gap: 6px;
            font-family: var(--font-serif);
            color: rgba(63, 74, 48, 0.78);
        }

        .art-gallery-count span:first-child {
            font-size: 1.42rem;
            color: var(--art-gold);
        }

        .art-gallery-count i {
            font-style: normal;
            font-size: 0.8rem;
        }

        .art-gallery-count span:last-child {
            font-size: 0.9rem;
        }

        .art-gallery-socials {
            justify-self: end;
            display: flex;
            align-items: center;
            gap: 18px;
        }

        .art-gallery-socials a {
            width: 30px;
            height: 30px;
            display: grid;
            place-items: center;
            color: var(--art-olive);
            text-decoration: none;
            transition: color 0.2s ease, transform 0.2s ease;
        }

        .art-gallery-socials a:hover,
        .art-gallery-socials a:focus-visible {
            color: var(--art-gold);
            transform: translateY(-2px);
            outline: none;
        }

        .art-gallery-socials svg {
            width: 23px;
            height: 23px;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.7;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        @media (max-width: 1100px) {
            .art-gallery-exhibition {
                padding-inline: 24px;
                grid-template-columns:
                    minmax(185px, 0.7fr)
                    minmax(96px, 0.44fr)
                    46px
                    minmax(320px, 1.35fr)
                    46px
                    minmax(96px, 0.44fr);
                column-gap: 8px;
            }

            .art-gallery-title {
                font-size: clamp(2.55rem, 4vw, 3.4rem);
            }

            .art-gallery-side-index small {
                font-size: 0.43rem;
            }

            .art-gallery-navigation {
                width: 80%;
                margin-right: 24px;
            }
        }

        @media (max-width: 880px) {
            .art-gallery.gallery-section {
                min-height: auto;
                padding: 88px 0 28px;
            }

            .art-gallery-shell {
                min-height: auto;
                display: block;
            }

            .art-gallery-brush--upper {
                left: -24%;
                width: 74vw;
                height: 48vh;
                opacity: 0.48;
            }

            .art-gallery-brush--lower {
                left: -28%;
                width: 76vw;
                opacity: 0.44;
            }

            .art-gallery-exhibition {
                width: 100%;
                min-height: 0;
                padding: 0 22px;
                display: grid;
                grid-template-columns: 1fr;
                row-gap: 30px;
                justify-items: center;
            }

            .art-gallery-copy {
                grid-column: 1;
                grid-row: 1;
                max-width: 570px;
                padding: 0;
                text-align: center;
            }

            .art-gallery-title {
                align-items: center;
                font-size: clamp(3.15rem, 9vw, 4.9rem);
            }

            .art-gallery-title span:last-child {
                max-width: none;
            }

            .art-gallery-copy-stroke {
                margin-inline: auto;
            }

            .art-gallery-description {
                max-width: 43ch;
                margin-inline: auto;
            }

            .art-gallery-center {
                grid-column: 1;
                grid-row: 2;
                width: min(70vw, 480px);
                z-index: 4;
            }

            .art-gallery-carousel {
                height: min(86vw, 570px);
            }

            .art-gallery-side {
                position: absolute;
                top: 48%;
                z-index: 1;
                width: min(28vw, 195px);
                height: min(57vw, 390px);
                opacity: 0.64;
            }

            .art-gallery-side--prev {
                left: -7vw;
                transform: perspective(900px) rotateY(25deg);
            }

            .art-gallery-side--next {
                right: -7vw;
                transform: perspective(900px) rotateY(-25deg);
            }

            .art-gallery-side-index {
                display: none;
            }

            .art-gallery-navigation {
                width: calc(100% - 32px);
                margin: 20px 16px 0;
                grid-template-columns: 60px minmax(0, 1fr) 60px;
                gap: 14px;
            }

            .art-gallery-arrow {
                width: 56px;
                height: 56px;
            }

            .art-gallery-footer {
                margin-top: 18px;
                padding-inline: 24px;
            }
        }

        @media (max-width: 600px) {
            .art-gallery.gallery-section {
                padding-top: 82px;
            }

            .art-gallery-exhibition {
                padding-inline: 16px;
                row-gap: 24px;
            }

            .art-gallery-kicker {
                margin-bottom: 13px;
                font-size: 0.52rem;
            }

            .art-gallery-title {
                font-size: clamp(2.85rem, 14.5vw, 4.05rem);
            }

            .art-gallery-description {
                font-size: 1.02rem;
            }

            .art-gallery-collection-link {
                margin-top: 22px;
            }

            .art-gallery-center {
                width: min(74vw, 350px);
            }

            .art-gallery-carousel {
                height: min(102vw, 470px);
            }

            .art-gallery-side {
                top: 53%;
                width: 34vw;
                height: 61vw;
                opacity: 0.48;
            }

            .art-gallery-side--prev {
                left: -15vw;
            }

            .art-gallery-side--next {
                right: -15vw;
            }

            .art-gallery-caption h3 {
                font-size: clamp(1.5rem, 7vw, 1.95rem);
            }

            .art-gallery-caption > div {
                gap: 7px;
                font-size: 0.48rem;
            }

            .art-gallery-navigation {
                width: calc(100% - 20px);
                margin-inline: 10px;
                grid-template-columns: 50px minmax(0, 1fr) 50px;
                gap: 6px;
            }

            .art-gallery-arrow {
                width: 48px;
                height: 48px;
            }

            .art-gallery-arrow svg {
                width: 25px;
                height: 25px;
            }

            .art-gallery-dot {
                width: 22px;
            }

            .art-gallery-dot::after {
                display: none;
            }

            .art-gallery-timeline::before {
                right: 10px;
                left: 10px;
            }

            .art-gallery-footer {
                grid-template-columns: 1fr auto;
                padding: 14px 18px 0;
            }

            .art-gallery-palette {
                display: none;
            }

            .art-gallery-count {
                justify-self: start;
            }

            .art-gallery-socials {
                justify-self: end;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .art-gallery-image.is-incoming,
            .art-gallery-side,
            .art-gallery-arrow,
            .art-gallery-socials a {
                transition: none;
            }
        }
