

                :root {
            --bg: #171312;
            --bg-soft: #211a19;
            --bg-card: #302725;
            --bg-card-2: #4D4343;

            --cream: #F9F1E7;
            --cream-soft: #FEEEDC;
            --muted: #C6B1A0;

            --gold: #A0836A;
            --gold-light: #C2A58B;

            --burgundy: #3F1116;
            --burgundy-light: #60242A;
            --burgundy-dark: #2A0B0F;

            --border: rgba(249, 241, 231, 0.14);
            --border-gold: rgba(160, 131, 106, 0.48);

            --shadow: 0 25px 80px rgba(0,0,0,0.35);
            --radius: 4px;
            --max-width: 1380px;
            --transition: 0.45s cubic-bezier(.22,.61,.36,1);
        }

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

        html {
            scroll-behavior: smooth;
        }

        body {
            background: var(--bg);
            color: var(--cream);
            font-family: "DM Sans", sans-serif;
            overflow-x: hidden;
        }

        body.sound-on {
            --sound-opacity: 1;
        }

        body.no-scroll {
            overflow: hidden;
        }

        img {
            width: 100%;
            display: block;
            object-fit: cover;
        }

        button,
        input,
        select,
        textarea {
            font: inherit;
        }

        button {
            cursor: pointer;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        ::selection {
            background: var(--burgundy);
            color: white;
        }

        ::-webkit-scrollbar {
            width: 8px;
        }

        ::-webkit-scrollbar-track {
            background: #110e0d;
        }

        ::-webkit-scrollbar-thumb {
            background: var(--burgundy);
            border-radius: 20px;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: var(--gold);
        }

        .loader {
            position: fixed;
            inset: 0;
            z-index: 99999;
            background: #151211;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: opacity .8s ease, visibility .8s ease;
        }

        .loader.hidden {
            opacity: 0;
            visibility: hidden;
        }

        .loader-inner {
            text-align: center;
        }

        .loader-mark {
            width: 65px;
            height: 65px;
            border: 1px solid var(--gold);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 20px;
            color: var(--gold);
            font-family: "Cormorant Garamond", serif;
            font-size: 32px;
        }

        .loader-text {
            font-size: 9px;
            letter-spacing: 5px;
            color: var(--muted);
            text-transform: uppercase;
        }

        .container {
            width: min(var(--max-width), calc(100% - 50px));
            margin: 0 auto;
        }

        .section {
            padding: 130px 0;
            position: relative;
        }

        .section-small {
            padding: 90px 0;
        }

        .eyebrow {
            display: flex;
            align-items: center;
            gap: 13px;
            color: var(--gold);
            font-size: 10px;
            font-weight: 600;
            letter-spacing: 4px;
            text-transform: uppercase;
        }

        .eyebrow::before {
            content: "";
            width: 28px;
            height: 1px;
            background: var(--gold);
        }

        .section-title {
            font-family: "Cormorant Garamond", serif;
            font-weight: 500;
            font-size: clamp(55px, 7vw, 105px);
            line-height: .87;
            letter-spacing: -4px;
        }

        .section-title span {
            color: var(--gold-light);
            font-style: italic;
        }

        .section-description {
            color: var(--muted);
            font-size: 15px;
            line-height: 1.9;
            max-width: 510px;
        }

        .gold {
            color: var(--gold);
        }

        .burgundy {
            color: var(--burgundy-light);
        }

        .reveal {
            opacity: 0;
            transform: translateY(35px);
            transition:
                    opacity 1s cubic-bezier(.22,.61,.36,1),
                    transform 1s cubic-bezier(.22,.61,.36,1);
        }

        .reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .reveal-delay-1 {
            transition-delay: .1s;
        }

        .reveal-delay-2 {
            transition-delay: .2s;
        }

        .reveal-delay-3 {
            transition-delay: .3s;
        }

        .reveal-delay-4 {
            transition-delay: .4s;
        }

        .header {
            height: 82px;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 5000;
            background: rgba(21,18,17,.88);
            backdrop-filter: blur(20px);
            border-bottom: 1px solid rgba(244,234,220,.08);
            transition: .35s ease;
        }

        .header.scrolled {
            height: 70px;
            background: rgba(16,13,12,.96);
        }

        .nav {
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .logo {
            display: flex;
            align-items: center;
            gap: 12px;
            min-width: 180px;
        }

        .logo-circle {
            width: 46px;
            height: 46px;
            border: 1px solid var(--gold);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--gold);
            font-family: "Cormorant Garamond", serif;
            font-size: 25px;
        }

        .logo-text strong {
            display: block;
            font-family: "Cormorant Garamond", serif;
            font-size: 28px;
            font-weight: 500;
            letter-spacing: 2px;
            line-height: .8;
        }

        .logo-text small {
            display: block;
            color: var(--gold);
            font-size: 7px;
            letter-spacing: 4px;
            margin-top: 7px;
        }

        .nav-links {
            display: flex;
            align-items: center;
            gap: 31px;
        }

        .nav-link {
            position: relative;
            color: var(--cream-soft);
            font-size: 13px;
            transition: .3s ease;
        }

        .nav-link::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: -7px;
            width: 0;
            height: 1px;
            background: var(--gold);
            transition: .3s ease;
        }

        .nav-link:hover {
            color: white;
        }

        .nav-link:hover::after {
            width: 100%;
        }

        .nav-actions {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .language-switch {
            display: flex;
            border: 1px solid var(--border);
            border-radius: 50px;
            overflow: hidden;
        }

        .lang-btn {
            background: transparent;
            border: 0;
            color: var(--muted);
            padding: 9px 12px;
            font-size: 10px;
            transition: .3s ease;
        }

        .lang-btn.active {
            background: var(--burgundy);
            color: white;
        }

        .sound-toggle {
            height: 43px;
            min-width: 43px;
            padding: 0 15px;
            border-radius: 50px;
            border: 1px solid var(--border);
            background: transparent;
            color: var(--cream);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            transition: .3s ease;
        }

        .sound-toggle:hover {
            border-color: var(--gold);
            color: var(--gold);
        }

        .sound-icon {
            font-size: 14px;
        }

        .sound-label {
            font-size: 10px;
            letter-spacing: 1px;
            display: none;
        }

        .order-btn {
            background: var(--gold);
            color: #1c1614;
            border: 0;
            padding: 13px 24px;
            border-radius: 50px;
            font-size: 12px;
            font-weight: 700;
            transition: .3s ease;
        }

        .order-btn:hover {
            background: var(--gold-light);
            transform: translateY(-2px);
        }

        .mobile-menu-btn {
            display: none;
            width: 44px;
            height: 44px;
            background: transparent;
            border: 1px solid var(--border);
            color: white;
            border-radius: 50%;
        }

        .hero {
            min-height: 100vh;
            position: relative;
            display: flex;
            align-items: center;
            overflow: hidden;
        }

        .hero-background {
            position: absolute;
            inset: 0;
            background:
                    linear-gradient(
                            90deg,
                            rgba(21,18,17,.95) 0%,
                            rgba(21,18,17,.72) 40%,
                            rgba(21,18,17,.18) 80%
                    ),
                    url("https://images.unsplash.com/photo-1445116572660-236099ec97a0?auto=format&fit=crop&w=2200&q=90")
                    center/cover;
            transform: scale(1.04);
            animation: heroZoom 12s ease forwards;
        }

        @keyframes heroZoom {
            from {
                transform: scale(1.08);
            }
            to {
                transform: scale(1);
            }
        }

        .hero::after {
            content: "";
            position: absolute;
            inset: 0;
            background:
                    radial-gradient(circle at 75% 35%, rgba(220,166,92,.11), transparent 30%),
                    linear-gradient(to bottom, transparent 70%, var(--bg) 100%);
            pointer-events: none;
        }

        .hero-content {
            position: relative;
            z-index: 2;
            padding-top: 70px;
            max-width: 700px;
        }

        .hero-eyebrow {
            margin-bottom: 25px;
        }

        .hero-title {
            font-family: "Cormorant Garamond", serif;
            font-size: clamp(75px, 10vw, 145px);
            line-height: .78;
            font-weight: 500;
            letter-spacing: -6px;
        }

        .hero-title span {
            display: block;
            color: var(--gold-light);
            font-style: italic;
        }

        .hero-description {
            max-width: 550px;
            margin-top: 32px;
            color: #d0c0b2;
            font-size: 16px;
            line-height: 1.8;
        }

        .hero-buttons {
            margin-top: 38px;
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .primary-btn {
            padding: 15px 27px;
            background: var(--burgundy);
            border: 1px solid var(--burgundy);
            color: white;
            border-radius: 50px;
            font-size: 12px;
            transition: .35s ease;
        }

        .primary-btn:hover {
            background: var(--burgundy-light);
            transform: translateY(-3px);
        }

        .outline-btn {
            padding: 15px 27px;
            background: transparent;
            border: 1px solid var(--border-gold);
            color: var(--cream);
            border-radius: 50px;
            font-size: 12px;
            transition: .35s ease;
        }

        .outline-btn:hover {
            background: rgba(220,166,92,.08);
        }

        .hero-note {
            position: absolute;
            right: 6%;
            bottom: 100px;
            z-index: 3;
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .hero-note-line {
            width: 45px;
            height: 1px;
            background: var(--gold);
        }

        .hero-note span {
            color: var(--cream-soft);
            font-family: "Cormorant Garamond", serif;
            font-size: 18px;
            font-style: italic;
        }

        .features {
            border-top: 1px solid var(--border);
            border-bottom: 1px solid var(--border);
            background: #1a1513;
        }

        .feature-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
        }

        .feature {
            padding: 35px 30px;
            border-right: 1px solid var(--border);
            text-align: center;
        }

        .feature:last-child {
            border-right: 0;
        }

        .feature-icon {
            font-size: 24px;
            color: var(--gold);
            margin-bottom: 13px;
        }

        .feature-title {
            font-size: 12px;
            font-weight: 600;
            letter-spacing: 1px;
            margin-bottom: 7px;
        }

        .feature-text {
            color: var(--muted);
            font-size: 11px;
        }

        .menu-header {
            display: grid;
            grid-template-columns: 1fr .7fr;
            gap: 80px;
            align-items: end;
            margin-bottom: 55px;
        }

        .menu-header-right {
            padding-bottom: 8px;
        }

        .filters {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-bottom: 45px;
        }

        .filter-btn {
            background: transparent;
            color: var(--cream-soft);
            border: 1px solid var(--border);
            padding: 12px 24px;
            border-radius: 50px;
            font-size: 12px;
            transition: .3s ease;
        }

        .filter-btn:hover {
            background: rgba(239, 220, 190, .12);
            color: var(--cream);
            border-color: var(--cream-soft);
        }

        .filter-btn.active {
            background: var(--burgundy);
            border-color: var(--burgundy);
            color: white;
        }

        .menu-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 22px;
        }

        .menu-card {
            background: var(--bg-card);
            border: 1px solid var(--border);
            overflow: hidden;
            position: relative;
            transition:
                    transform .45s cubic-bezier(.22,.61,.36,1),
                    border-color .45s ease,
                    box-shadow .45s ease;
        }

        .menu-card:hover {
            transform: translateY(-8px);
            border-color: var(--border-gold);
            box-shadow: var(--shadow);
        }

        .menu-image-wrap {
            position: relative;
            aspect-ratio: 1 / .84;
            overflow: hidden;
            background: #25201d;
        }

        .menu-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .8s cubic-bezier(.22,.61,.36,1);
        }

        .menu-card:hover .menu-image {
            transform: scale(1.07);
        }

        .menu-tag {
            position: absolute;
            top: 18px;
            left: 18px;
            padding: 8px 13px;
            border: 1px solid rgba(255,255,255,.2);
            background: rgba(18,15,14,.78);
            backdrop-filter: blur(8px);
            color: white;
            border-radius: 50px;
            font-size: 9px;
            letter-spacing: 2px;
            text-transform: uppercase;
        }

        .menu-info {
            padding: 25px;
            min-height: 205px;
            display: flex;
            flex-direction: column;
        }

        .menu-name {
            font-family: "Cormorant Garamond", serif;
            font-size: 28px;
            font-weight: 500;
            margin-bottom: 9px;
        }

        .menu-description {
            color: var(--muted);
            font-size: 12px;
            line-height: 1.65;
        }

        .menu-bottom {
            margin-top: auto;
            padding-top: 25px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .menu-price {
            color: var(--gold-light);
            font-size: 17px;
            font-weight: 600;
        }

        .add-btn {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: var(--burgundy);
            color: white;
            border: 1px solid rgba(255,255,255,.35);
            font-size: 20px;
            line-height: 1;
            transition: .3s ease;
        }

        .add-btn:hover {
            background: var(--gold);
            color: #1c1614;
            transform: rotate(90deg);
        }

        .ritual {
            background:
                    linear-gradient(90deg, rgba(21,18,17,.97), rgba(21,18,17,.74)),
                    url("https://images.unsplash.com/photo-1445116572660-236099ec97a0?auto=format&fit=crop&w=2200&q=85")
                    center/cover fixed;
        }

        .ritual-grid {
            display: grid;
            grid-template-columns: .85fr 1.15fr;
            gap: 100px;
            align-items: center;
        }

        .ritual-content {
            max-width: 600px;
        }

        .ritual-title {
            margin-top: 25px;
        }

        .ritual-text {
            margin-top: 30px;
        }

        .ritual-steps {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 15px;
            margin-top: 45px;
        }

        .ritual-step {
            border-top: 1px solid var(--border-gold);
            padding-top: 18px;
        }

        .step-number {
            color: var(--gold);
            font-family: "Cormorant Garamond", serif;
            font-size: 30px;
        }

        .step-title {
            margin-top: 6px;
            font-size: 12px;
            font-weight: 600;
        }

        .step-text {
            color: var(--muted);
            font-size: 10px;
            line-height: 1.6;
            margin-top: 5px;
        }

        .ritual-visual {
            position: relative;
        }

        .ritual-image {
            aspect-ratio: 1 / .82;
            object-fit: cover;
            border: 1px solid var(--border);
        }

        .ritual-badge {
            position: absolute;
            bottom: -35px;
            left: -35px;
            width: 145px;
            height: 145px;
            border-radius: 50%;
            background: var(--burgundy);
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 25px;
            border: 1px solid rgba(255,255,255,.2);
        }

        .ritual-badge span {
            font-family: "Cormorant Garamond", serif;
            font-size: 20px;
            font-style: italic;
        }

        .story-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 90px;
            align-items: center;
        }

        .story-image-wrap {
            position: relative;
        }

        .story-image {
            aspect-ratio: .88 / 1;
        }

        .story-stamp {
            position: absolute;
            right: -30px;
            bottom: 30px;
            width: 125px;
            height: 125px;
            border: 1px solid var(--gold);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            background: rgba(21,18,17,.9);
        }

        .story-stamp span {
            color: var(--gold);
            font-family: "Cormorant Garamond", serif;
            font-style: italic;
            font-size: 18px;
        }

        .story-content .section-title {
            margin-top: 22px;
        }

        .story-text {
            margin-top: 35px;
        }

        .story-points {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 25px;
            margin-top: 40px;
        }

        .story-point {
            border-top: 1px solid var(--border);
            padding-top: 18px;
        }

        .story-point-title {
            color: var(--gold);
            font-size: 11px;
            letter-spacing: 1px;
        }

        .story-point-text {
            margin-top: 6px;
            color: var(--muted);
            font-size: 11px;
            line-height: 1.6;
        }

        .gallery-header {
            display: flex;
            align-items: end;
            justify-content: space-between;
            margin-bottom: 50px;
        }

        .gallery-grid {
            display: grid;
            grid-template-columns: 1.25fr .8fr .8fr;
            grid-template-rows: 270px 270px;
            gap: 12px;
        }

        .gallery-item {
            overflow: hidden;
            position: relative;
            border: 1px solid var(--border);
        }

        .gallery-item:first-child {
            grid-row: 1 / 3;
        }

        .gallery-item:nth-child(4) {
            grid-column: 2 / 4;
        }

        .gallery-item img {
            width: 100%;
            height: 100%;
            transition: transform 1s cubic-bezier(.22,.61,.36,1);
        }

        .gallery-item:hover img {
            transform: scale(1.06);
        }

        .gallery-caption {
            position: absolute;
            left: 20px;
            bottom: 18px;
            padding: 8px 13px;
            background: rgba(21,18,17,.75);
            backdrop-filter: blur(10px);
            font-size: 10px;
            letter-spacing: 1px;
        }

        .team {
            background: #1b1614;
        }

        .team-header {
            display: grid;
            grid-template-columns: 1fr .7fr;
            gap: 60px;
            align-items: end;
            margin-bottom: 55px;
        }

        .team-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
        }

        .team-card {
            border: 1px solid var(--border);
            background: var(--bg-card);
        }

        .team-image {
            aspect-ratio: .82 / 1;
            object-fit: cover;
            filter: saturate(.78);
            transition: .6s ease;
        }

        .team-card:hover .team-image {
            filter: saturate(1);
            transform: scale(1.025);
        }

        .team-info {
            padding: 20px;
        }

        .team-name {
            font-family: "Cormorant Garamond", serif;
            font-size: 25px;
        }

        .team-role {
            color: var(--gold);
            font-size: 9px;
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-top: 6px;
        }

        .journal-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 25px;
        }

        .article-card {
            border-top: 1px solid var(--border);
            padding-top: 20px;
        }

        .article-date {
            color: var(--gold);
            font-size: 9px;
            letter-spacing: 2px;
            text-transform: uppercase;
        }

        .article-title {
            margin-top: 17px;
            font-family: "Cormorant Garamond", serif;
            font-size: 30px;
            line-height: 1;
        }

        .article-text {
            color: var(--muted);
            font-size: 11px;
            line-height: 1.7;
            margin-top: 15px;
        }

        .article-link {
            display: inline-block;
            color: var(--gold);
            font-size: 10px;
            margin-top: 20px;
        }

        .contact {
            background: #1b1614;
        }

        .contact-grid {
            display: grid;
            grid-template-columns: .7fr 1.3fr;
            gap: 100px;
        }

        .contact-left .section-title {
            margin-top: 20px;
        }

        .contact-description {
            margin-top: 28px;
        }

        .contact-details {
            margin-top: 40px;
        }

        .contact-row {
            padding: 20px 0;
            border-bottom: 1px solid var(--border);
            display: grid;
            grid-template-columns: 100px 1fr;
            gap: 20px;
        }

        .contact-label {
            color: var(--gold);
            font-size: 11px;
        }

        .contact-value {
            color: var(--cream-soft);
            font-size: 13px;
        }

        .contact-form {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 28px 18px;
        }

        .form-group {
            display: flex;
            flex-direction: column;
            gap: 9px;
        }

        .form-group.full {
            grid-column: 1 / -1;
        }

        .form-label {
            color: var(--cream-soft);
            font-size: 9px;
            text-transform: uppercase;
            letter-spacing: 3px;
        }

        .form-input,
        .form-select,
        .form-textarea {
            width: 100%;
            background: #25201d;
            border: 1px solid var(--border);
            color: white;
            padding: 18px;
            outline: none;
            transition: .3s ease;
        }

        .form-input:focus,
        .form-select:focus,
        .form-textarea:focus {
            border-color: var(--gold);
        }

        .form-textarea {
            min-height: 170px;
            resize: vertical;
        }

        .form-select option {
            background: #25201d;
        }

        .submit-btn {
            grid-column: 1 / -1;
            border: 0;
            background: var(--burgundy);
            color: white;
            padding: 17px;
            border-radius: 50px;
            font-size: 12px;
            font-weight: 600;
            transition: .3s ease;
        }

        .submit-btn:hover {
            background: var(--burgundy-light);
        }

        .map-section {
            padding-top: 0;
        }

        .map-wrapper {
            height: 420px;
            position: relative;
            overflow: hidden;
            border: 1px solid var(--border);
            background:
                    linear-gradient(rgba(27,22,20,.4), rgba(27,22,20,.4)),
                    url("https://images.unsplash.com/photo-1523731407965-2430cd12f5e4?auto=format&fit=crop&w=1800&q=80")
                    center/cover;
        }

        .map-overlay {
            position: absolute;
            left: 35px;
            bottom: 35px;
            background: rgba(21,18,17,.94);
            border: 1px solid var(--border-gold);
            padding: 25px 30px;
            max-width: 320px;
        }

        .map-title {
            font-family: "Cormorant Garamond", serif;
            font-size: 27px;
        }

        .map-address {
            color: var(--muted);
            font-size: 11px;
            margin-top: 7px;
        }

        .map-link {
            display: inline-block;
            margin-top: 18px;
            color: var(--gold);
            font-size: 10px;
            letter-spacing: 1px;
        }

        .footer {
            border-top: 1px solid var(--border);
            padding: 70px 0 30px;
            background: #120f0e;
        }

        .footer-top {
            display: grid;
            grid-template-columns: 1.2fr .8fr .8fr .8fr;
            gap: 50px;
            padding-bottom: 60px;
        }

        .footer-brand p {
            max-width: 300px;
            color: var(--muted);
            font-size: 11px;
            line-height: 1.8;
            margin-top: 20px;
        }

        .footer-title {
            color: var(--gold);
            font-size: 9px;
            text-transform: uppercase;
            letter-spacing: 3px;
            margin-bottom: 20px;
        }

        .footer-links {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .footer-links a {
            color: var(--muted);
            font-size: 11px;
            transition: .3s ease;
        }

        .footer-links a:hover {
            color: var(--cream);
        }

        .footer-bottom {
            padding-top: 25px;
            border-top: 1px solid var(--border);
            display: flex;
            align-items: center;
            justify-content: space-between;
            color: #695c54;
            font-size: 9px;
        }

        .footer-socials {
            display: flex;
            gap: 18px;
        }

        .cart-button {
            position: fixed;
            right: 25px;
            bottom: 25px;
            z-index: 4000;
            width: 65px;
            height: 65px;
            border: 0;
            border-radius: 50%;
            background: var(--gold);
            color: #1c1614;
            box-shadow: 0 15px 40px rgba(0,0,0,.4);
            font-size: 20px;
        }

        .cart-count {
            position: absolute;
            right: -2px;
            top: -2px;
            width: 23px;
            height: 23px;
            border-radius: 50%;
            background: var(--burgundy);
            color: white;
            font-size: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .cart-panel {
            position: fixed;
            top: 0;
            right: -440px;
            width: min(420px, 92vw);
            height: 100vh;
            z-index: 8000;
            background: #1b1614;
            border-left: 1px solid var(--border);
            padding: 30px;
            transition: right .5s cubic-bezier(.22,.61,.36,1);
            box-shadow: -20px 0 60px rgba(0,0,0,.35);
        }

        .cart-panel.open {
            right: 0;
        }

        .cart-overlay {
            position: fixed;
            inset: 0;
            z-index: 7900;
            background: rgba(0,0,0,.55);
            opacity: 0;
            visibility: hidden;
            transition: .35s ease;
        }

        .cart-overlay.open {
            opacity: 1;
            visibility: visible;
        }

        .cart-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding-bottom: 20px;
            border-bottom: 1px solid var(--border);
        }

        .cart-title {
            font-family: "Cormorant Garamond", serif;
            font-size: 34px;
        }

        .cart-close {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: transparent;
            border: 1px solid var(--border);
            color: white;
        }

        .cart-items {
            margin-top: 25px;
            max-height: 58vh;
            overflow-y: auto;
        }

        .cart-item {
            display: grid;
            grid-template-columns: 60px 1fr auto;
            gap: 12px;
            align-items: center;
            padding: 14px 0;
            border-bottom: 1px solid var(--border);
        }

        .cart-item img {
            width: 60px;
            height: 60px;
            object-fit: cover;
        }

        .cart-item-name {
            font-size: 12px;
        }

        .cart-item-price {
            color: var(--gold);
            font-size: 11px;
            margin-top: 5px;
        }

        .remove-item {
            color: var(--muted);
            background: transparent;
            border: 0;
        }

        .cart-total {
            margin-top: 25px;
            display: flex;
            justify-content: space-between;
            font-family: "Cormorant Garamond", serif;
            font-size: 26px;
        }

        .checkout-btn {
            width: 100%;
            margin-top: 20px;
            padding: 15px;
            border: 0;
            background: var(--burgundy);
            color: white;
            border-radius: 50px;
        }

        .cookie-banner {
            position: fixed;
            left: 25px;
            bottom: 25px;
            width: min(520px, calc(100% - 50px));
            z-index: 9000;
            background: rgba(29,24,22,.97);
            border: 1px solid var(--border-gold);
            padding: 23px;
            box-shadow: var(--shadow);
            transform: translateY(140%);
            transition: transform .6s cubic-bezier(.22,.61,.36,1);
        }

        .cookie-banner.show {
            transform: translateY(0);
        }

        .cookie-title {
            font-family: "Cormorant Garamond", serif;
            font-size: 25px;
        }

        .cookie-text {
            color: var(--muted);
            font-size: 13px;
            line-height: 1.7;
            margin-top: 8px;
            max-width: 58ch;
        }

        .cookie-buttons {
            display: flex;
            gap: 10px;
            margin-top: 17px;
        }

        .cookie-btn {
            padding: 11px 20px;
            border-radius: 50px;
            font-size: 12px;
            cursor: pointer;
            transition: transform .2s ease, background .2s ease;
        }

        .cookie-btn:hover {
            transform: translateY(-1px);
        }

        @media (max-width: 520px) {
            .cookie-banner {
                left: 12px;
                bottom: 12px;
                width: calc(100% - 24px);
                padding: 18px;
            }
            .cookie-title { font-size: 23px; }
            .cookie-text { font-size: 12px; }
        }

        .cookie-accept {
            background: var(--gold);
            color: #1c1614;
            border: 1px solid var(--gold);
        }

        .cookie-settings {
            background: transparent;
            border: 1px solid var(--border);
            color: var(--cream);
        }

        .sound-hint {
            position: fixed;
            right: 25px;
            bottom: 105px;
            z-index: 3500;
            background: rgba(21,18,17,.94);
            border: 1px solid var(--border-gold);
            padding: 13px 17px;
            color: var(--muted);
            font-size: 9px;
            opacity: 0;
            pointer-events: none;
            transform: translateY(10px);
            transition: .5s ease;
        }

        .sound-hint.show {
            opacity: 1;
            transform: translateY(0);
        }

        .toast {
            position: fixed;
            top: 105px;
            right: 25px;
            z-index: 9990;
            background: var(--burgundy);
            color: white;
            padding: 14px 20px;
            border-radius: 3px;
            font-size: 11px;
            opacity: 0;
            transform: translateY(-20px);
            pointer-events: none;
            transition: .4s ease;
        }

        .toast.show {
            opacity: 1;
            transform: translateY(0);
        }

        .mobile-nav {
            position: fixed;
            inset: 0;
            z-index: 4500;
            background: #151211;
            padding: 120px 30px 40px;
            transform: translateX(100%);
            transition: transform .5s cubic-bezier(.22,.61,.36,1);
        }

        .mobile-nav.open {
            transform: translateX(0);
        }

        .mobile-nav a {
            display: block;
            font-family: "Cormorant Garamond", serif;
            font-size: 43px;
            padding: 12px 0;
            border-bottom: 1px solid var(--border);
        }

        @media (max-width: 1200px) {
            .container {
                width: min(1100px, calc(100% - 40px));
            }
            .nav-links {
                gap: 18px;
            }
            .menu-grid {
                grid-template-columns: repeat(3, 1fr);
            }
            .team-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .footer-top {
                grid-template-columns: 1fr 1fr;
            }
        }

        @media (max-width: 900px) {
            .section {
                padding: 95px 0;
            }
            .nav-links,
            .order-btn {
                display: none;
            }
            .mobile-menu-btn {
                display: block;
            }
            .feature-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .feature:nth-child(2) {
                border-right: 0;
            }
            .feature:nth-child(1),
            .feature:nth-child(2) {
                border-bottom: 1px solid var(--border);
            }
            .menu-header,
            .team-header {
                grid-template-columns: 1fr;
                gap: 25px;
            }
            .menu-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .ritual-grid,
            .story-grid,
            .contact-grid {
                grid-template-columns: 1fr;
                gap: 60px;
            }
            .ritual-visual {
                order: -1;
            }
            .gallery-grid {
                grid-template-columns: 1fr 1fr;
                grid-template-rows: 260px 260px 260px;
            }
            .gallery-item:first-child {
                grid-row: auto;
            }
            .gallery-item:nth-child(4) {
                grid-column: auto;
            }
            .contact-grid {
                gap: 50px;
            }
        }

        @media (max-width: 620px) {
            .container {
                width: calc(100% - 30px);
            }
            .header {
                height: 70px;
            }
            .logo {
                min-width: auto;
            }
            .logo-circle {
                width: 40px;
                height: 40px;
            }
            .logo-text strong {
                font-size: 24px;
            }
            .language-switch {
                display: none;
            }
            .sound-toggle {
                width: 43px;
                padding: 0;
            }
            .hero {
                min-height: 800px;
            }
            .hero-background {
                background-position: 63% center;
            }
            .hero-title {
                font-size: clamp(65px, 18vw, 100px);
                letter-spacing: -3px;
            }
            .hero-description {
                font-size: 14px;
            }
            .hero-note {
                display: none;
            }
            .feature-grid {
                grid-template-columns: 1fr 1fr;
            }
            .feature {
                padding: 25px 12px;
            }
            .section-title {
                font-size: 62px;
                letter-spacing: -2px;
            }
            .menu-grid {
                grid-template-columns: 1fr;
            }
            .filters {
                overflow-x: auto;
                flex-wrap: nowrap;
                padding-bottom: 8px;
            }
            .filter-btn {
                white-space: nowrap;
            }
            .ritual-steps {
                grid-template-columns: 1fr;
            }
            .ritual-badge {
                width: 110px;
                height: 110px;
                left: 10px;
                bottom: -25px;
            }
            .story-points {
                grid-template-columns: 1fr;
            }
            .gallery-grid {
                display: grid;
                grid-template-columns: 1fr;
                grid-template-rows: repeat(4, 270px);
            }
            .gallery-item:first-child {
                grid-row: auto;
            }
            .gallery-item:nth-child(4) {
                grid-column: auto;
            }
            .team-grid {
                grid-template-columns: 1fr 1fr;
            }
            .journal-grid {
                grid-template-columns: 1fr;
                gap: 45px;
            }
            .contact-form {
                grid-template-columns: 1fr;
            }
            .form-group.full {
                grid-column: auto;
            }
            .submit-btn {
                grid-column: auto;
            }
            .footer-top {
                grid-template-columns: 1fr;
                gap: 35px;
            }
            .footer-bottom {
                flex-direction: column;
                align-items: flex-start;
                gap: 15px;
            }
            .map-wrapper {
                height: 350px;
            }
            .cookie-banner {
                left: 15px;
                width: calc(100% - 30px);
                bottom: 15px;
            }
            .cart-button {
                right: 15px;
                bottom: 15px;
            }
            .sound-hint {
                right: 15px;
                bottom: 95px;
            }
        }

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

        .aura-modal { position: fixed; inset: 0; z-index: 9999; display:none; align-items:center; justify-content:center; padding:20px; background:rgba(15,13,12,.72); backdrop-filter:blur(8px); }
        .aura-modal.open { display:flex; }
        .aura-modal-card { width:min(620px,100%); max-height:85vh; overflow:auto; background:#1c1816; border:1px solid rgba(255,255,255,.12); border-radius:24px; padding:28px; box-shadow:0 24px 80px rgba(0,0,0,.45); }
        .aura-modal-close { float:right; border:0; background:transparent; color:#fff; font-size:30px; cursor:pointer; }
        .aura-modal h3 { margin:0 35px 10px 0; font-size:28px; }
        .aura-modal p { color:rgba(255,255,255,.72); line-height:1.7; }
        .aura-order-list { margin:18px 0; display:grid; gap:10px; }
        .aura-order-row { display:flex; justify-content:space-between; gap:20px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.08); }
        .aura-order-total { display:flex; justify-content:space-between; font-weight:700; font-size:18px; margin-top:18px; }
        .aura-modal-actions { display:flex; gap:10px; margin-top:22px; flex-wrap:wrap; }
        .aura-modal-actions button { cursor:pointer; border:1px solid rgba(255,255,255,.15); border-radius:999px; padding:11px 17px; background:#fff; color:#1c1816; font-weight:700; }
        .aura-modal-actions .secondary { background:transparent; color:#fff; }
        .contact-value a { color:inherit; text-decoration:none; }
        .contact-value a:hover { text-decoration:underline; }

        @media(max-width:600px){.aura-grid,.aura-options{grid-template-columns:1fr}.aura-card{padding:22px 17px}}

        .aura-modal{
            position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
            padding:24px;background:rgba(15,13,12,.78);backdrop-filter:blur(14px);
        }
        .aura-modal.open{display:flex;animation:auraFade .22s ease both}
        @keyframes auraFade{from{opacity:0}to{opacity:1}}
        .aura-card{
            position:relative;width:min(680px,100%);max-height:88vh;overflow:auto;
            padding:42px 42px 38px;border-radius:28px;
            color:#f8efe5;
            background:
                    radial-gradient(circle at 90% 0%,rgba(214,166,92,.14),transparent 32%),
                    linear-gradient(145deg,#2e2225 0%,#1e1618 48%,#120e10 100%);
            border:1px solid rgba(220,166,92,.34);
            box-shadow:0 30px 100px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.06);
            animation:auraModalIn .28s cubic-bezier(.2,.8,.2,1) both;
        }
        .aura-card::before{content:"";position:absolute;inset:12px;border:1px solid rgba(220,166,92,.11);border-radius:20px;pointer-events:none}
        @keyframes auraModalIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
        .aura-card h2{position:relative;margin:0 48px 7px 0;font-family:Georgia,serif;font-size:38px;line-height:1.05;font-weight:500;letter-spacing:-.02em;color:#f3c879}
        .aura-sub{position:relative;margin:0 0 26px!important;color:rgba(248,239,229,.72)!important;font-size:15px;line-height:1.7}
        .aura-close{position:absolute;top:18px;right:20px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(220,166,92,.28);background:rgba(255,255,255,.04);color:#f3c879;font-size:25px;line-height:1;cursor:pointer;z-index:3;transition:.2s ease}
        .aura-close:hover{background:#dca65c;color:#1e1618;transform:rotate(90deg)}
        .aura-content{position:relative;z-index:2}
        .aura-field{display:flex;flex-direction:column;gap:9px;margin-top:18px}
        .aura-field label{font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:#dca65c}
        .aura-field input,.aura-field select,.aura-field textarea{width:100%;box-sizing:border-box;border:1px solid rgba(220,166,92,.28);border-radius:12px;background:#251d20;color:#fff;padding:13px 14px;font:inherit;outline:none}.aura-field select{color-scheme:dark;appearance:auto;cursor:pointer}.aura-field select option{background:#f6eadf;color:#2a1117;padding:10px;font-weight:600}.aura-field select option:checked{background:#dca65c;color:#241016}.aura-field select:focus{color:#f8efe5;background:#251d20}
        .aura-field textarea{min-height:100px;resize:vertical}
        .aura-field input::placeholder,.aura-field textarea::placeholder{color:rgba(255,255,255,.42)}
        .aura-field input:focus,.aura-field select:focus,.aura-field textarea:focus{border-color:#dca65c;box-shadow:0 0 0 3px rgba(220,166,92,.1)}
        .aura-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
        .aura-option{min-height:58px;border:1px solid rgba(220,166,92,.2);border-radius:13px;padding:11px 13px;background:rgba(255,255,255,.045);color:#f8efe5;cursor:pointer;text-align:left;font:inherit;transition:.2s ease}
        .aura-option small{display:block;margin-top:4px;color:#dca65c;font-size:12px}
        .aura-option:hover{transform:translateY(-2px);border-color:rgba(220,166,92,.55);background:rgba(220,166,92,.08)}
        .aura-option.active{border-color:#dca65c;background:linear-gradient(145deg,rgba(108,56,66,.72),rgba(220,166,92,.12));box-shadow:0 8px 24px rgba(0,0,0,.2)}
        .aura-total{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding:16px 18px;border-radius:14px;background:rgba(0,0,0,.18);border:1px solid rgba(220,166,92,.16);font-size:16px}
        .aura-total span:last-child{font-family:Georgia,serif;color:#f3c879;font-size:23px}
        .aura-btn{width:100%;margin-top:18px;padding:14px 18px;border:0;border-radius:999px;background:linear-gradient(135deg,#dca65c,#f1c878);color:#221a17;font-weight:900;letter-spacing:.02em;cursor:pointer;box-shadow:0 12px 28px rgba(220,166,92,.18);transition:.2s ease}
        .aura-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(220,166,92,.25)}
        .aura-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
        .aura-grid .full{grid-column:1/-1}
        .aura-note{padding:20px;border-radius:16px;background:rgba(220,166,92,.08);border:1px solid rgba(220,166,92,.24);color:#f8efe5;line-height:1.8}
        .aura-stamps{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:24px 0 18px}
        .aura-stamp{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(220,166,92,.25);background:rgba(255,255,255,.04);color:rgba(255,255,255,.3);font-size:20px}
        .aura-stamp.filled{background:linear-gradient(145deg,#6c3842,#9d5261);border-color:#dca65c;color:#f8d58d;box-shadow:0 7px 18px rgba(108,56,66,.28)}
        .aura-progress{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
        .aura-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6c3842,#f0c36e);transition:width .3s ease}
        .aura-qr{width:210px;height:210px;margin:24px auto;border:10px solid #fff;background-color:#fff;background-image:repeating-linear-gradient(45deg,#1a0b10 0 4px,transparent 4px 8px),repeating-linear-gradient(-45deg,#1a0b10 0 3px,transparent 3px 7px);box-shadow:0 12px 35px rgba(0,0,0,.35)}
        @media(max-width:600px){.aura-card{padding:34px 22px 28px;border-radius:22px}.aura-card h2{font-size:30px}.aura-options,.aura-grid{grid-template-columns:1fr}.aura-grid .full{grid-column:auto}.aura-stamps{gap:6px}.aura-stamp{font-size:16px}}

        .special-section{position:relative;padding:120px 0 125px;background:radial-gradient(circle at 15% 15%,rgba(220,166,92,.12),transparent 36%),radial-gradient(circle at 85% 85%,rgba(108,56,66,.14),transparent 38%),linear-gradient(135deg,#171312 0%,#221a1d 50%,#110e0f 100%);border-top:1px solid rgba(220,166,92,.22);border-bottom:1px solid rgba(220,166,92,.15);overflow:hidden}
        .special-section::before{content:"";position:absolute;inset:18px;border:1px solid rgba(220,166,92,.15);border-radius:26px;pointer-events:none}
        .special-head{text-align:center;max-width:760px;margin:0 auto 48px;position:relative;z-index:1}
        .special-kicker{display:inline-flex;align-items:center;gap:12px;color:#dca65c;font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;margin-bottom:16px}
        .special-kicker::before,.special-kicker::after{content:"";width:34px;height:1px;background:#dca65c;opacity:.7}
        .special-head h2{margin:0;color:#f8eddb;font-family:'Cormorant Garamond',serif;font-size:clamp(48px,6vw,78px);font-weight:500;line-height:.92}
        .special-head p{margin:18px auto 0;max-width:620px;color:#cbb9aa;font-size:15px;line-height:1.8}
        .special-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;z-index:1}
        .special-card{position:relative;min-height:320px;padding:32px 26px 26px;border:1px solid rgba(220,166,92,.28);border-radius:24px;background:linear-gradient(150deg,#271e21 0%,#1a1315 100%);box-shadow:0 20px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:transform .35s cubic-bezier(.22,.61,.36,1),border-color .35s ease,box-shadow .35s ease}
        .special-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(220,166,92,.08),transparent 60%);pointer-events:none}
        .special-card:hover{transform:translateY(-8px);border-color:rgba(220,166,92,.65);box-shadow:0 28px 75px rgba(0,0,0,.45),0 0 40px rgba(220,166,92,.1)}
        .special-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(220,166,92,.5);color:#f3c879;font-size:22px;background:rgba(220,166,92,.06);box-shadow:0 0 0 6px rgba(220,166,92,.03)}
        .special-card h3{margin:24px 0 10px;color:#f9f0e3;font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600}
        .special-card p{margin:0;color:#b8a79a;font-size:12px;line-height:1.75}
        .special-action{margin-top:24px;width:100%;border:1px solid rgba(220,166,92,.45);border-radius:999px;padding:12px 18px;background:transparent;color:#f3c879;cursor:pointer;font:600 11px/1 inherit;letter-spacing:.16em;text-transform:uppercase;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease;position:relative;z-index:2}
        .special-action:hover{transform:translateY(-2px);background:#dca65c;border-color:#dca65c;color:#180c0d}
        .special-note{text-align:center;margin-top:32px;color:#a99687;font-size:11px;letter-spacing:.08em;text-transform:uppercase;position:relative;z-index:1}
        .special-nav-link{color:#e0b66e!important}
        .special-nav-link::after{background:#dca65c!important}
        @media(max-width:1000px){.special-grid{grid-template-columns:repeat(2,1fr)}}
        @media(max-width:600px){.special-section{padding:90px 0}.special-section::before{inset:10px}.special-grid{grid-template-columns:1fr}.special-card{min-height:260px}}

        @media (min-width: 901px) {
            :root { --max-width: 1500px; }
            .container { width: min(var(--max-width), calc(100% - 96px)); }
            .hero { min-height: 100svh; }
            .hero-content { max-width: 780px; padding-top: 82px; }
            .hero-title { font-size: clamp(88px, 8.4vw, 158px); }
            .hero-description { font-size: 17px; max-width: 590px; }
            .section { padding-top: clamp(110px, 8vw, 150px); padding-bottom: clamp(110px, 8vw, 150px); }
        }
        @media (min-width: 1500px) {
            .nav-links { gap: clamp(22px, 1.7vw, 34px); }
            .nav-link { font-size: 14px; }
            .logo-text strong { font-size: 31px; }
        }


        /* AURA material/editorial finish: leather, stone, plaster and dark wood */
        body {
            background:
                radial-gradient(ellipse at 12% 18%, rgba(115,63,52,.13), transparent 32%),
                radial-gradient(ellipse at 88% 58%, rgba(210,184,151,.06), transparent 35%),
                #151211;
        }
        .hero-background { filter: saturate(.86) contrast(1.04); }
        .menu-card {
            border-radius: 3px;
            background: linear-gradient(145deg,rgba(255,255,255,.035),transparent 45%), linear-gradient(135deg,#2b211d,#1b1614 75%);
            box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 14px 34px rgba(0,0,0,.17);
        }
        .menu-image-wrap { aspect-ratio: 1 / .94; background:#29211c; }
        .menu-image { filter:saturate(.9) contrast(1.03); }
        .menu-info {
            background: linear-gradient(135deg,rgba(255,255,255,.025),transparent 65%),
            repeating-linear-gradient(0deg,rgba(220,190,155,.012) 0 1px,transparent 1px 4px);
        }
        .menu-more-wrap { display:flex; justify-content:center; margin-top:42px; }
        .menu-more-btn {
            display:inline-flex; align-items:center; gap:20px; border:1px solid rgba(220,166,92,.5);
            background:transparent; color:var(--cream); padding:16px 27px; border-radius:2px;
            text-transform:uppercase; letter-spacing:.2em; font-size:10px; transition:.3s ease;
        }
        .menu-more-btn span { color:var(--gold); font-size:17px; transition:transform .3s ease; }
        .menu-more-btn:hover { background:var(--gold); color:#201714; transform:translateY(-2px); }
        .menu-more-btn:hover span { color:#201714; transform:translateX(4px); }
        .menu-card.menu-hidden { display:none !important; }
        .sound-toggle.is-playing { border-color:var(--gold); color:var(--gold); }
        .sound-toggle.is-playing .sound-icon { animation:auraSoundPulse 1.4s ease-in-out infinite; }
        @keyframes auraSoundPulse { 0%,100%{opacity:.55} 50%{opacity:1} }
        @media(max-width:620px) {
            .menu-more-wrap { margin-top:28px; }
            .menu-more-btn { width:100%; justify-content:center; }
        }


        /* AURA — warm material palette and translucent editorial surfaces */
        :root {
            --aura-plum: #4b2928;
            --aura-stone: #b9a58e;
            --aura-cream: #e9ddca;
            --aura-glass: rgba(234, 220, 198, .075);
        }
        body {
            background:
                radial-gradient(ellipse at 10% 10%, rgba(110,53,47,.24), transparent 34%),
                radial-gradient(ellipse at 85% 38%, rgba(184,157,124,.11), transparent 34%),
                radial-gradient(ellipse at 40% 95%, rgba(105,78,57,.14), transparent 42%),
                #171210;
        }
        body::before {
            content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.13;
            background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.4'/%3E%3C/svg%3E");
        }
        .hero-background {
            filter: saturate(.78) contrast(1.06);
        }
        .section, .menu, .ritual, .story, .gallery, .journal, .contact {
            position:relative;
            isolation:isolate;
        }
        .menu::before, .ritual::before, .story::before, .gallery::before, .journal::before, .contact::before {
            content:""; position:absolute; inset:18px 0; z-index:-1; pointer-events:none;
            background:linear-gradient(120deg,rgba(232,218,198,.035),rgba(93,48,43,.045) 48%,rgba(184,155,122,.025));
            border-top:1px solid rgba(226,196,153,.08);
            border-bottom:1px solid rgba(226,196,153,.06);
            backdrop-filter:blur(3px);
        }
        .menu-card {
            background:rgba(37,27,23,.72);
            border:1px solid rgba(224,190,145,.18);
            border-radius:3px;
            box-shadow:inset 0 1px 0 rgba(255,255,255,.055), 0 9px 24px rgba(0,0,0,.18);
            backdrop-filter:blur(9px);
        }
        .menu-card:hover {
            border-color:rgba(224,190,145,.48);
            box-shadow:0 16px 32px rgba(0,0,0,.27), inset 0 1px 0 rgba(255,255,255,.08);
        }
        .menu-image-wrap {
            aspect-ratio:1 / .72;
            background:linear-gradient(135deg,#3b2a23,#1e1714);
            overflow:hidden;
        }
        .menu-image {
            object-fit:cover;
            filter:sepia(.10) saturate(.78) contrast(1.04) brightness(.91);
            transition:transform .7s ease, filter .7s ease;
        }
        .menu-card:hover .menu-image {
            filter:sepia(.06) saturate(.92) contrast(1.04) brightness(1);
        }
        .menu-image-wrap::after {
            content:""; position:absolute; inset:0; pointer-events:none;
            background:linear-gradient(180deg,rgba(25,17,14,.03) 42%,rgba(25,17,14,.38) 100%),
                       linear-gradient(110deg,rgba(229,197,157,.10),transparent 42%);
            border-bottom:1px solid rgba(230,200,159,.14);
        }
        .menu-tag {
            top:10px; left:10px; padding:6px 9px;
            border-radius:2px; font-size:8px; letter-spacing:1.6px;
            background:rgba(30,21,18,.56); backdrop-filter:blur(12px);
            border-color:rgba(236,208,169,.24);
        }
        .menu-info {
            min-height:145px;
            padding:15px 16px 14px;
            background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 62%),
                       repeating-linear-gradient(0deg,rgba(225,196,159,.014) 0 1px,transparent 1px 4px);
        }
        .menu-name { font-size:22px; line-height:1.08; margin-bottom:6px; }
        .menu-description { font-size:11px; line-height:1.5; }
        .menu-bottom { padding-top:14px; }
        .menu-price { font-size:15px; }
        .add-btn { backdrop-filter:blur(8px); }
        .filters { gap:8px; margin-bottom:30px; }
        .filter-btn {
            border-radius:2px;
            background:rgba(232,218,198,.035);
            backdrop-filter:blur(8px);
            padding:10px 17px;
        }
        .menu-more-wrap { display:flex; justify-content:center; margin-top:30px; }
        .menu-more-btn {
            display:inline-flex; align-items:center; gap:18px;
            border:1px solid rgba(220,178,119,.48); background:rgba(232,218,198,.045);
            color:var(--cream); padding:13px 24px; border-radius:2px;
            text-transform:uppercase; letter-spacing:.18em; font-size:10px;
            backdrop-filter:blur(12px); transition:all .3s ease;
        }
        .menu-more-btn span { color:var(--gold); font-size:16px; transition:transform .3s ease; }
        .menu-more-btn:hover { background:rgba(220,178,119,.16); border-color:var(--gold); transform:translateY(-2px); }
        .menu-more-btn:hover span { transform:translateX(4px); }
        .menu-card.menu-hidden { display:none !important; }
        .sound-toggle.is-playing { border-color:var(--gold); color:var(--gold); }
        .sound-toggle.is-playing .sound-icon { animation:auraSoundPulse 1.4s ease-in-out infinite; }
        @keyframes auraSoundPulse { 0%,100%{opacity:.55} 50%{opacity:1} }
        @media(min-width:1100px) {
            .menu-grid { gap:16px; }
        }
        @media(max-width:700px) {
            .menu-grid { gap:12px; }
            .menu-image-wrap { aspect-ratio:1 / .78; }
            .menu-info { min-height:132px; padding:12px; }
            .menu-name { font-size:20px; }
            .menu-more-btn { width:100%; justify-content:center; }
        }


        /* AURA palette: Cranberry / Beige / Plum / Taupe / Ivory */
        body {
            background:
                radial-gradient(ellipse at 8% 12%, rgba(63,17,22,.34), transparent 35%),
                radial-gradient(ellipse at 88% 42%, rgba(160,131,106,.11), transparent 36%),
                #171312;
        }
        header, .header, #header {
            background: rgba(23,19,18,.76);
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
            border-bottom: 1px solid rgba(249,241,231,.09);
        }
        .menu-card, .ritual-step, .contact-card, .story-stamp {
            border-color: rgba(160,131,106,.3);
        }
        .menu-card {
            background:
                linear-gradient(135deg, rgba(249,241,231,.055), transparent 50%),
                rgba(77,67,67,.38);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            box-shadow: inset 0 1px 0 rgba(249,241,231,.07), 0 14px 34px rgba(0,0,0,.2);
        }
        .menu-image-wrap { aspect-ratio: 1 / .82; }
        .menu-image { filter: saturate(.86) contrast(1.04); }
        .filter-btn.active, .primary-btn, .ritual-badge {
            background: var(--burgundy);
        }
        .primary-btn:hover, .filter-btn.active:hover {
            background: var(--burgundy-light);
        }
        .outline-btn, .menu-more-btn, .sound-toggle {
            background: rgba(249,241,231,.035);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
        }
        .menu-more-wrap { display:flex; justify-content:center; margin-top:34px; }
        .menu-more-btn {
            display:inline-flex; align-items:center; gap:20px;
            border:1px solid rgba(160,131,106,.7); color:var(--cream);
            padding:14px 25px; border-radius:2px; background:rgba(77,67,67,.3);
            text-transform:uppercase; letter-spacing:.2em; font-size:10px; transition:.3s ease;
        }
        .menu-more-btn span { color:var(--gold-light); font-size:17px; transition:transform .3s ease; }
        .menu-more-btn:hover { background:var(--burgundy); border-color:var(--gold); transform:translateY(-2px); }
        .menu-more-btn:hover span { transform:translateX(4px); }
        .menu-card.menu-hidden { display:none !important; }
        .sound-toggle.is-playing { border-color:var(--gold-light); color:var(--gold-light); }
        .sound-toggle.is-playing .sound-icon { animation:auraSoundPulse 1.4s ease-in-out infinite; }
        @keyframes auraSoundPulse { 0%,100%{opacity:.55} 50%{opacity:1} }
        /* Preserve the existing 'Od zrno do moment' ritual composition and image. */
        .ritual {
            background:
                linear-gradient(90deg, rgba(23,19,18,.92), rgba(23,19,18,.58)),
                url("https://images.unsplash.com/photo-1445116572660-236099ec97a0?auto=format&fit=crop&w=2200&q=85")
                center/cover fixed;
        }
        @media(max-width:620px) {
            .menu-more-wrap { margin-top:26px; }
            .menu-more-btn { width:100%; justify-content:center; }
            .ritual { background-attachment:scroll; }
        }


        /* FINAL PALETTE APPLICATION — Cranberry, Beige, Plum, Taupe, Ivory */
        :root {
            --bg: #211A19;
            --bg-soft: #302725;
            --bg-card: #4D4343;
            --bg-card-2: #5A4A48;
            --cream: #F9F1E7;          /* Ivory */
            --cream-soft: #FEEEDC;     /* Beige */
            --muted: #D0BDAE;
            --gold: #A0836A;           /* Taupe */
            --gold-light: #C2A58B;     /* Light taupe */
            --burgundy: #3F1116;       /* Cranberry */
            --burgundy-light: #60242A;
            --burgundy-dark: #2A0B0F;
            --border: rgba(249,241,231,.14);
            --border-gold: rgba(160,131,106,.48);
        }

        body {
            background:
                radial-gradient(ellipse at 10% 12%, rgba(63,17,22,.26), transparent 34%),
                radial-gradient(ellipse at 82% 36%, rgba(160,131,106,.10), transparent 38%),
                #211A19 !important;
            color: var(--cream);
        }
        .header, header, #header, .site-header {
            background: rgba(33,26,25,.82) !important;
            border-color: rgba(160,131,106,.24) !important;
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }
        .menu-card, .cart-panel, .modal-content, .booking-form, .contact-form,
        .menu-info, .gallery-item, .story-image-wrap {
            background-color: rgba(77,67,67,.42);
            border-color: rgba(160,131,106,.34) !important;
        }
        .menu-card {
            background: linear-gradient(145deg,rgba(249,241,231,.07),rgba(77,67,67,.45)) !important;
            box-shadow: inset 0 1px 0 rgba(249,241,231,.06), 0 14px 34px rgba(0,0,0,.18);
        }
        .menu-card:hover, .gallery-item:hover {
            border-color: var(--gold) !important;
        }
        .primary-btn, .order-btn, .filter-btn.active, .ritual-badge,
        .cart-checkout, .submit-btn {
            background: var(--burgundy) !important;
            border-color: var(--burgundy) !important;
            color: var(--cream-soft) !important;
        }
        .primary-btn:hover, .order-btn:hover, .cart-checkout:hover, .submit-btn:hover {
            background: var(--burgundy-light) !important;
        }
        .outline-btn, .menu-more-btn, .sound-toggle, .lang-switch,
        .filter-btn {
            border-color: rgba(160,131,106,.55) !important;
            background: rgba(77,67,67,.22);
            color: var(--cream) !important;
        }
        .menu-more-btn:hover, .outline-btn:hover {
            background: rgba(63,17,22,.78) !important;
        }
        .section-title, .hero-title, .step-number, .price, .eyebrow,
        .menu-price, .footer-logo, .logo-text {
            color: var(--cream-soft);
        }
        .gold, .menu-category, .story-stamp, .footer-bottom a:hover {
            color: var(--gold-light);
        }
        .ritual {
            background:
                linear-gradient(90deg, rgba(33,26,25,.90), rgba(33,26,25,.58)),
                url("https://images.unsplash.com/photo-1445116572660-236099ec97a0?auto=format&fit=crop&w=2200&q=85")
                center/cover fixed !important;
        }
        .gallery-item img, .story-image, .ritual-image {
            object-fit: cover;
        }
        .gallery-caption, .story-stamp {
            background: rgba(63,17,22,.82) !important;
            color: var(--cream-soft) !important;
            border-color: rgba(160,131,106,.42) !important;
            backdrop-filter: blur(10px);
        }
        input, textarea, select {
            background: rgba(77,67,67,.32) !important;
            color: var(--cream) !important;
            border-color: rgba(160,131,106,.42) !important;
        }
        input::placeholder, textarea::placeholder {
            color: #C6B1A0 !important;
        }
        .menu-image-wrap { aspect-ratio: 1 / .78 !important; }
        .menu-more-wrap { margin-top: 30px !important; }
        @media (max-width: 620px) {
            .ritual { background-attachment: scroll !important; }
        }

    
        /* AURA — warm stone, burgundy leather, beige plaster and ivory */
        :root {
          --bg: #211915;
          --bg-soft: #30251f;
          --bg-card: #3a2d26;
          --bg-card-2: #49382f;
          --cream: #f8efe5;
          --cream-soft: #f3dfc9;
          --muted: #c8b3a1;
          --gold: #b39a82;
          --gold-light: #d0b69a;
          --burgundy: #45151b;
          --burgundy-light: #62242d;
          --burgundy-dark: #2c0d12;
          --border: rgba(243,223,201,.16);
          --border-gold: rgba(179,154,130,.48);
        }
        html { scroll-behavior:smooth; }
        body {
          color:var(--cream) !important;
          background-color:#211915 !important;
          background-image:
            linear-gradient(120deg,rgba(33,25,21,.96),rgba(33,25,21,.86)),
            url("https://images.unsplash.com/photo-1511818966892-d7d671e672a2?auto=format&fit=crop&w=1800&q=80") !important;
          background-size:cover;
          background-attachment:fixed;
        }
        header, #header, .header, .site-header, nav {
          background:rgba(33,25,21,.76) !important;
          backdrop-filter:blur(18px);
          -webkit-backdrop-filter:blur(18px);
          border-color:rgba(179,154,130,.22) !important;
        }
        .hero, .hero-section {
          background-color:#211915;
          background-image:
            linear-gradient(90deg,rgba(33,25,21,.62),rgba(33,25,21,.08)),
            url("https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?auto=format&fit=crop&w=2000&q=88");
          background-size:cover;
          background-position:center;
        }
        .menu-card {
          border:1px solid rgba(179,154,130,.27) !important;
          border-radius:10px !important;
          overflow:hidden;
          background:linear-gradient(145deg,rgba(243,223,201,.08),rgba(58,45,38,.72)) !important;
          box-shadow:0 10px 28px rgba(0,0,0,.24),inset 0 1px rgba(243,223,201,.06);
          backdrop-filter:blur(8px);
          transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
        }
        .menu-card:hover {
          transform:translateY(-4px);
          border-color:rgba(208,182,154,.68) !important;
          box-shadow:0 18px 36px rgba(0,0,0,.32);
        }
        .menu-image-wrap { aspect-ratio:1 / .68 !important; overflow:hidden; }
        .menu-image, .menu-card img {
          width:100%;
          object-fit:cover;
          filter:saturate(.82) contrast(1.04);
          transition:transform .55s ease;
        }
        .menu-card:hover .menu-image, .menu-card:hover img { transform:scale(1.045); }
        .menu-info { background:rgba(48,37,31,.72) !important; }
        .primary-btn, .order-btn, .cart-checkout, .submit-btn, .filter-btn.active,
        button.primary, a.primary-btn {
          border-radius:999px !important;
          background:var(--burgundy) !important;
          border:1px solid rgba(208,182,154,.38) !important;
          color:var(--cream) !important;
        }
        .primary-btn:hover, .order-btn:hover, .cart-checkout:hover, .submit-btn:hover {
          background:var(--burgundy-light) !important;
          transform:translateY(-2px);
        }
        .outline-btn, .menu-more-btn, .sound-toggle, .lang-switch, .filter-btn {
          border-radius:999px !important;
          border-color:rgba(179,154,130,.52) !important;
          color:var(--cream) !important;
          background:rgba(58,45,38,.35) !important;
          backdrop-filter:blur(12px);
        }
        .menu-more-btn { padding:12px 25px !important; }
        .filter-btn { padding:9px 18px !important; }
        .section, section { border-color:rgba(179,154,130,.18); }
        .ritual, #rituals {
          background:
            linear-gradient(90deg,rgba(33,25,21,.83),rgba(33,25,21,.48)),
            url("https://images.unsplash.com/photo-1511920170033-f8396924c348?auto=format&fit=crop&w=2000&q=88")
            center/cover fixed !important;
        }
        .gallery-item, .contact-card, .story-stamp, .ritual-step, .booking-form,
        .modal-content, .cart-panel {
          border-color:rgba(179,154,130,.32) !important;
          background:linear-gradient(140deg,rgba(243,223,201,.07),rgba(58,45,38,.68)) !important;
          backdrop-filter:blur(10px);
        }
        .gallery-caption, .story-stamp {
          background:rgba(69,21,27,.8) !important;
          border-radius:999px !important;
          color:var(--cream) !important;
        }
        input, textarea, select {
          background:rgba(72,57,48,.66) !important;
          color:var(--cream) !important;
          border:1px solid rgba(179,154,130,.43) !important;
          border-radius:8px !important;
        }
        input::placeholder, textarea::placeholder { color:#c8b3a1 !important; }
        .contact-form button, form button { border-radius:999px !important; }
        .price, .menu-price, .step-number, .eyebrow, .gold { color:var(--gold-light) !important; }
        @media(max-width:700px) {
          body { background-attachment:scroll; }
          .menu-image-wrap { aspect-ratio:1 / .78 !important; }
          .ritual, #rituals { background-attachment:scroll !important; }
        }



/* AURA final layout repair: cream hover, reliable images, and a contained contact form */
:root {
  --bg: #1b120d;
  --bg-card: #241811;
  --cream: #f5eadb;
  --cream-soft: #e7d5bf;
  --gold: #d8ad6b;
  --gold-light: #efcf99;
  --border: rgba(236, 215, 188, .22);
  --border-gold: rgba(216, 173, 107, .48);
}
html { overflow-x: clip; }
body {
  max-width: 100%;
  overflow-x: clip;
  background-color: #1b120d;
  color: var(--cream);
}
/* 80% desktop presentation without forcing the form wider than the viewport */
@media (min-width: 1000px) {
  body { zoom: .8; width: 100%; }
}
.container {
  width: min(88%, 1380px);
  max-width: 1380px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.menu-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
  min-width: 0;
}

.menu-card {
  min-width: 0;
  border: 1px solid rgba(216,173,107,.22) !important;
  border-radius: 8px !important;
  overflow: hidden;
  background: #21160f !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
  transition: transform .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}
.menu-card:hover {
  transform: translateY(-3px);
  background: #2a1c13 !important;
  border-color: rgba(245,234,219,.72) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.24);
}
.menu-image-wrap {
  position: relative;
  aspect-ratio: 1.42 / 1;
  height: auto !important;
  overflow: hidden;
  background: #2a1c13;
}
.menu-image-wrap .menu-image,
.menu-card img.menu-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: none;
  transition: transform .35s ease;
}
.menu-card:hover .menu-image { transform: scale(1.025); }
.menu-tag { display: none !important; }
.menu-info {
  padding: 10px 10px 11px !important;
  background: #1c130e !important;
}
.menu-name {
  margin: 0 0 4px;
  color: var(--cream) !important;
  font-size: 13px !important;
  line-height: 1.3;
}
/* Drink descriptions remain visible below each item name and price. */
.menu-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.menu-price { color: var(--cream-soft) !important; font-size: 12px !important; }
.add-btn {
  width: 29px !important;
  height: 29px !important;
  min-width: 29px !important;
  border-radius: 50% !important;
  color: var(--cream) !important;
  border: 1px solid var(--gold) !important;
  background: transparent !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.add-btn:hover,
.add-btn:focus-visible {
  background: var(--cream) !important;
  color: #24170f !important;
  border-color: var(--cream) !important;
}
/* Replace muddy bronze hover fills with clean cream/ivory feedback */
button:hover, .primary-btn:hover, .outline-btn:hover, .filter-btn:hover,
.menu-more-btn:hover, .nav-link:hover, .lang-btn:hover, .sound-toggle:hover {
  border-color: var(--cream) !important;
}
.primary-btn:hover, .menu-more-btn:hover, .filter-btn:hover, .outline-btn:hover {
  background-color: var(--cream) !important;
  color: #21150e !important;
}
.filter-btn.active {
  background: var(--cream) !important;
  border-color: var(--cream) !important;
  color: #21150e !important;
}
/* Fix contact form clipping and inconsistent widths */
.contact, #contact { width: 100%; max-width: 100%; overflow: hidden; }
.contact-grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(24px, 5vw, 70px);
  align-items: start;
  width: 100%;
  min-width: 0;
}
.contact-grid > *, .contact-form, .form-group { min-width: 0; box-sizing: border-box; }
.contact-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 16px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 20px;
  border-radius: 10px;
  background: rgba(48, 34, 25, .76) !important;
  border: 1px solid rgba(236,215,188,.22) !important;
  box-sizing: border-box;
}
.form-group.full, .contact-form .submit-btn {
  grid-column: 1 / -1;
}
.form-input, .form-select, .form-textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border-radius: 5px;
  background: rgba(245,234,219,.07) !important;
  color: var(--cream) !important;
  border: 1px solid rgba(236,215,188,.32) !important;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  outline: none;
  border-color: var(--cream) !important;
  box-shadow: 0 0 0 2px rgba(245,234,219,.10);
}
.form-textarea { min-height: 130px; }
.submit-btn {
  width: 100%;
  max-width: 100%;
  border-radius: 999px !important;
  background: var(--cream) !important;
  color: #24170f !important;
}
.submit-btn:hover {
  background: var(--gold-light) !important;
  color: #24170f !important;
}
@media (max-width: 999px) {
  body { zoom: 1 !important; }
  .menu-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .contact-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 620px) {
  .container { width: calc(100% - 30px); }
  .menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .contact-form { grid-template-columns: minmax(0, 1fr); padding: 15px; }
  .contact-form .form-group, .contact-form .form-group.full,
  .contact-form .submit-btn { grid-column: 1 / -1; }
}


/* Image-card repair: preserve the full dessert/drink photo inside the landscape tile */
.menu-image-wrap {
  aspect-ratio: 1.42 / 1 !important;
  height: auto !important;
  overflow: hidden;
  background: #211812;
}
.menu-image-wrap .menu-image,
.menu-card img.menu-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center center !important;
  filter: none !important;
  transition: transform .35s ease;
}
.menu-card:hover .menu-image,
.menu-card:hover img.menu-image {
  transform: scale(1.015) !important;
}



/* AURA matcha photos: complete drink image fitted into the existing landscape cards */
.menu-image-wrap { overflow: hidden; }
.menu-image-wrap .menu-image {
  width: 100%; height: 100%; object-fit: cover; object-position: center center;
}
.menu-card[data-category="matcha"] .menu-image-wrap .menu-image {
  object-fit: contain !important;
  background: #211711;
  filter: none !important;
}
.menu-card[data-category="matcha"]:hover .menu-image { transform: scale(1.015); }
.cart-item img { width:60px; height:60px; object-fit:cover; background:#2a201a; }
.cart-empty-message { padding: 22px 0; color: var(--muted); font-size: 13px; }


/* AURA image fix: all menu photos are embedded in this HTML, so they work offline. */
.menu-image-wrap { aspect-ratio: 1.42 / 1 !important; overflow: hidden; background: #211812; }
.menu-card img.menu-image { width:100%; height:100%; display:block; object-fit:cover !important; object-position:center center !important; transform:none; filter:none; }
.menu-card:hover img.menu-image { transform:scale(1.015) !important; }

/* AURA reference beverages: embedded product photos from the approved warm café collage */
.menu-card.ref-photo-portrait .menu-image-wrap { aspect-ratio: .75 / 1 !important; }
.menu-card.ref-photo-square .menu-image-wrap { aspect-ratio: .95 / 1 !important; }
.menu-card.extra-coffee .menu-image-wrap { aspect-ratio: 1.42 / 1 !important; }
.menu-card.ref-photo-portrait .menu-image-wrap img.menu-image,
.menu-card.ref-photo-square .menu-image-wrap img.menu-image {
  width: 100% !important; height: 100% !important; display: block !important;
  object-fit: cover !important; object-position: center center !important; background: #24170f;
}
.menu-card.ref-photo-portrait:hover .menu-image,
.menu-card.ref-photo-square:hover .menu-image { transform: scale(1.015) !important; }


/* Final, intentional menu-text visibility override */
.menu-description {
    display: block !important;
    color: var(--muted) !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    margin: 5px 0 0 !important;
    min-height: 2.9em;
    overflow: visible !important;
}
.menu-info { height: auto; }



/* ===== Original style block ===== */


.menu-qr-highlight { outline: 2px solid #c9a66b; outline-offset: 8px; transition: outline-color .3s ease; }


/* ===== Original style block ===== */


.menu-card { height: auto !important; min-height: 0 !important; }
.menu-info { height: auto !important; min-height: 0 !important; overflow: visible !important; padding-bottom: 16px !important; }
.menu-description { display: block !important; overflow: visible !important; height: auto !important; max-height: none !important; white-space: normal !important; overflow-wrap: anywhere; }
.menu-bottom { margin-top: 14px !important; padding-top: 8px !important; }


/* ===== Original style block ===== */


  /* Keep the cart floating at the lower-right corner on desktop and mobile. */
  #cartButton.cart-button {
    position: fixed !important;
    top: auto !important;
    left: auto !important;
    right: 22px !important;
    bottom: 22px !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 9500 !important;
    width: 58px !important;
    height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  @media (max-width: 620px) {
    #cartButton.cart-button {
      right: 14px !important;
      bottom: 14px !important;
      width: 54px !important;
      height: 54px !important;
    }
  }


/* ===== Original style block ===== */


/* Home hero: use the supplied café photograph and blend it smoothly into the page. */
.hero {
  min-height: clamp(880px, 112vh, 1240px) !important;
  isolation: isolate;
  overflow: hidden;
  background: #171210 !important;
}
.hero-background {
  background-image:
    linear-gradient(90deg, rgba(20,15,12,.78) 0%, rgba(20,15,12,.59) 25%, rgba(20,15,12,.24) 54%, rgba(20,15,12,.08) 76%, rgba(20,15,12,.22) 100%),
    linear-gradient(180deg, rgba(23,18,16,.18) 0%, transparent 22%, transparent 68%, rgba(26,21,19,.56) 86%, #1a1513 100%),
    url("../images/image-e09d370784.jpg") !important;
  background-size: cover, cover, cover !important;
  background-position: center, center, right center !important;
  background-repeat: no-repeat !important;
  filter: saturate(.91) contrast(1.02) !important;
}
.hero::after {
  background:
    radial-gradient(ellipse at 82% 42%, rgba(222,174,118,.07), transparent 36%),
    linear-gradient(180deg, transparent 0%, transparent 53%, rgba(26,21,19,.36) 76%, #1a1513 100%) !important;
  pointer-events: none;
}
.hero-content { max-width: 780px; }
.hero-title, .hero-description, .hero-eyebrow, .hero-buttons, .hero-note { position: relative; z-index: 2; }

/* Fade the bottom of the hero into the feature strip without a hard seam. */
.features {
  border-top: 0 !important;
  border-bottom: 0 !important;
  background: linear-gradient(180deg, #1a1513 0%, #1b1614 48%, #171312 100%) !important;
  position: relative;
}
.features::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: -42px; height: 84px;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(26,21,19,.88) 55%, #1a1513);
}
.features .container { position: relative; z-index: 1; }

/* Menu card rows align consistently: all photos share one frame and prices sit at the bottom. */
.menu-grid {
  align-items: stretch !important;
  grid-auto-rows: 1fr;
}
.menu-grid > .menu-card {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.menu-grid > .menu-card .menu-image-wrap,
.menu-grid > .menu-card.ref-photo-portrait .menu-image-wrap,
.menu-grid > .menu-card.ref-photo-square .menu-image-wrap,
.menu-grid > .menu-card.extra-coffee .menu-image-wrap {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1.28 / 1 !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
  background: #251b16 !important;
}
.menu-grid > .menu-card .menu-image-wrap img,
.menu-grid > .menu-card .menu-image-wrap img.menu-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.menu-grid > .menu-card .menu-info {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 205px !important;
  padding: 17px 17px 16px !important;
  overflow: visible !important;
}
.menu-grid > .menu-card .menu-name { margin-bottom: 7px !important; }
.menu-grid > .menu-card .menu-description {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  min-height: 3.15em !important;
  line-height: 1.5 !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
}
.menu-grid > .menu-card .menu-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-top: auto !important;
  padding-top: 21px !important;
  flex-shrink: 0 !important;
}
.menu-grid > .menu-card .menu-price { line-height: 1.2 !important; white-space: nowrap; }
.menu-grid > .menu-card .add-btn {
  width: 34px !important; height: 34px !important; min-width: 34px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
}

/* The cart is a compact right drawer. Empty state is centered; total and checkout stay at the bottom. */
#cartPanel.cart-panel {
  position: fixed !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: auto !important;
  width: min(420px, 94vw) !important;
  max-width: 100vw !important;
  
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  overflow: hidden !important;
  padding: 24px !important;
  z-index: 9200 !important;
  transform: translateX(105%) !important;
  transition: transform .38s cubic-bezier(.22,.61,.36,1) !important;
  background: linear-gradient(155deg, rgba(44,32,27,.98), rgba(25,19,17,.99)) !important;
  box-shadow: -22px 0 70px rgba(0,0,0,.42) !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  top: 0 !important;
  bottom: 0 !important;
  box-sizing: border-box !important;
}
#cartPanel.cart-panel.open { right: 0 !important; transform: translateX(0) !important; }
#cartPanel .cart-header { flex: 0 0 auto !important; padding-bottom: 17px !important; }
#cartPanel .cart-items {
  flex: 1 1 auto !important;
  min-height: 110px !important;
  max-height: none !important;
  margin-top: 14px !important;
  margin-bottom: 12px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}
#cartPanel .cart-empty-message {
  min-height: min(300px, 34vh) !important;
  height: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  padding: 20px !important;
  color: rgba(249,241,231,.68) !important;
  line-height: 1.7 !important;
}
#cartPanel .cart-total {
  flex: 0 0 auto !important;
  margin-top: auto !important;
  padding-top: 17px !important;
  border-top: 1px solid rgba(249,241,231,.12) !important;
}
#cartPanel .checkout-btn { flex: 0 0 auto !important; margin-top: 14px !important; margin-bottom: 0 !important; }
.cart-overlay { z-index: 9100 !important; }
#cartButton.cart-button {
  z-index: 9050 !important;
  position: fixed !important;
  left: auto !important; top: auto !important;
  right: 22px !important; bottom: 22px !important;
  transform: none !important; margin: 0 !important;
}
@media (max-width: 620px) {
  .hero { min-height: 820px !important; min-height: max(820px, 100svh) !important; }
  .hero-background {
    background-image:
      linear-gradient(90deg, rgba(20,15,12,.72) 0%, rgba(20,15,12,.34) 100%),
      linear-gradient(180deg, rgba(23,18,16,.12), transparent 34%, rgba(26,21,19,.55) 73%, #1a1513 100%),
      url("../images/image-e09d370784.jpg") !important;
    background-position: center, center, 66% center !important;
  }
  .menu-grid > .menu-card .menu-info { min-height: 188px !important; padding: 13px 13px 14px !important; }
  .menu-grid > .menu-card .menu-image-wrap { aspect-ratio: 1.14 / 1 !important; }
  .menu-grid > .menu-card .menu-bottom { padding-top: 18px !important; }
  #cartPanel.cart-panel { width: min(390px, 94vw) !important; padding: 18px !important; 
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  top: 0 !important;
  bottom: 0 !important;
  box-sizing: border-box !important;
}
  #cartButton.cart-button { right: 14px !important; bottom: 14px !important; }
}

/* Remove the old thin divider borders and blend the surface layers at section edges. */
.menu::before, .ritual::before, .story::before, .gallery::before, .journal::before, .contact::before {
  border: 0 !important;
  background: linear-gradient(120deg, rgba(232,218,198,.027), rgba(93,48,43,.045) 48%, rgba(184,155,122,.018)) !important;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
}
@media (prefers-reduced-motion: reduce) {
  .hero-background { animation: none !important; }
  .cart-panel { transition: none !important; }
}


/* ===== Original style block ===== */


/* Restore the familiar burgundy shopping-bag button without changing its fixed position. */
#cartButton.cart-button {
  background: var(--burgundy, #3F1116) !important;
  color: var(--cream, #F9F1E7) !important;
  border: 1px solid var(--gold-light, #C2A58B) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.08) !important;
  font-size: 22px !important;
  line-height: 1 !important;
}
#cartButton.cart-button:hover {
  background: var(--burgundy-light, #60242A) !important;
  color: #fff !important;
}
#cartButton .cart-count {
  background: var(--burgundy-dark, #2A0B0F) !important;
  color: #fff !important;
  border: 1px solid var(--gold-light, #C2A58B) !important;
}

/* Restore clear, consistent team portraits and do not leave them hidden if an animation fails. */
#team .team-card.reveal {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
#team .team-image {
  display: block !important;
  width: 100% !important;
  height: clamp(245px, 27vw, 360px) !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center 32% !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: saturate(.92) !important;
  background: #302725;
}
#team .team-card { overflow: hidden; }
@media (max-width: 620px) {
  #team .team-image { height: 230px !important; }
}

/* Make the Journal excerpts read like short stories and align their read links neatly. */
#journal .article-card.reveal {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
#journal .article-text {
  color: var(--muted) !important;
  font-size: 12px !important;
  line-height: 1.8 !important;
  margin-top: 16px !important;
  overflow-wrap: anywhere;
}
#journal .article-link {
  margin-top: auto !important;
  padding-top: 18px !important;
  align-self: flex-start;
}
@media (max-width: 620px) {
  #journal .article-text { font-size: 13px !important; }
}


/* ===== Original style block ===== */


/* User-supplied cafe visuals: clean crops and full visibility. */
#gallery .gallery-grid { align-items: stretch; }
#gallery .gallery-item { min-width: 0; min-height: 0; isolation: isolate; }
#gallery .gallery-item img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
  visibility: visible !important;
}
#gallery .gallery-item::after {
  content: ""; position: absolute; inset: 35% 0 0; pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(18,12,10,.58));
  z-index: 0;
}
#gallery .gallery-caption { z-index: 1; }

/* The shopping drawer must extend all the way to the bottom of the viewport. */
#cartPanel.cart-panel {
  position: fixed !important;
  inset: 0 0 0 auto !important;
  width: min(420px, 94vw) !important;
  
  
  
  
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 24px !important;
  z-index: 9200 !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  top: 0 !important;
  bottom: 0 !important;
  box-sizing: border-box !important;
}
#cartPanel.cart-panel.open { transform: translateX(0) !important; }
#cartPanel .cart-header {
  display: flex !important; flex: 0 0 auto !important;
  align-items: center !important; justify-content: space-between !important;
  min-height: 45px !important; visibility: visible !important; opacity: 1 !important;
}
#cartPanel .cart-items {
  display: block !important; flex: 1 1 auto !important;
  height: auto !important; min-height: 100px !important; max-height: none !important;
  overflow-y: auto !important; margin: 14px 0 12px !important;
  visibility: visible !important; opacity: 1 !important;
}
#cartPanel .cart-items > .cart-item {
  display: grid !important;
  grid-template-columns: 64px minmax(0,1fr) auto !important;
  gap: 12px !important; align-items: center !important;
  min-height: 78px !important; padding: 12px 0 !important;
  border-bottom: 1px solid rgba(249,241,231,.12) !important;
  color: var(--cream, #F9F1E7) !important;
  visibility: visible !important; opacity: 1 !important;
}
#cartPanel .cart-item img {
  display: block !important; width: 64px !important; height: 64px !important;
  object-fit: cover !important; visibility: visible !important; opacity: 1 !important;
}
#cartPanel .cart-item-name { color: var(--cream, #F9F1E7) !important; font-size: 13px !important; line-height: 1.45 !important; }
#cartPanel .cart-item-price { color: var(--gold-light, #C2A58B) !important; font-size: 12px !important; }
#cartPanel .remove-item { color: var(--cream, #F9F1E7) !important; font-size: 22px !important; }
#cartPanel .cart-total {
  display: flex !important; flex: 0 0 auto !important;
  align-items: center !important; justify-content: space-between !important;
  margin-top: auto !important; padding-top: 17px !important;
  border-top: 1px solid rgba(249,241,231,.14) !important;
}
#cartPanel .checkout-btn {
  display: block !important; flex: 0 0 auto !important;
  width: 100% !important; margin: 14px 0 env(safe-area-inset-bottom, 0px) !important;
  min-height: 48px !important;
}
#cartOverlay { position: fixed !important; inset: 0 !important; z-index: 9100 !important; }
@media (max-width: 620px) {
  #cartPanel.cart-panel { width: min(390px, 100vw) !important; padding: 18px !important; 
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  top: 0 !important;
  bottom: 0 !important;
  box-sizing: border-box !important;
}
  #gallery .gallery-grid { grid-template-columns: 1fr !important; grid-template-rows: repeat(4, 245px) !important; }
}


/* ===== Original style block ===== */


/* Keep the cart drawer stretched from the very top to the very bottom of the viewport. */
#cartPanel.cart-panel {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
#cartPanel .cart-header { flex: 0 0 auto !important; }
#cartPanel .cart-items {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: auto !important;
}
#cartPanel .cart-empty-message {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
}
#cartPanel .cart-total { flex: 0 0 auto !important; margin-top: auto !important; }
#cartPanel .checkout-btn { flex: 0 0 auto !important; margin-bottom: env(safe-area-inset-bottom, 0px) !important; }

/* Ten drinks, five per row on desktop. */
#menuGrid.menu-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 16px !important;
}
#menuGrid.menu-grid > .menu-card { min-width: 0 !important; height: 100% !important; }
#menuGrid.menu-grid > .menu-card .menu-info { padding: 17px 14px 15px !important; }
#menuGrid.menu-grid > .menu-card .menu-name { font-size: clamp(19px, 1.5vw, 25px) !important; line-height: 1.08 !important; }
#menuGrid.menu-grid > .menu-card .menu-description { overflow-wrap: anywhere !important; }
#menuGrid.menu-grid > .menu-card .menu-bottom { margin-top: auto !important; }
@media (max-width: 900px) {
  #menuGrid.menu-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  #menuGrid.menu-grid > .menu-card .menu-name { font-size: 22px !important; }
}
@media (max-width: 620px) {
  #menuGrid.menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 11px !important; }
  #menuGrid.menu-grid > .menu-card .menu-info { padding: 13px 11px 12px !important; }
  #menuGrid.menu-grid > .menu-card .menu-name { font-size: 19px !important; }
}
@media (max-width: 380px) {
  #menuGrid.menu-grid { grid-template-columns: 1fr !important; }
}
