
        :root {
            --primary-bg: #D2CDC7; /* From home_page_beta */
            --secondary-bg: #F8F7F5;
            --text-main: #2C2C2C;
            --text-light: #5d675b;
            --accent-sage: #4A5144;
            --font-main: 'Jost', sans-serif;
            --border-light: rgba(44, 44, 44, 0.18);
        }

        body {
            font-family: var(--font-main);
            color: var(--text-main);
            background-color: var(--secondary-bg);
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            -webkit-font-smoothing: antialiased;
        }

        *, *::before, *::after {
            box-sizing: inherit;
        }

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

        /* --------------------------------------------------------------------------
           HERO SECTION (Product Spotlight)
           -------------------------------------------------------------------------- */
        .product-hero {
            display: flex;
            min-height: 85vh;
            background-color: var(--primary-bg); /* Aesop-style split background */
        }

        .hero-left {
            flex: 0 0 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: var(--primary-bg);
            padding: 4rem;
        }

        .hero-left img {
            width: 100%;
            max-width: 450px; /* Constrain bottle size */
            object-fit: contain;
            filter: drop-shadow(0px 30px 40px rgba(0,0,0,0.15));
        }

        .hero-right {
            flex: 0 0 50%;
            background-color: var(--secondary-bg);
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 5% 10% 5% 8%;
        }

        .product-eyebrow {
            font-size: 0.85rem;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: var(--accent-sage);
            margin-bottom: 1rem;
        }

        .product-title {
            font-size: clamp(2.5rem, 5vw, 4rem);
            font-weight: 300;
            line-height: 1.1;
            margin: 0 0 1rem 0;
            letter-spacing: -0.01em;
        }

        .product-subtitle {
            font-size: 1.1rem;
            font-weight: 300;
            color: var(--text-light);
            margin-bottom: 2.5rem;
            max-width: 450px;
            line-height: 1.6;
        }

        .product-divider {
            height: 1px;
            background-color: var(--border-light);
            width: 100%;
            margin: 1.5rem 0;
        }

        .product-detail-row {
            display: flex;
            flex-direction: column;
            margin-bottom: 1.5rem;
        }

        .product-detail-label {
            font-size: 0.8rem;
            font-weight: 500;
            margin-bottom: 0.4rem;
        }

        .product-detail-value {
            font-size: 0.95rem;
            font-weight: 300;
            color: var(--text-light);
        }

        .product-size {
            margin-top: 1.5rem;
            margin-bottom: 2rem;
            display: flex;
            align-items: center;
            gap: 15px;
            font-size: 0.9rem;
        }

        .size-radio {
            display: flex;
            align-items: center;
            gap: 8px;
            cursor: pointer;
        }

        .size-radio input {
            accent-color: var(--text-main);
            width: 16px;
            height: 16px;
        }

        .add-to-cart-btn {
            background-color: var(--text-main);
            color: #fff;
            border: none;
            padding: 20px 0;
            font-size: 0.9rem;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            cursor: pointer;
            transition: background-color 0.3s ease;
            width: 100%;
            margin-top: 1rem;
        }

        .add-to-cart-btn:hover {
            background-color: var(--accent-sage);
        }

        /* --------------------------------------------------------------------------
           EDITORIAL DESCRIPTION & BENEFITS
           -------------------------------------------------------------------------- */
        .editorial-section {
            display: flex;
            align-items: center;
            background-color: var(--primary-bg);
            min-height: 70vh;
        }

        .editorial-image {
            flex: 0 0 50%;
            height: 70vh;
        }

        .editorial-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .editorial-content {
            flex: 0 0 50%;
            padding: 6% 10%;
        }

        .editorial-heading {
            font-size: clamp(2rem, 3vw, 2.5rem);
            font-weight: 300;
            line-height: 1.2;
            margin-bottom: 1.5rem;
        }

        .editorial-text {
            font-size: 1.05rem;
            line-height: 1.7;
            font-weight: 300;
            margin-bottom: 3rem;
            color: var(--text-main);
        }

        .benefits-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .benefit-item {
            border-top: 1px solid var(--border-light);
            padding: 1.5rem 0;
        }

        .benefit-item:last-child {
            border-bottom: 1px solid var(--border-light);
        }

        .benefit-title {
            font-weight: 400;
            font-size: 1.1rem;
            margin: 0 0 0.5rem 0;
            letter-spacing: 0.02em;
        }

        .benefit-desc {
            font-weight: 300;
            font-size: 0.95rem;
            color: var(--text-light);
            margin: 0;
            line-height: 1.5;
        }

        /* --------------------------------------------------------------------------
           INGREDIENTS FOCUS SECTION
           -------------------------------------------------------------------------- */
        .ingredients-section {
            padding: 120px 10%;
            background-color: var(--secondary-bg);
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .ingredients-header {
            text-align: center;
            margin-bottom: 80px;
            max-width: 700px;
        }

        .ingredients-heading {
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 300;
            margin-bottom: 1.5rem;
        }

        .ingredients-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2px;
            background-color: var(--border-light);
            width: 100%;
            max-width: 1100px;
        }

        .ingredient-card {
            background-color: var(--secondary-bg);
            padding: 40px;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            transition: background-color 0.3s ease;
        }

        .ingredient-card:hover {
            background-color: #fff;
        }

        .percentage {
            font-size: 2.8rem;
            font-weight: 300;
            color: var(--text-main);
            margin-bottom: 0.5rem;
            font-style: italic;
        }

        .acid-name {
            font-size: 1.1rem;
            font-weight: 500;
            margin-bottom: 0.5rem;
            letter-spacing: 0.05em;
        }

        .acid-effect {
            font-size: 0.9rem;
            font-weight: 300;
            color: var(--text-light);
            margin: 0;
        }

        /* --------------------------------------------------------------------------
           COMBINE WITH SECTION
           -------------------------------------------------------------------------- */
        .combine-with-section {
            padding: 100px 10%;
            background-color: var(--primary-bg);
        }

        .combine-header {
            margin-bottom: 60px;
        }

        .combine-heading {
            font-size: 1.8rem;
            font-weight: 300;
            margin: 0;
        }

        .combine-intro {
            font-size: 1rem;
            color: var(--text-light);
            margin-top: 10px;
            font-weight: 300;
        }

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

        .companion-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            text-decoration: none;
            color: inherit;
        }

        .companion-image {
            width: 100%;
            aspect-ratio: 4/5;
            background-color: rgba(255,255,255,0.2);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 25px;
            padding: 20px;
            overflow: hidden;
            transition: transform 0.4s ease;
        }

        .companion-card:hover .companion-image {
            transform: translateY(-10px);
        }

        .companion-image img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            filter: drop-shadow(0px 10px 20px rgba(0,0,0,0.1));
        }

        .companion-title {
            font-size: 1.1rem;
            font-weight: 400;
            margin: 0 0 5px 0;
        }

        .companion-type {
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--text-light);
            margin: 0;
        }

        /* Media Queries for Responsiveness */
        @media (max-width: 992px) {
            .product-hero, .editorial-section {
                flex-direction: column;
            }
            .hero-left, .hero-right, .editorial-image, .editorial-content {
                flex: none;
                width: 100%;
            }
            .hero-left {
                padding: 4rem 2rem;
            }
            .ingredients-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .combine-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .results-grid {
                grid-template-columns: 1fr;
            }
        }
        @media (max-width: 768px) {
            .combine-grid {
                grid-template-columns: 1fr;
            }
            .ingredients-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        /* Core shared classes for new sections */
        .section-shell { padding-left: 10%; padding-right: 10%; }
        .section-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 0.78fr); gap: 28px; align-items: end; margin-bottom: 34px; }
        .eyebrow { display: inline-flex; align-items: center; width: fit-content; margin-bottom: 18px; padding: 9px 14px; border-radius: 999px; background: rgba(255, 255, 255, 0.42); border: 1px solid rgba(44, 44, 44, 0.08); font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(44, 44, 44, 0.66); }
        .section-intro h2, .section-intro h3 { margin: 0; font-size: clamp(2.3rem, 4vw, 3.5rem); font-weight: 300; line-height: 1.05; letter-spacing: -0.03em; text-wrap: balance; }
        .section-intro h2 em, .section-intro h3 em { font-style: italic; color: var(--text-light); }
        .section-intro p { margin: 0; max-width: 420px; justify-self: end; font-size: 1rem; line-height: 1.72; color: rgba(44, 44, 44, 0.72); }

        /* Impact Cards */
        .impact-strip { padding-top: 40px; padding-bottom: 40px; background: linear-gradient(180deg, rgba(236, 231, 224, 0.96) 0%, #f2ede7 100%); }
        .impact-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
        .impact-card { padding: 22px 20px; border-radius: 24px; background: rgba(255, 255, 255, 0.62); border: 1px solid rgba(44, 44, 44, 0.08); box-shadow: 0 18px 36px rgba(61, 52, 43, 0.05); }
        .impact-card .label { display: inline-flex; margin-bottom: 12px; font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(44, 44, 44, 0.5); }
        .impact-card h3 { margin: 0 0 10px; font-size: 1.36rem; font-weight: 400; letter-spacing: -0.02em; }
        .impact-card p { margin: 0; font-size: 0.92rem; line-height: 1.68; color: rgba(44, 44, 44, 0.7); }

        /* Formula Story */
        .story-section { padding-top: 92px; padding-bottom: 96px; background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.34), transparent 32%), linear-gradient(180deg, #f5f1eb 0%, #f1ece5 100%); }
        .story-grid { display: grid; grid-template-columns: minmax(320px, 0.96fr) minmax(0, 1.04fr); gap: 26px; align-items: stretch; }
        .story-visual { position: relative; min-height: 640px; border-radius: 30px; overflow: hidden; background: linear-gradient(180deg, #f2ece5 0%, #e7ded2 100%); border: 1px solid rgba(44, 44, 44, 0.08); }
        .story-visual img { width: 100%; height: 100%; object-fit: cover; }
        .story-badge { position: absolute; top: 22px; left: 22px; display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 999px; background: rgba(248, 247, 245, 0.78); backdrop-filter: blur(8px); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(44, 44, 44, 0.8); }
        .story-panel { display: grid; gap: 22px; padding: 42px 40px; border-radius: 30px; background: rgba(255, 252, 247, 0.78); border: 1px solid rgba(44, 44, 44, 0.08); box-shadow: 0 22px 48px rgba(44, 44, 44, 0.05); }
        .story-panel h3 { margin: 0; font-size: clamp(2rem, 3vw, 2.8rem); font-weight: 300; line-height: 1.05; letter-spacing: -0.03em; }
        .story-panel h3 em { font-style: italic; color: var(--text-light); }
        .story-panel p { margin: 0; font-size: 0.98rem; line-height: 1.82; color: rgba(44, 44, 44, 0.74); }
        .story-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
        .story-list li { min-height: 112px; padding: 18px 18px 16px; border-radius: 22px; background: rgba(255, 255, 255, 0.7); border: 1px solid rgba(44, 44, 44, 0.06); }
        .story-list strong { display: block; margin-bottom: 8px; font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(44, 44, 44, 0.5); }
        .story-list span { display: block; font-size: 1.02rem; line-height: 1.6; color: rgba(44, 44, 44, 0.78); }

        /* Treatment Flow */
        .ritual-section { padding-top: 96px; padding-bottom: 104px; background: var(--secondary-bg); }
        .ritual-grid.no-aside { display: grid; grid-template-columns: 1fr; max-width: 800px; margin: 0 auto; gap: 24px; align-items: start; }
        .ritual-steps { display: grid; gap: 16px; }
        .ritual-step { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 18px; align-items: start; padding: 24px; border-radius: 26px; background: #fff; border: 1px solid rgba(44, 44, 44, 0.08); box-shadow: 0 18px 40px rgba(44, 44, 44, 0.04); }
        .ritual-index { width: 64px; height: 64px; border-radius: 20px; display: inline-flex; align-items: center; justify-content: center; background: rgba(74, 81, 68, 0.08); color: var(--accent-sage); font-size: 1.1rem; letter-spacing: 0.14em; text-transform: uppercase; }
        .ritual-step h4 { margin: 0 0 8px; font-size: 1.26rem; font-weight: 400; letter-spacing: -0.02em; }
        .ritual-step p { margin: 0; font-size: 0.96rem; line-height: 1.72; color: rgba(44, 44, 44, 0.72); }

        /* Banner */
        .banner-section {
            background-color: #ffffff;
            padding: 40px 0;
            display: flex;
            justify-content: center;
        }

        .banner-image {
            width: 40%;
            object-fit: contain;
            transform: scale(1.3);
            transform-origin: center;
        }

        /* Results Gallery */
        .results-section {
            padding: 88px 10% 92px;
            background: linear-gradient(180deg, #f6f2ed 0%, #efe8df 100%);
        }

        .results-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 18px;
        }

        .results-card {
            border-radius: 28px;
            overflow: hidden;
            background: rgba(255, 252, 247, 0.78);
            border: 1px solid rgba(44, 44, 44, 0.08);
            box-shadow: 0 18px 40px rgba(44, 44, 44, 0.05);
        }

        .results-card img {
            width: 100%;
            height: auto;
            min-height: 0;
            object-fit: contain;
        }

        /* FAQ */
        .faq-section { padding-top: 94px; padding-bottom: 110px; background: linear-gradient(180deg, #ede8e1 0%, #dcd4cb 100%); }
        .faq-panel { padding: 34px 32px; border-radius: 30px; background: rgba(255, 252, 247, 0.8); border: 1px solid rgba(44, 44, 44, 0.08); box-shadow: 0 22px 48px rgba(44, 44, 44, 0.05); max-width: 800px; margin: 0 auto; }
        .faq-panel h3 { margin: 0 0 20px; font-size: clamp(2rem, 3vw, 2.7rem); font-weight: 300; line-height: 1.05; letter-spacing: -0.03em; }
        .faq-item { border-top: 1px solid rgba(44, 44, 44, 0.1); }
        .faq-item:last-child { border-bottom: 1px solid rgba(44, 44, 44, 0.1); }
        .faq-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; border: 0; background: transparent; color: var(--text-main); text-align: left; cursor: pointer; font: inherit; }
        .faq-trigger span:first-child { font-size: 1rem; line-height: 1.5; }
        .faq-trigger span:last-child { font-size: 1.4rem; color: rgba(44, 44, 44, 0.56); transition: transform 0.2s ease; }
        .faq-item.open .faq-trigger span:last-child { transform: rotate(45deg); }
        .faq-answer { display: none; padding: 0 0 18px; font-size: 0.94rem; line-height: 1.75; color: rgba(44, 44, 44, 0.7); }
        .faq-item.open .faq-answer { display: block; }

        /* Responsive Additions */
        @media (max-width: 1100px) {
            .section-intro, .story-grid, .ritual-grid.no-aside { grid-template-columns: 1fr; }
            .section-intro p { justify-self: start; max-width: none; }
            .impact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }
        @media (max-width: 767px) {
            .story-list { grid-template-columns: 1fr; }
            .faq-panel { padding: 24px 18px; border-radius: 24px; }
            .banner-image { width: 78%; }
        }
        @media (max-width: 480px) {
            .impact-grid { grid-template-columns: 1fr; }
            .ritual-step { grid-template-columns: 52px minmax(0, 1fr); padding: 18px; border-radius: 22px; }
            .ritual-index { width: 52px; height: 52px; border-radius: 16px; font-size: 0.92rem; }
        }
    

/* CSP: former inline style="" attributes */
.ae-u1 { font-size: 1.05rem !important; font-weight: 500 !important; color: var(--text-main) !important; }
.ae-u2 { margin-left:auto !important; font-weight: 500 !important; }
.ae-u3 { color: var(--text-light) !important; font-weight: 300 !important; }
.ae-u4 { transform: scale(1.35) !important; }
