﻿:root {
      --cream: #fffdfb;
      --cream-2: #f7efe5;
      --choco: #1a0f0b;
      --choco-2: #2a1a14;
      --text: #4a3b32;
      --gold: #d4af37;
      --gold-light: #f5e6ad;
      --white: #fff;
      --shadow: 0 20px 55px rgba(42, 26, 20, .12);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; width: 100%; max-width: 100%; overflow-x: hidden; background: var(--cream); color: var(--text); font-family: "Montserrat", sans-serif; }
    a { color: inherit; text-decoration: none; }
    .inline-link { color: var(--choco); border-bottom: 1px solid var(--gold); font-weight: 600; }
    .inline-link:hover { color: var(--gold); }
    button { font: inherit; }
    .container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
    .section { padding: 96px 0; scroll-margin-top: 110px; }
    .eyebrow { display: block; margin-bottom: 12px; color: var(--gold); font-size: .72rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
    .title { margin: 0 0 20px; color: var(--choco); font-family: "Playfair Display", serif; font-size: clamp(2.15rem, 5vw, 4rem); line-height: 1.08; }
    .gold-text { color: var(--gold); font-style: italic; font-weight: 500; }
    .lead { max-width: 700px; margin: 0 auto; line-height: 1.8; }
    .center { text-align: center; }

    .button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 24px; border: 1px solid transparent; border-radius: 999px; cursor: pointer; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; transition: .25s ease; }
    .button:hover { transform: translateY(-2px); }
    .button-gold { background: linear-gradient(135deg, var(--gold-light), var(--gold)); color: var(--choco); box-shadow: 0 10px 28px rgba(212, 175, 55, .24); }
    .button-outline { border-color: rgba(212, 175, 55, .55); color: var(--white); }
    .button-outline:hover { background: rgba(212, 175, 55, .12); }
    .button-outline-dark { border-color: rgba(212, 175, 55, .55); color: var(--choco); }
    .button-outline-dark:hover { background: rgba(212, 175, 55, .12); }
    .actions { display: flex; flex-wrap: wrap; gap: 12px; }
    .center-actions { justify-content: center; margin-top: 28px; }

    header { position: fixed; top: 0; right: 0; left: 0; z-index: 50; height: 86px; border-bottom: 1px solid rgba(212, 175, 55, .2); background: rgba(26, 15, 11, .94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
    .nav { display: flex; height: 86px; align-items: center; justify-content: space-between; }
    .brand { display: flex; min-width: 0; flex: 0 1 auto; align-items: center; color: var(--white); }
    .brand-logo { display: block; width: clamp(60px, 6vw, 76px); max-width: 100%; height: auto; max-height: 78px; object-fit: contain; }
    .brand-name { display: block; font-family: "Playfair Display", serif; font-size: 1.2rem; font-weight: 600; letter-spacing: .08em; }
    .nav-links { display: flex; align-items: center; gap: 16px; }
    .nav-links > a:not(.button) { color: #f7efe5; font-size: .62rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; transition: color .2s; }
    .nav-links > a:hover, .nav-links > a.is-current { color: var(--gold); }
    .menu-toggle { display: none; border: 0; background: transparent; color: var(--gold); font-size: 1.4rem; cursor: pointer; }

    .hero { position: relative; display: grid; min-height: 100vh; place-items: center; overflow: hidden; padding: 140px 0 70px; background: var(--choco); color: var(--white); text-align: center; }
    .hero.home-hero { min-height: auto; }
    .hero-media { position: absolute; inset: 0; background: url("../images/hero-bg.webp") center 58% / cover no-repeat; }
    .hero-media::after { position: absolute; inset: 0; content: ""; background:
      linear-gradient(180deg, rgba(26, 15, 11, .82) 0%, rgba(26, 15, 11, .58) 36%, rgba(26, 15, 11, .28) 66%, rgba(26, 15, 11, .62) 100%),
      radial-gradient(ellipse 85% 70% at 50% 22%, rgba(26, 15, 11, .55) 0%, rgba(26, 15, 11, .18) 55%, rgba(26, 15, 11, .45) 100%); }
    .hero::before, .hero::after { position: absolute; z-index: 1; content: ""; border: 1px solid rgba(212, 175, 55, .14); border-radius: 50%; pointer-events: none; }
    .hero::before { width: 560px; height: 560px; top: 8%; left: -290px; }
    .hero::after { width: 430px; height: 430px; right: -230px; bottom: 4%; }
    .hero-content { position: relative; z-index: 2; text-shadow: 0 2px 28px rgba(26, 15, 11, .55); }
    .hero-badge { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 28px; padding: 8px 15px; border: 1px solid rgba(212, 175, 55, .38); border-radius: 999px; color: var(--gold-light); font-size: .65rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; background: rgba(26, 15, 11, .28); backdrop-filter: blur(6px); }
    .hero h1 { max-width: 920px; margin: 0 auto 24px; font-family: "Playfair Display", serif; font-size: clamp(2.4rem, 6vw, 4.7rem); line-height: 1.04; }
    .hero.page-hero { min-height: 68vh; padding: 150px 0 80px; }
    .hero p { max-width: 680px; margin: 0 auto 34px; color: rgba(255, 253, 251, .86); font-size: clamp(.95rem, 2vw, 1.12rem); line-height: 1.8; }
    .hero-actions .button, .highlights { text-shadow: none; }
    .hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
    .highlights { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 68px; padding-top: 34px; border-top: 1px solid rgba(212, 175, 55, .16); text-align: left; }
    .highlight { display: flex; align-items: center; gap: 12px; }
    .highlight i { color: var(--gold); font-size: 1.35rem; }
    .highlight strong { display: block; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
    .highlight span { color: rgba(255, 253, 251, .55); font-size: .67rem; }

    .about-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; }
    .about-copy p { line-height: 1.8; }
    .checks { display: grid; gap: 14px; margin: 30px 0; }
    .check { display: flex; align-items: flex-start; gap: 12px; font-size: .88rem; font-weight: 600; }
    .check i { display: grid; width: 24px; height: 24px; flex: 0 0 24px; place-items: center; border-radius: 50%; background: rgba(212, 175, 55, .16); color: var(--gold); font-size: .7rem; }
    .profile-card { padding: 38px; border: 1px solid rgba(212, 175, 55, .28); border-radius: 28px; background: var(--choco-2); color: var(--white); box-shadow: var(--shadow); }
    .profile-head { display: flex; gap: 16px; align-items: center; padding-bottom: 24px; border-bottom: 1px solid rgba(212, 175, 55, .18); }
    .profile-avatar { display: grid; width: 64px; height: 64px; flex: 0 0 64px; place-items: center; border: 2px solid var(--gold); border-radius: 50%; color: var(--gold); font-family: "Cinzel", serif; font-size: 1.6rem; }
    .profile-card h3 { margin: 0 0 5px; }
    .profile-card p { color: rgba(255,255,255,.7); font-size: .82rem; line-height: 1.7; }
    .stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
    .stat { padding: 18px; border: 1px solid rgba(212, 175, 55, .16); border-radius: 15px; background: var(--choco); text-align: center; }
    .stat strong { display: block; color: var(--gold); font-family: "Playfair Display", serif; font-size: 1.5rem; }
    .stat span { color: rgba(255,255,255,.65); font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; }

    .menu-section { background: var(--cream-2); }
    .filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 34px 0; }
    .filter { padding: 10px 18px; border: 1px solid rgba(42,26,20,.12); border-radius: 999px; background: var(--white); color: var(--text); cursor: pointer; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
    .filter.active { border-color: var(--choco); background: var(--choco); color: var(--gold); }
    .menu-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin-top: 38px; }
    .menu-pagination[hidden] { display: none; }
    .menu-page-button { display: grid; min-width: 42px; height: 42px; place-items: center; padding: 0 12px; border: 1px solid rgba(42,26,20,.16); border-radius: 999px; background: var(--white); color: var(--text); cursor: pointer; font-size: .72rem; font-weight: 700; transition: .2s ease; }
    .menu-page-button:hover:not(:disabled), .menu-page-button.active { border-color: var(--choco); background: var(--choco); color: var(--gold); }
    .menu-page-button:disabled { cursor: default; opacity: .35; }
    .cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
    .sweet-card { display: flex; min-height: 420px; flex-direction: column; overflow: hidden; padding: 0; border: 1px solid rgba(212, 175, 55, .25); border-radius: 22px; background: linear-gradient(160deg, #4e2c21, #21120e 65%); color: var(--white); box-shadow: 0 12px 30px rgba(42,26,20,.1); transition: transform .25s; }
    .sweet-card:hover { transform: translateY(-5px); }
    .sweet-photo { position: relative; height: 235px; overflow: hidden; background: var(--choco); }
    .sweet-photo::before { display: none; }
    .sweet-photo img { position: relative; z-index: 1; display: block; width: 100%; height: 100%; border: 0; object-fit: cover; object-position: center; transition: opacity .35s ease; }
    .sweet-photo.has-variations > img { position: absolute; inset: 0; opacity: 0; transition: opacity .35s ease, transform .45s ease; }
    .sweet-photo.has-variations > img.active { opacity: 1; }

    .photo-arrow { position: absolute; z-index: 3; top: 50%; display: grid; width: 34px; height: 34px; place-items: center; padding: 0; border: 0; background: transparent; color: var(--white); cursor: pointer; font-size: 1.05rem; opacity: 0; text-shadow: 0 2px 6px rgba(0,0,0,.75); transform: translateY(-50%); transition: opacity .2s ease, color .2s ease; }
    .sweet-card:hover .photo-arrow, .photo-arrow:focus-visible { opacity: 1; }
    .photo-arrow:hover { color: var(--gold-light); }
    .photo-prev { left: 12px; }
    .photo-next { right: 12px; }
    .photo-dots { position: absolute; z-index: 3; right: 0; bottom: 11px; left: 0; display: flex; justify-content: center; gap: 6px; }
    .photo-dot { width: 7px; height: 7px; padding: 0; border: 1px solid var(--white); border-radius: 50%; background: rgba(26,15,11,.48); cursor: pointer; box-shadow: 0 1px 5px rgba(0,0,0,.45); }
    .photo-dot.active { background: var(--gold); border-color: var(--gold-light); }
    .photo-label { position: absolute; z-index: 2; top: 11px; right: 11px; padding: 6px 9px; border-radius: 999px; background: rgba(26,15,11,.72); color: var(--gold-light); font-size: .54rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(5px); }
    .sweet-card-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 22px; }
    .sweet-card small { color: var(--gold); font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
    .sweet-card h3 { margin: 8px 0; font-family: "Playfair Display", serif; font-size: 1.35rem; }
    .sweet-card p { margin: 0 0 16px; color: rgba(255,255,255,.65); font-size: .75rem; line-height: 1.6; }
    .sweet-card button { width: fit-content; margin-top: auto; padding: 0; border: 0; border-bottom: 1px solid var(--gold); background: transparent; color: var(--gold-light); cursor: pointer; font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

    .stories-shell { position: relative; width: min(430px, 100%); margin: 42px auto 34px; }
    .stories-frame { position: relative; aspect-ratio: 9 / 16; overflow: hidden; border: 1px solid rgba(212,175,55,.48); border-radius: 28px; background: var(--choco); box-shadow: 0 26px 70px rgba(42,26,20,.28); touch-action: pan-y; }
    .stories-frame::before { position: absolute; inset: 0; z-index: 4; border: 7px solid var(--choco); border-radius: inherit; content: ""; pointer-events: none; }
    .stories-progress { position: absolute; z-index: 8; top: 15px; right: 17px; left: 17px; display: grid; grid-template-columns: repeat(var(--story-count, 3), 1fr); gap: 5px; }
    .story-progress { height: 3px; overflow: hidden; border: 0; border-radius: 99px; background: rgba(255,255,255,.38); cursor: pointer; }
    .story-progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--white); transition: width .3s ease; }
    .story-progress.past span, .story-progress.active span { width: 100%; }
    .stories-track { display: flex; width: 100%; height: 100%; transition: transform .45s cubic-bezier(.22,.61,.36,1); }
    .story-slide { position: relative; min-width: 100%; height: 100%; padding: 0; background: #090504; }
    .story-slide:has(.story-embed) { padding: 34px 8px 8px; background: linear-gradient(155deg, #3b2219, #120a08); }
    .story-embed { width: 100%; height: 100%; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; -ms-overflow-style: none; contain: layout paint; border-radius: 17px; background: var(--white); }
    .story-embed::-webkit-scrollbar { display: none; width: 0; height: 0; }
    .story-embed .instagram-media { display: block !important; min-width: 0 !important; max-width: 100% !important; width: 100% !important; margin: 0 auto !important; border: 0 !important; }
    .story-embed > iframe { display: block !important; min-width: 0 !important; max-width: 100% !important; width: 100% !important; margin: 0 !important; border: 0 !important; }
    .story-fallback { display: grid; width: 100%; height: 100%; place-items: center; padding: 38px; background: radial-gradient(circle at 50% 30%, #5a3428, var(--choco) 70%); color: var(--white); text-align: center; }
    .story-fallback i { display: block; margin-bottom: 18px; color: var(--gold); font-size: 3rem; }
    .story-fallback strong { display: block; margin-bottom: 10px; font-family: "Playfair Display", serif; font-size: 1.55rem; }
    .story-fallback span { display: block; color: rgba(255,255,255,.68); font-size: .75rem; line-height: 1.7; }
    .story-fallback b { display: inline-block; margin-top: 22px; padding-bottom: 4px; border-bottom: 1px solid var(--gold); color: var(--gold-light); font-size: .67rem; letter-spacing: .1em; text-transform: uppercase; }
    .story-media-link { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; border-radius: 17px; background: #090504; color: var(--white); }
    .story-media { display: block; width: 100%; height: 100%; object-fit: cover; }
    .story-media-overlay { position: absolute; inset: auto 0 0; padding: 70px 22px 22px; background: linear-gradient(transparent, rgba(10,5,4,.88)); text-align: left; pointer-events: none; }
    .story-media-overlay strong { display: block; margin-bottom: 6px; font-size: .75rem; }
    .story-media-overlay span { display: -webkit-box; overflow: hidden; color: rgba(255,255,255,.78); font-size: .65rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .story-video-badge { position: absolute; z-index: 2; top: 22px; right: 17px; padding: 7px 10px; border-radius: 999px; background: rgba(26,15,11,.78); color: var(--gold-light); font-size: .56rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; pointer-events: none; }
    .story-profile { position: absolute; z-index: 7; top: 31px; left: 22px; display: flex; align-items: center; gap: 9px; color: var(--white); pointer-events: none; text-shadow: 0 1px 5px rgba(0,0,0,.65); }
    .story-avatar { display: grid; width: 34px; height: 34px; place-items: center; border: 2px solid var(--gold); border-radius: 50%; background: var(--choco); color: var(--gold); font-family: "Cinzel", serif; font-size: .8rem; font-weight: 700; }
    .story-profile strong { font-size: .69rem; letter-spacing: .03em; }
    .story-profile small { display: block; margin-top: 2px; color: rgba(255,255,255,.75); font-size: .53rem; }
    .story-nav { position: absolute; z-index: 9; top: 50%; display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(212,175,55,.45); border-radius: 50%; background: rgba(26,15,11,.88); color: var(--gold); cursor: pointer; box-shadow: 0 8px 24px rgba(0,0,0,.22); transform: translateY(-50%); transition: .2s; }
    .story-nav:hover { background: var(--gold); color: var(--choco); }
    .story-nav:disabled { cursor: default; opacity: .28; }
    .story-prev { left: -66px; }
    .story-next { right: -66px; }
    .stories-counter { margin-top: 15px; color: #78655a; font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
    .stories-hint { margin: 9px 0 0; color: #8c796d; font-size: .7rem; }

    .occasions { background: var(--white); }
    .occasion-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 38px; }
    .occasion-card { padding: 28px; border: 1px solid rgba(212,175,55,.25); border-radius: 20px; background: var(--cream); box-shadow: 0 10px 28px rgba(42,26,20,.06); }
    .occasion-card i { margin-bottom: 18px; color: var(--gold); font-size: 1.6rem; }
    .occasion-card h3 { margin: 0 0 10px; color: var(--choco); font-family: "Playfair Display", serif; font-size: 1.3rem; }
    .occasion-card p { margin: 0; font-size: .82rem; line-height: 1.7; }

    .gallery-section { background: var(--choco); color: var(--white); }
    .gallery-section .title { color: var(--white); }
    .gallery-section .lead { color: rgba(255, 253, 251, .72); }
    .gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(148px, 18vw); gap: 12px; margin-top: 42px; }
    .gallery-item { position: relative; display: block; overflow: hidden; width: 100%; height: 100%; padding: 0; border: 1px solid rgba(212, 175, 55, .28); border-radius: 18px; appearance: none; font: inherit; background:
      radial-gradient(circle at 50% 28%, rgba(212, 175, 55, .16), transparent 46%),
      linear-gradient(155deg, #3b2219, #120a08); color: var(--white); cursor: zoom-in; text-align: left; box-shadow: 0 12px 32px rgba(0, 0, 0, .18); }
    .gallery-item:nth-child(1),
    .gallery-item:nth-child(2) { grid-column: span 2; grid-row: span 2; }
    .gallery-grid:not(.gallery-grid-trio) .gallery-item:nth-last-child(-n+2) { grid-column: span 2; }
    .gallery-item img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; transition: transform .45s ease, opacity .35s ease; }
    .gallery-item:hover img, .gallery-item:focus-visible img { transform: scale(1.05); }
    .gallery-overlay { position: absolute; inset: auto 0 0; z-index: 2; padding: 28px 16px 14px; background: linear-gradient(transparent, rgba(10, 5, 4, .88)); pointer-events: none; }
    .gallery-overlay small { display: block; margin-bottom: 4px; color: var(--gold); font-size: .58rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
    .gallery-overlay strong { display: block; font-family: "Playfair Display", serif; font-size: clamp(.95rem, 1.6vw, 1.25rem); font-weight: 500; }
    .gallery-item.is-placeholder::before { position: absolute; top: 18px; right: 18px; z-index: 2; color: var(--gold-light); content: attr(data-slot); font-family: "Cinzel", serif; font-size: .72rem; letter-spacing: .16em; }
    .gallery-grid-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: minmax(240px, 28vw); }
    .gallery-grid-trio .gallery-item:nth-child(1),
    .gallery-grid-trio .gallery-item:nth-child(2) { grid-column: auto; grid-row: auto; }
    .gallery-grid-trio .gallery-item img { object-position: center 48%; }
    .gallery-grid-trio .gallery-item img.photo-cake { object-position: 58% 32%; }
    .gallery-grid-trio .gallery-item img.photo-detail { object-position: center 62%; }
    .gallery-lightbox { position: fixed; inset: 0; z-index: 110; display: none; place-items: center; padding: 24px; background: rgba(12, 7, 5, .92); backdrop-filter: blur(10px); }
    .gallery-lightbox.open { display: grid; }
    .gallery-lightbox-card { position: relative; width: min(980px, 100%); }
    .gallery-lightbox-card img { display: block; width: 100%; max-height: min(78vh, 820px); object-fit: contain; border: 1px solid rgba(212, 175, 55, .35); border-radius: 18px; background: #120a08; }
    .gallery-lightbox-caption { margin: 16px 48px 0; color: rgba(255, 253, 251, .82); text-align: center; }
    .gallery-lightbox-caption small { display: block; margin-bottom: 6px; color: var(--gold); font-size: .62rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
    .gallery-lightbox-caption strong { font-family: "Playfair Display", serif; font-size: 1.2rem; font-weight: 500; }
    .gallery-lightbox-close, .gallery-lightbox-nav { position: absolute; display: grid; place-items: center; border: 1px solid rgba(212, 175, 55, .45); border-radius: 50%; background: rgba(26, 15, 11, .88); color: var(--gold); cursor: pointer; }
    .gallery-lightbox-close { top: -8px; right: -8px; width: 42px; height: 42px; }
    .gallery-lightbox-nav { top: 50%; width: 46px; height: 46px; transform: translateY(-50%); }
    .gallery-lightbox-prev { left: -18px; }
    .gallery-lightbox-next { right: -18px; }
    .gallery-lightbox-nav:hover, .gallery-lightbox-close:hover { background: var(--gold); color: var(--choco); }
    .gallery-lightbox-nav:disabled { cursor: default; opacity: .28; }

    .order-panel { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: center; padding: 44px; border-radius: 28px; background: linear-gradient(145deg, var(--choco-2), var(--choco)); color: var(--white); box-shadow: var(--shadow); }
    .order-panel .title { color: var(--white); font-size: clamp(2rem, 4vw, 3.2rem); }
    .order-panel p { margin: 0; color: rgba(255,255,255,.72); line-height: 1.8; }
    .order-actions { display: grid; gap: 12px; }
    .faq-list { width: min(840px, 100%); margin: 38px auto 0; }
    .faq-item { border-bottom: 1px solid rgba(42,26,20,.14); }
    .faq-item:first-child { border-top: 1px solid rgba(42,26,20,.14); }
    .faq-item summary { position: relative; padding: 22px 46px 22px 0; color: var(--choco); cursor: pointer; font-family: "Playfair Display", serif; font-size: 1.12rem; font-weight: 600; list-style: none; }
    .faq-item summary::-webkit-details-marker { display: none; }
    .faq-item summary::after { position: absolute; top: 20px; right: 4px; color: var(--gold); content: "+"; font-family: "Montserrat", sans-serif; font-size: 1.4rem; }
    .faq-item[open] summary::after { content: "âˆ’"; }
    .faq-item p { margin: -4px 0 22px; color: var(--text); font-size: .86rem; line-height: 1.8; }
    footer { padding: 65px 0 28px; border-top: 1px solid rgba(212,175,55,.25); background: var(--choco); color: var(--white); }
    .footer-grid { display: grid; grid-template-columns: 1.2fr .8fr 1fr; gap: 50px; }
    .footer-brand { display: inline-block; margin-bottom: 14px; }
    .footer-logo { display: block; width: clamp(140px, 16vw, 180px); max-width: 100%; height: auto; object-fit: contain; }
    footer h4 { color: var(--gold); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }
    footer p, footer li { color: rgba(255,255,255,.62); font-size: .76rem; line-height: 1.8; }
    footer ul { margin: 0; padding: 0; list-style: none; }
    footer a:hover { color: var(--gold); }
    .copyright { display: flex; justify-content: space-between; margin-top: 42px; padding-top: 24px; border-top: 1px solid rgba(212,175,55,.14); color: rgba(255,255,255,.42); font-size: .66rem; }
    .whatsapp-float { position: fixed; right: 22px; bottom: 22px; z-index: 45; display: grid; width: 56px; height: 56px; place-items: center; border-radius: 50%; background: #25d366; color: white; font-size: 1.55rem; box-shadow: 0 10px 30px rgba(0,0,0,.25); transition: transform .2s; }
    .whatsapp-float:hover { transform: scale(1.08); }

    .modal { position: fixed; inset: 0; z-index: 100; display: none; place-items: center; padding: 20px; background: rgba(26,15,11,.82); backdrop-filter: blur(8px); }
    .modal.open { display: grid; }
    .modal-card { position: relative; width: min(500px, 100%); padding: 34px; border: 2px solid var(--gold); border-radius: 24px; background: var(--white); box-shadow: 0 25px 80px rgba(0,0,0,.35); }
    .modal-close { position: absolute; top: 14px; right: 14px; display: grid; width: 36px; height: 36px; place-items: center; border: 0; border-radius: 50%; background: var(--choco); color: var(--gold); cursor: pointer; }
    .modal-card h3 { margin: 12px 42px 12px 0; color: var(--choco); font-family: "Playfair Display", serif; font-size: 1.8rem; }
    .modal-card p { line-height: 1.7; }
    .modal-meta { margin: 22px 0; padding: 17px; border-radius: 14px; background: var(--cream-2); font-size: .76rem; line-height: 1.8; }

    .reveal,
    .reveal.visible,
    .hero .hero-content.reveal { opacity: 1; transform: none; }

    @media (max-width: 1100px) {
      .nav-links { position: absolute; top: 86px; left: 0; display: none; width: 100%; padding: 24px 20px; flex-direction: column; align-items: stretch; background: var(--choco); gap: 18px; }
      .nav-links.open { display: flex; }
      .menu-toggle { display: block; }
    }

    @media (max-width: 950px) {
      .about-grid { grid-template-columns: 1fr; gap: 42px; }
      .occasion-grid { grid-template-columns: repeat(2, 1fr); }
      .order-panel { grid-template-columns: 1fr; }
      .cards { grid-template-columns: repeat(2, 1fr); }
      .highlights { grid-template-columns: repeat(2, 1fr); }
      .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 170px; }
      .gallery-item:nth-child(1),
      .gallery-item:nth-child(2) { grid-column: span 2; grid-row: span 2; }
      .gallery-grid-trio { grid-template-columns: minmax(0, 1fr); grid-auto-rows: 240px; }
      .gallery-grid-trio .gallery-item:nth-child(1),
      .gallery-grid-trio .gallery-item:nth-child(2) { grid-column: auto; grid-row: auto; }
      .gallery-lightbox-prev { left: 8px; }
      .gallery-lightbox-next { right: 8px; }
    }

    @media (max-width: 650px) {
      .container { width: min(100% - 28px, 1160px); }
      .section { padding: 70px 0; }
      .hero { padding-top: 130px; }
      .hero::before, .hero::after { display: none; }
      .hero-media { background-position: center 68%; }
      .hero-media::after { background:
        linear-gradient(180deg, rgba(26, 15, 11, .88) 0%, rgba(26, 15, 11, .68) 40%, rgba(26, 15, 11, .38) 68%, rgba(26, 15, 11, .72) 100%),
        radial-gradient(ellipse 95% 65% at 50% 18%, rgba(26, 15, 11, .62) 0%, rgba(26, 15, 11, .28) 55%, rgba(26, 15, 11, .55) 100%); }
      .hero h1 { font-size: clamp(2.15rem, 11vw, 3.4rem); }
      .hero-actions .button, .path-card .button, .actions .button { width: 100%; }
      .path-card { min-height: 0; }
      .cards, .footer-grid, .occasion-grid, .path-grid, .why-grid, .apply-grid { grid-template-columns: 1fr; }
      .order-panel { padding: 30px 22px; }
      .highlights { gap: 22px 12px; }
      .highlight { align-items: flex-start; }
      .profile-card { padding: 24px; }
      .photo-arrow { opacity: 1; }
      .copyright { gap: 8px; flex-direction: column; text-align: center; }
      .story-prev { left: 10px; }
      .story-next { right: 10px; }
      .story-nav { top: auto; bottom: 20px; transform: none; }
      .gallery-grid { grid-auto-rows: 150px; }
      .gallery-grid-trio { grid-auto-rows: 240px; }
      .gallery-lightbox { padding: 16px; }
      .gallery-lightbox-caption { margin-right: 12px; margin-left: 12px; }
      .gallery-lightbox-close { top: 8px; right: 8px; }
      .gallery-overlay { padding: 16px 12px 12px; }
      .gallery-overlay small { letter-spacing: .1em; }
      .gallery-overlay strong { font-size: .92rem; line-height: 1.25; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition: none !important; }
      .reveal { opacity: 1; transform: none; }
    }

    .path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 48px; text-shadow: none; }
    .path-card { display: flex; min-height: 280px; flex-direction: column; align-items: flex-start; padding: 28px; border: 1px solid rgba(212,175,55,.28); border-radius: 22px; background: rgba(26,15,11,.55); backdrop-filter: blur(10px); text-align: left; }
    .path-card small { color: var(--gold); font-size: .62rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
    .path-card h2 { margin: 12px 0 12px; color: var(--white); font-family: "Playfair Display", serif; font-size: 1.7rem; }
    .path-card p { margin: 0 0 22px; color: rgba(255,253,251,.78); font-size: .84rem; line-height: 1.7; }
    .path-card .button { margin-top: auto; }

    .why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 42px; }
    .why-card { padding: 28px; border: 1px solid rgba(212,175,55,.25); border-radius: 20px; background: var(--white); box-shadow: 0 10px 28px rgba(42,26,20,.06); }
    .why-card h3 { margin: 0 0 10px; color: var(--choco); font-family: "Playfair Display", serif; font-size: 1.25rem; }
    .why-card p { margin: 0; font-size: .84rem; line-height: 1.7; }

    .signature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 42px; align-items: stretch; }
    .signature-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid rgba(212,175,55,.25); border-radius: 24px; background: var(--white); box-shadow: 0 12px 32px rgba(42,26,20,.08); }
    .signature-photo { position: relative; flex: 0 0 auto; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: #d8d6d4; }
    .signature-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
    .signature-photo img.photo-trio { object-position: center 48%; }
    .signature-photo img.photo-tart { object-position: center 32%; }
    .signature-photo img.photo-porto { object-position: center 34%; }
    .signature-copy { display: flex; min-width: 0; flex: 1; flex-direction: column; min-height: 158px; padding: 20px 20px 22px; background: var(--white); }
    .signature-copy small { display: block; color: var(--gold); font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
    .signature-copy h3 { margin: 10px 0 10px; min-height: 2.5em; color: var(--choco); font-family: "Playfair Display", serif; font-size: 1.32rem; line-height: 1.25; overflow-wrap: break-word; }
    .signature-copy p { margin: 0; flex: 1; font-size: .88rem; line-height: 1.65; }

    .kit-panel { display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items: center; }
    .kit-panel img { width: 100%; height: 420px; object-fit: cover; border-radius: 24px; }
    .kit-panel p { line-height: 1.8; }
    .value-note { margin-top: 28px; padding: 22px 24px; border-left: 3px solid var(--gold); background: var(--cream-2); color: var(--choco); font-size: .9rem; line-height: 1.7; }

    .apply-grid { margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 28px; }
    .apply-grid li { color: var(--text); font-size: .88rem; line-height: 1.7; }
    .apply-grid li::marker { color: var(--gold); }

    .intimist { padding: 42px; border-radius: 28px; background: var(--cream-2); }
    .intimist p { max-width: 760px; line-height: 1.85; }
    .split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
    .split p { line-height: 1.8; }
    .lead.left { margin: 0; text-align: left; }

    @media (max-width: 950px) {
      .path-grid, .why-grid, .kit-panel, .split { grid-template-columns: minmax(0, 1fr); }
      .signature-grid { gap: 16px; }
      .signature-copy { padding: 16px 16px 18px; min-height: 148px; }
      .signature-copy h3 { font-size: 1.18rem; min-height: 2.5em; }
      .intimist { padding: 28px 22px; }
      .sweet-photo { height: auto; aspect-ratio: 1 / 1; }
      .sweet-photo img { object-fit: contain; object-position: center; }
    }

    @media (max-width: 820px) {
      #assinatura .title { font-size: clamp(1.8rem, 8vw, 2.25rem); line-height: 1.18; }
      .signature-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; max-width: 400px; margin-left: auto; margin-right: auto; }
      .signature-copy { padding: 18px 18px 20px; min-height: 200px; }
      .signature-copy small { font-size: .65rem; letter-spacing: .1em; }
      .signature-copy h3 { margin: 8px 0 10px; min-height: 2.56em; font-size: 1.38rem; line-height: 1.28; }
      .signature-copy p { font-size: .88rem; line-height: 1.7; }
    }

    @media (max-width: 650px) {
      .sweet-card { min-height: 0; }
      .sweet-photo { aspect-ratio: 4 / 5; }
    }
