{"product_id":"airritual-professional-ionic-hair-dryer","title":"AirRitual – Professional Ionic Hair Dryer","description":"\u003cstyle\u003e\n  \/* =========================================================\n     FEARLESS GRACE — AIRRITUAL PRODUCT DESCRIPTION\n     Shopify-safe, responsive, scoped, container-query enhanced\n     ========================================================= *\/\n\n  .fg-airritual {\n    --fg-ink: #171717;\n    --fg-muted: #66615f;\n    --fg-soft: #f7f4f2;\n    --fg-soft-2: #eee8e4;\n    --fg-line: rgba(23, 23, 23, 0.10);\n    --fg-accent: #9a7468;\n    --fg-accent-dark: #705047;\n    --fg-white: #ffffff;\n    --fg-shadow: 0 18px 55px rgba(34, 25, 22, 0.08);\n    --fg-radius-xl: 28px;\n    --fg-radius-lg: 20px;\n    --fg-radius-md: 15px;\n\n    position: relative;\n    width: 100%;\n    max-width: 100%;\n    margin: 0 auto;\n    color: var(--fg-ink);\n    font-family:\n      -apple-system,\n      BlinkMacSystemFont,\n      \"Segoe UI\",\n      Helvetica,\n      Arial,\n      sans-serif;\n    line-height: 1.6;\n    container-type: inline-size;\n    container-name: airritual;\n    box-sizing: border-box;\n    isolation: isolate;\n  }\n\n  .fg-airritual *,\n  .fg-airritual *::before,\n  .fg-airritual *::after {\n    box-sizing: border-box;\n  }\n\n  .fg-airritual p,\n  .fg-airritual h2,\n  .fg-airritual h3 {\n    margin: 0;\n  }\n\n  \/* -------------------------\n     Main premium shell\n     ------------------------- *\/\n\n  .fg-airritual__shell {\n    position: relative;\n    overflow: hidden;\n    padding: clamp(28px, 5vw, 58px);\n    border: 1px solid var(--fg-line);\n    border-radius: var(--fg-radius-xl);\n    background:\n      radial-gradient(\n        circle at 100% 0%,\n        rgba(154, 116, 104, 0.13),\n        transparent 34%\n      ),\n      radial-gradient(\n        circle at 0% 100%,\n        rgba(154, 116, 104, 0.08),\n        transparent 38%\n      ),\n      linear-gradient(\n        145deg,\n        #ffffff 0%,\n        #faf8f7 48%,\n        #f4efec 100%\n      );\n    box-shadow: var(--fg-shadow);\n  }\n\n  .fg-airritual__shell::before {\n    content: \"\";\n    position: absolute;\n    top: -120px;\n    right: -100px;\n    width: 280px;\n    height: 280px;\n    border-radius: 50%;\n    background: rgba(255, 255, 255, 0.55);\n    filter: blur(2px);\n    pointer-events: none;\n    z-index: -1;\n  }\n\n  \/* -------------------------\n     Intro\n     ------------------------- *\/\n\n  .fg-airritual__eyebrow {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    margin-bottom: 14px;\n    color: var(--fg-accent-dark);\n    font-size: 11px;\n    font-weight: 750;\n    line-height: 1.2;\n    letter-spacing: 0.16em;\n    text-transform: uppercase;\n  }\n\n  .fg-airritual__eyebrow::before {\n    content: \"\";\n    width: 28px;\n    height: 1px;\n    background: currentColor;\n  }\n\n  .fg-airritual__title {\n    max-width: 850px;\n    margin-bottom: 20px !important;\n    color: var(--fg-ink);\n    font-size: clamp(30px, 5vw, 54px);\n    font-weight: 650;\n    line-height: 1.02;\n    letter-spacing: -0.04em;\n    text-wrap: balance;\n  }\n\n  .fg-airritual__title span {\n    color: var(--fg-accent-dark);\n  }\n\n  .fg-airritual__intro {\n    max-width: 860px;\n    color: var(--fg-muted);\n    font-size: clamp(15px, 1.7vw, 18px);\n    line-height: 1.75;\n  }\n\n  .fg-airritual__intro strong {\n    color: var(--fg-ink);\n    font-weight: 700;\n  }\n\n  \/* -------------------------\n     Statement line\n     ------------------------- *\/\n\n  .fg-airritual__statement {\n    position: relative;\n    margin: clamp(28px, 4vw, 42px) 0;\n    padding: clamp(19px, 3vw, 26px) clamp(20px, 3.5vw, 30px);\n    overflow: hidden;\n    border: 1px solid rgba(154, 116, 104, 0.18);\n    border-radius: var(--fg-radius-lg);\n    background: rgba(255, 255, 255, 0.65);\n    backdrop-filter: blur(9px);\n    -webkit-backdrop-filter: blur(9px);\n  }\n\n  .fg-airritual__statement::after {\n    content: \"\";\n    position: absolute;\n    inset: auto -25px -35px auto;\n    width: 100px;\n    height: 100px;\n    border-radius: 50%;\n    background: rgba(154, 116, 104, 0.08);\n    pointer-events: none;\n  }\n\n  .fg-airritual__statement p {\n    color: var(--fg-ink);\n    font-family: Georgia, \"Times New Roman\", serif;\n    font-size: clamp(22px, 3vw, 32px);\n    font-style: italic;\n    line-height: 1.25;\n    letter-spacing: -0.02em;\n  }\n\n  \/* -------------------------\n     Feature grid\n     ------------------------- *\/\n\n  .fg-airritual__features {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 14px;\n  }\n\n  .fg-airritual__feature {\n    position: relative;\n    display: flex;\n    align-items: flex-start;\n    gap: 15px;\n    min-width: 0;\n    padding: 20px;\n    overflow: hidden;\n    border: 1px solid var(--fg-line);\n    border-radius: var(--fg-radius-md);\n    background: rgba(255, 255, 255, 0.78);\n    box-shadow: 0 7px 24px rgba(30, 20, 18, 0.035);\n    transform: translateZ(0);\n    transition:\n      transform 220ms ease,\n      box-shadow 220ms ease,\n      border-color 220ms ease,\n      background-color 220ms ease;\n  }\n\n  .fg-airritual__feature::after {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    left: 22px;\n    width: 42px;\n    height: 2px;\n    border-radius: 0 0 5px 5px;\n    background: var(--fg-accent);\n    opacity: 0.45;\n  }\n\n  .fg-airritual__icon {\n    display: grid;\n    flex: 0 0 42px;\n    width: 42px;\n    height: 42px;\n    place-items: center;\n    border: 1px solid rgba(154, 116, 104, 0.18);\n    border-radius: 13px;\n    background: var(--fg-soft);\n    font-size: 20px;\n    line-height: 1;\n  }\n\n  .fg-airritual__feature-content {\n    min-width: 0;\n    padding-top: 1px;\n  }\n\n  .fg-airritual__feature h3 {\n    margin-bottom: 5px !important;\n    color: var(--fg-ink);\n    font-size: 15px;\n    font-weight: 720;\n    line-height: 1.3;\n    letter-spacing: -0.01em;\n  }\n\n  .fg-airritual__feature p {\n    color: var(--fg-muted);\n    font-size: 14px;\n    line-height: 1.58;\n  }\n\n  \/* -------------------------\n     LED temperature feature\n     ------------------------- *\/\n\n  .fg-airritual__temperature {\n    grid-column: 1 \/ -1;\n    display: grid;\n    grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.75fr);\n    gap: 20px;\n    align-items: center;\n    padding: clamp(22px, 3.5vw, 30px);\n    border-color: rgba(154, 116, 104, 0.2);\n    background:\n      linear-gradient(\n        120deg,\n        rgba(255,255,255,0.9),\n        rgba(246,241,238,0.94)\n      );\n  }\n\n  .fg-airritual__temperature .fg-airritual__icon {\n    float: left;\n    margin-right: 15px;\n  }\n\n  .fg-airritual__temp-copy {\n    min-width: 0;\n  }\n\n  .fg-airritual__temp-copy h3 {\n    margin-bottom: 6px !important;\n    font-size: 16px;\n  }\n\n  .fg-airritual__rings {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 8px;\n  }\n\n  .fg-airritual__ring {\n    min-width: 0;\n    padding: 12px 8px;\n    border: 1px solid var(--fg-line);\n    border-radius: 12px;\n    background: rgba(255,255,255,0.72);\n    text-align: center;\n  }\n\n  .fg-airritual__ring-dot {\n    display: block;\n    width: 11px;\n    height: 11px;\n    margin: 0 auto 7px;\n    border-radius: 50%;\n    box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.025);\n  }\n\n  .fg-airritual__ring--cool .fg-airritual__ring-dot {\n    background: #4e9fe8;\n  }\n\n  .fg-airritual__ring--hot .fg-airritual__ring-dot {\n    background: #dc5752;\n  }\n\n  .fg-airritual__ring--warm .fg-airritual__ring-dot {\n    background: #e39a4b;\n  }\n\n  .fg-airritual__ring span:last-child {\n    display: block;\n    color: var(--fg-muted);\n    font-size: 11px;\n    font-weight: 700;\n    line-height: 1.2;\n  }\n\n  \/* -------------------------\n     Closing\n     ------------------------- *\/\n\n  .fg-airritual__closing {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    margin-top: clamp(26px, 4vw, 42px);\n    padding-top: clamp(22px, 3vw, 30px);\n    border-top: 1px solid var(--fg-line);\n    text-align: center;\n  }\n\n  .fg-airritual__closing p {\n    color: var(--fg-accent-dark);\n    font-family: Georgia, \"Times New Roman\", serif;\n    font-size: clamp(18px, 2.4vw, 24px);\n    font-style: italic;\n    font-weight: 500;\n    line-height: 1.4;\n  }\n\n  \/* -------------------------\n     Safe hover effects\n     ------------------------- *\/\n\n  @media (hover: hover) and (pointer: fine) {\n    .fg-airritual__feature:hover {\n      transform: translateY(-3px);\n      border-color: rgba(154, 116, 104, 0.25);\n      background: rgba(255, 255, 255, 0.96);\n      box-shadow: 0 14px 32px rgba(30, 20, 18, 0.07);\n    }\n\n    .fg-airritual__temperature:hover {\n      transform: translateY(-2px);\n    }\n  }\n\n  \/* =========================================================\n     CONTAINER QUERIES\n     Handles Shopify narrow product-description columns\n     ========================================================= *\/\n\n  @container airritual (max-width: 700px) {\n    .fg-airritual__features {\n      grid-template-columns: 1fr;\n    }\n\n    .fg-airritual__temperature {\n      grid-column: auto;\n      grid-template-columns: 1fr;\n    }\n\n    .fg-airritual__rings {\n      max-width: 360px;\n    }\n  }\n\n  @container airritual (max-width: 480px) {\n    .fg-airritual__shell {\n      padding: 24px 18px;\n      border-radius: 21px;\n    }\n\n    .fg-airritual__title {\n      font-size: clamp(29px, 10cqw, 40px);\n    }\n\n    .fg-airritual__feature {\n      gap: 12px;\n      padding: 17px 15px;\n    }\n\n    .fg-airritual__icon {\n      flex-basis: 38px;\n      width: 38px;\n      height: 38px;\n      border-radius: 11px;\n      font-size: 18px;\n    }\n\n    .fg-airritual__statement {\n      padding: 19px 17px;\n    }\n\n    .fg-airritual__rings {\n      gap: 6px;\n    }\n\n    .fg-airritual__ring {\n      padding: 10px 5px;\n    }\n  }\n\n  @container airritual (max-width: 340px) {\n    .fg-airritual__feature {\n      display: block;\n    }\n\n    .fg-airritual__icon {\n      margin-bottom: 12px;\n    }\n\n    .fg-airritual__rings {\n      grid-template-columns: 1fr;\n    }\n\n    .fg-airritual__ring {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      gap: 8px;\n    }\n\n    .fg-airritual__ring-dot {\n      margin: 0;\n    }\n  }\n\n  \/* =========================================================\n     STANDARD VIEWPORT FALLBACKS\n     For browsers\/themes where container queries aren't applied\n     ========================================================= *\/\n\n  @media screen and (max-width: 749px) {\n    .fg-airritual__shell {\n      padding: 28px 20px;\n      border-radius: 22px;\n    }\n\n    .fg-airritual__features {\n      grid-template-columns: 1fr;\n    }\n\n    .fg-airritual__temperature {\n      grid-column: auto;\n      grid-template-columns: 1fr;\n    }\n  }\n\n  @media screen and (max-width: 480px) {\n    .fg-airritual__shell {\n      padding: 23px 17px;\n    }\n\n    .fg-airritual__title {\n      font-size: 31px;\n      line-height: 1.05;\n    }\n\n    .fg-airritual__intro {\n      font-size: 15px;\n      line-height: 1.7;\n    }\n\n    .fg-airritual__feature {\n      padding: 17px 15px;\n    }\n\n    .fg-airritual__feature p {\n      font-size: 13.5px;\n    }\n\n    .fg-airritual__statement p {\n      font-size: 23px;\n    }\n  }\n\n  \/* =========================================================\n     REDUCED MOTION \/ ACCESSIBILITY\n     ========================================================= *\/\n\n  @media (prefers-reduced-motion: reduce) {\n    .fg-airritual *,\n    .fg-airritual *::before,\n    .fg-airritual *::after {\n      scroll-behavior: auto !important;\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      transition-duration: 0.01ms !important;\n    }\n\n    .fg-airritual__feature:hover {\n      transform: none;\n    }\n  }\n\n  \/* Graceful fallback if backdrop-filter unsupported *\/\n  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {\n    .fg-airritual__statement {\n      background: rgba(255, 255, 255, 0.94);\n    }\n  }\n\n  \/* Graceful fallback if container queries unsupported *\/\n  @supports not (container-type: inline-size) {\n    .fg-airritual {\n      container-type: normal;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"fg-airritual\"\u003e\n  \u003csection class=\"fg-airritual__shell\"\u003e\n\n    \u003cdiv class=\"fg-airritual__eyebrow\"\u003e\n      Professional Ionic Styling\n    \u003c\/div\u003e\n\n    \u003ch2 class=\"fg-airritual__title\"\u003e\n      Salon-Dry Hair. Every Morning.\n      \u003cspan\u003eIn Half the Time.\u003c\/span\u003e\n    \u003c\/h2\u003e\n\n    \u003cp class=\"fg-airritual__intro\"\u003e\n      The \u003cstrong\u003eAirRitual Professional Ionic Hair Dryer\u003c\/strong\u003e is engineered\n      for one outcome: fast, frizz-free, salon-quality hair — at home.\n      A powerful ionic motor blasts moisture from the hair shaft while sealing\n      the cuticle for a smooth, glossy finish. Five magnetic attachments snap\n      on and off in seconds, giving you complete styling freedom from root\n      volume to defined curls — all in one dryer.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"fg-airritual__statement\"\u003e\n      \u003cp\u003eDry it. Style it. Own the room.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"fg-airritual__features\"\u003e\n\n      \u003carticle class=\"fg-airritual__feature\"\u003e\n        \u003cdiv class=\"fg-airritual__icon\" aria-hidden=\"true\"\u003e⚡\u003c\/div\u003e\n        \u003cdiv class=\"fg-airritual__feature-content\"\u003e\n          \u003ch3\u003eRapid drying, less heat damage\u003c\/h3\u003e\n          \u003cp\u003e\n            Powerful ionic motor cuts drying time significantly while\n            protecting hair health.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"fg-airritual__feature fg-airritual__temperature\"\u003e\n        \u003cdiv class=\"fg-airritual__temp-copy\"\u003e\n          \u003cdiv class=\"fg-airritual__icon\" aria-hidden=\"true\"\u003e🌡️\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003ch3\u003e3-colour LED temperature ring\u003c\/h3\u003e\n            \u003cp\u003e\n              Blue for cool, Red for hot and Orange for warm —\n              temperature at a glance, every time.\n            \u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"fg-airritual__rings\" aria-label=\"Temperature ring colours\"\u003e\n          \u003cdiv class=\"fg-airritual__ring fg-airritual__ring--cool\"\u003e\n            \u003cspan class=\"fg-airritual__ring-dot\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n            \u003cspan\u003eBlue · Cool\u003c\/span\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"fg-airritual__ring fg-airritual__ring--hot\"\u003e\n            \u003cspan class=\"fg-airritual__ring-dot\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n            \u003cspan\u003eRed · Hot\u003c\/span\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"fg-airritual__ring fg-airritual__ring--warm\"\u003e\n            \u003cspan class=\"fg-airritual__ring-dot\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n            \u003cspan\u003eOrange · Warm\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"fg-airritual__feature\"\u003e\n        \u003cdiv class=\"fg-airritual__icon\" aria-hidden=\"true\"\u003e🧲\u003c\/div\u003e\n        \u003cdiv class=\"fg-airritual__feature-content\"\u003e\n          \u003ch3\u003e5 magnetic attachments\u003c\/h3\u003e\n          \u003cp\u003e\n            Concentrator, wide nozzle, curl definer, diffuser bowl and scalp\n            massager — snap on, snap off.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"fg-airritual__feature\"\u003e\n        \u003cdiv class=\"fg-airritual__icon\" aria-hidden=\"true\"\u003e↻\u003c\/div\u003e\n        \u003cdiv class=\"fg-airritual__feature-content\"\u003e\n          \u003ch3\u003e360° rotatable magnetic nozzle\u003c\/h3\u003e\n          \u003cp\u003e\n            Direct airflow exactly where you need it, without twisting your\n            wrist.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"fg-airritual__feature\"\u003e\n        \u003cdiv class=\"fg-airritual__icon\" aria-hidden=\"true\"\u003e🛡️\u003c\/div\u003e\n        \u003cdiv class=\"fg-airritual__feature-content\"\u003e\n          \u003ch3\u003eAutomatic overheat protection\u003c\/h3\u003e\n          \u003cp\u003e\n            Built-in safety so you can style with confidence.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"fg-airritual__feature\"\u003e\n        \u003cdiv class=\"fg-airritual__icon\" aria-hidden=\"true\"\u003e✓\u003c\/div\u003e\n        \u003cdiv class=\"fg-airritual__feature-content\"\u003e\n          \u003ch3\u003e2 heat + 2 speed settings\u003c\/h3\u003e\n          \u003cp\u003e\n            Customise for fine, thick, curly, or colour-treated hair.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"fg-airritual__feature\"\u003e\n        \u003cdiv class=\"fg-airritual__icon\" aria-hidden=\"true\"\u003e❄\u003c\/div\u003e\n        \u003cdiv class=\"fg-airritual__feature-content\"\u003e\n          \u003ch3\u003eCool shot button\u003c\/h3\u003e\n          \u003cp\u003e\n            Locks in your style for all-day hold.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"fg-airritual__feature\"\u003e\n        \u003cdiv class=\"fg-airritual__icon\" aria-hidden=\"true\"\u003e◆\u003c\/div\u003e\n        \u003cdiv class=\"fg-airritual__feature-content\"\u003e\n          \u003ch3\u003eMatte black \/ gunmetal finish\u003c\/h3\u003e\n          \u003cp\u003e\n            Looks as premium as it performs.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"fg-airritual__closing\"\u003e\n      \u003cp\u003eFive attachments. One dryer. Infinite styles.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\u003c\/div\u003e","brand":"Fearless Grace","offers":[{"title":"Default Title","offer_id":45945169444947,"sku":null,"price":999.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0726\/0982\/4851\/files\/ChatGPT_Image_Aug_9_2026_at_05_34_03_PM.png?v=1786290411","url":"https:\/\/fearlessgrace.co.za\/products\/airritual-professional-ionic-hair-dryer","provider":"Fearless Grace","version":"1.0","type":"link"}