﻿@font-face {
            font-family: 'Recoleta';
            src: url('images/fonts/Latinotype - Recoleta Alt Regular.otf') format('opentype');
            font-weight: 400;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Recoleta';
            src: url('images/fonts/Latinotype - Recoleta SemiBold.otf') format('opentype');
            font-weight: 700;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Pangram';
            src: url('images/fonts/PPPangramSansRounded-Medium.otf') format('opentype');
            font-weight: 500;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Pangram';
            src: url('images/fonts/PPPangramSans-Bold.otf') format('opentype');
            font-weight: 700;
            font-style: normal;
            font-display: swap;
        }

        * {
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
            scroll-padding-top: 92px;
            overflow-x: clip;
        }

        body {
            background: #fffaf3;
            color: #111936;
            padding-bottom: 0;
            overflow-x: clip;
        }

        img {
            max-width: 100%;
        }

        .brand-logo {
            width: auto;
            object-fit: contain;
            filter: drop-shadow(0 1px 2px rgba(17, 25, 54, .16));
        }

        .header-shop-btn {
            display: inline-flex;
            min-width: 104px;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: #2d2b69;
            padding: .78rem 1.45rem;
            color: #ffffff;
            font-size: .9rem;
            font-weight: 800;
            line-height: 1;
            box-shadow: 0 8px 22px rgba(45, 43, 105, .22);
            transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
        }

        .header-shop-btn:hover {
            transform: translateY(-1px);
            background: #424680;
            box-shadow: 0 12px 28px rgba(45, 43, 105, .26);
        }

        .announce-bar {
            overflow: hidden;
            background: #29275f;
            color: #fffaf3;
        }

        .announce-track {
            display: flex;
            width: max-content;
            animation: announceSlide 30s linear infinite;
        }

        .announce-group {
            display: flex;
            align-items: center;
            gap: 2rem;
            min-width: max-content;
            padding-right: 2rem;
        }

        .announce-item {
            display: inline-flex;
            align-items: center;
            gap: .55rem;
            white-space: nowrap;
            font-size: .82rem;
            font-weight: 800;
        }

        .announce-item strong {
            color: #ff8080;
        }

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

        .gallery-image {
            position: absolute;
            inset: 0;
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: 1;
            transform: translateX(0);
            transition: transform .34s cubic-bezier(.22, .78, .22, 1), opacity .18s ease;
        }

        .gallery-slide-clone {
            z-index: 1;
        }

        .gallery-image.slide-out-left {
            opacity: .96;
            transform: translateX(-100%);
        }

        .gallery-image.slide-out-right {
            opacity: .96;
            transform: translateX(100%);
        }

        .gallery-image.slide-in-left,
        .gallery-image.slide-in-right {
            transition: none;
        }

        .gallery-image.slide-in-left {
            transform: translateX(-100%);
        }

        .gallery-image.slide-in-right {
            transform: translateX(100%);
        }

        .thumb.is-active {
            border-color: #424680;
            box-shadow: 0 0 0 3px rgba(66, 70, 128, .12);
        }

        .product-section {
            position: relative;
            align-items: start;
            min-width: 0;
            overflow: visible;
        }

        .product-gallery {
            position: sticky;
            top: 104px;
            align-self: start;
            height: fit-content;
            display: grid;
            grid-template-columns: 76px minmax(0, 1fr);
            gap: 1rem;
            align-items: start;
            min-width: 0;
            z-index: 2;
        }

        .thumb-rail {
            display: grid;
            gap: .75rem;
            max-height: calc(100vh - 140px);
            overflow-y: auto;
            padding: .25rem;
            scrollbar-width: thin;
        }

        .thumb {
            display: block;
            aspect-ratio: 1;
            width: 100%;
            overflow: hidden;
            border: 2px solid rgba(66, 70, 128, .12);
            border-radius: 8px;
            background: #fff;
            padding: 3px;
            transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, opacity .2s ease;
        }

        .thumb:hover {
            transform: translateY(-2px);
            border-color: #ff8080;
        }

        .thumb img {
            width: 100%;
            height: 100%;
            border-radius: 5px;
            object-fit: cover;
        }

        .product-image-stage {
            position: relative;
            overflow: hidden;
            width: 100%;
            max-width: 100%;
            aspect-ratio: 1 / 1;
            min-height: 0;
            border-radius: 8px;
            background: #fff;
            box-shadow: 0 20px 55px rgba(17, 25, 54, .12);
        }

        .gallery-nav {
            position: absolute;
            top: 50%;
            display: grid;
            align-items: center;
            justify-items: center;
            width: 44px;
            height: 44px;
            padding: 0 0 .16rem;
            transform: translateY(-50%);
            place-items: center;
            border-radius: 999px;
            background: rgba(255, 255, 255, .92);
            color: #424680;
            font-size: 1.75rem;
            font-weight: 700;
            font-family: Arial, sans-serif;
            line-height: 1;
            box-shadow: 0 12px 28px rgba(17, 25, 54, .14);
            transition: background-color .2s ease, transform .2s ease;
        }

        .gallery-nav:hover {
            background: #f2ce12;
            transform: translateY(-50%) scale(1.04);
        }

        .gallery-nav-prev {
            left: 1rem;
        }

        .gallery-nav-next {
            right: 1rem;
        }

        .product-panel {
            min-width: 0;
            max-width: 100%;
            border: 1px solid rgba(66, 70, 128, .1);
            border-radius: 8px;
            background: #fffaf3;
            padding: clamp(1.25rem, 3vw, 2rem);
        }

        .product-kicker {
            color: #ff8080;
            font-size: .75rem;
            font-weight: 800;
            letter-spacing: .18em;
            text-transform: uppercase;
        }

        .variant-option,
        .loft-option {
            position: relative;
            overflow: hidden;
            background: linear-gradient(135deg, rgba(244, 237, 229, .76), rgba(255, 255, 255, .96));
            transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease, color .2s ease;
        }

        .variant-option::before,
        .loft-option::before {
            content: "";
            position: absolute;
            inset: 0;
            opacity: 0;
            background: linear-gradient(135deg, rgba(255, 128, 128, .18), rgba(242, 206, 18, .28));
            transition: opacity .2s ease;
            pointer-events: none;
        }

        .variant-option.is-selected,
        .loft-option.is-selected {
            border-color: #ff8080;
            background: linear-gradient(135deg, #fff0f3 0%, #fff9d7 100%);
            box-shadow: 0 16px 36px rgba(255, 128, 128, .18), 0 0 0 3px rgba(242, 206, 18, .22);
        }

        .variant-option.is-selected::before,
        .loft-option.is-selected::before {
            opacity: 1;
        }

        .variant-option:hover,
        .loft-option:hover,
        .lift:hover {
            transform: translateY(-3px);
        }

        .variant-option:hover,
        .loft-option:hover {
            border-color: #ff8080;
            box-shadow: 0 14px 34px rgba(66, 70, 128, .13);
        }

        .variant-option:hover::before,
        .loft-option:hover::before {
            opacity: .85;
        }

        .variant-option > *,
        .loft-option > * {
            position: relative;
            z-index: 1;
        }

        .firmness-pill {
            min-width: 96px;
            border: 1px solid rgba(66, 70, 128, .18);
            border-radius: 999px;
            background: #ffffff;
            padding: .72rem 1.15rem;
            text-align: center;
            font-weight: 800;
            color: #424680;
        }

        .firmness-pill::before {
            display: none;
        }

        .firmness-pill:hover {
            border-color: #ff8080;
            background: #fff0f3;
            color: #424680;
            box-shadow: 0 10px 24px rgba(255, 128, 128, .16);
        }

        .firmness-pill.is-selected {
            border-color: #424680;
            background: #424680;
            color: #ffffff;
            box-shadow: 0 14px 30px rgba(66, 70, 128, .22);
        }

        .product-trust {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: .75rem;
            color: #111936;
            font-size: .72rem;
            font-weight: 800;
            line-height: 1.25;
        }

        .product-trust span {
            min-width: 0;
        }

        .product-trust-inline {
            border-top: 1px solid rgba(66, 70, 128, .12);
            border-bottom: 1px solid rgba(66, 70, 128, .12);
            padding: .95rem 0;
        }

        .bundle-tile-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: .8rem;
        }

        .bundle-tile {
            display: grid;
            gap: .55rem;
            min-width: 0;
            border: 1px solid rgba(17, 25, 54, .2);
            border-radius: 8px;
            background: #ffffff;
            padding: .5rem;
            text-align: left;
            overflow: visible;
        }

        .bundle-tile.is-selected {
            border-color: #ff6f86;
            background: linear-gradient(135deg, #fff0f3 0%, #fff9d7 100%);
            box-shadow: 0 12px 34px rgba(255, 111, 134, .14), 0 0 0 2px rgba(255, 111, 134, .55);
        }

        .bundle-tile-badge {
            position: absolute;
            top: -.58rem;
            left: .6rem;
            z-index: 3;
            border-radius: 999px;
            background: #ff6f86;
            padding: .13rem .5rem .16rem;
            color: #ffffff;
            font-size: .58rem;
            font-weight: 900;
            letter-spacing: .04em;
            text-transform: uppercase;
            white-space: nowrap;
        }

        .bundle-image {
            display: block;
            aspect-ratio: 1 / .82;
            overflow: hidden;
            border-radius: 6px;
            background: #fffaf3;
        }

        .bundle-image img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .bundle-tile-meta {
            display: grid;
            gap: .12rem;
            color: #111936;
            font-size: .78rem;
            line-height: 1.12;
        }

        .bundle-tile-meta strong,
        .bundle-tile-meta small {
            display: block;
            min-width: 0;
            overflow-wrap: anywhere;
        }

        .bundle-tile-meta small {
            color: rgba(17, 25, 54, .62);
            font-size: .72rem;
            font-weight: 800;
        }

        .product-action-reel h2 {
            margin-bottom: .85rem;
            color: #111936;
            font-size: 1.05rem;
            font-weight: 900;
            letter-spacing: .03em;
            text-transform: uppercase;
        }

        .action-reel-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: .75rem;
        }

        .action-card {
            position: relative;
            min-height: 142px;
            overflow: hidden;
            border-radius: 8px;
            background: #111936;
            color: #ffffff;
            isolation: isolate;
        }

        .action-card::after {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 1;
            background: linear-gradient(180deg, rgba(17, 25, 54, .08), rgba(17, 25, 54, .62));
        }

        .action-card img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .25s ease;
        }

        .action-card:hover img {
            transform: scale(1.04);
        }

        .play-dot {
            position: absolute;
            top: 50%;
            left: 50%;
            z-index: 2;
            display: grid;
            width: 42px;
            height: 42px;
            place-items: center;
            border-radius: 999px;
            background: rgba(255, 255, 255, .78);
            color: #424680;
            font-size: .9rem;
            transform: translate(-50%, -50%);
            box-shadow: 0 10px 22px rgba(17, 25, 54, .2);
        }

        .action-card > span:last-child {
            position: absolute;
            right: .7rem;
            bottom: .7rem;
            left: .7rem;
            z-index: 2;
            font-size: .72rem;
            font-weight: 900;
            line-height: 1.1;
            text-shadow: 0 1px 12px rgba(17, 25, 54, .45);
        }

        .bundle-card {
            display: grid;
            grid-template-columns: 18px minmax(0, 1fr) auto;
            gap: 1rem;
            align-items: center;
            width: 100%;
            min-height: 76px;
            border: 1px solid rgba(66, 70, 128, .16);
            border-radius: 8px;
            padding: 1rem;
            text-align: left;
            overflow: visible;
        }

        .bundle-card.is-selected {
            border-color: #ff6f86;
            background: #fff0f3;
            box-shadow: 0 12px 34px rgba(255, 111, 134, .14), 0 0 0 1px rgba(255, 111, 134, .7);
        }

        .bundle-radio {
            width: 18px;
            height: 18px;
            border: 1px solid rgba(66, 70, 128, .24);
            border-radius: 999px;
            background: #fff;
            box-shadow: inset 0 0 0 5px #fff;
        }

        .bundle-card.is-selected .bundle-radio {
            border-color: #ff6f86;
            background: #ff6f86;
        }

        .popular-badge {
            position: absolute;
            left: 1rem;
            top: -.72rem;
            z-index: 4;
            border-radius: 999px;
            background: #ff6f86;
            padding: .26rem .9rem;
            color: #fff;
            font-size: .68rem;
            font-weight: 900;
            letter-spacing: .04em;
            text-transform: uppercase;
        }

        #addToCart {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 58px;
            background: #424680 !important;
            color: #ffffff !important;
            box-shadow: 0 18px 36px rgba(66, 70, 128, .26);
        }

        #addToCart:hover {
            background: #ff8080 !important;
            color: #ffffff !important;
        }

        .offer-box {
            display: grid;
            grid-template-columns: 18px 1fr;
            gap: .9rem;
            border: 1px dashed #cda05a;
            border-radius: 8px;
            background: rgba(255, 250, 243, .7);
            padding: 1rem;
            color: rgba(66, 70, 128, .78);
            line-height: 1.65;
        }

        .offer-box strong {
            color: #424680;
        }

        .difference-card {
            background: #424680;
        }

        .difference-copy {
            background: #424680;
            color: #fffaf3;
        }

        .difference-copy h2,
        .difference-copy h3 {
            color: #ffffff;
        }

        .difference-copy p {
            color: rgba(255, 250, 243, .82);
        }

        .difference-eyebrow,
        .difference-number {
            color: #f2ce12;
        }

        .difference-steps {
            border-color: rgba(255, 250, 243, .24);
        }

        .footer-dark {
            background: #424680;
        }

        .footer-heading {
            color: #fffaf3;
            font-size: .78rem;
            font-weight: 900;
            letter-spacing: .12em;
            text-transform: uppercase;
        }

        .footer-dark a {
            transition: color .2s ease, opacity .2s ease, background-color .2s ease;
        }

        .footer-dark a:hover {
            color: #f2ce12;
        }

        .footer-social {
            display: grid;
            width: 32px;
            height: 32px;
            place-items: center;
            border-radius: 999px;
            background: rgba(255, 250, 243, .14);
            color: #fffaf3;
            font-weight: 900;
        }

        .footer-social:hover {
            background: #f2ce12;
            color: #424680 !important;
        }

        .footer-form {
            display: grid;
            grid-template-columns: 1fr auto;
            max-width: 320px;
            overflow: hidden;
            border: 1px solid rgba(255, 250, 243, .34);
            border-radius: 999px;
            background: #fffaf3;
            padding: .25rem;
        }

        .footer-form input {
            min-width: 0;
            border: 0;
            background: transparent;
            padding: .75rem .95rem;
            color: #111936;
            font: inherit;
            outline: 0;
        }

        .footer-form input::placeholder {
            color: rgba(17, 25, 54, .54);
        }

        .footer-form button {
            border-radius: 999px;
            background: #2d2b69;
            padding: .72rem 1.25rem;
            color: #ffffff;
            font-weight: 900;
            transition: background-color .2s ease, transform .2s ease;
        }

        .footer-form button:hover {
            background: #ff8080;
            transform: translateY(-1px);
        }

        .payment-badge {
            border: 1px solid rgba(255, 250, 243, .26);
            border-radius: 6px;
            background: rgba(255, 250, 243, .1);
            padding: .35rem .55rem;
            color: #fffaf3;
            font-size: .75rem;
            font-weight: 800;
        }

        .visual-hero-section {
            position: relative;
            display: grid;
            min-height: 430px;
            place-items: center;
            overflow: hidden;
            background-size: cover;
            background-position: center;
            isolation: isolate;
        }

        .hotel-night-cta {
            background-image: url('images/blank-banner.png');
        }

        .sleep-trial-section {
            min-height: 560px;
            background-image: url('images/blank-bnr-2.png');
        }

        .visual-hero-overlay {
            position: absolute;
            inset: 0;
            z-index: -1;
            background: linear-gradient(90deg, rgba(17, 18, 45, .8), rgba(66, 70, 128, .56), rgba(17, 18, 45, .72));
        }

        .trial-overlay {
            background: linear-gradient(90deg, rgba(66, 70, 128, .72), rgba(66, 70, 128, .48), rgba(17, 18, 45, .68));
        }

        .visual-hero-content {
            padding-top: 5rem;
            padding-bottom: 5rem;
        }

        .visual-eyebrow {
            color: #ff8080;
            font-size: .78rem;
            font-weight: 900;
            letter-spacing: .16em;
            text-transform: uppercase;
        }

        .visual-primary-btn,
        .visual-secondary-btn {
            display: inline-flex;
            min-height: 56px;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            padding: 0 1.75rem;
            font-weight: 900;
            transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
        }

        .visual-primary-btn {
            background: #ff8080;
            color: #111936;
            box-shadow: 0 18px 42px rgba(255, 128, 128, .28);
        }

        .visual-secondary-btn {
            border: 1px solid rgba(255, 250, 243, .42);
            color: #fffaf3;
        }

        .visual-primary-btn:hover,
        .visual-secondary-btn:hover {
            transform: translateY(-2px);
        }

        .visual-primary-btn:hover {
            background: #f2ce12;
        }

        .visual-secondary-btn:hover {
            border-color: #fffaf3;
            background: rgba(255, 250, 243, .12);
        }

        .trial-step-card {
            min-height: 150px;
            border: 1px solid rgba(255, 250, 243, .24);
            border-radius: 8px;
            background: rgba(255, 250, 243, .14);
            padding: 1.5rem;
            color: #fffaf3;
            backdrop-filter: blur(12px);
        }

        .trial-step-card span {
            color: #ff8080;
            font-weight: 900;
        }

        .trial-step-card h3 {
            margin-top: .75rem;
            font-family: 'Recoleta', Georgia, serif;
            font-size: 1.25rem;
            font-weight: 700;
        }

        .trial-step-card p {
            margin-top: .55rem;
            color: rgba(255, 250, 243, .78);
            font-size: .95rem;
            line-height: 1.65;
        }

        .five-reasons-section {
            background:
                radial-gradient(circle at 18% 18%, rgba(242, 206, 18, .12), transparent 28%),
                linear-gradient(180deg, #fffaf3 0%, #f8f3ec 100%);
        }

        .five-reasons-section .mt-12.grid {
            counter-reset: reason-card;
        }

        .reason-card {
            position: relative;
            counter-increment: reason-card;
            display: flex;
            min-height: 286px;
            flex-direction: column;
            overflow: hidden;
            border: 1px solid rgba(66, 70, 128, .14);
            border-radius: 8px;
            background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 250, 243, .92));
            padding: 1.45rem;
            text-align: left;
            box-shadow: 0 18px 44px rgba(17, 25, 54, .07);
            transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
        }

        .reason-card::before {
            content: "0" counter(reason-card);
            position: absolute;
            top: 1.05rem;
            right: 1.1rem;
            color: rgba(66, 70, 128, .18);
            font-size: .78rem;
            font-weight: 900;
            letter-spacing: .14em;
        }

        .reason-card::after {
            content: "";
            position: absolute;
            inset: 0 0 auto;
            height: 4px;
            background: linear-gradient(90deg, #ff8080, #f2ce12);
            opacity: .72;
        }

        .reason-card:hover {
            transform: translateY(-6px);
            border-color: rgba(255, 128, 128, .72);
            background: #ffffff;
            box-shadow: 0 24px 58px rgba(66, 70, 128, .14);
        }

        .reason-card > span {
            display: grid;
            width: 50px;
            height: 50px;
            margin: 0 0 1.25rem;
            place-items: center;
            border-radius: 999px;
            background: #fff0f3;
            color: #ff8080;
            font-size: 1.35rem;
            font-weight: 900;
            box-shadow: inset 0 0 0 8px rgba(255, 255, 255, .6), 0 12px 26px rgba(255, 128, 128, .13);
        }

        .reason-card h3 {
            color: #111936;
            font-family: 'Recoleta', Georgia, serif;
            font-size: 1.18rem;
            font-weight: 700;
            line-height: 1.18;
            letter-spacing: 0;
        }

        .reason-card p {
            margin-top: .85rem;
            color: rgba(66, 70, 128, .72);
            font-size: .93rem;
            line-height: 1.62;
        }

        .accordion-panel {
            display: grid;
            grid-template-rows: 0fr;
            transition: grid-template-rows .28s ease;
        }

        .accordion-item.is-open .accordion-panel {
            grid-template-rows: 1fr;
        }

        .accordion-panel > div {
            overflow: hidden;
        }

        .accordion-icon {
            transition: transform .22s ease;
        }

        .accordion-item.is-open .accordion-icon {
            transform: rotate(45deg);
        }

        .related-products-section {
            background: linear-gradient(180deg, #fffaf3 0%, #ffffff 100%);
            border-top: 1px solid rgba(66, 70, 128, .08);
        }

        .related-product-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 1.25rem;
        }

        .related-product-card {
            overflow: hidden;
            border: 1px solid rgba(66, 70, 128, .12);
            border-radius: 8px;
            background: #ffffff;
            box-shadow: 0 16px 44px rgba(17, 25, 54, .08);
            transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
        }

        .related-product-card:hover {
            border-color: rgba(255, 128, 128, .5);
            box-shadow: 0 20px 52px rgba(17, 25, 54, .12);
        }

        .related-product-media {
            position: relative;
            display: block;
            aspect-ratio: 1.18 / .82;
            overflow: hidden;
            background: #f4ede5;
        }

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

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

        .related-badge {
            position: absolute;
            top: .85rem;
            left: .85rem;
            border-radius: 999px;
            background: #ff8080;
            padding: .36rem .7rem;
            color: #ffffff;
            font-size: .68rem;
            font-weight: 900;
            letter-spacing: .06em;
            text-transform: uppercase;
            box-shadow: 0 10px 24px rgba(255, 128, 128, .26);
        }

        .related-product-copy {
            padding: 1.25rem;
        }

        .related-kicker {
            color: #ff8080;
            font-size: .72rem;
            font-weight: 900;
            letter-spacing: .14em;
            text-transform: uppercase;
        }

        .related-product-copy h3 {
            margin-top: .45rem;
            color: #111936;
            font-family: 'Recoleta', Georgia, serif;
            font-size: 1.45rem;
            font-weight: 700;
            line-height: 1.05;
        }

        .related-product-copy p:not(.related-kicker) {
            margin-top: .75rem;
            color: rgba(66, 70, 128, .72);
            font-size: .95rem;
            line-height: 1.65;
        }

        .related-product-bottom {
            margin-top: 1.15rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            border-top: 1px solid rgba(66, 70, 128, .1);
            padding-top: 1rem;
        }

        .related-product-bottom span {
            color: #111936;
            font-weight: 900;
        }

        .related-product-bottom a {
            border-radius: 999px;
            background: #424680;
            padding: .72rem .95rem;
            color: #ffffff;
            font-size: .78rem;
            font-weight: 900;
            white-space: nowrap;
            transition: background-color .2s ease, transform .2s ease;
        }

        .related-product-bottom a:hover {
            background: #ff8080;
            transform: translateY(-1px);
        }

        .rating-bar {
            height: 8px;
            overflow: hidden;
            border-radius: 999px;
            background: #eee7dc;
        }

        .rating-bar span {
            display: block;
            height: 100%;
            border-radius: inherit;
            background: #cda05a;
        }

        .social-proof-section {
            overflow: hidden;
            color: #111936;
        }

        .social-proof-title {
            margin: 0 0 2.75rem;
            color: #2f2f34;
            font-family: 'Pangram', Arial, sans-serif;
            font-size: clamp(2.1rem, 4.2vw, 3.55rem);
            font-weight: 900;
            line-height: 1.05;
            letter-spacing: 0;
        }

        .social-proof-carousel {
            display: grid;
            grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
            gap: 1.5rem;
            align-items: stretch;
        }

        .trustpilot-summary-card,
        .social-review-card {
            border: 1px solid rgba(17, 25, 54, .05);
            border-radius: 4px;
            background: #ffffff;
            box-shadow: 0 14px 32px rgba(17, 25, 54, .06);
        }

        .trustpilot-summary-card {
            display: grid;
            min-height: 236px;
            align-content: center;
            justify-items: center;
            padding: 2rem;
            text-align: center;
        }

        .trustpilot-summary-card h3 {
            color: #050505;
            font-size: 1.45rem;
            font-weight: 900;
            line-height: 1;
        }

        .trustpilot-summary-card p {
            margin-top: .72rem;
            color: #111936;
            font-size: .82rem;
            font-weight: 700;
        }

        .trustpilot-summary-card a {
            color: inherit;
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        .trustpilot-summary-card strong {
            display: inline-flex;
            align-items: center;
            gap: .35rem;
            margin-top: .7rem;
            color: #00b67a;
            font-size: 1rem;
            font-weight: 900;
        }

        .trustpilot-stars,
        .mini-stars {
            display: flex;
            align-items: center;
            gap: 3px;
        }

        .trustpilot-stars {
            margin-top: 1.2rem;
        }

        .trustpilot-stars span,
        .mini-stars span {
            display: grid;
            place-items: center;
            background: #00b67a;
            color: #ffffff;
            font-family: Arial, sans-serif;
            line-height: 1;
        }

        .trustpilot-stars span {
            width: 38px;
            height: 38px;
            font-size: 1.55rem;
        }

        .mini-stars span {
            width: 22px;
            height: 22px;
            font-size: .92rem;
        }

        .social-proof-track {
            display: flex;
            gap: 1.5rem;
            min-width: 0;
            overflow-x: auto;
            scroll-behavior: smooth;
            scroll-snap-type: x mandatory;
            scrollbar-width: none;
        }

        .social-proof-track::-webkit-scrollbar {
            display: none;
        }

        .social-review-card {
            flex: 0 0 min(360px, 82vw);
            min-height: 236px;
            padding: 2rem;
            scroll-snap-align: start;
        }

        .review-card-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
        }

        .review-card-top time {
            color: rgba(17, 25, 54, .5);
            font-size: .73rem;
            font-weight: 700;
            white-space: nowrap;
        }

        .social-review-card h3 {
            margin-top: 1.65rem;
            color: #111936;
            font-size: .98rem;
            font-weight: 900;
            line-height: 1.2;
        }

        .social-review-card p {
            display: -webkit-box;
            min-height: 3.9rem;
            margin-top: .85rem;
            overflow: hidden;
            color: rgba(17, 25, 54, .7);
            font-size: .86rem;
            font-weight: 600;
            line-height: 1.55;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;
        }

        .social-review-card strong {
            display: block;
            margin-top: 1.15rem;
            color: #111936;
            font-size: .88rem;
            font-weight: 900;
        }

        .social-proof-controls {
            display: flex;
            gap: .8rem;
            margin-top: 2rem;
        }

        .social-proof-controls button {
            display: grid;
            width: 42px;
            height: 42px;
            place-items: center;
            border: 1px solid rgba(17, 25, 54, .08);
            border-radius: 999px;
            background: #ffffff;
            color: #111936;
            font-size: 1.15rem;
            font-weight: 900;
            line-height: 1;
            box-shadow: 0 8px 22px rgba(17, 25, 54, .05);
            transition: transform .2s ease, border-color .2s ease, background-color .2s ease;
        }

        .social-proof-controls button:hover {
            transform: translateY(-1px);
            border-color: #00b67a;
            background: #f3fbf7;
        }

        .proof-marquee {
            /* max-width: 88rem; */
            margin: 0 auto;
            overflow: hidden;
            border-radius: 8px;
            /* background: #050505; */
            background: #ff8080;
            color: #fffaf3;
            box-shadow: 0 14px 34px rgba(17, 25, 54, .14);
        }

        .proof-marquee-track {
            display: flex;
            width: max-content;
            animation: proofMarquee 24s linear infinite;
        }

        .proof-marquee-group {
            display: flex;
            align-items: center;
            gap: 2rem;
            min-width: max-content;
            padding: .72rem 2rem .82rem 0;
        }

        .proof-marquee-group span {
            font-family: 'Recoleta', Georgia, serif;
            font-size: clamp(1.7rem, 3vw, 2.55rem);
            font-weight: 700;
            line-height: 1;
            text-shadow: 0 1px 0 rgba(242, 206, 18, .28);
            white-space: nowrap;
        }

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

        @media (max-width: 767px) {
            html {
                scroll-padding-top: 78px;
            }

            body {
                padding-bottom: 78px;
            }

            nav > div,
            .product-section {
                width: calc(100vw - 32px) !important;
                max-width: 358px !important;
                margin-left: 16px !important;
                margin-right: auto !important;
                padding-left: 0 !important;
                padding-right: 0 !important;
            }

            .announce-item {
                font-size: .76rem;
            }

            .header-shop-btn {
                min-width: 88px;
                padding: .7rem 1rem;
                font-size: 11px;
        font-weight: 500;
            }

            .product-section {
                gap: 1.25rem;
                padding-top: 1.25rem;
                padding-bottom: 2.5rem;
                overflow: hidden;
            }

            .product-section > * {
                min-width: 0;
            }

            .product-gallery {
                position: static;
                display: flex;
                flex-direction: column-reverse;
                gap: .8rem;
                width: 100%;
                max-width: 100%;
                min-width: 0;
                overflow: hidden;
            }

            .thumb-rail {
                position: static;
                display: flex;
                width: 100%;
                max-width: 100%;
                min-width: 0;
                max-height: none;
                overflow-x: auto;
                overflow-y: hidden;
                padding: .25rem .1rem .5rem;
                -webkit-overflow-scrolling: touch;
            }

            .thumb {
                width: 68px;
                min-width: 68px;
            }

            .product-image-stage {
                aspect-ratio: 1 / 1;
                min-height: 0;
                box-shadow: 0 12px 30px rgba(17, 25, 54, .1);
            }

            .gallery-nav {
                width: 38px;
                height: 38px;
                font-size: 1.45rem;
            }

            .gallery-nav-prev {
                left: .7rem;
            }

            .gallery-nav-next {
                right: .7rem;
            }

            .product-panel {
                border-radius: 8px;
                width: 100%;
                max-width: 100%;
                min-width: 0;
                padding: 1.1rem;
                overflow: hidden;
            }

            .product-panel h1 {
                max-width: 100%;
                overflow-wrap: anywhere;
                font-size: clamp(2rem, 9vw, 2.45rem);
                line-height: 1.04;
            }

            .product-panel nav {
                font-size: .72rem;
                line-height: 1.45;
            }

            .product-panel > p,
            .product-panel .text-lg {
                font-size: .98rem;
                line-height: 1.62;
            }

            .product-panel .flex.items-center.justify-between,
            .product-panel .flex.flex-wrap.items-end {
                min-width: 0;
            }

            .product-panel .flex.items-center.justify-between {
                align-items: flex-start;
                flex-wrap: wrap;
                row-gap: .35rem;
            }

            .product-panel .flex.items-center.justify-between > * {
                min-width: 0;
            }

            .firmness-pill {
                min-width: auto;
                flex: 1 1 calc(33.333% - .5rem);
                padding: .68rem .55rem;
            }

            .product-trust {
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: .45rem;
                font-size: .62rem;
            }

            .product-trust-inline {
                padding: .75rem 0;
            }

            .bundle-tile-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: .75rem;
            }

            .bundle-tile {
                padding: .45rem;
            }

            .bundle-image {
                aspect-ratio: 1.15 / .82;
            }

            .bundle-tile-meta {
                font-size: .76rem;
            }

            .action-reel-grid {
                display: flex;
                gap: .75rem;
                overflow-x: auto;
                padding-bottom: .25rem;
                -webkit-overflow-scrolling: touch;
            }

            .action-card {
                flex: 0 0 128px;
                min-height: 164px;
            }

            .bundle-card {
                grid-template-columns: 18px minmax(0, 1fr);
                gap: .8rem;
                padding: 1rem .9rem;
            }

            .bundle-card > span:last-child {
                grid-column: 2;
                margin-left: 0;
                text-align: left;
            }

            .popular-badge {
                left: .85rem;
                max-width: calc(100% - 1.7rem);
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            .offer-box {
                grid-template-columns: 1fr;
                gap: .35rem;
            }

            .difference-copy {
                padding: 1.5rem;
            }
.difference-copy h2{
     font-size: 30px;
}
          
            .visual-hero-content h2,
            .five-reasons-section h2,
            #compare h2,
            #faq h2,
            #reviews h2 {
                font-size: clamp(2.25rem, 11vw, 3.25rem);
                line-height: 1.02;
            }

            .difference-steps .grid {
                grid-template-columns: 48px 1fr;
                gap: 1rem;
            }

            .visual-hero-section {
                min-height: 460px;
            }

            .hotel-night-cta {
                background-image: url('images/bnr-mobile-1.png');
            }

            .sleep-trial-section {
                min-height: auto;
                background-image: url('images/bnr-mobile-2.png');
            }

            .visual-hero-content {
                padding-top: 3.25rem;
                padding-bottom: 3.25rem;
            }

            .visual-primary-btn,
            .visual-secondary-btn {
                width: 100%;
                max-width: 320px;
            }

            .trial-step-card {
                padding: 1.1rem;
            }

            .reason-card {
                min-height: auto;
                padding: 1.25rem 1.1rem;
            }

            .reason-card > span {
                width: 46px;
                height: 46px;
                margin-bottom: 1rem;
            }

            .reason-card h3 {
                font-size: 1.1rem;
            }

            .related-product-grid {
                grid-template-columns: 1fr;
            }

            .related-product-copy {
                padding: 1.05rem;
            }

            .related-product-copy h3 {
                font-size: 1.28rem;
            }

            .related-product-bottom {
                align-items: flex-start;
                flex-direction: column;
            }

            .related-product-bottom a {
                width: 100%;
                text-align: center;
            }

            .social-proof-title {
                margin-bottom: 1.75rem;
                font-size: clamp(2rem, 10vw, 2.75rem);
            }

            .social-proof-carousel {
                grid-template-columns: 1fr;
                gap: 1rem;
            }

            .trustpilot-summary-card {
                min-height: 210px;
                padding: 1.5rem;
            }

            .trustpilot-stars span {
                width: 32px;
                height: 32px;
                font-size: 1.3rem;
            }

            .social-proof-track {
                gap: 1rem;
                margin-right: -1rem;
                padding-right: 1rem;
            }

            .social-review-card {
                flex-basis: min(292px, 82vw);
                min-height: 220px;
                padding: 1.35rem;
            }

            .social-proof-controls {
                margin-top: 1.35rem;
            }

            #compare table {
                min-width: 760px;
                font-size: .9rem;
            }

            .proof-marquee-section {
                padding-left: .75rem;
                padding-right: .75rem;
            }

            .proof-marquee-group {
                gap: 1.15rem;
                padding-top: .65rem;
                padding-bottom: .72rem;
            }

            .footer-form {
                max-width: none;
            }
            img.brand-logo {
    width: 130px;
}
        }
aside.product-panel {
    background-color: #fff;
}
