{"product_id":"silkrevive-4-piece-collagen-keratin-hair-care-set","title":"SilkRevive – 4-Piece Collagen Keratin Hair Care Set","description":"\u003csection class=\"fg-silkrevive\" aria-labelledby=\"fg-silkrevive-title\"\u003e\n  \u003cdiv class=\"fg-silkrevive__glow fg-silkrevive__glow--one\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"fg-silkrevive__glow fg-silkrevive__glow--two\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"fg-silkrevive__glow fg-silkrevive__glow--three\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"fg-silkrevive__container\"\u003e\n    \u003cheader class=\"fg-silkrevive__header\"\u003e\n      \u003cspan class=\"fg-silkrevive__label\"\u003e\n        SilkRevive 4-Piece Collagen Keratin Hair Care Set\n      \u003c\/span\u003e\n\n      \u003ch2 id=\"fg-silkrevive-title\" class=\"fg-silkrevive__title\"\u003e\n        From Frizzy to Flawless.\n        \u003cspan\u003eOne Complete Ritual.\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"fg-silkrevive__description\"\u003e\n        The SilkRevive 4-Piece Collagen Keratin Hair Care Set is a full\n        salon-grade hair ritual in four steps. Collagen rebuilds strength and\n        elasticity, Keratin smooths and repairs, and together they transform\n        dry, frizzy, damaged hair into silky, refreshed, and visibly healthier\n        strands — without any greasy residue. Everything you need, perfectly\n        matched, in one beautifully curated set.\n      \u003c\/p\u003e\n\n      \u003cp class=\"fg-silkrevive__promise\"\u003e\n        Wash it. Mask it. Oil it. Own it.\n      \u003c\/p\u003e\n    \u003c\/header\u003e\n\n    \u003cdiv class=\"fg-silkrevive__features\"\u003e\n      \u003carticle class=\"fg-silkrevive__card\"\u003e\n        \u003cspan class=\"fg-silkrevive__number\" aria-hidden=\"true\"\u003e\n          01\n        \u003c\/span\u003e\n\n        \u003cdiv class=\"fg-silkrevive__card-copy\"\u003e\n          \u003ch3\u003eSilky, Frizz-Free Hair\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Keratin smooths the hair shaft for lasting softness and shine.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"fg-silkrevive__card\"\u003e\n        \u003cspan class=\"fg-silkrevive__number\" aria-hidden=\"true\"\u003e\n          02\n        \u003c\/span\u003e\n\n        \u003cdiv class=\"fg-silkrevive__card-copy\"\u003e\n          \u003ch3\u003eDeep Nourishment Without the Grease\u003c\/h3\u003e\n\n          \u003cp\u003e\n            The lightweight formula absorbs fully, leaving hair feeling clean\n            and refreshed.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"fg-silkrevive__card\"\u003e\n        \u003cspan class=\"fg-silkrevive__number\" aria-hidden=\"true\"\u003e\n          03\n        \u003c\/span\u003e\n\n        \u003cdiv class=\"fg-silkrevive__card-copy\"\u003e\n          \u003ch3\u003eCollagen-Powered Strength\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Rebuilds elasticity and reduces breakage from root to tip.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"fg-silkrevive__card\"\u003e\n        \u003cspan class=\"fg-silkrevive__number\" aria-hidden=\"true\"\u003e\n          04\n        \u003c\/span\u003e\n\n        \u003cdiv class=\"fg-silkrevive__card-copy\"\u003e\n          \u003ch3\u003eSuitable for All Hair Types\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Suitable for dry, oily, damaged, or colour-treated hair.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"fg-silkrevive__card\"\u003e\n        \u003cspan class=\"fg-silkrevive__number\" aria-hidden=\"true\"\u003e\n          05\n        \u003c\/span\u003e\n\n        \u003cdiv class=\"fg-silkrevive__card-copy\"\u003e\n          \u003ch3\u003eFor Men and Women\u003c\/h3\u003e\n\n          \u003cp\u003e\n            A complete hair care ritual designed for everyday use.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"fg-silkrevive__card\"\u003e\n        \u003cspan class=\"fg-silkrevive__number\" aria-hidden=\"true\"\u003e\n          06\n        \u003c\/span\u003e\n\n        \u003cdiv class=\"fg-silkrevive__card-copy\"\u003e\n          \u003ch3\u003eTravel-Size\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Compact enough for your gym bag, carry-on, or weekend away.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"fg-silkrevive__card fg-silkrevive__card--wide\"\u003e\n        \u003cspan class=\"fg-silkrevive__number\" aria-hidden=\"true\"\u003e\n          07\n        \u003c\/span\u003e\n\n        \u003cdiv class=\"fg-silkrevive__card-copy\"\u003e\n          \u003ch3\u003eBeautifully Presented\u003c\/h3\u003e\n\n          \u003cp\u003e\n            A complete, thoughtful gift for anyone who deserves great hair.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"fg-silkrevive__ritual\"\u003e\n      \u003cdiv class=\"fg-silkrevive__ritual-heading\"\u003e\n        \u003cspan\u003eThe Complete 4-Step Ritual\u003c\/span\u003e\n\n        \u003ch3\u003eEverything you need, perfectly matched.\u003c\/h3\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fg-silkrevive__steps\" role=\"list\" aria-label=\"The complete four-step hair care ritual\"\u003e\n        \u003carticle class=\"fg-silkrevive__step\" role=\"listitem\"\u003e\n          \u003cspan class=\"fg-silkrevive__step-number\" aria-hidden=\"true\"\u003e\n            01\n          \u003c\/span\u003e\n\n          \u003ch4\u003eShampoo\u003c\/h4\u003e\n          \u003cp\u003e100ml\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003cdiv class=\"fg-silkrevive__connector\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n\n        \u003carticle class=\"fg-silkrevive__step\" role=\"listitem\"\u003e\n          \u003cspan class=\"fg-silkrevive__step-number\" aria-hidden=\"true\"\u003e\n            02\n          \u003c\/span\u003e\n\n          \u003ch4\u003eHair Mask\u003c\/h4\u003e\n          \u003cp\u003e100ml\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003cdiv class=\"fg-silkrevive__connector\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n\n        \u003carticle class=\"fg-silkrevive__step\" role=\"listitem\"\u003e\n          \u003cspan class=\"fg-silkrevive__step-number\" aria-hidden=\"true\"\u003e\n            03\n          \u003c\/span\u003e\n\n          \u003ch4\u003eEssential Oil\u003c\/h4\u003e\n          \u003cp\u003e30ml\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003cdiv class=\"fg-silkrevive__connector\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n\n        \u003carticle class=\"fg-silkrevive__step\" role=\"listitem\"\u003e\n          \u003cspan class=\"fg-silkrevive__step-number\" aria-hidden=\"true\"\u003e\n            04\n          \u003c\/span\u003e\n\n          \u003ch4\u003eConditioner\u003c\/h4\u003e\n          \u003cp\u003e60g\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cfooter class=\"fg-silkrevive__footer\"\u003e\n      \u003cspan\u003eFour products.\u003c\/span\u003e\n      \u003cspan\u003eOne ritual.\u003c\/span\u003e\n      \u003cstrong\u003eHair that turns heads.\u003c\/strong\u003e\n    \u003c\/footer\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cstyle\u003e\n  \/* =========================================================\n     FEARLESS GRACE — SILKREVIVE\n     Shopify Custom Liquid \/ Product Description compatible\n     ========================================================= *\/\n\n  .fg-silkrevive {\n    --fg-midnight: #101a2b;\n    --fg-navy: #173e6c;\n    --fg-deep-navy: #0b223d;\n    --fg-champagne: #c9b39d;\n    --fg-gold: #c8a56a;\n    --fg-deep-gold: #9b7442;\n    --fg-ivory: #faf8f5;\n    --fg-cream: #f4eee7;\n    --fg-rose: #b7818e;\n    --fg-soft-rose: #eadadd;\n    --fg-text: #36495b;\n\n    position: relative;\n    isolation: isolate;\n    display: block;\n    width: 100%;\n    max-width: 100%;\n    margin: 0;\n    padding:\n      clamp(72px, 8vw, 132px)\n      clamp(16px, 3vw, 30px);\n    overflow: hidden;\n    container-name: fg-silkrevive;\n    container-type: inline-size;\n    background:\n      radial-gradient(\n        circle at 10% 10%,\n        rgba(200, 165, 106, 0.25),\n        transparent 28%\n      ),\n      radial-gradient(\n        circle at 90% 14%,\n        rgba(183, 129, 142, 0.2),\n        transparent 31%\n      ),\n      radial-gradient(\n        circle at 50% 100%,\n        rgba(23, 62, 108, 0.17),\n        transparent 40%\n      ),\n      linear-gradient(\n        135deg,\n        #f6efe7 0%,\n        #fffdf9 38%,\n        #f4e9e5 68%,\n        #eaded7 100%\n      );\n    color: var(--fg-text);\n    font-family: Arial, Helvetica, sans-serif;\n    font-size: 16px;\n    line-height: 1.5;\n    text-align: left;\n    white-space: normal;\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n    text-rendering: optimizeLegibility;\n  }\n\n  .fg-silkrevive,\n  .fg-silkrevive *,\n  .fg-silkrevive *::before,\n  .fg-silkrevive *::after {\n    box-sizing: border-box;\n  }\n\n  .fg-silkrevive h2,\n  .fg-silkrevive h3,\n  .fg-silkrevive h4,\n  .fg-silkrevive p,\n  .fg-silkrevive span,\n  .fg-silkrevive strong,\n  .fg-silkrevive article,\n  .fg-silkrevive header,\n  .fg-silkrevive footer {\n    max-width: none;\n  }\n\n  .fg-silkrevive h2,\n  .fg-silkrevive h3,\n  .fg-silkrevive h4,\n  .fg-silkrevive p {\n    padding: 0;\n    border: 0;\n  }\n\n  .fg-silkrevive::before {\n    content: \"\";\n    position: absolute;\n    inset: 0;\n    z-index: 0;\n    pointer-events: none;\n    opacity: 0.38;\n    background:\n      linear-gradient(\n        115deg,\n        transparent 0%,\n        rgba(255, 255, 255, 0.42) 36%,\n        transparent 56%\n      ),\n      repeating-linear-gradient(\n        135deg,\n        rgba(255, 255, 255, 0.045) 0,\n        rgba(255, 255, 255, 0.045) 1px,\n        transparent 1px,\n        transparent 10px\n      );\n    animation: fgSilkReviveBackground 12s ease-in-out infinite;\n    will-change: opacity, transform;\n  }\n\n  .fg-silkrevive__container {\n    position: relative;\n    z-index: 2;\n    width: 100%;\n    max-width: 1120px;\n    margin: 0 auto;\n  }\n\n  .fg-silkrevive__glow {\n    position: absolute;\n    z-index: 0;\n    border-radius: 50%;\n    filter: blur(42px);\n    pointer-events: none;\n    animation: fgSilkReviveFloat 11s ease-in-out infinite;\n    will-change: transform;\n  }\n\n  .fg-silkrevive__glow--one {\n    top: -250px;\n    right: -140px;\n    width: 430px;\n    height: 430px;\n    background: rgba(200, 165, 106, 0.4);\n  }\n\n  .fg-silkrevive__glow--two {\n    bottom: -280px;\n    left: -170px;\n    width: 460px;\n    height: 460px;\n    background: rgba(23, 62, 108, 0.15);\n    animation-delay: -5.5s;\n  }\n\n  .fg-silkrevive__glow--three {\n    top: 43%;\n    right: 3%;\n    width: 230px;\n    height: 230px;\n    background: rgba(183, 129, 142, 0.25);\n    animation-delay: -2.8s;\n  }\n\n  .fg-silkrevive__header {\n    width: 100%;\n    max-width: 940px;\n    margin: 0 auto 60px;\n    text-align: center;\n    animation: fgSilkReviveReveal 0.9s ease both;\n  }\n\n  .fg-silkrevive__label {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    max-width: 100%;\n    margin: 0 0 23px;\n    padding: 10px 19px;\n    border: 1px solid rgba(155, 116, 66, 0.24);\n    border-radius: 999px;\n    background: rgba(255, 255, 255, 0.72);\n    color: var(--fg-deep-navy);\n    box-shadow:\n      0 12px 35px rgba(16, 26, 43, 0.08),\n      inset 0 1px 0 rgba(255, 255, 255, 0.85);\n    font-size: 12px;\n    font-weight: 700;\n    letter-spacing: 0.16em;\n    line-height: 1.4;\n    text-align: center;\n    text-transform: uppercase;\n    overflow-wrap: anywhere;\n    animation: fgSilkReviveLabelGlow 4s ease-in-out infinite;\n  }\n\n  .fg-silkrevive__title {\n    margin: 0;\n    color: var(--fg-deep-navy);\n    font-family: Georgia, \"Times New Roman\", Times, serif;\n    font-size: clamp(43px, 7vw, 83px);\n    font-weight: 400;\n    line-height: 1;\n    letter-spacing: -0.046em;\n    overflow-wrap: break-word;\n  }\n\n  .fg-silkrevive__title span {\n    display: block;\n    margin-top: 8px;\n    color: var(--fg-deep-gold);\n    font-style: italic;\n    font-weight: 400;\n    animation: fgSilkReviveTextGlow 3.5s ease-in-out infinite;\n  }\n\n  .fg-silkrevive__description {\n    width: 100%;\n    max-width: 870px;\n    margin: 31px auto 0;\n    color: rgba(54, 73, 91, 0.84);\n    font-size: clamp(16px, 1.8vw, 19px);\n    line-height: 1.84;\n    overflow-wrap: break-word;\n  }\n\n  .fg-silkrevive__promise {\n    position: relative;\n    display: inline-block;\n    margin: 29px auto 0;\n    padding-bottom: 10px;\n    color: var(--fg-navy);\n    font-size: 15px;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    line-height: 1.5;\n  }\n\n  .fg-silkrevive__promise::after {\n    content: \"\";\n    position: absolute;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    height: 1px;\n    background:\n      linear-gradient(\n        90deg,\n        transparent,\n        var(--fg-gold),\n        transparent\n      );\n    transform-origin: center;\n    animation: fgSilkReviveLine 3s ease-in-out infinite;\n  }\n\n  .fg-silkrevive__features {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 18px;\n    width: 100%;\n  }\n\n  .fg-silkrevive__card {\n    position: relative;\n    display: flex;\n    align-items: flex-start;\n    gap: 20px;\n    min-width: 0;\n    min-height: 158px;\n    margin: 0;\n    padding: 28px;\n    overflow: hidden;\n    border: 1px solid rgba(200, 165, 106, 0.2);\n    border-radius: 26px;\n    background:\n      linear-gradient(\n        145deg,\n        rgba(255, 255, 255, 0.84),\n        rgba(250, 246, 241, 0.7)\n      );\n    box-shadow:\n      0 20px 55px rgba(16, 26, 43, 0.08),\n      inset 0 1px 0 rgba(255, 255, 255, 0.88);\n    transform: translateZ(0);\n    transition:\n      transform 0.4s ease,\n      border-color 0.4s ease,\n      box-shadow 0.4s ease;\n    animation: fgSilkReviveReveal 0.8s ease both;\n  }\n\n  .fg-silkrevive__card:nth-child(1) {\n    animation-delay: 0.08s;\n  }\n\n  .fg-silkrevive__card:nth-child(2) {\n    animation-delay: 0.16s;\n  }\n\n  .fg-silkrevive__card:nth-child(3) {\n    animation-delay: 0.24s;\n  }\n\n  .fg-silkrevive__card:nth-child(4) {\n    animation-delay: 0.32s;\n  }\n\n  .fg-silkrevive__card:nth-child(5) {\n    animation-delay: 0.4s;\n  }\n\n  .fg-silkrevive__card:nth-child(6) {\n    animation-delay: 0.48s;\n  }\n\n  .fg-silkrevive__card:nth-child(7) {\n    animation-delay: 0.56s;\n  }\n\n  .fg-silkrevive__card--wide {\n    grid-column: 1 \/ -1;\n  }\n\n  .fg-silkrevive__card::before {\n    content: \"\";\n    position: absolute;\n    top: -95%;\n    left: -70%;\n    width: 58%;\n    height: 290%;\n    pointer-events: none;\n    background:\n      linear-gradient(\n        90deg,\n        transparent,\n        rgba(255, 255, 255, 0.84),\n        transparent\n      );\n    transform: rotate(22deg);\n    transition: left 0.8s ease;\n  }\n\n  .fg-silkrevive__card::after {\n    content: \"\";\n    position: absolute;\n    right: -40px;\n    bottom: -40px;\n    width: 125px;\n    height: 125px;\n    border-radius: 50%;\n    pointer-events: none;\n    background:\n      radial-gradient(\n        circle,\n        rgba(200, 165, 106, 0.17),\n        rgba(183, 129, 142, 0.05) 70%\n      );\n    transition: transform 0.4s ease;\n  }\n\n  .fg-silkrevive__number {\n    position: relative;\n    z-index: 1;\n    display: flex;\n    flex: 0 0 56px;\n    align-items: center;\n    justify-content: center;\n    width: 56px;\n    height: 56px;\n    border-radius: 18px;\n    background:\n      linear-gradient(\n        145deg,\n        rgba(234, 218, 221, 0.96),\n        rgba(255, 255, 255, 0.96)\n      );\n    color: var(--fg-deep-gold);\n    box-shadow:\n      inset 0 0 0 1px rgba(200, 165, 106, 0.22),\n      0 10px 24px rgba(16, 26, 43, 0.06);\n    font-family: Georgia, \"Times New Roman\", Times, serif;\n    font-size: 16px;\n    font-style: italic;\n    line-height: 1;\n    transition:\n      transform 0.4s ease,\n      background 0.4s ease,\n      color 0.4s ease;\n  }\n\n  .fg-silkrevive__card-copy {\n    position: relative;\n    z-index: 1;\n    min-width: 0;\n  }\n\n  .fg-silkrevive__card h3 {\n    margin: 4px 0 10px;\n    color: var(--fg-deep-navy);\n    font-family: Georgia, \"Times New Roman\", Times, serif;\n    font-size: 22px;\n    font-weight: 400;\n    line-height: 1.25;\n    letter-spacing: 0;\n    overflow-wrap: break-word;\n  }\n\n  .fg-silkrevive__card p {\n    margin: 0;\n    color: rgba(54, 73, 91, 0.74);\n    font-size: 15px;\n    line-height: 1.7;\n    overflow-wrap: break-word;\n  }\n\n  .fg-silkrevive__ritual {\n    width: 100%;\n    margin: 22px 0 0;\n    padding: clamp(30px, 5vw, 50px);\n    border: 1px solid rgba(200, 165, 106, 0.27);\n    border-radius: 30px;\n    background:\n      linear-gradient(\n        145deg,\n        rgba(255, 255, 255, 0.84),\n        rgba(246, 238, 230, 0.74)\n      );\n    box-shadow:\n      0 24px 64px rgba(16, 26, 43, 0.09),\n      inset 0 1px 0 rgba(255, 255, 255, 0.92);\n    text-align: center;\n    animation: fgSilkReviveReveal 0.9s 0.66s ease both;\n  }\n\n  .fg-silkrevive__ritual-heading {\n    margin: 0 0 30px;\n  }\n\n  .fg-silkrevive__ritual-heading \u003e span {\n    display: block;\n    margin-bottom: 9px;\n    color: var(--fg-deep-gold);\n    font-size: 11px;\n    font-weight: 700;\n    letter-spacing: 0.2em;\n    line-height: 1.5;\n    text-transform: uppercase;\n  }\n\n  .fg-silkrevive__ritual-heading h3 {\n    margin: 0;\n    color: var(--fg-deep-navy);\n    font-family: Georgia, \"Times New Roman\", Times, serif;\n    font-size: clamp(27px, 4vw, 41px);\n    font-weight: 400;\n    line-height: 1.2;\n    letter-spacing: 0;\n    overflow-wrap: break-word;\n  }\n\n  .fg-silkrevive__steps {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: clamp(10px, 2.5vw, 26px);\n    width: 100%;\n  }\n\n  .fg-silkrevive__step {\n    flex: 0 1 170px;\n    min-width: 125px;\n    margin: 0;\n    padding: 22px 16px;\n    border: 1px solid rgba(155, 116, 66, 0.15);\n    border-radius: 20px;\n    background: rgba(255, 255, 255, 0.76);\n    box-shadow: 0 14px 30px rgba(16, 26, 43, 0.06);\n    transform: translateZ(0);\n    transition:\n      transform 0.35s ease,\n      border-color 0.35s ease,\n      box-shadow 0.35s ease;\n    animation: fgSilkReviveStep 4s ease-in-out infinite;\n  }\n\n  .fg-silkrevive__step:nth-of-type(2) {\n    animation-delay: -1s;\n  }\n\n  .fg-silkrevive__step:nth-of-type(3) {\n    animation-delay: -2s;\n  }\n\n  .fg-silkrevive__step:nth-of-type(4) {\n    animation-delay: -3s;\n  }\n\n  .fg-silkrevive__step-number {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 48px;\n    height: 48px;\n    margin: 0 auto 14px;\n    border-radius: 50%;\n    background:\n      linear-gradient(\n        145deg,\n        var(--fg-soft-rose),\n        #ffffff\n      );\n    color: var(--fg-deep-gold);\n    box-shadow:\n      inset 0 0 0 1px rgba(200, 165, 106, 0.22);\n    font-family: Georgia, \"Times New Roman\", Times, serif;\n    font-size: 14px;\n    font-style: italic;\n    line-height: 1;\n  }\n\n  .fg-silkrevive__step h4 {\n    margin: 0;\n    color: var(--fg-deep-navy);\n    font-family: Georgia, \"Times New Roman\", Times, serif;\n    font-size: 19px;\n    font-weight: 400;\n    line-height: 1.3;\n    letter-spacing: 0;\n    overflow-wrap: break-word;\n  }\n\n  .fg-silkrevive__step p {\n    margin: 7px 0 0;\n    color: var(--fg-deep-gold);\n    font-size: 12px;\n    font-weight: 700;\n    letter-spacing: 0.08em;\n    line-height: 1.4;\n    text-transform: uppercase;\n  }\n\n  .fg-silkrevive__connector {\n    flex: 0 1 55px;\n    width: clamp(20px, 4vw, 55px);\n    min-width: 12px;\n    height: 1px;\n    background:\n      linear-gradient(\n        90deg,\n        transparent,\n        rgba(155, 116, 66, 0.72),\n        transparent\n      );\n    transform-origin: center;\n    animation: fgSilkReviveLine 3s ease-in-out infinite;\n  }\n\n  .fg-silkrevive__footer {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: center;\n    gap: 9px;\n    width: 100%;\n    margin: 58px 0 0;\n    color: var(--fg-deep-navy);\n    font-family: Georgia, \"Times New Roman\", Times, serif;\n    font-size: clamp(25px, 3.5vw, 41px);\n    line-height: 1.2;\n    text-align: center;\n    animation: fgSilkReviveReveal 0.9s 0.82s ease both;\n  }\n\n  .fg-silkrevive__footer strong {\n    color: var(--fg-deep-gold);\n    font-style: italic;\n    font-weight: 400;\n    animation: fgSilkReviveTextGlow 3.5s ease-in-out infinite;\n  }\n\n  \/* Safe hover effects: only enabled on devices with a real hover input. *\/\n  @media (hover: hover) and (pointer: fine) {\n    .fg-silkrevive__card:hover {\n      transform: translateY(-8px);\n      border-color: rgba(155, 116, 66, 0.43);\n      box-shadow:\n        0 30px 70px rgba(16, 26, 43, 0.14),\n        inset 0 1px 0 rgba(255, 255, 255, 0.92);\n    }\n\n    .fg-silkrevive__card:hover::before {\n      left: 130%;\n    }\n\n    .fg-silkrevive__card:hover::after {\n      transform: scale(1.3);\n    }\n\n    .fg-silkrevive__card:hover .fg-silkrevive__number {\n      color: var(--fg-ivory);\n      transform: rotate(-5deg) scale(1.08);\n      background:\n        linear-gradient(\n          145deg,\n          var(--fg-gold),\n          var(--fg-deep-navy)\n        );\n    }\n\n    .fg-silkrevive__step:hover {\n      transform: translateY(-6px);\n      border-color: rgba(155, 116, 66, 0.3);\n      box-shadow: 0 20px 38px rgba(16, 26, 43, 0.11);\n    }\n  }\n\n  \/* Keyboard-accessible focus indication if cards later contain links. *\/\n  .fg-silkrevive :focus-visible {\n    outline: 3px solid rgba(23, 62, 108, 0.55);\n    outline-offset: 4px;\n  }\n\n  @keyframes fgSilkReviveReveal {\n    from {\n      opacity: 0;\n      transform: translateY(28px);\n    }\n\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  @keyframes fgSilkReviveFloat {\n    0%,\n    100% {\n      transform: translate3d(0, 0, 0) scale(1);\n    }\n\n    50% {\n      transform: translate3d(0, 26px, 0) scale(1.07);\n    }\n  }\n\n  @keyframes fgSilkReviveBackground {\n    0%,\n    100% {\n      opacity: 0.3;\n      transform: translateX(-1%);\n    }\n\n    50% {\n      opacity: 0.44;\n      transform: translateX(1%);\n    }\n  }\n\n  @keyframes fgSilkReviveLabelGlow {\n    0%,\n    100% {\n      box-shadow:\n        0 12px 35px rgba(16, 26, 43, 0.08),\n        inset 0 1px 0 rgba(255, 255, 255, 0.85);\n    }\n\n    50% {\n      box-shadow:\n        0 16px 42px rgba(200, 165, 106, 0.27),\n        inset 0 1px 0 rgba(255, 255, 255, 0.94);\n    }\n  }\n\n  @keyframes fgSilkReviveLine {\n    0%,\n    100% {\n      opacity: 0.42;\n      transform: scaleX(0.55);\n    }\n\n    50% {\n      opacity: 1;\n      transform: scaleX(1);\n    }\n  }\n\n  @keyframes fgSilkReviveTextGlow {\n    0%,\n    100% {\n      text-shadow: 0 0 0 rgba(200, 165, 106, 0);\n    }\n\n    50% {\n      text-shadow: 0 10px 30px rgba(200, 165, 106, 0.42);\n    }\n  }\n\n  @keyframes fgSilkReviveStep {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-4px);\n    }\n  }\n\n  \/* =========================================================\n     STANDARD VIEWPORT FALLBACKS\n     Used by browsers without container-query support.\n     ========================================================= *\/\n\n  @media screen and (max-width: 990px) {\n    .fg-silkrevive {\n      padding:\n        clamp(68px, 8vw, 100px)\n        clamp(18px, 3vw, 26px);\n    }\n\n    .fg-silkrevive__title {\n      font-size: clamp(42px, 7.5vw, 68px);\n    }\n\n    .fg-silkrevive__steps {\n      display: grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n    }\n\n    .fg-silkrevive__connector {\n      display: none;\n    }\n\n    .fg-silkrevive__step {\n      min-width: 0;\n    }\n  }\n\n  @media screen and (max-width: 749px) {\n    .fg-silkrevive {\n      padding: 70px 16px;\n    }\n\n    .fg-silkrevive__header {\n      margin-bottom: 46px;\n    }\n\n    .fg-silkrevive__title {\n      font-size: clamp(38px, 11vw, 58px);\n      line-height: 1.04;\n    }\n\n    .fg-silkrevive__description {\n      margin-top: 25px;\n      font-size: 16px;\n      line-height: 1.72;\n    }\n\n    .fg-silkrevive__features {\n      grid-template-columns: 1fr;\n    }\n\n    .fg-silkrevive__card--wide {\n      grid-column: auto;\n    }\n\n    .fg-silkrevive__card {\n      min-height: auto;\n      padding: 23px;\n      border-radius: 22px;\n    }\n\n    .fg-silkrevive__ritual {\n      padding: 32px 22px;\n      border-radius: 24px;\n    }\n\n    .fg-silkrevive__footer {\n      flex-direction: column;\n      gap: 3px;\n      margin-top: 48px;\n    }\n  }\n\n  @media screen and (max-width: 520px) {\n    .fg-silkrevive {\n      padding: 60px 14px;\n    }\n\n    .fg-silkrevive__label {\n      padding: 9px 13px;\n      font-size: 10px;\n      letter-spacing: 0.1em;\n    }\n\n    .fg-silkrevive__title {\n      font-size: clamp(34px, 11vw, 48px);\n      letter-spacing: -0.035em;\n    }\n\n    .fg-silkrevive__card {\n      gap: 15px;\n      padding: 21px 18px;\n    }\n\n    .fg-silkrevive__number {\n      flex-basis: 48px;\n      width: 48px;\n      height: 48px;\n      border-radius: 15px;\n      font-size: 14px;\n    }\n\n    .fg-silkrevive__card h3 {\n      margin-top: 2px;\n      font-size: 19px;\n    }\n\n    .fg-silkrevive__card p {\n      font-size: 14px;\n    }\n\n    .fg-silkrevive__steps {\n      grid-template-columns: 1fr;\n    }\n\n    .fg-silkrevive__step {\n      width: 100%;\n    }\n\n    .fg-silkrevive__ritual-heading h3 {\n      font-size: 28px;\n    }\n  }\n\n  @media screen and (max-width: 380px) {\n    .fg-silkrevive {\n      padding-right: 12px;\n      padding-left: 12px;\n    }\n\n    .fg-silkrevive__header {\n      margin-bottom: 38px;\n    }\n\n    .fg-silkrevive__title {\n      font-size: 34px;\n    }\n\n    .fg-silkrevive__description {\n      font-size: 15px;\n    }\n\n    .fg-silkrevive__card {\n      display: block;\n      padding: 20px 17px;\n    }\n\n    .fg-silkrevive__number {\n      margin-bottom: 16px;\n    }\n\n    .fg-silkrevive__ritual {\n      padding: 28px 17px;\n    }\n\n    .fg-silkrevive__footer {\n      font-size: 25px;\n    }\n  }\n\n  \/* =========================================================\n     CONTAINER QUERIES\n     These respond to the section's actual width rather than\n     the browser width, making the design safe in product columns.\n     ========================================================= *\/\n\n  @supports (container-type: inline-size) {\n    @container fg-silkrevive (max-width: 900px) {\n      .fg-silkrevive__title {\n        font-size: clamp(42px, 8cqw, 68px);\n      }\n\n      .fg-silkrevive__steps {\n        display: grid;\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n        gap: 16px;\n      }\n\n      .fg-silkrevive__connector {\n        display: none;\n      }\n\n      .fg-silkrevive__step {\n        min-width: 0;\n      }\n    }\n\n    @container fg-silkrevive (max-width: 720px) {\n      .fg-silkrevive {\n        padding: 68px 16px;\n      }\n\n      .fg-silkrevive__header {\n        margin-bottom: 44px;\n      }\n\n      .fg-silkrevive__title {\n        font-size: clamp(38px, 10cqw, 56px);\n      }\n\n      .fg-silkrevive__description {\n        font-size: 16px;\n        line-height: 1.72;\n      }\n\n      .fg-silkrevive__features {\n        grid-template-columns: 1fr;\n      }\n\n      .fg-silkrevive__card--wide {\n        grid-column: auto;\n      }\n\n      .fg-silkrevive__card {\n        min-height: auto;\n        padding: 23px;\n        border-radius: 22px;\n      }\n\n      .fg-silkrevive__ritual {\n        padding: 32px 22px;\n        border-radius: 24px;\n      }\n\n      .fg-silkrevive__footer {\n        flex-direction: column;\n        gap: 3px;\n        margin-top: 48px;\n      }\n    }\n\n    \/* Narrow Shopify product-information column. *\/\n    @container fg-silkrevive (max-width: 560px) {\n      .fg-silkrevive {\n        padding: 58px 14px;\n      }\n\n      .fg-silkrevive__label {\n        padding: 9px 13px;\n        font-size: 10px;\n        letter-spacing: 0.1em;\n      }\n\n      .fg-silkrevive__title {\n        font-size: clamp(34px, 10cqw, 46px);\n        line-height: 1.04;\n        letter-spacing: -0.035em;\n      }\n\n      .fg-silkrevive__description {\n        margin-top: 24px;\n        font-size: 15px;\n      }\n\n      .fg-silkrevive__card {\n        gap: 15px;\n        padding: 21px 18px;\n      }\n\n      .fg-silkrevive__number {\n        flex-basis: 48px;\n        width: 48px;\n        height: 48px;\n        border-radius: 15px;\n        font-size: 14px;\n      }\n\n      .fg-silkrevive__card h3 {\n        margin-top: 2px;\n        font-size: 19px;\n      }\n\n      .fg-silkrevive__card p {\n        font-size: 14px;\n      }\n\n      .fg-silkrevive__steps {\n        grid-template-columns: 1fr;\n      }\n\n      .fg-silkrevive__step {\n        width: 100%;\n      }\n\n      .fg-silkrevive__ritual-heading h3 {\n        font-size: 28px;\n      }\n\n      .fg-silkrevive__footer {\n        font-size: clamp(25px, 7cqw, 33px);\n      }\n    }\n\n    \/* Very narrow product blocks, sidebars and app columns. *\/\n    @container fg-silkrevive (max-width: 390px) {\n      .fg-silkrevive {\n        padding: 50px 12px;\n      }\n\n      .fg-silkrevive__header {\n        margin-bottom: 36px;\n      }\n\n      .fg-silkrevive__label {\n        width: 100%;\n        border-radius: 18px;\n      }\n\n      .fg-silkrevive__title {\n        font-size: 32px;\n      }\n\n      .fg-silkrevive__description {\n        font-size: 14px;\n        line-height: 1.65;\n      }\n\n      .fg-silkrevive__promise {\n        font-size: 14px;\n      }\n\n      .fg-silkrevive__card {\n        display: block;\n        padding: 20px 17px;\n      }\n\n      .fg-silkrevive__number {\n        margin-bottom: 16px;\n      }\n\n      .fg-silkrevive__ritual {\n        padding: 27px 16px;\n      }\n\n      .fg-silkrevive__ritual-heading \u003e span {\n        letter-spacing: 0.14em;\n      }\n\n      .fg-silkrevive__ritual-heading h3 {\n        font-size: 25px;\n      }\n\n      .fg-silkrevive__footer {\n        font-size: 24px;\n      }\n    }\n  }\n\n  \/* =========================================================\n     TOUCH DEVICES\n     Prevent hover states from becoming stuck after tapping.\n     ========================================================= *\/\n\n  @media (hover: none), (pointer: coarse) {\n    .fg-silkrevive__card,\n    .fg-silkrevive__number,\n    .fg-silkrevive__step {\n      transition-duration: 0.2s;\n    }\n\n    .fg-silkrevive__card:active {\n      transform: scale(0.99);\n    }\n\n    .fg-silkrevive__step:active {\n      transform: scale(0.985);\n    }\n  }\n\n  \/* =========================================================\n     REDUCED MOTION\n     Removes decorative motion while preserving the layout.\n     ========================================================= *\/\n\n  @media (prefers-reduced-motion: reduce) {\n    .fg-silkrevive,\n    .fg-silkrevive *,\n    .fg-silkrevive *::before,\n    .fg-silkrevive *::after {\n      scroll-behavior: auto !important;\n      animation: none !important;\n      transition-duration: 0.01ms !important;\n      transition-delay: 0ms !important;\n    }\n\n    .fg-silkrevive__header,\n    .fg-silkrevive__card,\n    .fg-silkrevive__ritual,\n    .fg-silkrevive__footer {\n      opacity: 1 !important;\n      transform: none !important;\n    }\n\n    .fg-silkrevive__glow {\n      transform: none !important;\n    }\n\n    .fg-silkrevive__card::before {\n      display: none;\n    }\n  }\n\n  \/* =========================================================\n     HIGH-CONTRAST \/ FORCED-COLOUR SUPPORT\n     ========================================================= *\/\n\n  @media (forced-colors: active) {\n    .fg-silkrevive,\n    .fg-silkrevive__card,\n    .fg-silkrevive__ritual,\n    .fg-silkrevive__step,\n    .fg-silkrevive__label,\n    .fg-silkrevive__number,\n    .fg-silkrevive__step-number {\n      border: 1px solid CanvasText;\n      background: Canvas;\n      color: CanvasText;\n      box-shadow: none;\n    }\n\n    .fg-silkrevive__glow,\n    .fg-silkrevive::before,\n    .fg-silkrevive__card::before,\n    .fg-silkrevive__card::after,\n    .fg-silkrevive__connector {\n      display: none;\n    }\n\n    .fg-silkrevive__title,\n    .fg-silkrevive__title span,\n    .fg-silkrevive__card h3,\n    .fg-silkrevive__card p,\n    .fg-silkrevive__ritual-heading \u003e span,\n    .fg-silkrevive__ritual-heading h3,\n    .fg-silkrevive__step h4,\n    .fg-silkrevive__step p,\n    .fg-silkrevive__footer,\n    .fg-silkrevive__footer strong {\n      color: CanvasText;\n      text-shadow: none;\n    }\n  }\n\n  \/* Print-safe fallback. *\/\n  @media print {\n    .fg-silkrevive {\n      padding: 30px 0;\n      overflow: visible;\n      background: #ffffff;\n      color: #000000;\n    }\n\n    .fg-silkrevive::before,\n    .fg-silkrevive__glow,\n    .fg-silkrevive__card::before,\n    .fg-silkrevive__card::after {\n      display: none;\n    }\n\n    .fg-silkrevive__header,\n    .fg-silkrevive__card,\n    .fg-silkrevive__ritual,\n    .fg-silkrevive__step,\n    .fg-silkrevive__footer {\n      break-inside: avoid;\n      animation: none;\n      box-shadow: none;\n    }\n  }\n\u003c\/style\u003e","brand":"Fearless Grace","offers":[{"title":"Default Title","offer_id":45896856272979,"sku":null,"price":499.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0726\/0982\/4851\/files\/ChatGPT_Image_Aug_1_2026_at_04_30_50_PM.png?v=1785596140","url":"https:\/\/fearlessgrace.co.za\/products\/silkrevive-4-piece-collagen-keratin-hair-care-set","provider":"Fearless Grace","version":"1.0","type":"link"}