:root {
            --rosa-50: #fff8fb;
            --rosa-100: #ffeef4;
            --rosa-200: #ffd8e5;
            --rosa-300: #f7aec4;
            --rosa-400: #ec7fa2;
            --rosa-500: #dc4f80;
            --rosa-600: #c9366d;
            --rosa-700: #9e2653;
            --preto: #171318;
            --cinza: #6d646a;
            --branco: #ffffff;
            --sombra: 0 24px 70px rgba(181, 61, 105, .16);
            --radius-xl: 36px;
            --radius-lg: 24px;
            --radius-md: 18px;
        }

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

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: 'DM Sans', sans-serif;
            color: var(--preto);
            background: var(--rosa-50);
            overflow-x: hidden;
        }

        body.menu-open {
            overflow: hidden;
        }

        img {
            max-width: 100%;
            display: block;
        }

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

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

        .container {
            width: min(1180px, calc(100% - 40px));
            margin: 0 auto;
        }

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

        .section-title {
            max-width: 720px;
            margin-bottom: 42px;
        }

        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: .78rem;
            font-weight: 700;
            letter-spacing: .16em;
            text-transform: uppercase;
            color: var(--rosa-600);
            margin-bottom: 14px;
        }

        .eyebrow::before {
            content: '';
            width: 26px;
            height: 2px;
            border-radius: 99px;
            background: currentColor;
        }

        h1,
        h2,
        h3 {
            font-family: 'Playfair Display', serif;
        }

        h2 {
            font-size: clamp(2rem, 4vw, 3.4rem);
            line-height: 1.08;
            letter-spacing: -.04em;
        }

        .section-title p {
            margin-top: 16px;
            color: var(--cinza);
            font-size: 1.05rem;
            line-height: 1.75;
        }

        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            min-height: 50px;
            padding: 0 22px;
            border-radius: 999px;
            font-weight: 700;
            transition: .25s ease;
            border: 1px solid transparent;
            cursor: pointer;
        }

        .btn-primary {
            color: #fff;
            background: linear-gradient(135deg, var(--rosa-500), var(--rosa-600));
            box-shadow: 0 12px 30px rgba(201, 54, 109, .26);
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 16px 34px rgba(201, 54, 109, .34);
        }

        .btn-light {
            background: rgba(255, 255, 255, .82);
            border-color: rgba(201, 54, 109, .14);
            color: var(--rosa-700);
            backdrop-filter: blur(8px);
        }

        .btn-light:hover {
            background: #fff;
            transform: translateY(-2px);
        }

        .icon {
            width: 20px;
            height: 20px;
            flex: 0 0 20px;
        }

        /* HEADER */
        header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 1000;
            transition: .3s ease;
        }

        header.scrolled {
            background: rgba(255, 250, 252, .9);
            backdrop-filter: blur(16px);
            box-shadow: 0 10px 35px rgba(113, 33, 62, .08);
        }

        .nav {
            height: 84px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .brand {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            min-width: max-content;
        }
        .brand-mark {
            width: 64px;
            height: 44px;
            position: relative;
            flex: 0 0 64px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .brand-mark img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            display: block;
        }

        .brand-text strong {

            display: block;
            font-family: 'Playfair Display', serif;
            font-size: 1.65rem;
            line-height: .95;
            letter-spacing: -.03em;
        }

        .brand-text small {
            display: block;
            margin-top: 4px;
            color: var(--rosa-600);
            font-weight: 700;
            font-size: .64rem;
            letter-spacing: .17em;
            text-transform: uppercase;
        }

        .menu {
            display: flex;
            align-items: center;
            gap: 28px;
            list-style: none;
        }

        .menu a {
            color: #40383d;
            font-weight: 600;
            font-size: .95rem;
            position: relative;
        }

        .menu a::after {
            content: '';
            position: absolute;
            left: 0;
            bottom: -7px;
            width: 0;
            height: 2px;
            background: var(--rosa-500);
            border-radius: 99px;
            transition: width .25s ease;
        }

        .menu a:hover::after {
            width: 100%;
        }

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

        .menu-toggle {
            display: none;
            width: 46px;
            height: 46px;
            border: 0;
            border-radius: 50%;
            background: #fff;
            box-shadow: 0 7px 24px rgba(116, 43, 68, .1);
            cursor: pointer;
        }

        .menu-toggle span {
            display: block;
            width: 20px;
            height: 2px;
            margin: 4px auto;
            background: var(--preto);
            transition: .25s ease;
        }

        /* HERO */
        .hero {
            min-height: 100vh;
            padding-top: 84px;
            background:
                radial-gradient(circle at 78% 20%, rgba(236, 127, 162, .26), transparent 28%),
                radial-gradient(circle at 10% 85%, rgba(255, 216, 229, .85), transparent 30%),
                linear-gradient(135deg, #fff9fb 0%, #ffeaf2 45%, #ffd8e5 100%);
            position: relative;
            overflow: hidden;
        }

        .hero::before,
        .hero::after {
            content: '';
            position: absolute;
            border: 2px solid rgba(220, 79, 128, .22);
            border-radius: 50%;
            pointer-events: none;
        }

        .hero::before {
            width: 760px;
            height: 350px;
            left: -220px;
            top: 170px;
            transform: rotate(-12deg);
        }

        .hero::after {
            width: 600px;
            height: 280px;
            right: -210px;
            bottom: 40px;
            transform: rotate(14deg);
        }

        .hero-grid {
            min-height: calc(100vh - 84px);
            display: grid;
            grid-template-columns: 1.05fr .95fr;
            align-items: center;
            gap: 46px;
            position: relative;
            z-index: 2;
        }

        .hero-copy {
            padding: 70px 0 80px;
        }

        .hero-kicker {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 9px 14px;
            border-radius: 999px;
            background: rgba(255, 255, 255, .75);
            border: 1px solid rgba(220, 79, 128, .16);
            color: var(--rosa-700);
            font-size: .83rem;
            font-weight: 700;
            margin-bottom: 24px;
            box-shadow: 0 8px 24px rgba(137, 36, 75, .07);
        }

        .hero-kicker i {
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background: var(--rosa-500);
            box-shadow: 0 0 0 5px rgba(220, 79, 128, .12);
        }

        .hero h1 {
            font-size: clamp(3.3rem, 7vw, 6.8rem);
            line-height: .92;
            letter-spacing: -.06em;
            max-width: 720px;
        }

        .hero h1 .pink {
            color: var(--rosa-600);
        }

        .hero-script {
            font-family: 'Sacramento', cursive;
            color: var(--rosa-600);
            font-size: clamp(2.4rem, 5vw, 4.2rem);
            line-height: 1;
            margin-top: 16px;
            margin-bottom: 22px;
        }

        .hero-copy > p {
            max-width: 620px;
            color: #655a60;
            font-size: 1.08rem;
            line-height: 1.75;
        }

        .hero-buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-top: 30px;
        }

        .hero-notes {
            display: flex;
            flex-wrap: wrap;
            gap: 18px;
            margin-top: 28px;
            color: #6f6168;
            font-size: .9rem;
        }

        .hero-notes span {
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .hero-notes b {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: var(--rosa-500);
        }

        .hero-visual {
            position: relative;
            min-height: 700px;
            overflow: visible;
            display: flex;
            align-items: flex-end;
            justify-content: center;
        }

        .hero-visual::before {
            content: '';
            position: absolute;
            width: 500px;
            height: 500px;
            border-radius: 50%;
            background: rgba(255, 255, 255, .56);
            border: 1px solid rgba(255, 255, 255, .8);
            box-shadow: inset 0 0 60px rgba(255, 255, 255, .55), 0 40px 90px rgba(187, 68, 110, .14);
            top: 86px;
        }

        .persona {
            position: relative;
            z-index: 2;
            width: min(620px, 100%);
            max-height: 720px;
            object-fit: contain;
            object-position: center bottom;
            filter: drop-shadow(0 28px 34px rgba(95, 35, 56, .16));
            animation: float 5s ease-in-out infinite;
        }

        @keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-9px); }
        }
        .persona-hero-combo {
            width: auto;
            max-width: 100%;
            max-height: 820px;
            position: relative;
            left: 30px;
            bottom: -8px;
        }

        /* DIFERENCIAIS */
        .benefits {
            margin-top: -28px;
            position: relative;
            z-index: 5;
        }

        .benefit-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 14px;
            padding: 18px;
            background: rgba(255, 255, 255, .85);
            backdrop-filter: blur(12px);
            border-radius: 28px;
            box-shadow: var(--sombra);
            border: 1px solid rgba(220, 79, 128, .1);
        }

        .benefit {
            padding: 24px 18px;
            border-radius: 20px;
            transition: .25s ease;
        }

        .benefit:hover {
            background: var(--rosa-50);
            transform: translateY(-4px);
        }

        .benefit .mini-icon {
            width: 42px;
            height: 42px;
            border-radius: 13px;
            display: grid;
            place-items: center;
            background: var(--rosa-100);
            color: var(--rosa-600);
            margin-bottom: 14px;
            font-size: 1.2rem;
        }

        .benefit h3 {
            font-size: 1.08rem;
            margin-bottom: 5px;
        }

        .benefit p {
            color: var(--cinza);
            font-size: .9rem;
            line-height: 1.55;
        }

        /* PRODUTOS */
        .products {
            background: #fff;
        }

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

        .product-card {
            border-radius: 28px;
            overflow: hidden;
            position: relative;
            background: #fff;
            border: 1px solid rgba(220, 79, 128, .11);
            box-shadow: 0 16px 42px rgba(126, 44, 74, .09);
            transition: transform .28s ease, box-shadow .28s ease;
        }

        .product-card:hover {
            transform: translateY(-7px);
            box-shadow: 0 24px 56px rgba(126, 44, 74, .15);
        }

        .product-media {
            aspect-ratio: 4 / 5;
            position: relative;
            overflow: hidden;
            background: #fdebf1;
        }

        .product-media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .45s ease;
        }

        .product-card:hover .product-media img {
            transform: scale(1.025);
        }

        .product-price {
            position: absolute;
            top: 14px;
            right: 14px;
            z-index: 2;
            padding: 8px 12px;
            border-radius: 999px;
            background: rgba(255,255,255,.92);
            color: var(--rosa-700);
            font-weight: 800;
            font-size: .86rem;
            box-shadow: 0 8px 22px rgba(126,44,74,.12);
            backdrop-filter: blur(7px);
        }

        .product-content {
            padding: 22px 22px 24px;
        }

        .product-content small {
            color: var(--rosa-600);
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .12em;
            font-size: .67rem;
        }

        .product-content h3 {
            font-size: 1.35rem;
            margin: 7px 0 8px;
        }

        .product-content p {
            color: var(--cinza);
            line-height: 1.55;
            font-size: .91rem;
            min-height: 44px;
        }

        .product-order {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-top: 16px;
            min-height: 40px;
            padding: 0 15px;
            border-radius: 999px;
            background: var(--rosa-100);
            color: var(--rosa-700);
            font-size: .78rem;
            font-weight: 800;
            transition: .2s ease;
        }

        .product-order:hover {
            background: var(--rosa-600);
            color: #fff;
        }

        .products-note {
            margin-top: 26px;
            color: var(--cinza);
            font-size: .88rem;
            line-height: 1.6;
            text-align: center;
        }

        
        /* BANNER PERSONALIZADOS */
        .personalizados-banner {
            padding: 20px 0 2px;
            position: relative;
            background: transparent;
        }

        .personalizados-banner-shell {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
            gap: 36px;
            align-items: center;
            padding: 22px 0 10px;
            border-top: 1px solid rgba(236, 175, 199, .38);
        }

        .personalizados-banner-copy {
            max-width: 640px;
        }

        .personalizados-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 0;
            background: transparent;
            border: 0;
            color: var(--rosa-700);
            font-weight: 800;
            font-size: .8rem;
            letter-spacing: .18em;
            text-transform: uppercase;
            margin-bottom: 14px;
        }

        .personalizados-kicker::before {
            content: '';
            width: 36px;
            height: 1px;
            background: rgba(207, 84, 129, .55);
            display: inline-block;
        }

        .personalizados-logo {
            display: block;
            margin-bottom: 18px;
            max-width: 480px;
        }

        .personalizados-logo img {
            width: 100%;
            height: auto;
            display: block;
            object-fit: contain;
        }

        .personalizados-banner-copy h2 {
            margin: 0 0 14px;
            font-size: clamp(2rem, 3.2vw, 3.15rem);
            line-height: .96;
            max-width: 11ch;
        }

        .personalizados-banner-copy p {
            color: #6e5b64;
            font-size: 1.04rem;
            line-height: 1.8;
            max-width: 58ch;
            margin: 0 0 22px;
        }

        .personalizados-banner-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 14px;
            align-items: center;
        }

        .personalizados-banner-note {
            color: #8d707b;
            font-size: .92rem;
            font-weight: 600;
        }

        .personalizados-banner-visual {
            position: relative;
            min-height: 375px;
            display: flex;
            align-items: end;
            justify-content: center;
        }

        .personalizados-banner-visual::before {
            content: '';
            position: absolute;
            bottom: 10px;
            width: min(100%, 430px);
            height: 285px;
            border-radius: 30px;
            background: linear-gradient(180deg, rgba(252, 235, 242, .95) 0%, rgba(244, 204, 220, .9) 100%);
            box-shadow: inset 0 0 0 1px rgba(255,255,255,.56);
        }

        .personalizados-banner-visual::after {
            content: '';
            position: absolute;
            width: 280px;
            height: 280px;
            right: 14px;
            top: 0;
            background: radial-gradient(circle, rgba(255,255,255,.88) 0%, rgba(255,255,255,0) 70%);
            pointer-events: none;
        }

        .personalizados-banner-persona {
            position: relative;
            z-index: 1;
            width: min(100%, 425px);
            max-height: 460px;
            object-fit: contain;
            filter: drop-shadow(0 22px 28px rgba(126, 44, 74, .12));
        }

        /* PERSONALIZADOS */
        .custom-section {
            background: linear-gradient(135deg, #fff2f6 0%, #fff8fb 45%, #ffe8f0 100%);
            overflow: hidden;
        }

        .custom-shell {
            display: grid;
            gap: 34px;
        }

        .custom-top {
            display: grid;
            grid-template-columns: 1fr .95fr;
            gap: 48px;
            align-items: center;
        }

        .custom-copy p {
            color: var(--cinza);
            line-height: 1.75;
            margin: 18px 0 24px;
            max-width: 640px;
        }

        .custom-list {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
            margin-bottom: 24px;
        }

        .custom-list span {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 13px 14px;
            border-radius: 15px;
            background: rgba(255,255,255,.78);
            border: 1px solid rgba(235, 158, 188, .35);
            color: #51464c;
            font-weight: 600;
            font-size: .92rem;
            box-shadow: 0 10px 30px rgba(137, 39, 75, .05);
        }

        .custom-list span::before {
            content: '♥';
            color: var(--rosa-500);
            font-size: .85rem;
        }

        .custom-note {
            margin-top: 14px;
            color: #8b6d79;
            font-size: .9rem;
            line-height: 1.65;
        }

        .custom-spotlight {
            position: relative;
            padding: 22px;
            border-radius: 34px;
            background: rgba(255, 255, 255, .76);
            border: 1px solid rgba(241, 154, 188, .35);
            box-shadow: 0 22px 55px rgba(137, 39, 75, .1);
        }

        .custom-spotlight::before {
            content: '';
            position: absolute;
            inset: auto -30px -38px auto;
            width: 140px;
            height: 140px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(241,138,172,.22) 0%, rgba(241,138,172,0) 72%);
            pointer-events: none;
        }

        .custom-main-card {
            position: relative;
            padding: 18px;
            border-radius: 26px;
            background: linear-gradient(180deg, #fff9fc 0%, #fff 100%);
            box-shadow: inset 0 0 0 1px rgba(241, 154, 188, .22);
        }

        .custom-main-card img {
            width: 100%;
            aspect-ratio: 1 / 1;
            object-fit: cover;
            border-radius: 24px;
            display: block;
        }

        .custom-main-card .tag {
            position: absolute;
            left: 30px;
            top: 30px;
            padding: 9px 14px;
            border-radius: 999px;
            background: rgba(255,255,255,.92);
            color: var(--rosa-700);
            font-weight: 700;
            font-size: .82rem;
            box-shadow: 0 10px 24px rgba(137, 39, 75, .12);
        }

        .custom-feature-info {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 18px;
            align-items: center;
            margin-top: 16px;
            padding: 16px 4px 2px;
        }

        .custom-feature-info strong {
            display: block;
            color: var(--vinho);
            font-size: 1.08rem;
            margin-bottom: 5px;
        }

        .custom-feature-info span {
            display: block;
            color: #866d77;
            font-size: .88rem;
            line-height: 1.55;
        }

        .custom-price {
            flex: 0 0 auto;
            text-align: center;
            padding: 12px 16px;
            border-radius: 13px;
            background: linear-gradient(135deg, #e94f88, #c92f6c);
            color: #fff;
            box-shadow: 0 12px 26px rgba(201,47,108,.22);
        }

        .custom-price small {
            display: block;
            font-size: .68rem;
            text-transform: uppercase;
            letter-spacing: .08em;
            opacity: .9;
        }

        .custom-price b {
            display: block;
            margin-top: 2px;
            font-size: 1.2rem;
        }

        .custom-price em {
            display: block;
            margin-top: 2px;
            font-size: .7rem;
            font-style: normal;
            opacity: .88;
        }

        .custom-mini-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 14px;
            align-content: start;
        }

        .custom-mini-card {
            background: linear-gradient(180deg, #fff9fc 0%, #fff 100%);
            border-radius: 22px;
            padding: 10px;
            box-shadow: inset 0 0 0 1px rgba(241, 154, 188, .22);
        }

        .custom-mini-card img {
            width: 100%;
            aspect-ratio: 1 / 1;
            object-fit: cover;
            border-radius: 13px;
            display: block;
            background: #fff;
        }

        .custom-mini-card strong {
            display: block;
            margin-top: 10px;
            color: var(--vinho);
            font-size: .93rem;
        }

        .custom-mini-card span {
            display: block;
            margin-top: 4px;
            color: #8d717c;
            font-size: .8rem;
            line-height: 1.45;
        }

        .custom-gallery {
            display: grid;
            gap: 18px;
            margin-top: 6px;
        }

        .custom-gallery-head {
            display: flex;
            justify-content: space-between;
            align-items: end;
            gap: 18px;
        }

        .custom-gallery-head h3 {
            margin: 0;
            color: var(--vinho);
            font-size: clamp(1.35rem, 2vw, 1.8rem);
        }

        .custom-gallery-head p {
            margin: 8px 0 0;
            color: #836973;
            max-width: 720px;
            line-height: 1.7;
        }

        .custom-bubble {
            flex: 0 0 auto;
            padding: 10px 16px;
            border-radius: 999px;
            background: rgba(255,255,255,.8);
            border: 1px solid rgba(241,154,188,.38);
            color: var(--rosa-700);
            font-weight: 700;
            white-space: nowrap;
            box-shadow: 0 10px 26px rgba(137,39,75,.08);
        }

        .marquee {
            position: relative;
            overflow: hidden;
            mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
            -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
        }

        .marquee-track {
            display: flex;
            gap: 16px;
            width: max-content;
            padding: 4px 0;
            animation: customMarquee 42s linear infinite;
        }

        .marquee.reverse .marquee-track {
            animation-direction: reverse;
            animation-duration: 48s;
        }

        .custom-gallery:hover .marquee-track {
            animation-play-state: paused;
        }

        .custom-sample {
            width: 178px;
            border-radius: 24px;
            padding: 10px;
            background: rgba(255,255,255,.78);
            border: 1px solid rgba(239, 191, 209, .55);
            box-shadow: 0 14px 34px rgba(137, 39, 75, .08);
            transform: rotate(var(--tilt, 0deg));
        }

        .custom-sample img {
            width: 100%;
            aspect-ratio: 1 / 1;
            object-fit: cover;
            border-radius: 13px;
            display: block;
            background: #fff;
        }

        .custom-sample small {
            display: block;
            margin-top: 10px;
            color: #885f71;
            font-size: .76rem;
            font-weight: 600;
            letter-spacing: .02em;
        }

        .custom-sample strong {
            display: block;
            margin-top: 4px;
            color: var(--vinho);
            font-size: .92rem;
        }

        .tags-showcase {
            margin-top: 34px;
            padding: 28px;
            border-radius: 32px;
            background: linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,248,251,.94) 100%);
            border: 1px solid rgba(241,154,188,.34);
            box-shadow: 0 22px 54px rgba(137,39,75,.09);
            display: grid;
            gap: 24px;
        }

        .tags-showcase-head {
            display: flex;
            justify-content: space-between;
            align-items: end;
            gap: 24px;
        }

        .tags-showcase-head h3 {
            margin: 0;
            color: var(--vinho);
            font-size: clamp(1.35rem, 2vw, 1.9rem);
        }

        .tags-showcase-head p {
            margin: 10px 0 0;
            max-width: 760px;
            color: #836973;
            line-height: 1.75;
        }

        .tags-price-badge {
            flex: 0 0 auto;
            display: grid;
            gap: 2px;
            justify-items: center;
            padding: 14px 18px;
            min-width: 140px;
            border-radius: 22px;
            background: linear-gradient(135deg, #e94f88, #c92f6c);
            color: #fff;
            box-shadow: 0 18px 34px rgba(201,47,108,.22);
        }

        .tags-price-badge strong {
            font-size: 1.35rem;
            line-height: 1;
        }

        .tags-price-badge span {
            font-size: .78rem;
            letter-spacing: .08em;
            text-transform: uppercase;
            opacity: .88;
        }

        .tags-carousel {
            position: relative;
            overflow: hidden;
            padding: 4px 2px 8px;
        }

        .tags-grid {
            transition: transform .85s cubic-bezier(.22,.61,.36,1);
            display: flex;
            gap: 18px;
            align-items: stretch;
            transition: transform .55s cubic-bezier(.22,.61,.36,1);
            will-change: transform;
            backface-visibility: hidden;
            transform: translate3d(0,0,0);
            animation-play-state: running !important;
        }

        .tags-grid .tag-card {
            flex: 0 0 calc((100% - 36px) / 3);
        }

        .tag-card {
            position: relative;
            overflow: hidden;
            border-radius: 26px;
            padding: 22px;
            background: linear-gradient(180deg, #fff 0%, #fff8fb 100%);
            border: 1px solid rgba(239,191,209,.52);
            box-shadow: 0 14px 34px rgba(137,39,75,.08);
            display: grid;
            gap: 14px;
        }

        .tag-card::before {
            content: '';
            position: absolute;
            right: -46px;
            top: -46px;
            width: 140px;
            height: 140px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(241,138,172,.20) 0%, rgba(241,138,172,0) 72%);
        }

        .tag-card figure {
            margin: 0;
            min-height: 270px;
            display: grid;
            place-items: center;
            border-radius: 22px;
            background: radial-gradient(circle at top, rgba(255,255,255,.96), rgba(255,244,248,.98));
            position: relative;
            overflow: hidden;
            padding: 18px;
        }

        .tag-card figure::after {
            content: '';
            position: absolute;
            inset: auto 26px 22px 26px;
            height: 22px;
            filter: blur(15px);
            background: rgba(137,39,75,.12);
            border-radius: 50%;
        }
        .tag-hanger {
            display: none !important;
        }

        .tag-card img {
            position: relative;
            z-index: 1;
            width: min(100%, 300px);
            max-height: 260px;
            object-fit: contain;
            filter: drop-shadow(0 18px 26px rgba(137,39,75,.16));
        }

        .tag-card.featured img {
            width: min(100%, 320px);
            max-height: 270px;
        }

        .tag-meta small {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 8px 12px;
            border-radius: 999px;
            background: rgba(246,221,231,.62);
            color: var(--rosa-700);
            font-weight: 700;
            font-size: .76rem;
            text-transform: uppercase;
            letter-spacing: .06em;
        }

        .tag-meta h4 {
            margin: 10px 0 6px;
            color: var(--vinho);
            font-size: 1.12rem;
        }

        .tag-meta p {
            margin: 0;
            color: #856a75;
            line-height: 1.65;
            font-size: .92rem;
        }

        .tag-note {
            margin-top: 4px;
            font-size: .84rem;
            color: #956c7f;
        }

        .tags-cta-line {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 18px;
            padding-top: 4px;
            border-top: 1px solid rgba(239,191,209,.55);
        }

        .tags-cta-line p {
            margin: 0;
            color: #856a75;
            line-height: 1.6;
            font-size: .94rem;
        }

        @media (max-width: 980px) {
            .tags-showcase-head,
            .tags-cta-line {
                flex-direction: column;
                align-items: flex-start;
            }

        }

        .tags-carousel-controls {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 14px;
            margin-top: 6px;
        }

        .tags-carousel-btn {
            width: 44px;
            height: 44px;
            border: 1px solid rgba(217,77,130,.24);
            border-radius: 50%;
            background: #fff;
            color: var(--rosa-700);
            font-size: 1.35rem;
            cursor: pointer;
            display: grid;
            place-items: center;
            box-shadow: 0 10px 24px rgba(137,39,75,.10);
            transition: transform .2s ease, background .2s ease, color .2s ease;
        }

        .tags-carousel-btn:hover {
            transform: translateY(-2px);
            background: var(--rosa-700);
            color: #fff;
        }

        .tags-carousel-btn:disabled {
            opacity: .38;
            cursor: default;
            transform: none;
        }

        .tags-carousel-dots {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-width: 90px;
        }

        .tags-carousel-dot {
            width: 8px;
            height: 8px;
            border: 0;
            border-radius: 999px;
            padding: 0;
            background: #efbfd1;
            cursor: pointer;
            transition: width .25s ease, background .25s ease;
        }

        .tags-carousel-dot.active {
            width: 24px;
            background: var(--rosa-700);
        }

        @media (max-width: 980px) {
            .tags-grid .tag-card {
                flex-basis: calc((100% - 18px) / 2);
            }
        }

        @media (max-width: 640px) {
            .tags-showcase {
                padding: 20px 16px;
            }

            .tags-grid .tag-card {
                flex-basis: 100%;
            }

            .tags-carousel-btn {
                width: 40px;
                height: 40px;
            }
        }

        @keyframes customMarquee {
            from { transform: translateX(0); }
            to { transform: translateX(-50%); }
        }

        /* SOBRE */
        .about {
            background: #fff;
        }

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

        .about-copy p {
            color: var(--cinza);
            line-height: 1.8;
            margin-top: 18px;
        }

        .about-card {
            padding: 26px;
            border-radius: 30px;
            background: linear-gradient(145deg, #fff7fa, #ffe1eb);
            box-shadow: var(--sombra);
            position: relative;
            overflow: hidden;
        }

        .about-card img {
            border-radius: 22px;
            width: 100%;
        }

        /* CTA */
        .cta {
            padding: 90px 0;
            background: #171318;
            color: #fff;
            position: relative;
            overflow: hidden;
        }

        .cta::before,
        .cta::after {
            content: '';
            position: absolute;
            border-radius: 50%;
            background: rgba(220, 79, 128, .14);
        }

        .cta::before {
            width: 420px;
            height: 420px;
            right: -120px;
            top: -180px;
        }

        .cta::after {
            width: 280px;
            height: 280px;
            left: -100px;
            bottom: -120px;
        }

        .cta-box {
            position: relative;
            z-index: 2;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 34px;
        }

        .cta h2 {
            max-width: 680px;
        }

        .cta p {
            color: rgba(255,255,255,.72);
            margin-top: 13px;
            max-width: 620px;
            line-height: 1.7;
        }

        .cta .btn-primary {
            background: linear-gradient(135deg, #f186a8, #d94a7c);
            min-width: 210px;
        }

        /* FOOTER */
        footer {
            background: #0f0c10;
            color: #fff;
            padding: 58px 0 24px;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 1.4fr .8fr .8fr;
            gap: 50px;
            padding-bottom: 40px;
        }

        .footer-brand p {
            color: rgba(255,255,255,.62);
            line-height: 1.7;
            margin-top: 18px;
            max-width: 450px;
        }

        .footer-col h4 {
            font-size: .8rem;
            text-transform: uppercase;
            letter-spacing: .14em;
            color: #f18aac;
            margin-bottom: 16px;
        }

        .footer-col a {
            display: block;
            color: rgba(255,255,255,.72);
            margin: 10px 0;
            transition: color .2s ease;
        }

        .footer-col a:hover {
            color: #fff;
        }

        .footer-bottom {
            border-top: 1px solid rgba(255,255,255,.08);
            padding-top: 22px;
            display: flex;
            justify-content: space-between;
            gap: 20px;
            color: rgba(255,255,255,.46);
            font-size: .82rem;
        }

        /* CURSOR PERSONALIZADO MOLLYPOPPIN */
        @media (hover: hover) and (pointer: fine) {
            html.has-custom-cursor,
            html.has-custom-cursor * {
                cursor: none !important;
            }
        }

        .molly-cursor {
            position: fixed;
            left: 0;
            top: 0;
            width: 24px;
            height: 24px;
            object-fit: contain;
            pointer-events: none;
            z-index: 99999;
            opacity: 0;
            transition: opacity .10s ease;
            filter: drop-shadow(0 2px 3px rgba(118, 34, 67, .18));
            will-change: transform;
        }

        .molly-cursor.is-visible {
            opacity: .98;
        }

        .molly-cursor-trail {
            position: fixed;
            object-fit: contain;
            pointer-events: none;
            z-index: 99998;
            will-change: transform, opacity;
            filter: drop-shadow(0 2px 3px rgba(118, 34, 67, .10));
        }

        /* RESPONSIVO */
        @media (max-width: 1024px) {


        /* RESPONSIVO */
        @media (max-width: 1024px) {
            .menu {
                position: fixed;
                top: 0;
                right: -100%;
                width: min(360px, 88vw);
                height: 100vh;
                background: #fff;
                flex-direction: column;
                align-items: flex-start;
                padding: 120px 36px 40px;
                gap: 26px;
                box-shadow: -20px 0 50px rgba(75, 24, 44, .14);
                transition: right .32s ease;
                z-index: 999;
            }

            .menu.open {
                right: 0;
            }

            .menu a {
                font-size: 1.15rem;
            }

            .menu-toggle {
                display: block;
                position: relative;
                z-index: 1001;
            }

            .nav-actions .btn {
                display: none;
            }

            .hero-grid {
                grid-template-columns: 1fr;
                gap: 0;
                text-align: center;
            }

            .hero-copy {
                padding: 88px 0 18px;
            }

            .hero-copy > p,
            .hero h1 {
                margin-left: auto;
                margin-right: auto;
            }

            .hero-buttons,
            .hero-notes {
                justify-content: center;
            }

            .hero-visual {
                min-height: 590px;
            }

            .hero-visual::before {
                width: 420px;
                height: 420px;
                top: 20px;
            }

            .persona {
                max-height: 560px;
            }

            .persona-hero-combo {
                width: auto;
                max-width: 100%;
                max-height: 620px;
                left: 12px;
                bottom: -4px;
            }

            .benefit-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .product-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .personalizados-banner-shell,
            .custom-top,
            .about-grid {
                grid-template-columns: 1fr;
                gap: 44px;
            }

            .personalizados-banner-copy {
                max-width: none;
            }

            .personalizados-banner-shell {
                gap: 28px;
            }

            .personalizados-banner-visual {
                min-height: 320px;
            }

            .about-card {
                max-width: 620px;
            }
        }

        @media (max-width: 700px) {
            .container {
                width: min(100% - 28px, 1180px);
            }

            .section {
                padding: 72px 0;
            }

            .nav {
                height: 72px;
            }

            .brand-mark {
                width: 56px;
                height: 38px;
                flex-basis: 56px;
            }

            .brand-mark img {
                width: 100%;
                height: 100%;
                object-fit: contain;
            }

            .brand-text strong {
                font-size: 1.38rem;
            }

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

            .hero {
                padding-top: 72px;
            }

            .hero-grid {
                min-height: auto;
            }

            .hero-copy {
                padding-top: 54px;
            }

            .hero h1 {
                font-size: clamp(3rem, 16vw, 5rem);
            }

            .hero-copy > p {
                font-size: 1rem;
            }

            .hero-buttons {
                flex-direction: column;
            }

            .hero-buttons .btn {
                width: 100%;
            }

            .hero-notes {
                flex-direction: column;
                align-items: center;
                gap: 8px;
            }

            .hero-visual {
                min-height: 500px;
            }

            .personalizados-banner {
                padding: 24px 0 0;
            }

            .personalizados-banner-shell {
                padding: 18px 0 6px;
                gap: 22px;
            }

            .personalizados-logo {
                max-width: 320px;
            }

            .personalizados-banner-copy p {
                font-size: 1rem;
            }

            .personalizados-banner-actions {
                flex-direction: column;
                align-items: flex-start;
            }

            .personalizados-banner-actions .btn {
                width: 100%;
            }

            .personalizados-banner-visual {
                min-height: 280px;
            }

            .personalizados-banner-persona {
                max-height: 320px;
            }

            .hero-visual::before {
                width: 330px;
                height: 330px;
                top: 35px;
            }

            .persona {
                max-height: 450px;
            }

            .persona-hero-combo {
                width: auto;
                max-width: 100%;
                max-height: 480px;
                left: 0;
                bottom: 0;
            }

            .benefits {
                margin-top: -10px;
            }

            .benefit-grid,
            .product-grid,
            .custom-list,
            .footer-grid {
                grid-template-columns: 1fr;
            }

            .benefit-grid {
                gap: 4px;
            }

            .product-card {
                min-height: 365px;
            }

            .custom-top {
                gap: 28px;
            }

            .custom-feature-info {
                grid-template-columns: 1fr;
            }

            .custom-price {
                justify-self: start;
            }

            .custom-gallery-head {
                flex-direction: column;
                align-items: flex-start;
            }

            .cta-box {
                flex-direction: column;
                align-items: flex-start;
            }

            .cta .btn-primary {
                width: 100%;
            }

            .footer-bottom {
                flex-direction: column;
            }
        }

        @media (hover: none), (pointer: coarse) {
            .cursor-flower {
                display: none !important;
            }
        }
    
        .buttons-showcase-section {
            padding: 30px 0 82px;
            background: linear-gradient(180deg, #fff9fb 0%, #fff 100%);
            overflow: hidden;
        }

        .buttons-showcase-shell {
            border-radius: 34px;
            padding: 34px;
            background: rgba(255,255,255,.92);
            border: 1px solid rgba(239,191,209,.62);
            box-shadow: 0 18px 48px rgba(137,39,75,.08);
        }

        .buttons-showcase-head {
            display: flex;
            justify-content: space-between;
            gap: 28px;
            align-items: flex-start;
            margin-bottom: 30px;
        }

        .buttons-showcase-head h2 {
            margin: 8px 0 10px;
            max-width: 760px;
            font-size: clamp(1.9rem, 3vw, 3rem);
            line-height: 1.08;
        }

        .buttons-showcase-head p {
            max-width: 770px;
            margin: 0;
            color: #765b65;
            line-height: 1.7;
        }

        .buttons-price-stack {
            display: grid;
            grid-template-columns: repeat(2, minmax(145px,1fr));
            gap: 10px;
            min-width: 310px;
        }

        .buttons-price-pill {
            padding: 15px 18px;
            border-radius: 20px;
            background: linear-gradient(135deg,#fff1f6,#fff9fb);
            border: 1px solid rgba(241,138,172,.34);
            text-align: center;
        }

        .buttons-price-pill small { display:block; color:#9b6478; font-weight:700; margin-bottom:4px; }
        .buttons-price-pill strong { font-size:1.35rem; color:#8a274b; }

        .buttons-row-block { margin-top: 24px; }
        .buttons-row-title { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
        .buttons-row-title span { font-weight:800; font-size:1.15rem; color:#5d273a; }
        .buttons-row-title em { font-style:normal; font-weight:800; color:#b23c68; background:#fff0f5; padding:8px 13px; border-radius:999px; }

        .buttons-marquee {
            overflow: hidden;
            position: relative;
            padding: 4px 0 12px;
            -webkit-mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
            mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
        }

        .buttons-marquee-track {
            display: flex;
            width: max-content;
            gap: 12px;
            animation: buttonsScroll 22s linear infinite;
            will-change: transform;
            backface-visibility: hidden;
            transform: translate3d(0,0,0);
            animation-play-state: running !important;
        }

        .buttons-marquee:hover .buttons-marquee-track,
        .buttons-marquee:focus-within .buttons-marquee-track {
            animation-play-state: running !important;
        }

        .buttons-marquee.reverse .buttons-marquee-track { animation-direction: reverse; animation-duration: 22s; }

        .button-product-card {
            width: 132px;
            flex: 0 0 132px;
            border-radius: 13px;
            padding: 7px;
            background: linear-gradient(180deg,#fff,#fff6f9);
            border: 1px solid rgba(239,191,209,.55);
            box-shadow: 0 12px 28px rgba(137,39,75,.08);
        }

        .button-product-image {
            height: 106px;
            display: grid;
            place-items: center;
            border-radius: 13px;
            background: radial-gradient(circle at 50% 28%, #fff 0%, #fff7fa 68%, #fff1f6 100%);
            overflow: hidden;
        }

        .button-product-image img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            padding: 2px;
            filter: drop-shadow(0 10px 12px rgba(96,45,61,.10));
        }

        .button-product-card strong {
            display:block;
            margin: 6px 2px 1px;
            color:#5c3442;
            font-size:.72rem;
            line-height:1.35;
        }

        .buttons-cta-line {
            display:flex;
            justify-content:space-between;
            gap:20px;
            align-items:center;
            margin-top:30px;
            padding-top:24px;
            border-top:1px solid rgba(239,191,209,.52);
        }
        .buttons-cta-line p { margin:0; color:#765b65; }

        @keyframes buttonsScroll {
            from { transform: translate3d(0,0,0); }
            to { transform: translate3d(calc(-50% - 6px),0,0); }
        }

        @media (max-width: 900px) {
            .buttons-showcase-head { flex-direction: column; }
            .buttons-price-stack { min-width: 0; width:100%; }
            .button-product-card { width:122px; flex-basis:122px; }
            .button-product-image { height:98px; }
        }
        @media (max-width: 640px) {
            .buttons-showcase-shell { padding:22px 16px; border-radius:26px; }
            .buttons-price-stack { grid-template-columns: 1fr 1fr; }
            .button-product-card { width:112px; flex-basis:112px; }
            .button-product-image { height:90px; }
            .buttons-cta-line { flex-direction:column; align-items:flex-start; }
        }


/* AJUSTE FINAL — Buttons compactos e carrossel contínuo */
#buttons-personalizados .buttons-marquee-track{animation:buttonsScrollCompact 18s linear infinite !important;animation-play-state:running !important;}
#buttons-personalizados .buttons-marquee.reverse .buttons-marquee-track{animation-direction:reverse !important;}
#buttons-personalizados .button-product-card{width:118px !important;flex:0 0 118px !important;}
#buttons-personalizados .button-product-image{height:94px !important;}
#buttons-personalizados .button-product-image img{width:100% !important;height:100% !important;max-height:94px !important;object-fit:contain !important;}
@keyframes buttonsScrollCompact{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-50% - 6px),0,0)}}
@media(max-width:640px){#buttons-personalizados .button-product-card{width:104px !important;flex-basis:104px !important}#buttons-personalizados .button-product-image{height:82px !important}#buttons-personalizados .button-product-image img{max-height:82px !important}}


/* MOVIMENTO CONTÍNUO DOS BUTTONS — controlado por JavaScript para não haver pausas */
#buttons-personalizados .buttons-marquee-track,
#buttons-personalizados .buttons-marquee.reverse .buttons-marquee-track {
    animation: none !important;
    transition: none !important;
    will-change: transform;
}
#buttons-personalizados .buttons-marquee:hover .buttons-marquee-track,
#buttons-personalizados .buttons-marquee:focus-within .buttons-marquee-track {
    animation-play-state: running !important;
}
