{"id":5265,"date":"2026-06-02T13:02:33","date_gmt":"2026-06-02T13:02:33","guid":{"rendered":"https:\/\/nuanthem.com\/?page_id=5265"},"modified":"2026-06-08T09:51:29","modified_gmt":"2026-06-08T09:51:29","slug":"find-your-sound","status":"publish","type":"page","link":"https:\/\/nuanthem.com\/fr\/find-your-sound\/","title":{"rendered":"Find Your Sound"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5265\" class=\"elementor elementor-5265\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a64c087 e-flex e-con-boxed e-con e-parent\" data-id=\"a64c087\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-33bf200 elementor-widget elementor-widget-html\" data-id=\"33bf200\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n.nu-fys-mini-hero,\n.nu-fys-mini-hero * {\n  box-sizing: border-box;\n}\n\n.nu-fys-mini-hero {\n  background: transparent !important;\n  color: #fff !important;\n  padding: 0 24px 18px !important;\n  margin: 0 !important;\n  font-family: inherit !important;\n}\n\n.nu-fys-mini-hero-inner {\n  width: min(1180px, calc(100% - 160px)) !important;\n  max-width: 1180px !important;\n  margin: 0 auto !important;\n}\n\n.nu-fys-mini-hero-copy {\n  max-width: 760px !important;\n}\n\n.nu-fys-mini-hero-eyebrow {\n  display: block !important;\n  font-size: 9px !important;\n  letter-spacing: 0.22em !important;\n  text-transform: uppercase !important;\n  color: rgba(184,151,74,0.62) !important;\n  margin: 0 0 8px !important;\n  line-height: 1 !important;\n  font-weight: 400 !important;\n}\n\n.nu-fys-mini-hero-title {\n  font-family: var(--font-serif, Georgia, serif) !important;\n  font-size: 38px !important;\n  font-weight: 400 !important;\n  color: #fff !important;\n  line-height: 1.06 !important;\n  letter-spacing: -0.02em !important;\n  margin: 0 !important;\n}\n\n.nu-fys-mini-hero-subtitle {\n  font-family: var(--font-serif, Georgia, serif) !important;\n  font-style: italic !important;\n  font-size: 38px !important;\n  font-weight: 400 !important;\n  color: rgba(255,255,255,0.32) !important;\n  line-height: 1.06 !important;\n  letter-spacing: -0.02em !important;\n  margin: 0 !important;\n}\n\n.nu-fys-mini-hero-text {\n  max-width: 540px !important;\n  margin: 14px 0 0 !important;\n  font-size: 11px !important;\n  line-height: 1.6 !important;\n  letter-spacing: 0.04em !important;\n  color: rgba(255,255,255,0.48) !important;\n}\n\n@media (max-width: 900px) {\n  .nu-fys-mini-hero {\n    padding: 0 24px 16px !important;\n  }\n\n  .nu-fys-mini-hero-inner {\n    width: 100% !important;\n    max-width: none !important;\n  }\n\n  .nu-fys-mini-hero-title,\n  .nu-fys-mini-hero-subtitle {\n    font-size: 34px !important;\n  }\n}\n\n@media (max-width: 600px) {\n  .nu-fys-mini-hero {\n    padding: 0 18px 14px !important;\n  }\n\n  .nu-fys-mini-hero-title,\n  .nu-fys-mini-hero-subtitle {\n    font-size: 30px !important;\n  }\n\n  .nu-fys-mini-hero-text {\n    font-size: 11px !important;\n  }\n}\n<\/style>\n\n<section class=\"nu-fys-mini-hero\" aria-label=\"Find Your Sound\">\n  <div class=\"nu-fys-mini-hero-inner\">\n    <div class=\"nu-fys-mini-hero-copy\">\n      <span class=\"nu-fys-mini-hero-eyebrow\">Find Your Sound<\/span>\n\n      <p class=\"nu-fys-mini-hero-title\">\n        Start with your project.\n      <\/p>\n\n      <p class=\"nu-fys-mini-hero-subtitle\">\n        Find the right direction.\n      <\/p>\n\n      <p class=\"nu-fys-mini-hero-text\">\n        Answer a few questions and turn your visual context into a clear music search direction.\n      <\/p>\n    <\/div>\n  <\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b9fe131 elementor-widget elementor-widget-html\" data-id=\"b9fe131\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section id=\"nu-fys-questionnaire\" class=\"nu-fys-tool\">\n  <div class=\"nu-fys-tool__inner\">\n\n    <div class=\"nu-fys-progress\">\n      <div class=\"nu-fys-progress__top\">\n        <span id=\"nu-fys-step-label\">Step 1 of 5<\/span>\n        <span id=\"nu-fys-step-title\">Project Type<\/span>\n      <\/div>\n      <div class=\"nu-fys-progress__bar\">\n        <div id=\"nu-fys-progress-fill\"><\/div>\n      <\/div>\n    <\/div>\n\n    <form id=\"nu-fys-form\">\n\n      <!-- STEP 1 -->\n      <div class=\"nu-fys-step is-active\" data-step=\"1\">\n        <div class=\"nu-fys-question\">\n          <h2>What are you creating?<\/h2>\n          <p>Choose the option that best describes your project.<\/p>\n        <\/div>\n\n        <div class=\"nu-fys-grid nu-fys-grid--project\">\n          <label class=\"nu-fys-card nu-fys-card--with-icon\">\n            <input type=\"radio\" name=\"project\" value=\"brand film\">\n            <div class=\"nu-fys-card-icon\" aria-hidden=\"true\"><img src=\"https:\/\/nuanthem.com\/wp-content\/uploads\/2026\/06\/Brand-film.png\" alt=\"\" loading=\"lazy\" decoding=\"async\" data-icon=\"brand-film\"><\/div>\n            <span>Brand Film<\/span>\n            <small>Brand storytelling, image film, premium content.<\/small>\n          <\/label>\n\n          <label class=\"nu-fys-card nu-fys-card--with-icon\">\n            <input type=\"radio\" name=\"project\" value=\"commercial ad\">\n            <div class=\"nu-fys-card-icon\" aria-hidden=\"true\"><img src=\"https:\/\/nuanthem.com\/wp-content\/uploads\/2026\/06\/advertising.png\" alt=\"\" loading=\"lazy\" decoding=\"async\" data-icon=\"advertising\"><\/div>\n            <span>Commercial \/ Ad<\/span>\n            <small>Digital campaign, TV, social or product ad.<\/small>\n          <\/label>\n\n          <label class=\"nu-fys-card nu-fys-card--with-icon\">\n            <input type=\"radio\" name=\"project\" value=\"fashion film\">\n            <div class=\"nu-fys-card-icon\" aria-hidden=\"true\"><img src=\"https:\/\/nuanthem.com\/wp-content\/uploads\/2026\/06\/fashion.png\" alt=\"\" loading=\"lazy\" decoding=\"async\" data-icon=\"fashion\"><\/div>\n            <span>Fashion Film<\/span>\n            <small>Editorial, lookbook, runway or visual identity.<\/small>\n          <\/label>\n\n          <label class=\"nu-fys-card nu-fys-card--with-icon\">\n            <input type=\"radio\" name=\"project\" value=\"sports edit\">\n            <div class=\"nu-fys-card-icon\" aria-hidden=\"true\"><img src=\"https:\/\/nuanthem.com\/wp-content\/uploads\/2026\/06\/trophy.png\" alt=\"\" loading=\"lazy\" decoding=\"async\" data-icon=\"sports-cup\"><\/div>\n            <span>Sports Edit<\/span>\n            <small>Performance, athlete, team or competition content.<\/small>\n          <\/label>\n\n          <label class=\"nu-fys-card nu-fys-card--with-icon\">\n            <input type=\"radio\" name=\"project\" value=\"documentary human story\">\n            <div class=\"nu-fys-card-icon\" aria-hidden=\"true\"><img src=\"https:\/\/nuanthem.com\/wp-content\/uploads\/2026\/06\/docu.png\" alt=\"\" loading=\"lazy\" decoding=\"async\" data-icon=\"documentary\"><\/div>\n            <span>Documentary<\/span>\n            <small>Human story, interviews, real-world narrative.<\/small>\n          <\/label>\n\n          <label class=\"nu-fys-card nu-fys-card--with-icon\">\n            <input type=\"radio\" name=\"project\" value=\"tech product launch\">\n            <div class=\"nu-fys-card-icon\" aria-hidden=\"true\"><img src=\"https:\/\/nuanthem.com\/wp-content\/uploads\/2026\/06\/tech.png\" alt=\"\" loading=\"lazy\" decoding=\"async\" data-icon=\"tech\"><\/div>\n            <span>Tech \/ Product Launch<\/span>\n            <small>Innovation, reveal, launch or product close-ups.<\/small>\n          <\/label>\n\n          <label class=\"nu-fys-card nu-fys-card--with-icon\">\n            <input type=\"radio\" name=\"project\" value=\"artist\">\n            <div class=\"nu-fys-card-icon\" aria-hidden=\"true\"><img src=\"https:\/\/nuanthem.com\/wp-content\/uploads\/2026\/06\/Mic.png\" alt=\"\" loading=\"lazy\" decoding=\"async\" data-icon=\"artist-mic\"><\/div>\n            <span>Artist<\/span>\n            <small>For artists looking for an instrumental, beat or custom song direction.<\/small>\n          <\/label>\n\n          <label class=\"nu-fys-card nu-fys-card--with-icon nu-fys-card--other\">\n  <input type=\"radio\" name=\"project\" value=\"other\">\n  <div class=\"nu-fys-card-icon\" aria-hidden=\"true\">\n    <img\n      src=\"https:\/\/nuanthem.com\/wp-content\/uploads\/2026\/06\/Other.png\"\n      alt=\"\"\n      loading=\"lazy\"\n      decoding=\"async\"\n      data-icon=\"other\"\n    >\n  <\/div>\n  <span>Other \/ Not sure<\/span>\n  <small>Different format, hybrid project or unsure direction.<\/small>\n<\/label>\n        <\/div>\n      <\/div>\n\n      <!-- STEP 2 -->\n      <div class=\"nu-fys-step\" data-step=\"2\">\n        <div class=\"nu-fys-question\">\n          <h2>What should the music do?<\/h2>\n          <p>Select up to 3 goals.<\/p>\n        <\/div>\n\n        <div class=\"nu-fys-grid nu-fys-grid--goals\">\n          <label class=\"nu-fys-card\">\n            <input type=\"checkbox\" name=\"goal\" value=\"make it feel premium\">\n            <span>Make it feel premium<\/span>\n            <small>Refined, elegant, high-end.<\/small>\n          <\/label>\n\n          <label class=\"nu-fys-card\">\n            <input type=\"checkbox\" name=\"goal\" value=\"add energy and movement\">\n            <span>Add energy<\/span>\n            <small>Movement, rhythm, drive.<\/small>\n          <\/label>\n\n          <label class=\"nu-fys-card\">\n            <input type=\"checkbox\" name=\"goal\" value=\"create emotion\">\n            <span>Create emotion<\/span>\n            <small>Warmth, depth, humanity.<\/small>\n          <\/label>\n\n          <label class=\"nu-fys-card\">\n            <input type=\"checkbox\" name=\"goal\" value=\"build tension\">\n            <span>Build tension<\/span>\n            <small>Suspense, anticipation, intensity.<\/small>\n          <\/label>\n\n          <label class=\"nu-fys-card\">\n            <input type=\"checkbox\" name=\"goal\" value=\"support a voiceover\">\n            <span>Support a voiceover<\/span>\n            <small>Subtle enough to sit under narration.<\/small>\n          <\/label>\n\n          <label class=\"nu-fys-card\">\n            <input type=\"checkbox\" name=\"goal\" value=\"add cultural edge\">\n            <span>Add cultural edge<\/span>\n            <small>Urban, stylish, non-corporate.<\/small>\n          <\/label>\n\n          <label class=\"nu-fys-card nu-fys-card--reference\">\n            <input type=\"checkbox\" name=\"goal\" value=\"inspired by a reference\">\n            <span>Inspired by a reference<\/span>\n            <small>Capture the vibe, energy or attitude of an existing track.<\/small>\n            <em class=\"nu-fys-reference-label\">Reference track<\/em>\n            <input\n              type=\"text\"\n              id=\"nu-fys-reference-track\"\n              class=\"nu-fys-reference-input\"\n              name=\"reference_track\"\n              placeholder=\"Track name, artist or link\"\n              autocomplete=\"off\"\n            >\n          <\/label>\n\n          <label class=\"nu-fys-card nu-fys-card--other\">\n            <input type=\"checkbox\" name=\"goal\" value=\"other\">\n            <span>Others<\/span>\n            <small>Choose this if your need is not listed.<\/small>\n            <input\n              type=\"text\"\n              id=\"nu-fys-goal-other\"\n              class=\"nu-fys-other-input\"\n              name=\"goal_other\"\n              placeholder=\"Example: make the edit feel more human\"\n              autocomplete=\"off\"\n            >\n          <\/label>\n        <\/div>\n      <\/div>\n\n      <!-- STEP 3 -->\n      <div class=\"nu-fys-step\" data-step=\"3\">\n        <div class=\"nu-fys-question\">\n          <h2>What should people feel?<\/h2>\n          <p>Choose the emotional direction.<\/p>\n        <\/div>\n\n        <div class=\"nu-fys-pills\">\n          <label><input type=\"checkbox\" name=\"mood\" value=\"happy\"><span>Happy<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"sad\"><span>Sad<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"confident\"><span>Confident<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"elegant\"><span>Elegant<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"sophisticated\"><span>Sophisticated<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"warm\"><span>Warm<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"emotional\"><span>Emotional<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"inspired\"><span>Inspired<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"calm\"><span>Calm<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"energetic\"><span>Energetic<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"powerful\"><span>Powerful<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"dark\"><span>Dark<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"tense\"><span>Tense<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"dreamy\"><span>Dreamy<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"uplifting\"><span>Uplifting<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"nostalgic\"><span>Nostalgic<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"sensual\"><span>Sensual<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"raw\"><span>Raw<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"playful\"><span>Playful<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"rebellious\"><span>Rebellious<\/span><\/label>\n          <label><input type=\"checkbox\" name=\"mood\" value=\"cool urban\"><span>Cool \/ Urban<\/span><\/label>\n          <label class=\"nu-fys-pill--other\"><input type=\"checkbox\" name=\"mood\" value=\"other\"><span>Others<\/span><\/label>\n        <\/div>\n\n        <div class=\"nu-fys-other-row\" id=\"nu-fys-mood-other-row\" hidden>\n          <label for=\"nu-fys-mood-other\">Describe the feeling<\/label>\n          <input\n            type=\"text\"\n            id=\"nu-fys-mood-other\"\n            name=\"mood_other\"\n            placeholder=\"Example: bittersweet, intimate, mysterious...\"\n            autocomplete=\"off\"\n          >\n        <\/div>\n      <\/div>\n\n      <!-- STEP 4 -->\n      <div class=\"nu-fys-step\" data-step=\"4\">\n        <div class=\"nu-fys-question\">\n          <h2>How much energy do you need?<\/h2>\n          <p>Adjust the intensity according to the pace and impact of your visuals.<\/p>\n        <\/div>\n\n        <div class=\"nu-fys-energy-slider\">\n          <div class=\"nu-fys-energy-labels\">\n            <button type=\"button\" class=\"nu-fys-energy-label\" data-energy=\"1\">\n              <span class=\"nu-fys-energy-text\">Very subtle<\/span>\n            <\/button>\n            <button type=\"button\" class=\"nu-fys-energy-label\" data-energy=\"2\">\n              <span class=\"nu-fys-energy-text\">Calm but present<\/span>\n            <\/button>\n            <button type=\"button\" class=\"nu-fys-energy-label\" data-energy=\"3\">\n              <span class=\"nu-fys-energy-text\">Medium groove<\/span>\n            <\/button>\n            <button type=\"button\" class=\"nu-fys-energy-label\" data-energy=\"4\">\n              <span class=\"nu-fys-energy-text\">High energy<\/span>\n            <\/button>\n            <button type=\"button\" class=\"nu-fys-energy-label\" data-energy=\"5\">\n              <span class=\"nu-fys-energy-text\">Explosive<\/span>\n            <\/button>\n          <\/div>\n\n          <input\n            type=\"range\"\n            id=\"nu-fys-energy-range\"\n            name=\"energy_range\"\n            min=\"1\"\n            max=\"5\"\n            step=\"0.01\"\n            value=\"3\"\n          >\n\n          <div class=\"nu-fys-energy-icons\" aria-hidden=\"true\">\n            <span class=\"nu-fys-energy-icon\" data-energy-icon=\"1\"><img src=\"https:\/\/nuanthem.com\/wp-content\/uploads\/2026\/06\/lotus.png\" alt=\"\" loading=\"lazy\" decoding=\"async\" data-icon=\"energy-lotus\"><\/span>\n            <span class=\"nu-fys-energy-icon\" data-energy-icon=\"2\"><img src=\"https:\/\/nuanthem.com\/wp-content\/uploads\/2026\/06\/calm.png\" alt=\"\" loading=\"lazy\" decoding=\"async\" data-icon=\"energy-calm\"><\/span>\n            <span class=\"nu-fys-energy-icon\" data-energy-icon=\"3\"><img src=\"https:\/\/nuanthem.com\/wp-content\/uploads\/2026\/06\/medium.png\" alt=\"\" loading=\"lazy\" decoding=\"async\" data-icon=\"energy-medium\"><\/span>\n            <span class=\"nu-fys-energy-icon\" data-energy-icon=\"4\"><img src=\"https:\/\/nuanthem.com\/wp-content\/uploads\/2026\/06\/flash.png\" alt=\"\" loading=\"lazy\" decoding=\"async\" data-icon=\"energy-flash\"><\/span>\n            <span class=\"nu-fys-energy-icon\" data-energy-icon=\"5\"><img src=\"https:\/\/nuanthem.com\/wp-content\/uploads\/2026\/06\/meteorite-3.png\" alt=\"\" loading=\"lazy\" decoding=\"async\" data-icon=\"energy-meteorite\"><\/span>\n          <\/div>\n\n          <input type=\"hidden\" name=\"energy\" id=\"nu-fys-energy-value\" value=\"medium groove\">\n\n          <p id=\"nu-fys-energy-current-desc\" class=\"nu-fys-energy-description\">\n            For fashion, product films and lifestyle edits.\n          <\/p>\n        <\/div>\n      <\/div>\n\n      <!-- STEP 5 -->\n      <div class=\"nu-fys-step\" data-step=\"5\">\n        <div class=\"nu-fys-question\">\n          <h2>Any preferred sound world?<\/h2>\n          <p>Select one or let Nuanthem suggest what fits best.<\/p>\n        <\/div>\n\n        <div class=\"nu-fys-pills nu-fys-pills--sound\">\n          <label><input type=\"radio\" name=\"sound\" value=\"hip-hop urban\"><span>Hip-Hop \/ Urban<\/span><\/label>\n          <label><input type=\"radio\" name=\"sound\" value=\"rnb soul\"><span>R&amp;B \/ Soul<\/span><\/label>\n          <label><input type=\"radio\" name=\"sound\" value=\"electronic\"><span>Electronic<\/span><\/label>\n          <label><input type=\"radio\" name=\"sound\" value=\"cinematic\"><span>Cinematic<\/span><\/label>\n          <label><input type=\"radio\" name=\"sound\" value=\"afro latin\"><span>Afro \/ Latin<\/span><\/label>\n          <label><input type=\"radio\" name=\"sound\" value=\"ambient minimal\"><span>Ambient \/ Minimal<\/span><\/label>\n          <label><input type=\"radio\" name=\"sound\" value=\"pop feel-good\"><span>Pop \/ Feel-good<\/span><\/label>\n          <label><input type=\"radio\" name=\"sound\" value=\"funk groove\"><span>Funk \/ Groove<\/span><\/label>\n          <label><input type=\"radio\" name=\"sound\" value=\"retro 80s\"><span>Retro \/ 80s<\/span><\/label>\n          <label class=\"nu-fys-pill--other nu-fys-pill--no-pref\"><input type=\"radio\" name=\"sound\" value=\"no preference\"><span>No Preference<\/span><\/label>\n          <label class=\"nu-fys-pill--other\"><input type=\"radio\" name=\"sound\" value=\"other\"><span>Others<\/span><\/label>\n        <\/div>\n\n        <div class=\"nu-fys-other-row\" id=\"nu-fys-sound-other-row\" hidden>\n          <label for=\"nu-fys-sound-other\">Describe another sound world<\/label>\n          <input\n            type=\"text\"\n            id=\"nu-fys-sound-other\"\n            name=\"sound_other\"\n            placeholder=\"Example: orchestral drill, warm house, French new wave...\"\n            autocomplete=\"off\"\n          >\n        <\/div>\n      <\/div>\n\n      <div class=\"nu-fys-actions\">\n        <button type=\"button\" id=\"nu-fys-prev\" class=\"nu-fys-btn nu-fys-btn--ghost\">Back<\/button>\n        <button type=\"button\" id=\"nu-fys-next\" class=\"nu-fys-btn\">Next<\/button>\n      <\/div>\n    <\/form>\n\n    <!-- RESULT -->\n    <div id=\"nu-fys-result\" class=\"nu-fys-result\">\n      <div class=\"nu-fys-result-clean\">\n        <span class=\"nu-fys-result-kicker\">Your sound direction<\/span>\n        <h2 id=\"nu-fys-result-title\">Your matching tracks are being prepared<span class=\"nu-fys-loading-dots\" aria-hidden=\"true\"><span>.<\/span><span>.<\/span><span>.<\/span><\/span><\/h2>\n\n        <div id=\"nu-fys-result-summary\" class=\"nu-fys-result-summary\" hidden><\/div>\n\n        <div class=\"nu-fys-result-actions nu-fys-result-actions--custom-only\">\n          <button type=\"button\" id=\"nu-fys-search-tracks\" class=\"nu-fys-btn nu-fys-btn--hidden\" hidden>\n            Search matching tracks\n          <\/button>\n        <\/div>\n\n        <button type=\"button\" id=\"nu-fys-refine\" class=\"nu-fys-refine-link\">\n          Refine answers\n        <\/button>\n\n        <div id=\"nu-fys-ai-player-wrap\" class=\"nu-fys-ai-player-wrap\" hidden>\n          <div id=\"nu-fys-ai-loader\" class=\"nu-fys-ai-loader\" hidden>\n            Searching the Nuanthem library\u2026\n          <\/div>\n\n          <div id=\"nu-fys-ai-error\" class=\"nu-fys-ai-error\" hidden><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<style>\n.nu-fys-tool,\n.nu-fys-tool * {\n  box-sizing: border-box;\n}\n\n.nu-fys-tool {\n  background: transparent !important;\n  color: #f4f0e8;\n  padding: 0 24px clamp(34px, 4vw, 54px) !important;\n}\n\n.nu-fys-tool__inner {\n  width: min(1180px, calc(100% - 160px));\n  max-width: 1180px;\n  margin: 0 auto;\n  background: #101010;\n  border-top: 0.5px solid rgba(255,255,255,0.06);\n  border-bottom: 0.5px solid rgba(255,255,255,0.06);\n  padding: clamp(30px, 4vw, 48px);\n}\n\n\/* PROGRESS *\/\n\n.nu-fys-progress {\n  margin-bottom: 34px;\n}\n\n.nu-fys-progress__top {\n  display: flex;\n  justify-content: space-between;\n  gap: 20px;\n  font-family: \"Courier New\", monospace;\n  font-size: 12px;\n  letter-spacing: 0.18em;\n  text-transform: uppercase;\n  color: rgba(244, 240, 232, 0.7);\n}\n\n.nu-fys-progress__top span:first-child {\n  color: #c9a957;\n}\n\n.nu-fys-progress__bar {\n  margin-top: 16px;\n  height: 2px;\n  background: rgba(255, 255, 255, 0.12);\n  overflow: hidden;\n}\n\n#nu-fys-progress-fill {\n  height: 100%;\n  width: 20%;\n  background: #f3d78a;\n  transition: width 0.3s ease;\n}\n\n\/* STEPS *\/\n\n.nu-fys-step {\n  display: none;\n  min-height: 400px;\n}\n\n.nu-fys-step.is-active {\n  display: block !important;\n}\n\n.nu-fys-question {\n  margin-bottom: 32px;\n}\n\n.nu-fys-question h2,\n.nu-fys-result-clean h2 {\n  margin: 0;\n  font-family: Georgia, \"Times New Roman\", serif;\n  font-size: clamp(34px, 4vw, 58px);\n  line-height: 1;\n  font-weight: 500;\n  letter-spacing: -0.04em;\n  color: #fffaf0;\n}\n\n.nu-fys-question p {\n  max-width: 650px;\n  margin: 18px 0 0;\n  font-family: \"Courier New\", monospace;\n  font-size: 14px;\n  line-height: 1.7;\n  color: rgba(244, 240, 232, 0.68);\n}\n\n\/* CARDS *\/\n\n.nu-fys-grid {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 14px;\n}\n\n.nu-fys-grid--project,\n.nu-fys-grid--goals {\n  grid-template-columns: repeat(4, 1fr);\n}\n\n.nu-fys-grid--project .nu-fys-card,\n.nu-fys-grid--goals .nu-fys-card {\n  min-height: 142px;\n}\n\n.nu-fys-grid--project .nu-fys-card {\n  padding: 14px 20px 18px;\n}\n\n.nu-fys-grid--project .nu-fys-card-icon {\n  width: 28px;\n  height: 28px;\n  margin-bottom: 12px;\n}\n\n.nu-fys-grid--project .nu-fys-card span {\n  font-size: 21px;\n  margin-bottom: 7px;\n}\n\n.nu-fys-grid--project .nu-fys-card small {\n  font-size: 11.5px;\n  line-height: 1.45;\n}\n\n.nu-fys-card {\n  position: relative;\n  display: block;\n  min-height: 150px;\n  padding: 24px;\n  border: 1px solid rgba(244, 240, 232, 0.14);\n  background: rgba(255, 255, 255, 0.025);\n  cursor: pointer;\n  transition: border-color 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;\n}\n\n.nu-fys-card:hover {\n  border-color: rgba(184,151,74,0.45);\n  background: rgba(184,151,74,0.035);\n}\n\n.nu-fys-card > input[type=\"radio\"],\n.nu-fys-card > input[type=\"checkbox\"],\n.nu-fys-pills input {\n  position: absolute;\n  opacity: 0;\n  pointer-events: none;\n}\n\n.nu-fys-card span {\n  display: block;\n  font-family: Georgia, \"Times New Roman\", serif;\n  font-size: 24px;\n  line-height: 1.1;\n  color: #fffaf0;\n  margin-bottom: 14px;\n}\n\n.nu-fys-card small {\n  display: block;\n  font-family: \"Courier New\", monospace;\n  font-size: 12px;\n  line-height: 1.55;\n  color: rgba(244, 240, 232, 0.62);\n}\n\n\/* ICONS *\/\n\n.nu-fys-card--with-icon .nu-fys-card-icon {\n  width: 34px;\n  height: 34px;\n  margin-bottom: 18px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: rgba(184,151,74,0.72);\n}\n\n.nu-fys-grid--project .nu-fys-card {\n  text-align: left;\n}\n\n.nu-fys-grid--project .nu-fys-card-icon {\n  width: 84px;\n  height: 84px;\n  margin: 0 auto 8px;\n}\n\n.nu-fys-card--with-icon .nu-fys-card-icon img,\n.nu-fys-energy-icon img {\n  width: 100%;\n  height: 100%;\n  display: block;\n  object-fit: contain;\n  filter: none;\n}\n\n\/* Fashion icon has more internal whitespace, so scale it up slightly *\/\n.nu-fys-card--with-icon .nu-fys-card-icon img[data-icon=\"fashion\"] {\n  transform: scale(1.24);\n  transform-origin: center;\n}\n\n\n.nu-fys-card--with-icon .nu-fys-card-icon svg,\n.nu-fys-energy-icon svg {\n  width: 100%;\n  height: 100%;\n  display: block;\n  fill: none;\n  stroke: currentColor;\n  stroke-width: 1.45;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n  overflow: visible;\n}\n\n.nu-fys-grid--project .nu-fys-card-icon svg {\n  stroke-width: 1.35;\n}\n\n.nu-fys-grid--project .nu-fys-card span,\n.nu-fys-grid--project .nu-fys-card small {\n  text-align: left;\n}\n\n.nu-fys-card--with-icon:hover .nu-fys-card-icon {\n  color: rgba(184,151,74,0.92);\n}\n\n.nu-fys-card--with-icon:has(input:checked) .nu-fys-card-icon {\n  color: #f3d78a;\n}\n\n\/* SELECTED CARDS *\/\n\n.nu-fys-card:has(input:checked) {\n  border-color: rgba(184,151,74,0.85);\n  background: rgba(184,151,74,0.07);\n  box-shadow: inset 0 0 0 1px rgba(184,151,74,0.15);\n}\n\n.nu-fys-card:has(input:checked)::after {\n  content: \"\u2713\";\n  position: absolute;\n  top: 18px;\n  right: 18px;\n  width: 24px;\n  height: 24px;\n  border-radius: 50%;\n  background: #f3d78a;\n  color: #050505;\n  display: grid;\n  place-items: center;\n  font-size: 14px;\n  font-weight: 700;\n}\n\n\/* SPECIAL OTHER CARDS *\/\n\n.nu-fys-card--other {\n  border-style: dashed;\n  border-color: rgba(184,151,74,0.38);\n  background: rgba(184,151,74,0.025);\n}\n\n.nu-fys-card--other span {\n  color: rgba(243,215,138,0.9);\n}\n\n.nu-fys-card--other:hover {\n  border-color: rgba(184,151,74,0.68);\n  background: rgba(184,151,74,0.055);\n}\n\n.nu-fys-card--other:has(input:checked) {\n  border-style: solid;\n  border-color: rgba(184,151,74,0.85);\n  background: rgba(184,151,74,0.08);\n}\n\n\/* PILLS *\/\n\n.nu-fys-pills {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n}\n\n.nu-fys-pills label {\n  position: relative;\n  cursor: pointer;\n}\n\n.nu-fys-pills span {\n  display: inline-flex;\n  padding: 15px 20px;\n  border: 1px solid rgba(244, 240, 232, 0.20);\n  border-radius: 999px;\n  background: rgba(255, 255, 255, 0.045);\n  color: rgba(244, 240, 232, 0.84);\n  font-family: \"Courier New\", monospace;\n  font-size: 12px;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n  transition: border-color 0.22s ease, background 0.22s ease, color 0.22s ease, box-shadow 0.22s ease;\n}\n\n.nu-fys-pills label:hover span {\n  border-color: rgba(184,151,74,0.52);\n  background: rgba(184,151,74,0.06);\n  color: #fffaf0;\n}\n\n.nu-fys-pills input:checked + span {\n  border-color: rgba(184,151,74,0.82);\n  background: rgba(184,151,74,0.10);\n  color: #fffaf0;\n  box-shadow: inset 0 0 0 1px rgba(184,151,74,0.12);\n}\n\n\/* ENERGY SLIDER *\/\n\n.nu-fys-energy-slider {\n  padding: 34px 40px 34px;\n  border: 1px solid rgba(244, 240, 232, 0.14);\n  background: rgba(255, 255, 255, 0.025);\n}\n\n.nu-fys-energy-slider input[type=\"range\"] {\n  width: 100%;\n  appearance: none;\n  -webkit-appearance: none;\n  height: 3px;\n  background: linear-gradient(\n    to right,\n    #b8974a 0%,\n    #b8974a 50%,\n    rgba(255,255,255,0.18) 50%,\n    rgba(255,255,255,0.18) 100%\n  );\n  outline: none;\n  border: 0;\n  margin: 0;\n  padding: 0;\n  cursor: pointer;\n}\n\n.nu-fys-energy-slider input[type=\"range\"]::-webkit-slider-thumb {\n  appearance: none;\n  -webkit-appearance: none;\n  width: 22px;\n  height: 22px;\n  border-radius: 50%;\n  background: #f3d78a;\n  border: 1px solid rgba(5,5,5,0.7);\n  cursor: grab;\n  box-shadow: 0 0 0 8px rgba(184,151,74,0.13);\n}\n\n.nu-fys-energy-slider input[type=\"range\"]:active::-webkit-slider-thumb {\n  cursor: grabbing;\n  box-shadow: 0 0 0 10px rgba(184,151,74,0.18);\n}\n\n.nu-fys-energy-slider input[type=\"range\"]::-moz-range-thumb {\n  width: 22px;\n  height: 22px;\n  border-radius: 50%;\n  background: #f3d78a;\n  border: 1px solid rgba(5,5,5,0.7);\n  cursor: grab;\n  box-shadow: 0 0 0 8px rgba(184,151,74,0.13);\n}\n\n.nu-fys-energy-description {\n  max-width: none;\n  margin: 32px 0 0;\n  padding-top: 24px;\n  border-top: 1px solid rgba(255,255,255,0.08);\n  font-family: \"Courier New\", monospace;\n  font-size: 13px;\n  line-height: 1.65;\n  color: rgba(244,240,232,0.62);\n}\n\n\/* ACTIONS *\/\n\n.nu-fys-actions {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 14px;\n  margin-top: 38px;\n}\n\n.nu-fys-result-actions {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  gap: 14px;\n  margin-top: 38px;\n}\n\n\/* BUTTONS *\/\n\n.nu-fys-btn {\n  appearance: none !important;\n  -webkit-appearance: none !important;\n  border: 1px solid rgba(255,255,255,0.55) !important;\n  background: transparent !important;\n  color: rgba(255,255,255,0.88) !important;\n  padding: 16px 24px !important;\n  text-decoration: none !important;\n  cursor: pointer !important;\n  font-family: inherit !important;\n  font-size: 11px !important;\n  font-weight: 600 !important;\n  letter-spacing: 0.16em !important;\n  text-transform: uppercase !important;\n  border-radius: 0 !important;\n  box-shadow: none !important;\n  outline: none !important;\n  transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease, transform 0.18s ease !important;\n}\n\n.nu-fys-btn:hover {\n  border-color: #b8974a !important;\n  color: #b8974a !important;\n  background: rgba(184,151,74,0.045) !important;\n  transform: translateY(-1px) !important;\n  filter: none !important;\n}\n\n.nu-fys-btn:focus,\n.nu-fys-btn:active {\n  background: transparent !important;\n  color: rgba(255,255,255,0.88) !important;\n  border-color: rgba(255,255,255,0.55) !important;\n  box-shadow: none !important;\n  outline: none !important;\n}\n\n.nu-fys-btn:disabled {\n  opacity: 0.55 !important;\n  cursor: wait !important;\n  transform: none !important;\n}\n\n.nu-fys-btn--ghost {\n  background: transparent !important;\n  color: rgba(255,255,255,0.55) !important;\n  border-color: rgba(255,255,255,0.2) !important;\n}\n\n.nu-fys-btn--ghost:hover {\n  border-color: #b8974a !important;\n  color: #b8974a !important;\n  background: rgba(184,151,74,0.035) !important;\n}\n\n\/* RESULT *\/\n\n.nu-fys-result {\n  display: none;\n}\n\n.nu-fys-result.is-active {\n  display: block;\n}\n\n.nu-fys-result-clean {\n  text-align: center;\n  padding: 24px 0 12px;\n}\n\n.nu-fys-result-clean h2 {\n  max-width: 900px;\n  margin: 0 auto;\n}\n\n.nu-fys-refine-link {\n  margin: 26px auto 0 !important;\n  padding: 0 !important;\n  border: 0 !important;\n  background: transparent !important;\n  color: rgba(255,255,255,0.38) !important;\n  font-family: \"Courier New\", monospace !important;\n  font-size: 10px !important;\n  letter-spacing: 0.16em !important;\n  text-transform: uppercase !important;\n  cursor: pointer !important;\n  box-shadow: none !important;\n  outline: none !important;\n  display: inline-block !important;\n}\n\n.nu-fys-refine-link:hover {\n  color: #b8974a !important;\n}\n\n\n\/* RESULT LOADING DOTS *\/\n\n.nu-fys-loading-dots {\n  display: inline-flex;\n  width: 0.82em;\n  justify-content: flex-start;\n  margin-left: 0.03em;\n  color: #f3d78a;\n}\n\n.nu-fys-loading-dots span {\n  opacity: 0.25;\n  animation: nuFysDotPulse 1.05s ease-in-out infinite;\n}\n\n.nu-fys-loading-dots span:nth-child(2) {\n  animation-delay: 0.16s;\n}\n\n.nu-fys-loading-dots span:nth-child(3) {\n  animation-delay: 0.32s;\n}\n\n@keyframes nuFysDotPulse {\n  0%, 80%, 100% {\n    opacity: 0.25;\n    transform: translateY(0);\n  }\n  40% {\n    opacity: 1;\n    transform: translateY(-0.06em);\n  }\n}\n\n.nu-fys-result.is-loading .nu-fys-result-kicker::after {\n  content: \"\";\n  display: block;\n  width: 82px;\n  height: 1px;\n  margin: 18px auto 0;\n  background: linear-gradient(90deg, transparent, rgba(243,215,138,0.95), transparent);\n  animation: nuFysLoadingLine 1.15s ease-in-out infinite;\n}\n\n@keyframes nuFysLoadingLine {\n  0%, 100% {\n    opacity: 0.35;\n    transform: scaleX(0.55);\n  }\n  50% {\n    opacity: 1;\n    transform: scaleX(1);\n  }\n}\n\n\/* SEARCH LOADER \/ ERROR *\/\n\n.nu-fys-ai-player-wrap {\n  margin-top: 42px !important;\n  padding-top: 34px !important;\n  border-top: 1px solid rgba(255,255,255,0.08) !important;\n  text-align: left !important;\n}\n\n.nu-fys-ai-loader {\n  padding: 18px 20px !important;\n  border: 1px solid rgba(184,151,74,0.35) !important;\n  background: rgba(184,151,74,0.06) !important;\n  color: rgba(255,250,240,0.78) !important;\n  font-family: \"Courier New\", monospace !important;\n  font-size: 11px !important;\n  line-height: 1.5 !important;\n  letter-spacing: 0.08em !important;\n  text-transform: uppercase !important;\n}\n\n.nu-fys-ai-error {\n  padding: 18px 20px !important;\n  border: 1px solid rgba(255,90,90,0.35) !important;\n  background: rgba(255,90,90,0.06) !important;\n  color: rgba(255,220,220,0.86) !important;\n  font-family: \"Courier New\", monospace !important;\n  font-size: 11px !important;\n  line-height: 1.5 !important;\n  letter-spacing: 0.06em !important;\n}\n\n\n\/* HIDE FLOATING CUSTOM BUTTON ON THIS PAGE *\/\n\n.nuanthem-floating-quote {\n  display: none !important;\n}\n\n\/* PREFILLED POPUP UX *\/\n\n.nu-fys-prefill-notice {\n  margin: 0 0 26px !important;\n  padding: 14px 16px !important;\n  border: 1px solid rgba(184,151,74,0.42) !important;\n  background: rgba(184,151,74,0.07) !important;\n  color: rgba(255,250,240,0.86) !important;\n  font-family: \"Courier New\", monospace !important;\n  font-size: 12px !important;\n  line-height: 1.5 !important;\n  letter-spacing: 0.06em !important;\n  text-transform: none !important;\n}\n\n.nu-fys-prefill-notice em {\n  font-family: Georgia, \"Times New Roman\", serif !important;\n  font-style: italic !important;\n  letter-spacing: 0 !important;\n  color: #f3d78a !important;\n}\n\n.nu-fys-prefilled-field {\n  border-color: rgba(184,151,74,0.95) !important;\n  box-shadow: 0 0 0 1px rgba(184,151,74,0.32) !important;\n}\n\n.nu-fys-popup-helper {\n  margin: 8px 0 0 !important;\n  font-family: \"Courier New\", monospace !important;\n  font-size: 11px !important;\n  line-height: 1.55 !important;\n  color: rgba(255,255,255,0.42) !important;\n  letter-spacing: 0.04em !important;\n}\n\n\/* ENERGY LABELS OVERRIDE *\/\n\n#nu-fys-questionnaire .nu-fys-energy-labels {\n  display: grid !important;\n  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;\n  gap: 18px !important;\n  width: 100% !important;\n  height: auto !important;\n  margin: 0 0 28px !important;\n  align-items: end !important;\n}\n\n#nu-fys-questionnaire .nu-fys-energy-label {\n  position: static !important;\n  left: auto !important;\n  right: auto !important;\n  top: auto !important;\n  transform: none !important;\n  display: flex !important;\n  align-items: flex-end !important;\n  justify-content: center !important;\n  width: 100% !important;\n  max-width: 100% !important;\n  min-width: 0 !important;\n  min-height: 68px !important;\n  appearance: none !important;\n  -webkit-appearance: none !important;\n  border: 0 !important;\n  background: transparent !important;\n  padding: 0 !important;\n  margin: 0 !important;\n  box-shadow: none !important;\n  outline: none !important;\n  font-family: Georgia, \"Times New Roman\", serif !important;\n  font-size: clamp(23px, 1.75vw, 32px) !important;\n  line-height: 1.03 !important;\n  font-weight: 400 !important;\n  letter-spacing: -0.025em !important;\n  text-transform: none !important;\n  white-space: normal !important;\n  word-break: normal !important;\n  overflow-wrap: normal !important;\n  text-align: center !important;\n  color: rgba(var(--nu-energy-r, 255), var(--nu-energy-g, 250), var(--nu-energy-b, 240), var(--nu-energy-opacity, 0.42)) !important;\n  -webkit-text-fill-color: rgba(var(--nu-energy-r, 255), var(--nu-energy-g, 250), var(--nu-energy-b, 240), var(--nu-energy-opacity, 0.42)) !important;\n  opacity: 1 !important;\n  transition: color 0.16s linear, -webkit-text-fill-color 0.16s linear !important;\n}\n\n#nu-fys-questionnaire .nu-fys-energy-text {\n  display: block !important;\n  width: 100% !important;\n  max-width: 190px !important;\n  margin: 0 auto !important;\n  text-align: center !important;\n}\n\n#nu-fys-questionnaire .nu-fys-energy-icons {\n  display: grid !important;\n  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;\n  gap: 18px !important;\n  width: 100% !important;\n  margin: 18px 0 0 !important;\n  align-items: center !important;\n}\n\n#nu-fys-questionnaire .nu-fys-energy-icon {\n  display: flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n  width: 60px !important;\n  height: 60px !important;\n  margin: 0 auto !important;\n  opacity: var(--nu-energy-icon-opacity, 0.42) !important;\n  flex: 0 0 60px !important;\n  transition: opacity 0.16s linear, transform 0.16s linear !important;\n}\n\n#nu-fys-questionnaire .nu-fys-energy-icon img {\n  width: 100% !important;\n  height: 100% !important;\n  object-fit: contain !important;\n  display: block !important;\n}\n\n#nu-fys-questionnaire .nu-fys-energy-label:hover,\n#nu-fys-questionnaire .nu-fys-energy-label:focus,\n#nu-fys-questionnaire .nu-fys-energy-label:active {\n  background: transparent !important;\n  box-shadow: none !important;\n  outline: none !important;\n}\n\n\/* Keep the range perfectly aligned between the 5 equal label columns *\/\n#nu-fys-questionnaire .nu-fys-energy-slider input[type=\"range\"] {\n  display: block !important;\n  width: 100% !important;\n}\n\n\/* OTHERS INPUTS *\/\n\n.nu-fys-card--other .nu-fys-other-input,\n.nu-fys-card--reference .nu-fys-reference-input {\n  display: none !important;\n  width: 100%;\n  margin-top: 18px;\n  padding: 13px 14px;\n  border: 1px solid rgba(244,240,232,0.18);\n  background: rgba(0,0,0,0.22);\n  color: #fffaf0;\n  font-family: \"Courier New\", monospace;\n  font-size: 12px;\n  line-height: 1.4;\n  outline: none;\n}\n\n.nu-fys-card--other:has(input[type=\"checkbox\"]:checked) .nu-fys-other-input,\n.nu-fys-card--other.is-other-active .nu-fys-other-input,\n.nu-fys-card--reference:has(input[type=\"checkbox\"]:checked) .nu-fys-reference-input,\n.nu-fys-card--reference.is-reference-active .nu-fys-reference-input {\n  display: block;\n}\n\n.nu-fys-card--other .nu-fys-other-input::placeholder,\n.nu-fys-card--reference .nu-fys-reference-input::placeholder,\n.nu-fys-other-row input::placeholder {\n  color: rgba(244,240,232,0.34);\n}\n\n.nu-fys-card--other .nu-fys-other-input:focus,\n.nu-fys-card--reference .nu-fys-reference-input:focus,\n.nu-fys-other-row input:focus {\n  border-color: rgba(184,151,74,0.72);\n  box-shadow: 0 0 0 1px rgba(184,151,74,0.18);\n}\n\n.nu-fys-other-row {\n  margin-top: 18px;\n  padding: 18px 20px;\n  border: 1px solid rgba(244,240,232,0.11);\n  background: rgba(255,255,255,0.025);\n}\n\n.nu-fys-other-row label {\n  display: block;\n  margin-bottom: 10px;\n  font-family: \"Courier New\", monospace;\n  font-size: 11px;\n  letter-spacing: 0.12em;\n  text-transform: uppercase;\n  color: rgba(244,240,232,0.68);\n}\n\n.nu-fys-other-row input {\n  width: 100%;\n  padding: 14px 15px;\n  border: 1px solid rgba(244,240,232,0.16);\n  background: rgba(0,0,0,0.22);\n  color: #fffaf0;\n  font-family: \"Courier New\", monospace;\n  font-size: 12px;\n  line-height: 1.4;\n  outline: none;\n}\n\n\/* SPECIAL PILLS: OTHERS + NO PREFERENCE *\/\n\n.nu-fys-pill--other span {\n  border-style: dashed;\n  border-color: rgba(184,151,74,0.42);\n  color: rgba(243,215,138,0.82);\n  background: rgba(184,151,74,0.025);\n}\n\n.nu-fys-pill--other span::before {\n  content: \"+\";\n  margin-right: 8px;\n  font-size: 13px;\n  line-height: 1;\n  color: rgba(243,215,138,0.9);\n}\n\n.nu-fys-pill--other input:checked + span {\n  border-style: solid;\n  border-color: rgba(184,151,74,0.85);\n  background: rgba(184,151,74,0.09);\n  color: #f3d78a;\n}\n\n.nu-fys-pills--sound .nu-fys-pill--no-pref {\n  flex-basis: 100%;\n  width: auto;\n  margin-top: 4px;\n}\n\n.nu-fys-pills--sound .nu-fys-pill--no-pref span::before {\n  content: \"\u2022\u2022\";\n  margin-right: 9px;\n  letter-spacing: 0.18em;\n  font-size: 10px;\n  color: rgba(243,215,138,0.9);\n}\n\n.nu-fys-pills--sound .nu-fys-pill--no-pref span::after {\n  content: \"\u2022\u2022\";\n  margin-left: 9px;\n  letter-spacing: 0.18em;\n  font-size: 10px;\n  color: rgba(243,215,138,0.9);\n}\n\n.nu-fys-pills--sound .nu-fys-pill--no-pref span {\n  width: auto;\n}\n\n\/* RESULT CUSTOM CTA *\/\n\n.nu-fys-result-summary {\n  display: none !important;\n}\n\n.nu-fys-result-actions--custom-only {\n  display: block;\n  margin-top: 34px;\n}\n\n.nu-fys-result-custom {\n  width: min(760px, 100%);\n  margin: 0 auto;\n  padding: 0;\n  border: 0;\n  background: transparent;\n  text-align: center;\n}\n\n.nu-fys-result-custom p {\n  max-width: 620px;\n  margin: 0 auto 18px;\n  font-family: \"Courier New\", monospace;\n  font-size: 12px;\n  line-height: 1.7;\n  color: rgba(244,240,232,0.68);\n}\n\n.nu-fys-btn--hidden {\n  display: none !important;\n}\n\n.nu-fys-btn--gold {\n  border-color: rgba(184,151,74,0.75) !important;\n  color: #f3d78a !important;\n  background: rgba(184,151,74,0.07) !important;\n}\n\n.nu-fys-btn--gold:hover {\n  border-color: #f3d78a !important;\n  color: #050505 !important;\n  background: #f3d78a !important;\n}\n\n\/* ENERGY LABEL DYNAMIC INTENSITY *\/\n\n#nu-fys-questionnaire .nu-fys-energy-label {\n  opacity: 1 !important;\n  color: rgba(var(--nu-energy-r, 255), var(--nu-energy-g, 250), var(--nu-energy-b, 240), var(--nu-energy-opacity, 0.42)) !important;\n  -webkit-text-fill-color: rgba(var(--nu-energy-r, 255), var(--nu-energy-g, 250), var(--nu-energy-b, 240), var(--nu-energy-opacity, 0.42)) !important;\n  font-weight: 400 !important;\n  transition: color 0.16s linear, -webkit-text-fill-color 0.16s linear !important;\n}\n\n\/* MOBILE *\/\n\n@media (max-width: 900px) {\n  .nu-fys-tool {\n    padding: 0 24px clamp(30px, 4vw, 48px) !important;\n  }\n\n  .nu-fys-tool__inner {\n    width: 100%;\n    max-width: none;\n    padding: 30px 24px 34px;\n  }\n\n  .nu-fys-grid,\n  .nu-fys-grid--project,\n  .nu-fys-grid--goals {\n    grid-template-columns: 1fr 1fr;\n  }\n\n  .nu-fys-step {\n    min-height: auto;\n  }\n\n  .nu-fys-energy-slider {\n    padding: 30px 24px 30px;\n  }\n\n  .nu-fys-ai-results {\n    width: calc(100% - 48px);\n    padding: 32px 24px;\n  }\n\n  #nu-fys-questionnaire .nu-fys-energy-labels,\n  #nu-fys-questionnaire .nu-fys-energy-icons {\n    grid-template-columns: 1fr !important;\n    gap: 10px !important;\n  }\n\n  #nu-fys-questionnaire .nu-fys-energy-icons {\n    display: none !important;\n  }\n\n  #nu-fys-questionnaire .nu-fys-energy-label,\n  #nu-fys-questionnaire .nu-fys-energy-label:nth-child(1),\n  #nu-fys-questionnaire .nu-fys-energy-label:nth-child(2),\n  #nu-fys-questionnaire .nu-fys-energy-label:nth-child(3),\n  #nu-fys-questionnaire .nu-fys-energy-label:nth-child(4),\n  #nu-fys-questionnaire .nu-fys-energy-label:nth-child(5) {\n    min-height: 0 !important;\n    text-align: left !important;\n    justify-content: flex-start !important;\n    align-items: flex-start !important;\n    font-size: 28px !important;\n  }\n\n  #nu-fys-questionnaire .nu-fys-energy-text {\n    max-width: none !important;\n    text-align: left !important;\n    margin: 0 !important;\n  }\n}\n\n@media (max-width: 600px) {\n  .nu-fys-tool {\n    background: transparent !important;\n    padding: 0 0 clamp(30px, 4vw, 48px) !important;\n  }\n\n  .nu-fys-tool__inner {\n    padding: 28px 18px 32px;\n  }\n\n  .nu-fys-grid,\n  .nu-fys-grid--project,\n  .nu-fys-grid--goals {\n    grid-template-columns: 1fr;\n  }\n\n  .nu-fys-actions,\n  .nu-fys-result-actions {\n    flex-direction: column;\n  }\n\n  .nu-fys-btn {\n    width: 100%;\n    text-align: center;\n  }\n\n  .nu-fys-ai-results {\n    width: 100%;\n    margin-top: 32px;\n    padding: 28px 18px;\n  }\n\n  .nu-fys-result-summary {\n    grid-template-columns: 1fr;\n  }\n}\n\n\/* =========================================================\n   FIND YOUR SOUND \u2014 AI RESULTS \/ SONAAR PLAYER FINAL CLEAN\n   One single block \/ no stacked patches \/ scoped only here\n   ========================================================= *\/\n\n.nu-fys-ai-results,\n#nu-fys-ai-results {\n  width: min(1420px, calc(100% - 80px)) !important;\n  max-width: 1420px !important;\n  margin: 36px auto 110px !important;\n  padding: 42px 46px 40px !important;\n  background: #0b0b0b !important;\n  border: 1px solid rgba(255,255,255,0.07) !important;\n  color: #f4f0e8 !important;\n}\n\n.nu-fys-ai-results__head { margin-bottom: 30px !important; }\n\n.nu-fys-ai-results__head span {\n  display: block !important;\n  margin-bottom: 12px !important;\n  font-family: \"Courier New\", monospace !important;\n  font-size: 11px !important;\n  letter-spacing: 0.18em !important;\n  text-transform: uppercase !important;\n  color: #b8974a !important;\n}\n\n.nu-fys-ai-results__head h2 {\n  margin: 0 0 30px !important;\n  font-family: Georgia, \"Times New Roman\", serif !important;\n  font-size: 66px !important;\n  line-height: 1 !important;\n  font-weight: 500 !important;\n  letter-spacing: -0.04em !important;\n  color: #fffaf0 !important;\n}\n\n.nu-fys-ai-results__player { margin-top: 28px !important; }\n\n\/* AI RESULTS HEADER CTA *\/\n\n#nu-fys-ai-results .nu-fys-ai-results__head,\n.nu-fys-ai-results .nu-fys-ai-results__head {\n  position: relative !important;\n}\n\n#nu-fys-ai-results .nu-fys-ai-results__head-inner,\n.nu-fys-ai-results .nu-fys-ai-results__head-inner {\n  display: flex !important;\n  align-items: center !important;\n  justify-content: space-between !important;\n  gap: 34px !important;\n  margin-bottom: 34px !important;\n}\n\n#nu-fys-ai-results .nu-fys-ai-results__head-text,\n.nu-fys-ai-results .nu-fys-ai-results__head-text {\n  min-width: 0 !important;\n}\n\n#nu-fys-ai-results .nu-fys-ai-results__head h2,\n.nu-fys-ai-results .nu-fys-ai-results__head h2 {\n  margin-bottom: 0 !important;\n}\n\n.nu-fys-ai-header-cta {\n  flex: 0 0 auto !important;\n  max-width: 560px !important;\n  display: flex !important;\n  align-items: center !important;\n  justify-content: flex-end !important;\n  gap: 22px !important;\n  text-align: left !important;\n}\n\n.nu-fys-ai-header-cta__copy {\n  max-width: 300px !important;\n}\n\n.nu-fys-ai-header-cta__eyebrow {\n  display: block !important;\n  margin: 0 0 7px !important;\n  font-family: \"Courier New\", monospace !important;\n  font-size: 10px !important;\n  line-height: 1.3 !important;\n  letter-spacing: 0.14em !important;\n  text-transform: uppercase !important;\n  color: rgba(243,215,138,0.82) !important;\n}\n\n.nu-fys-ai-header-cta p {\n  max-width: 300px !important;\n  margin: 0 !important;\n  font-family: \"Courier New\", monospace !important;\n  font-size: 11px !important;\n  line-height: 1.55 !important;\n  letter-spacing: 0.04em !important;\n  color: rgba(244,240,232,0.58) !important;\n}\n\n.nu-fys-ai-header-cta .nu-fys-btn {\n  white-space: nowrap !important;\n  flex: 0 0 auto !important;\n}\n\n@media (max-width: 1100px) {\n  .nu-fys-ai-header-cta {\n    max-width: 360px !important;\n    display: block !important;\n    text-align: right !important;\n  }\n\n  .nu-fys-ai-header-cta__copy {\n    max-width: 360px !important;\n    margin-bottom: 14px !important;\n  }\n}\n\n@media (max-width: 900px) {\n  #nu-fys-ai-results .nu-fys-ai-results__head-inner,\n  .nu-fys-ai-results .nu-fys-ai-results__head-inner {\n    display: block !important;\n  }\n\n  .nu-fys-ai-header-cta {\n    max-width: none !important;\n    margin-top: 22px !important;\n    text-align: left !important;\n  }\n}\n\n\/* Hide the big Sonaar player *\/\n#nu-fys-ai-results .srp_player_boxed,\n#nu-fys-ai-results .srp_main_control,\n#nu-fys-ai-results .album-player,\n#nu-fys-ai-results .iron-audioplayer > .sonaar-grid,\n#nu-fys-ai-results .sr_progressbar {\n  display: none !important;\n}\n\n#nu-fys-ai-results .srp_tracklist,\n#nu-fys-ai-results .playlist {\n  width: 100% !important;\n  margin: 0 !important;\n  padding: 0 !important;\n}\n\n#nu-fys-ai-results .sr-playlist-item {\n  display: flex !important;\n  align-items: center !important;\n  justify-content: flex-start !important;\n  min-height: 88px !important;\n  padding: 10px 24px 10px 0 !important;\n  border-bottom: 1px solid rgba(255,255,255,0.08) !important;\n  background: transparent !important;\n  gap: 0 !important;\n  position: relative !important;\n  overflow: hidden !important;\n}\n\n#nu-fys-ai-results .sr-playlist-item:hover { background: rgba(255,255,255,0.025) !important; }\n\n#nu-fys-ai-results .track-number,\n#nu-fys-ai-results .srp_track_number { display: none !important; }\n\n#nu-fys-ai-results .audio-track {\n  flex: 0 0 500px !important;\n  width: 500px !important;\n  min-width: 500px !important;\n  max-width: 500px !important;\n  display: flex !important;\n  align-items: center !important;\n  overflow: visible !important;\n  border-bottom: none !important;\n}\n\n#nu-fys-ai-results .track-artwork,\n#nu-fys-ai-results .album-art,\n#nu-fys-ai-results .album-art img,\n#nu-fys-ai-results .sr_track_cover,\n#nu-fys-ai-results img {\n  width: 66px !important;\n  height: 66px !important;\n  min-width: 66px !important;\n  max-width: 66px !important;\n  object-fit: cover !important;\n}\n\n#nu-fys-ai-results .tracklist-item-title {\n  flex: 0 0 190px !important;\n  width: 190px !important;\n  min-width: 190px !important;\n  max-width: 190px !important;\n  margin-left: 16px !important;\n  margin-right: 26px !important;\n  white-space: normal !important;\n  overflow: hidden !important;\n  text-overflow: ellipsis !important;\n  color: #f4f0e8 !important;\n  font-size: 14px !important;\n  line-height: 1.1 !important;\n  letter-spacing: 0.04em !important;\n  font-weight: 700 !important;\n}\n\n#nu-fys-ai-results .srp_artist,\n#nu-fys-ai-results .srp_trackartist,\n#nu-fys-ai-results .srp_track_artist,\n#nu-fys-ai-results .tracklist-item-title small,\n#nu-fys-ai-results .tracklist-item-title span {\n  display: block !important;\n  margin-top: 4px !important;\n  color: rgba(255,255,255,0.52) !important;\n  font-size: 9px !important;\n  line-height: 1.2 !important;\n  font-weight: 400 !important;\n  letter-spacing: 0.03em !important;\n}\n\n#nu-fys-ai-results .srp_soundwave_wrapper {\n  flex: 0 0 165px !important;\n  width: 165px !important;\n  min-width: 165px !important;\n  max-width: 165px !important;\n  margin-left: 0 !important;\n  margin-right: 34px !important;\n  overflow: hidden !important;\n}\n\n#nu-fys-ai-results .track-time,\n#nu-fys-ai-results .tracklist-item-time,\n#nu-fys-ai-results .srp_tracklength,\n#nu-fys-ai-results .sr_tracktime,\n#nu-fys-ai-results .sr_it-playlist-duration {\n  flex: 0 0 48px !important;\n  width: 48px !important;\n  min-width: 48px !important;\n  max-width: 48px !important;\n  color: #f1eee8 !important;\n  font-size: 12.5px !important;\n  font-weight: 700 !important;\n  letter-spacing: 0.02em !important;\n  text-align: left !important;\n}\n\n#nu-fys-ai-results .sr-playlist-cf-container {\n  flex: 0 0 390px !important;\n  width: 390px !important;\n  min-width: 390px !important;\n  max-width: 390px !important;\n  display: flex !important;\n  align-items: center !important;\n  gap: 24px !important;\n  visibility: visible !important;\n  opacity: 1 !important;\n  overflow: hidden !important;\n}\n\n#nu-fys-ai-results .sr-playlist-cf-child { display: none !important; }\n\n#nu-fys-ai-results .sr-playlist-cf--short_description {\n  display: -webkit-box !important;\n  flex: 0 0 255px !important;\n  width: 255px !important;\n  min-width: 255px !important;\n  max-width: 255px !important;\n  color: rgba(255,255,255,0.78) !important;\n  font-size: 12.4px !important;\n  line-height: 1.3 !important;\n  letter-spacing: 0.03em !important;\n  overflow: hidden !important;\n  -webkit-line-clamp: 2 !important;\n  -webkit-box-orient: vertical !important;\n}\n\n#nu-fys-ai-results .sr-playlist-cf--music_genre {\n  display: block !important;\n  flex: 0 0 105px !important;\n  width: 105px !important;\n  min-width: 105px !important;\n  max-width: 105px !important;\n  color: rgba(255,255,255,0.82) !important;\n  font-size: 12.4px !important;\n  line-height: 1.3 !important;\n  overflow: hidden !important;\n}\n\n#nu-fys-ai-results .sr-playlist-cf--Mood,\n#nu-fys-ai-results .sr-playlist-cf--mood,\n#nu-fys-ai-results .sr-playlist-cf--bpm { display: none !important; }\n\n\/* FIX: store-list \u00e9largi \u00e0 340px pour contenir les boutons sans troncature *\/\n#nu-fys-ai-results .store-list {\n  flex: 0 0 340px !important;\n  width: 340px !important;\n  min-width: 340px !important;\n  max-width: 340px !important;\n  min-height: 34px !important;\n  margin-left: 28px !important;\n  margin-right: 0 !important;\n  display: flex !important;\n  align-items: center !important;\n  justify-content: flex-end !important;\n  gap: 14px !important;\n  opacity: 1 !important;\n  visibility: visible !important;\n  overflow: visible !important;\n  position: static !important;\n  transform: none !important;\n  inset: auto !important;\n  z-index: 5 !important;\n}\n\n#nu-fys-ai-results .store-list .song-store {\n  display: inline-flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n  opacity: 1 !important;\n  visibility: visible !important;\n  overflow: visible !important;\n  position: relative !important;\n  inset: auto !important;\n  transform: none !important;\n  z-index: 6 !important;\n  text-decoration: none !important;\n  box-shadow: none !important;\n}\n\n#nu-fys-ai-results .store-list .song-store.srp-make-offer-bt,\n#nu-fys-ai-results .store-list .song-store.add_to_cart_button,\n#nu-fys-ai-results .store-list .song-store.sr_store_wc_round_bt {\n  box-sizing: border-box !important;\n  width: 158px !important;\n  min-width: 158px !important;\n  max-width: 158px !important;\n  height: 34px !important;\n  min-height: 34px !important;\n  padding: 0 !important;\n\n  border: 0 !important;\n  border-radius: 999px !important;\n  background: transparent !important;\n  box-shadow: none !important;\n\n  color: transparent !important;\n  font-size: 0 !important;\n  line-height: 1 !important;\n  text-indent: 0 !important;\n  white-space: nowrap !important;\n  overflow: visible !important;\n}\n\n#nu-fys-ai-results .store-list .song-store.srp-make-offer-bt > i,\n#nu-fys-ai-results .store-list .song-store.add_to_cart_button > i,\n#nu-fys-ai-results .store-list .song-store.sr_store_wc_round_bt > i,\n#nu-fys-ai-results .store-list .song-store.srp-make-offer-bt::before,\n#nu-fys-ai-results .store-list .song-store.add_to_cart_button::before,\n#nu-fys-ai-results .store-list .song-store.sr_store_wc_round_bt::before {\n  display: none !important;\n  content: none !important;\n}\n\n#nu-fys-ai-results .store-list .song-store.srp-make-offer-bt::after,\n#nu-fys-ai-results .store-list .song-store.add_to_cart_button::after,\n#nu-fys-ai-results .store-list .song-store.sr_store_wc_round_bt::after {\n  content: attr(aria-label) !important;\n  display: flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n\n  width: 158px !important;\n  height: 34px !important;\n  box-sizing: border-box !important;\n\n  border: 1px solid rgba(232,203,143,0.78) !important;\n  border-radius: 999px !important;\n  background: transparent !important;\n\n  color: var(--nu-gold-light, #d6b267) !important;\n  font-size: 8.4px !important;\n  font-weight: 700 !important;\n  letter-spacing: 0.09em !important;\n  text-transform: uppercase !important;\n  line-height: 1 !important;\n  text-indent: 0 !important;\n  white-space: nowrap !important;\n  pointer-events: none !important;\n}\n\n#nu-fys-ai-results .store-list .song-store.srp-make-offer-bt:hover,\n#nu-fys-ai-results .store-list .song-store.add_to_cart_button:hover,\n#nu-fys-ai-results .store-list .song-store.sr_store_wc_round_bt:hover {\n  background: transparent !important;\n  border: 0 !important;\n  box-shadow: none !important;\n}\n\n#nu-fys-ai-results .store-list .song-store.srp-make-offer-bt:hover::after,\n#nu-fys-ai-results .store-list .song-store.add_to_cart_button:hover::after,\n#nu-fys-ai-results .store-list .song-store.sr_store_wc_round_bt:hover::after {\n  background: var(--nu-gold-light, #d6b267) !important;\n  border-color: var(--nu-gold-light, #d6b267) !important;\n  color: #080808 !important;\n}\n\n#nu-fys-ai-results .store-list .song-store.sr_store_force_dl_bt,\n#nu-fys-ai-results .store-list .song-store.sr_store_force_share_bt,\n#nu-fys-ai-results .store-list .song-store.srp-fav-bt {\n  width: 18px !important;\n  min-width: 18px !important;\n  max-width: 18px !important;\n  height: 18px !important;\n  min-height: 18px !important;\n  max-height: 18px !important;\n  padding: 0 !important;\n  margin: 0 !important;\n  border: none !important;\n  background: transparent !important;\n  color: rgba(255,255,255,0.65) !important;\n  box-shadow: none !important;\n}\n\n#nu-fys-ai-results .store-list .song-store.sr_store_force_dl_bt span,\n#nu-fys-ai-results .store-list .song-store.sr_store_force_share_bt span,\n#nu-fys-ai-results .store-list .song-store.srp-fav-bt span { display: none !important; }\n\n#nu-fys-ai-results .store-list .song-store.sr_store_force_dl_bt:hover,\n#nu-fys-ai-results .store-list .song-store.sr_store_force_share_bt:hover,\n#nu-fys-ai-results .store-list .song-store.srp-fav-bt:hover { color: var(--nu-gold-light, #d6b267) !important; }\n\n@media (max-width: 1200px) {\n  .nu-fys-ai-results,\n  #nu-fys-ai-results { width: calc(100% - 40px) !important; padding: 40px 26px !important; }\n  #nu-fys-ai-results .nu-fys-ai-results__head h2 { font-size: clamp(42px, 8vw, 62px) !important; }\n  #nu-fys-ai-results .sr-playlist-item { display: block !important; min-height: auto !important; padding: 22px 0 !important; overflow: visible !important; }\n  #nu-fys-ai-results .audio-track,\n  #nu-fys-ai-results .tracklist-item-title,\n  #nu-fys-ai-results .srp_soundwave_wrapper,\n  #nu-fys-ai-results .track-time,\n  #nu-fys-ai-results .tracklist-item-time,\n  #nu-fys-ai-results .sr-playlist-cf-container,\n  #nu-fys-ai-results .store-list { width: 100% !important; max-width: 100% !important; min-width: 0 !important; flex: none !important; }\n  #nu-fys-ai-results .audio-track { display: flex !important; }\n  #nu-fys-ai-results .sr-playlist-cf-container { margin-top: 14px !important; }\n  #nu-fys-ai-results .store-list { justify-content: flex-start !important; margin-left: 0 !important; margin-top: 14px !important; }\n}\n\n@media (max-width: 600px) {\n  .nu-fys-ai-results,\n  #nu-fys-ai-results { width: 100% !important; margin-top: 28px !important; padding: 28px 18px !important; }\n  #nu-fys-ai-results .track-artwork,\n  #nu-fys-ai-results .album-art,\n  #nu-fys-ai-results .album-art img,\n  #nu-fys-ai-results .sr_track_cover,\n  #nu-fys-ai-results img { width: 54px !important; height: 54px !important; min-width: 54px !important; max-width: 54px !important; }\n  #nu-fys-ai-results .tracklist-item-title { margin-left: 12px !important; margin-right: 0 !important; }\n}\n\n\n\/* FIX \u2014 Step 2 reference \/ other inputs visibility *\/\n#nu-fys-questionnaire .nu-fys-card--other .nu-fys-other-input,\n#nu-fys-questionnaire .nu-fys-card--reference .nu-fys-reference-input {\n  display: none !important;\n}\n\n#nu-fys-questionnaire .nu-fys-card--other.is-other-active .nu-fys-other-input,\n#nu-fys-questionnaire .nu-fys-card--other:has(input[name=\"goal\"][value=\"other\"]:checked) .nu-fys-other-input,\n#nu-fys-questionnaire .nu-fys-card--reference.is-reference-active .nu-fys-reference-input,\n#nu-fys-questionnaire .nu-fys-card--reference:has(input[name=\"goal\"][value=\"inspired by a reference\"]:checked) .nu-fys-reference-input {\n  display: block !important;\n}\n\n\n\n\/* FIX V9 \u2014 inline text inputs inside cards must stay visible\/clickable\n   Previous generic rule `.nu-fys-card input` was hiding every input,\n   including the reference\/others text fields. *\/\n#nu-fys-questionnaire .nu-fys-card input.nu-fys-reference-input,\n#nu-fys-questionnaire .nu-fys-card input.nu-fys-other-input {\n  position: static !important;\n  opacity: 1 !important;\n  pointer-events: auto !important;\n  transform: none !important;\n  visibility: visible !important;\n  z-index: 2 !important;\n}\n\n#nu-fys-questionnaire .nu-fys-card--reference .nu-fys-reference-input,\n#nu-fys-questionnaire .nu-fys-card--other .nu-fys-other-input {\n  display: none !important;\n}\n\n#nu-fys-questionnaire .nu-fys-card--reference.is-reference-active .nu-fys-reference-input,\n#nu-fys-questionnaire .nu-fys-card--reference:has(> input[type=\"checkbox\"]:checked) .nu-fys-reference-input,\n#nu-fys-questionnaire .nu-fys-card--other.is-other-active .nu-fys-other-input,\n#nu-fys-questionnaire .nu-fys-card--other:has(> input[type=\"checkbox\"]:checked) .nu-fys-other-input {\n  display: block !important;\n}\n\n\n\n\/* =========================================================\n   V10 \u2014 STEP 2 REFERENCE INPUT CLEANER + TIGHTER RESULT GAP\n   ========================================================= *\/\n\n#nu-fys-questionnaire .nu-fys-card--reference .nu-fys-reference-label {\n  display: none !important;\n  margin: 18px 0 8px !important;\n  font-family: \"Courier New\", monospace !important;\n  font-size: 9.5px !important;\n  line-height: 1.2 !important;\n  letter-spacing: 0.14em !important;\n  text-transform: uppercase !important;\n  font-style: normal !important;\n  color: rgba(243,215,138,0.68) !important;\n}\n\n#nu-fys-questionnaire .nu-fys-card--reference.is-reference-active .nu-fys-reference-label,\n#nu-fys-questionnaire .nu-fys-card--reference:has(> input[type=\"checkbox\"]:checked) .nu-fys-reference-label {\n  display: block !important;\n}\n\n#nu-fys-questionnaire .nu-fys-card--reference .nu-fys-reference-input {\n  width: 100% !important;\n  max-width: 100% !important;\n  margin-top: 0 !important;\n  padding: 13px 14px !important;\n  border: 1px solid rgba(184,151,74,0.46) !important;\n  background: rgba(0,0,0,0.22) !important;\n  color: #fffaf0 !important;\n  font-family: \"Courier New\", monospace !important;\n  font-size: 10.5px !important;\n  line-height: 1.2 !important;\n  letter-spacing: 0.035em !important;\n  border-radius: 0 !important;\n  outline: none !important;\n  box-shadow: none !important;\n}\n\n#nu-fys-questionnaire .nu-fys-card--reference .nu-fys-reference-input::placeholder {\n  color: rgba(244,240,232,0.42) !important;\n}\n\n#nu-fys-questionnaire .nu-fys-card--reference .nu-fys-reference-input:focus {\n  border-color: rgba(243,215,138,0.88) !important;\n  background: rgba(0,0,0,0.34) !important;\n}\n\n\/* L'espace entre le bloc quiz termin\u00e9 et la playlist se r\u00e8gle ici :\n   1) padding-bottom du bloc quiz\n   2) margin-top du bloc r\u00e9sultats Sonaar *\/\n#nu-fys-questionnaire.nu-fys-tool {\n  padding-bottom: clamp(34px, 4vw, 54px) !important;\n}\n\n#nu-fys-ai-results,\n.nu-fys-ai-results {\n  margin-top: 36px !important;\n}\n\n<\/style>\n\n<script>\n(function () {\n  const form = document.getElementById(\"nu-fys-form\");\n  const steps = document.querySelectorAll(\".nu-fys-step\");\n  const nextBtn = document.getElementById(\"nu-fys-next\");\n  const prevBtn = document.getElementById(\"nu-fys-prev\");\n  const result = document.getElementById(\"nu-fys-result\");\n  const stepLabel = document.getElementById(\"nu-fys-step-label\");\n  const stepTitle = document.getElementById(\"nu-fys-step-title\");\n  const progressFill = document.getElementById(\"nu-fys-progress-fill\");\n  const refineBtn = document.getElementById(\"nu-fys-refine\");\n  const requestCustomBtn = document.getElementById(\"nu-fys-request-custom\");\n  const aiSearchBtn = document.getElementById(\"nu-fys-search-tracks\");\n  const aiPlayerWrap = document.getElementById(\"nu-fys-ai-player-wrap\");\n  const aiLoader = document.getElementById(\"nu-fys-ai-loader\");\n  const aiError = document.getElementById(\"nu-fys-ai-error\");\n  const energyRange = document.getElementById(\"nu-fys-energy-range\");\n  const energyValue = document.getElementById(\"nu-fys-energy-value\");\n  const energyCurrentDesc = document.getElementById(\"nu-fys-energy-current-desc\");\n  const energyLabels = document.querySelectorAll(\".nu-fys-energy-label\");\n  const resultSummary = document.getElementById(\"nu-fys-result-summary\");\n\n  const goalOtherInput = document.getElementById(\"nu-fys-goal-other\");\n  const referenceTrackInput = document.getElementById(\"nu-fys-reference-track\");\n  const moodOtherRow = document.getElementById(\"nu-fys-mood-other-row\");\n  const moodOtherInput = document.getElementById(\"nu-fys-mood-other\");\n  const soundOtherRow = document.getElementById(\"nu-fys-sound-other-row\");\n  const soundOtherInput = document.getElementById(\"nu-fys-sound-other\");\n\n  if (!form || !steps.length || !nextBtn || !prevBtn || !result) return;\n\n  let currentStep = 1;\n  let isAutoSearching = false;\n\n  const STATE_KEY = \"nuanthem_fys_state\";\n  const BRIEF_KEY = \"nuanthem_fys_brief\";\n  const urlParams = new URLSearchParams(window.location.search);\n  const hasTrackResults = urlParams.has(\"nu_ai_tracks\");\n\n  const titles = {\n    1: \"Project Type\",\n    2: \"Music Role\",\n    3: \"Mood\",\n    4: \"Energy\",\n    5: \"Sound World\"\n  };\n\n  const projectTypeMap = {\n    \"brand film\": \"Brand \/ Corporate content\",\n    \"commercial ad\": \"Advertising \/ Commercial\",\n    \"fashion film\": \"Brand \/ Corporate content\",\n    \"sports edit\": \"Online \/ Social media content\",\n    \"documentary human story\": \"Film \/ Documentary \/ Trailer\",\n    \"tech product launch\": \"Brand \/ Corporate content\",\n    \"artist\": \"Artist \/ Music project\",\n    \"other\": \"Other\"\n  };\n\n  const energyDescriptions = {\n    1: \"For interviews, voiceover or emotional scenes.\",\n    2: \"For elegant visuals, premium pacing and subtle presence.\",\n    3: \"For fashion, product films and lifestyle edits.\",\n    4: \"For sports, launches, urban edits and strong movement.\",\n    5: \"For trailers, reveals, gaming, competition and high impact.\"\n  };\n\n  function cleanText(value) {\n    return String(value || \"\").trim();\n  }\n\n  function escapeHtml(value) {\n    return String(value || \"\")\n      .replace(\/&\/g, \"&amp;\")\n      .replace(\/<\/g, \"&lt;\")\n      .replace(\/>\/g, \"&gt;\")\n      .replace(\/\"\/g, \"&quot;\")\n      .replace(\/'\/g, \"&#039;\");\n  }\n\n  function updateStep() {\n    steps.forEach(function (step) {\n      step.classList.toggle(\"is-active\", Number(step.dataset.step) === currentStep);\n    });\n\n    stepLabel.textContent = \"Step \" + currentStep + \" of 5\";\n    stepTitle.textContent = titles[currentStep];\n    progressFill.style.width = (currentStep * 20) + \"%\";\n    prevBtn.style.visibility = currentStep === 1 ? \"hidden\" : \"visible\";\n    nextBtn.textContent = currentStep === 5 ? \"Show results\" : \"Next\";\n  }\n\n  function getValues(name, options) {\n    const opts = options || {};\n    return Array.from(form.querySelectorAll('[name=\"' + name + '\"]:checked'))\n      .map(function (input) {\n        return input.value;\n      })\n      .filter(function (value) {\n        return opts.keepOther ? true : value !== \"other\";\n      });\n  }\n\n  function isChecked(name, value) {\n    return !!form.querySelector('[name=\"' + name + '\"][value=\"' + value + '\"]:checked');\n  }\n\n  function getProjectTypeForForm() {\n    const project = getValues(\"project\")[0] || \"\";\n    return projectTypeMap[project] || project;\n  }\n\n  function getGoalValues() {\n    const values = getValues(\"goal\");\n    const other = cleanText(goalOtherInput ? goalOtherInput.value : \"\");\n\n    if (isChecked(\"goal\", \"other\") && other) {\n      values.push(other);\n    }\n\n    return values;\n  }\n\n  function getMoodValues() {\n    const values = getValues(\"mood\");\n    const other = cleanText(moodOtherInput ? moodOtherInput.value : \"\");\n\n    if (isChecked(\"mood\", \"other\") && other) {\n      values.push(other);\n    }\n\n    return values;\n  }\n\n  function getSoundValue() {\n    const selected = getValues(\"sound\", { keepOther: true })[0] || \"\";\n    const other = cleanText(soundOtherInput ? soundOtherInput.value : \"\");\n\n    if (selected === \"other\" && other) {\n      return other;\n    }\n\n    return selected;\n  }\n\n  function getQuizState() {\n    return {\n      project: getValues(\"project\")[0] || \"\",\n      projectForForm: getProjectTypeForForm(),\n      goals: getGoalValues(),\n      goalOther: cleanText(goalOtherInput ? goalOtherInput.value : \"\"),\n      referenceTrack: cleanText(referenceTrackInput ? referenceTrackInput.value : \"\"),\n      moods: getMoodValues(),\n      moodOther: cleanText(moodOtherInput ? moodOtherInput.value : \"\"),\n      energy: energyValue ? energyValue.value : \"\",\n      energyRange: energyRange ? energyRange.value : \"3\",\n      sound: getSoundValue(),\n      soundOther: cleanText(soundOtherInput ? soundOtherInput.value : \"\"),\n      noPreference: isChecked(\"sound\", \"no preference\")\n    };\n  }\n\n  function saveQuizState() {\n    const state = getQuizState();\n    const briefText = generateBriefText();\n\n    try {\n      sessionStorage.setItem(STATE_KEY, JSON.stringify(state));\n      sessionStorage.setItem(BRIEF_KEY, briefText);\n      localStorage.setItem(STATE_KEY, JSON.stringify(state));\n      localStorage.setItem(BRIEF_KEY, briefText);\n    } catch (error) {\n      console.warn(\"Find Your Sound state could not be saved\", error);\n    }\n  }\n\n  function readSavedQuizState() {\n    try {\n      const raw = sessionStorage.getItem(STATE_KEY) || localStorage.getItem(STATE_KEY);\n      return raw ? JSON.parse(raw) : null;\n    } catch (error) {\n      return null;\n    }\n  }\n\n  function setCheckedValue(name, value, checked) {\n    const input = form.querySelector('[name=\"' + name + '\"][value=\"' + value + '\"]');\n    if (input) input.checked = !!checked;\n  }\n\n  function restoreQuizState(state) {\n    if (!state) return false;\n\n    form.querySelectorAll('input[type=\"checkbox\"], input[type=\"radio\"]').forEach(function (input) {\n      input.checked = false;\n    });\n\n    if (state.project) setCheckedValue(\"project\", state.project, true);\n\n    (state.goals || []).forEach(function (goal) {\n      const input = form.querySelector('[name=\"goal\"][value=\"' + goal + '\"]');\n      if (input) {\n        input.checked = true;\n      } else if (goalOtherInput) {\n        setCheckedValue(\"goal\", \"other\", true);\n        goalOtherInput.value = state.goalOther || goal;\n      }\n    });\n\n    if (state.goalOther && goalOtherInput) {\n      setCheckedValue(\"goal\", \"other\", true);\n      goalOtherInput.value = state.goalOther;\n    }\n\n    if (state.referenceTrack && referenceTrackInput) {\n      setCheckedValue(\"goal\", \"inspired by a reference\", true);\n      referenceTrackInput.value = state.referenceTrack;\n    }\n\n    (state.moods || []).forEach(function (mood) {\n      const input = form.querySelector('[name=\"mood\"][value=\"' + mood + '\"]');\n      if (input) {\n        input.checked = true;\n      } else if (moodOtherInput) {\n        setCheckedValue(\"mood\", \"other\", true);\n        moodOtherInput.value = state.moodOther || mood;\n      }\n    });\n\n    if (state.moodOther && moodOtherInput) {\n      setCheckedValue(\"mood\", \"other\", true);\n      moodOtherInput.value = state.moodOther;\n    }\n\n    if (energyRange && state.energyRange) {\n      energyRange.value = state.energyRange;\n    }\n\n    if (state.noPreference || state.sound === \"no preference\") {\n      setCheckedValue(\"sound\", \"no preference\", true);\n    } else if (state.sound) {\n      const soundInput = form.querySelector('[name=\"sound\"][value=\"' + state.sound + '\"]');\n      if (soundInput) {\n        soundInput.checked = true;\n      } else if (soundOtherInput) {\n        setCheckedValue(\"sound\", \"other\", true);\n        soundOtherInput.value = state.soundOther || state.sound;\n      }\n    }\n\n    if (state.soundOther && soundOtherInput) {\n      setCheckedValue(\"sound\", \"other\", true);\n      soundOtherInput.value = state.soundOther;\n    }\n\n    updateOtherFields();\n    updateEnergySlider();\n    updateResultSummary();\n    return true;\n  }\n\n  function updateOtherFields() {\n    const goalOtherChecked = isChecked(\"goal\", \"other\");\n    const referenceChecked = isChecked(\"goal\", \"inspired by a reference\");\n    const moodOtherChecked = isChecked(\"mood\", \"other\");\n    const soundOtherChecked = isChecked(\"sound\", \"other\");\n\n    if (goalOtherInput) {\n      const card = goalOtherInput.closest(\".nu-fys-card--other\");\n      if (card) card.classList.toggle(\"is-other-active\", goalOtherChecked);\n\n      goalOtherInput.disabled = !goalOtherChecked;\n\n      if (!goalOtherChecked) {\n        goalOtherInput.value = \"\";\n      }\n    }\n\n    if (referenceTrackInput) {\n      const referenceCard = referenceTrackInput.closest(\".nu-fys-card--reference\");\n      if (referenceCard) referenceCard.classList.toggle(\"is-reference-active\", referenceChecked);\n\n      referenceTrackInput.disabled = !referenceChecked;\n\n      if (!referenceChecked) {\n        referenceTrackInput.value = \"\";\n      }\n    }\n\n    if (moodOtherRow) {\n      moodOtherRow.hidden = !moodOtherChecked;\n    }\n\n    if (moodOtherInput) {\n      moodOtherInput.disabled = !moodOtherChecked;\n      if (!moodOtherChecked) moodOtherInput.value = \"\";\n    }\n\n    if (soundOtherRow) {\n      soundOtherRow.hidden = !soundOtherChecked;\n    }\n\n    if (soundOtherInput) {\n      soundOtherInput.disabled = !soundOtherChecked;\n      if (!soundOtherChecked) soundOtherInput.value = \"\";\n    }\n  }\n\n  function updateEnergySlider() {\n    if (!energyRange || !energyValue) return;\n\n    const rawValue = parseFloat(energyRange.value);\n    const percent = ((rawValue - 1) \/ 4) * 100;\n\n    let zone = Math.round(rawValue);\n    zone = Math.max(1, Math.min(5, zone));\n\n    let energyText = \"medium groove\";\n    let descText = energyDescriptions[3];\n\n    if (rawValue < 1.35) {\n      energyText = \"very subtle\";\n      descText = energyDescriptions[1];\n    } else if (rawValue < 1.8) {\n      energyText = \"very subtle to calm\";\n      descText = \"Mostly subtle, with a slight sense of movement.\";\n    } else if (rawValue < 2.35) {\n      energyText = \"calm but present\";\n      descText = energyDescriptions[2];\n    } else if (rawValue < 2.8) {\n      energyText = \"calm to medium groove\";\n      descText = \"Controlled and refined, but with more rhythmic presence.\";\n    } else if (rawValue < 3.35) {\n      energyText = \"medium groove\";\n      descText = energyDescriptions[3];\n    } else if (rawValue < 3.8) {\n      energyText = \"medium groove to high energy\";\n      descText = \"Rhythmic and driving, without becoming too aggressive.\";\n    } else if (rawValue < 4.35) {\n      energyText = \"high energy\";\n      descText = energyDescriptions[4];\n    } else if (rawValue < 4.75) {\n      energyText = \"high energy to explosive\";\n      descText = \"Strong impact and momentum, close to trailer-level intensity.\";\n    } else {\n      energyText = \"explosive impactful\";\n      descText = energyDescriptions[5];\n    }\n\n    energyValue.value = energyText;\n\n    if (energyCurrentDesc) {\n      energyCurrentDesc.textContent = descText;\n    }\n\n    energyLabels.forEach(function (label) {\n      const labelEnergy = Number(label.dataset.energy);\n      const distance = Math.abs(rawValue - labelEnergy);\n\n      \/\/ Simple, smooth color intensity only: no bold jump, no scale jump.\n      const intensity = Math.max(0, 1 - distance \/ 1.35);\n      const eased = intensity * intensity * (3 - 2 * intensity);\n      const opacity = 0.34 + eased * 0.66;\n\n      \/\/ Interpolate from warm off-white to Nuanthem gold.\n      const r = Math.round(255 + (243 - 255) * eased);\n      const g = Math.round(250 + (215 - 250) * eased);\n      const b = Math.round(240 + (138 - 240) * eased);\n\n      label.style.setProperty(\"--nu-energy-opacity\", opacity.toFixed(3));\n      label.style.setProperty(\"--nu-energy-r\", String(r));\n      label.style.setProperty(\"--nu-energy-g\", String(g));\n      label.style.setProperty(\"--nu-energy-b\", String(b));\n    });\n\n    document.querySelectorAll(\".nu-fys-energy-icon[data-energy-icon]\").forEach(function (icon) {\n      const iconEnergy = Number(icon.dataset.energyIcon);\n      const distance = Math.abs(rawValue - iconEnergy);\n      const intensity = Math.max(0, 1 - distance \/ 1.15);\n      const eased = intensity * intensity * (3 - 2 * intensity);\n      const opacity = 0.38 + eased * 0.62;\n\n      icon.style.setProperty(\"--nu-energy-icon-opacity\", opacity.toFixed(3));\n    });\n\n    energyRange.style.background =\n      \"linear-gradient(to right, #b8974a 0%, #b8974a \" +\n      percent +\n      \"%, rgba(255,255,255,0.18) \" +\n      percent +\n      \"%, rgba(255,255,255,0.18) 100%)\";\n  }\n\n  function generatePrompt() {\n    const state = getQuizState();\n    const project = state.project ? state.project + \" music\" : \"music for a visual project\";\n    const goals = state.goals.length ? \"that should \" + state.goals.join(\", \") : \"\";\n    const moods = state.moods.length ? \"with a \" + state.moods.join(\", \") + \" mood\" : \"\";\n    const energy = state.energy ? \"with a \" + state.energy + \" intensity\" : \"\";\n    const sound = state.sound && state.sound !== \"no preference\" ? \"in a \" + state.sound + \" direction\" : \"\";\n    const reference = state.referenceTrack ? \"inspired by the vibe, energy or attitude of this reference: \" + state.referenceTrack : \"\";\n\n    return [\n      project,\n      goals,\n      reference,\n      moods,\n      energy,\n      sound,\n      \"premium, cinematic, modern, suitable for sync and brand content\"\n    ].filter(Boolean).join(\", \");\n  }\n\n  function generateBriefText() {\n    const state = getQuizState();\n\n    const lines = [\n      \"Find Your Sound quiz result:\",\n      \"\",\n      state.project ? \"Project type: \" + state.project : \"\",\n      state.goals.length ? \"What the music should do: \" + state.goals.join(\", \") : \"\",\n      state.referenceTrack ? \"Reference track \/ direction: \" + state.referenceTrack : \"\",\n      state.moods.length ? \"What people should feel: \" + state.moods.join(\", \") : \"\",\n      state.energy ? \"Energy: \" + state.energy : \"\",\n      state.sound ? \"Preferred sound world: \" + state.sound : \"\",\n      \"\",\n      \"Please add if relevant:\",\n      \"- Brand \/ client\",\n      \"- Film or campaign context\",\n      \"- Reference link\",\n      \"- Deadline\",\n      \"- Usage, territory and duration\",\n      \"- Exclusivity needs\"\n    ];\n\n    return lines.filter(function (line, index, arr) {\n      if (line !== \"\") return true;\n      return arr[index - 1] !== \"\";\n    }).join(\"\\n\");\n  }\n\n  function updateResultSummary() {\n    \/\/ The detailed brief is still saved for the popup, but no longer displayed\n    \/\/ on the final screen to keep the result section compact.\n    if (resultSummary) resultSummary.innerHTML = \"\";\n  }\n\n  function findFieldByLabelText(labelText) {\n    const labels = Array.from(document.querySelectorAll(\"label\"));\n    const cleanNeedle = String(labelText || \"\").toLowerCase();\n\n    for (const label of labels) {\n      const text = String(label.textContent || \"\").toLowerCase();\n      if (!text.includes(cleanNeedle)) continue;\n\n      const forId = label.getAttribute(\"for\");\n      if (forId && document.getElementById(forId)) return document.getElementById(forId);\n\n      const group = label.closest(\".elementor-field-group\") || label.parentNode;\n      if (group) {\n        const field = group.querySelector(\"input, textarea, select\");\n        if (field) return field;\n      }\n    }\n\n    return null;\n  }\n\n  function findField(fieldId) {\n    return (\n      document.getElementById(fieldId) ||\n      document.getElementById(\"form-field-\" + fieldId) ||\n      document.querySelector('[name=\"form_fields[' + fieldId + ']\"]') ||\n      document.querySelector('[name=\"' + fieldId + '\"]')\n    );\n  }\n\n  function findProjectDetailsField() {\n    return (\n      findField(\"project_details\") ||\n      findField(\"project_detail\") ||\n      findField(\"message\") ||\n      findFieldByLabelText(\"tell us about your project\") ||\n      findFieldByLabelText(\"project\")\n    );\n  }\n\n  function setFieldValue(fieldId, value, fallbackField) {\n    const field = fallbackField || findField(fieldId);\n    if (!field || value === undefined || value === null) return false;\n\n    if (field.tagName === \"SELECT\") {\n      let matched = false;\n      const cleanValue = String(value).trim().toLowerCase();\n\n      Array.from(field.options).forEach(function (option) {\n        const optionValue = String(option.value).trim().toLowerCase();\n        const optionText = String(option.textContent).trim().toLowerCase();\n\n        if (optionValue === cleanValue || optionText === cleanValue) {\n          field.value = option.value;\n          matched = true;\n        }\n      });\n\n      if (!matched) {\n        field.value = value;\n      }\n    } else {\n      field.value = value;\n    }\n\n    field.dispatchEvent(new Event(\"input\", { bubbles: true }));\n    field.dispatchEvent(new Event(\"change\", { bubbles: true }));\n    return true;\n  }\n\n  function showPrefillNotice(popup) {\n    if (!popup || popup.querySelector(\".nu-fys-prefill-notice\")) return;\n\n    const notice = document.createElement(\"div\");\n    notice.className = \"nu-fys-prefill-notice\";\n    notice.innerHTML = '\u2713 Your <em>\"Find Your Sound\"<\/em> answers have been added to this brief. Please complete the brand, deadline, usage and reference details below.';\n\n    const formInPopup = popup.querySelector(\"form\");\n    if (formInPopup && formInPopup.parentNode) {\n      formInPopup.parentNode.insertBefore(notice, formInPopup);\n    }\n  }\n\n  function highlightField(field) {\n    if (field) field.classList.add(\"nu-fys-prefilled-field\");\n  }\n\n  function addProjectDetailsHelperText(field) {\n    if (!field) return;\n\n    const wrapper = field.closest(\".elementor-field-group\") || field.parentNode;\n    if (!wrapper || wrapper.querySelector(\".nu-fys-popup-helper\")) return;\n\n    const helper = document.createElement(\"p\");\n    helper.className = \"nu-fys-popup-helper\";\n    helper.textContent = \"Please add: brand\/client, usage, territory, duration, deadline, campaign dates and exclusivity if relevant.\";\n\n    wrapper.appendChild(helper);\n  }\n\n  function prefillPopupFields(popup) {\n    const state = getQuizState();\n    const briefText = generateBriefText();\n    const projectDetailsField = findProjectDetailsField();\n\n    sessionStorage.setItem(STATE_KEY, JSON.stringify(state));\n    sessionStorage.setItem(BRIEF_KEY, briefText);\n\n    setFieldValue(\"project_type\", state.projectForForm || \"Other\");\n    setFieldValue(\"music_need\", \"Original music composition\");\n\n    if (projectDetailsField) {\n      setFieldValue(\"project_details\", briefText, projectDetailsField);\n      highlightField(projectDetailsField);\n      addProjectDetailsHelperText(projectDetailsField);\n    }\n\n    setFieldValue(\"reference_link\", \"\");\n\n    [\"project_type\", \"music_need\"].forEach(function(fieldId) {\n      highlightField(findField(fieldId));\n    });\n\n    showPrefillNotice(popup || document);\n  }\n\n  function tryPrefillVisiblePopup() {\n    const popups = Array.from(document.querySelectorAll(\".dialog-widget-content, .elementor-popup-modal, .elementor-location-popup\"));\n\n    if (!popups.length) return false;\n\n    for (const popup of popups) {\n      if (popup.querySelector(\"form\")) {\n        prefillPopupFields(popup);\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n  function openCustomMusicPopupWithBrief() {\n    const state = getQuizState();\n    const briefText = generateBriefText();\n\n    sessionStorage.setItem(STATE_KEY, JSON.stringify(state));\n    sessionStorage.setItem(BRIEF_KEY, briefText);\n\n    if (window.elementorProFrontend && elementorProFrontend.modules && elementorProFrontend.modules.popup) {\n      elementorProFrontend.modules.popup.showPopup({ id: 4262 });\n    }\n\n    if (tryPrefillVisiblePopup()) return;\n\n    const observer = new MutationObserver(function () {\n      if (tryPrefillVisiblePopup()) {\n        observer.disconnect();\n      }\n    });\n\n    observer.observe(document.body, { childList: true, subtree: true });\n\n    window.setTimeout(function () {\n      observer.disconnect();\n      tryPrefillVisiblePopup();\n    }, 5000);\n  }\n\n  function showResult(options) {\n    const opts = options || {};\n    updateResultSummary();\n\n    const resultTitle = document.getElementById(\"nu-fys-result-title\") || result.querySelector(\"h2\");\n    result.classList.toggle(\"is-loading\", !opts.tracksReady);\n    if (resultTitle) {\n      resultTitle.innerHTML = opts.tracksReady\n        ? \"Your matching tracks are ready.\"\n        : \"Your matching tracks are being prepared<span class=\\\"nu-fys-loading-dots\\\" aria-hidden=\\\"true\\\"><span>.<\/span><span>.<\/span><span>.<\/span><\/span>\";\n    }\n\n    form.style.display = \"none\";\n\n    const progress = document.querySelector(\".nu-fys-progress\");\n    if (progress) progress.style.display = \"none\";\n\n    result.classList.add(\"is-active\");\n\n    if (!opts.noScroll) {\n      result.scrollIntoView({\n        behavior: \"smooth\",\n        block: \"start\"\n      });\n    }\n  }\n\n  function refineAnswers() {\n    result.classList.remove(\"is-active\");\n    form.style.display = \"block\";\n\n    const progress = document.querySelector(\".nu-fys-progress\");\n    if (progress) progress.style.display = \"block\";\n\n    clearSearchStatus();\n\n    currentStep = 5;\n    updateStep();\n\n    form.scrollIntoView({\n      behavior: \"smooth\",\n      block: \"start\"\n    });\n  }\n\n  function setAiLoading(isLoading) {\n    if (!aiPlayerWrap || !aiLoader || !aiSearchBtn) return;\n\n    aiPlayerWrap.hidden = false;\n    aiLoader.hidden = !isLoading;\n    aiSearchBtn.disabled = isLoading;\n    aiSearchBtn.textContent = isLoading ? \"Searching\u2026\" : \"Search matching tracks\";\n  }\n\n  function showAiError(message) {\n    if (!aiPlayerWrap || !aiError) return;\n\n    aiPlayerWrap.hidden = false;\n    aiError.hidden = false;\n    aiError.textContent = message || \"Something went wrong. Please try again.\";\n  }\n\n  function clearSearchStatus() {\n    if (aiError) {\n      aiError.hidden = true;\n      aiError.textContent = \"\";\n    }\n\n    if (aiLoader) {\n      aiLoader.hidden = true;\n    }\n\n    if (aiPlayerWrap) {\n      aiPlayerWrap.hidden = true;\n    }\n  }\n\n  function extractWpProductIds(results) {\n    if (!Array.isArray(results)) return [];\n\n    return results\n      .map(function (item) {\n        if (!item) return null;\n\n        const possibleId =\n          item.wp_product_id ||\n          item.wpProductId ||\n          item.product_id ||\n          item.productId ||\n          (item.song && item.song.wp_product_id) ||\n          (item.song && item.song.wpProductId);\n\n        return parseInt(possibleId, 10);\n      })\n      .filter(function (id) {\n        return Number.isInteger(id) && id > 0;\n      })\n      .filter(function (id, index, arr) {\n        return arr.indexOf(id) === index;\n      })\n      .slice(0, 12);\n  }\n\n  async function searchAiTracks() {\n    if (!aiSearchBtn || isAutoSearching) return;\n\n    isAutoSearching = true;\n    clearSearchStatus();\n    setAiLoading(true);\n\n    try {\n      saveQuizState();\n      const query = generatePrompt();\n\n      if (!query || query.trim().length < 3) {\n        throw new Error(\"Please answer the questionnaire before searching tracks.\");\n      }\n\n      const aiRes = await fetch(\"https:\/\/song-search-api-five.vercel.app\/api\/search\", {\n        method: \"POST\",\n        body: JSON.stringify({\n          query: query,\n          matchCount: 12\n        }),\n        headers: {\n          \"Content-Type\": \"application\/json\"\n        }\n      });\n\n      if (!aiRes.ok) {\n        throw new Error(\"AI search failed.\");\n      }\n\n      const aiData = await aiRes.json();\n      const ids = extractWpProductIds(aiData.results);\n\n      if (!ids.length) {\n        throw new Error(\"No matching tracks found.\");\n      }\n\n      const targetUrl =\n        window.location.origin +\n        \"\/find-your-sound\/?nu_ai_tracks=\" +\n        encodeURIComponent(ids.join(\",\")) +\n        \"#nu-fys-ai-results\";\n\n      window.location.href = targetUrl;\n\n    } catch (error) {\n      console.error(error);\n      showAiError(error.message || \"Something went wrong. Please try again.\");\n      setAiLoading(false);\n      isAutoSearching = false;\n    }\n  }\n\n\n  function resetFreshQuizSelections() {\n    form.querySelectorAll('input[type=\"checkbox\"], input[type=\"radio\"]').forEach(function (input) {\n      input.checked = false;\n    });\n\n    [goalOtherInput, referenceTrackInput, moodOtherInput, soundOtherInput].forEach(function (input) {\n      if (input) input.value = \"\";\n    });\n\n    if (energyRange) {\n      energyRange.value = \"3\";\n    }\n\n    updateOtherFields();\n    updateEnergySlider();\n  }\n\n  function injectAiResultsCustomCta() {\n    const resultsWrap = document.getElementById(\"nu-fys-ai-results\");\n    if (!resultsWrap) return false;\n\n    const head = resultsWrap.querySelector(\".nu-fys-ai-results__head\");\n    if (!head || head.querySelector(\".nu-fys-ai-header-cta\")) return !!head;\n\n    const originalKicker = head.querySelector(\"span\");\n    const originalTitle = head.querySelector(\"h2\");\n    if (!originalTitle) return false;\n\n    const inner = document.createElement(\"div\");\n    inner.className = \"nu-fys-ai-results__head-inner\";\n\n    const textWrap = document.createElement(\"div\");\n    textWrap.className = \"nu-fys-ai-results__head-text\";\n\n    if (originalKicker) textWrap.appendChild(originalKicker);\n    textWrap.appendChild(originalTitle);\n\n    const cta = document.createElement(\"div\");\n    cta.className = \"nu-fys-ai-header-cta\";\n    cta.innerHTML = '<div class=\"nu-fys-ai-header-cta__copy\"><span class=\"nu-fys-ai-header-cta__eyebrow\">Need something more specific?<\/span><p>Request a custom composition based on your brief.<\/p><\/div><button type=\"button\" id=\"nu-fys-request-custom-ai\" class=\"nu-fys-btn nu-fys-btn--gold\">Request custom music<\/button>';\n\n    inner.appendChild(textWrap);\n    inner.appendChild(cta);\n\n    head.insertBefore(inner, head.firstChild);\n\n    const aiRequestBtn = document.getElementById(\"nu-fys-request-custom-ai\");\n    if (aiRequestBtn) {\n      aiRequestBtn.addEventListener(\"click\", openCustomMusicPopupWithBrief);\n    }\n\n    return true;\n  }\n\n  function watchAiResultsCustomCta() {\n    if (injectAiResultsCustomCta()) return;\n\n    const observer = new MutationObserver(function () {\n      if (injectAiResultsCustomCta()) {\n        observer.disconnect();\n      }\n    });\n\n    observer.observe(document.body, { childList: true, subtree: true });\n\n    window.setTimeout(function () {\n      observer.disconnect();\n      injectAiResultsCustomCta();\n    }, 6000);\n  }\n\n  form.querySelectorAll('input[name=\"goal\"]').forEach(function (checkbox) {\n    checkbox.addEventListener(\"change\", function () {\n      const checkedGoals = form.querySelectorAll('input[name=\"goal\"]:checked');\n\n      if (checkedGoals.length > 3) {\n        checkbox.checked = false;\n      }\n\n      updateOtherFields();\n    });\n  });\n\n  form.querySelectorAll('input[name=\"mood\"], input[name=\"sound\"]').forEach(function (input) {\n    input.addEventListener(\"change\", updateOtherFields);\n  });\n\n  [goalOtherInput, moodOtherInput, soundOtherInput].forEach(function (input) {\n    if (!input) return;\n\n    input.addEventListener(\"click\", function (event) {\n      event.stopPropagation();\n    });\n  });\n\n  energyLabels.forEach(function (label) {\n    label.addEventListener(\"click\", function () {\n      if (!energyRange) return;\n\n      energyRange.value = label.dataset.energy;\n      updateEnergySlider();\n    });\n  });\n\n  nextBtn.addEventListener(\"click\", function () {\n    if (currentStep < 5) {\n      currentStep++;\n      updateStep();\n    } else {\n      saveQuizState();\n      showResult();\n      searchAiTracks();\n    }\n  });\n\n  prevBtn.addEventListener(\"click\", function () {\n    if (currentStep > 1) {\n      currentStep--;\n      updateStep();\n    }\n  });\n\n  if (refineBtn) {\n    refineBtn.addEventListener(\"click\", refineAnswers);\n  }\n\n  if (requestCustomBtn) {\n    requestCustomBtn.addEventListener(\"click\", openCustomMusicPopupWithBrief);\n  }\n\n  if (aiSearchBtn) {\n    aiSearchBtn.addEventListener(\"click\", function () {\n      isAutoSearching = false;\n      searchAiTracks();\n    });\n  }\n\n  if (energyRange) {\n    energyRange.addEventListener(\"input\", updateEnergySlider);\n    updateEnergySlider();\n  }\n\n  if (window.jQuery) {\n    window.jQuery(document).on(\"elementor\/popup\/show\", function () {\n      window.setTimeout(tryPrefillVisiblePopup, 80);\n      window.setTimeout(tryPrefillVisiblePopup, 350);\n    });\n  }\n\n  const restoredState = hasTrackResults ? readSavedQuizState() : null;\n  const didRestoreState = hasTrackResults ? restoreQuizState(restoredState) : false;\n\n  watchAiResultsCustomCta();\n\n  if (hasTrackResults && didRestoreState) {\n    showResult({ tracksReady: true, noScroll: true });\n    if (aiSearchBtn) aiSearchBtn.textContent = \"Search matching tracks\";\n  } else {\n    resetFreshQuizSelections();\n    updateStep();\n  }\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6725011 nu-sonaar-assets-loader elementor-widget elementor-widget-shortcode\" data-id=\"6725011\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5c8ab62 elementor-widget elementor-widget-html\" data-id=\"5c8ab62\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n  .nuanthem-floating-quote {\n    display: none !important;\n  }\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Find Your Sound Start with your project. Find the right direction. Answer a few questions and turn your visual context into a clear music search direction. Step 1 of 5 Project Type What are you creating? Choose the option that best describes your project. Brand Film Brand storytelling, image film, premium content. Commercial \/ Ad [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-5265","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/nuanthem.com\/fr\/wp-json\/wp\/v2\/pages\/5265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nuanthem.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nuanthem.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nuanthem.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nuanthem.com\/fr\/wp-json\/wp\/v2\/comments?post=5265"}],"version-history":[{"count":373,"href":"https:\/\/nuanthem.com\/fr\/wp-json\/wp\/v2\/pages\/5265\/revisions"}],"predecessor-version":[{"id":6007,"href":"https:\/\/nuanthem.com\/fr\/wp-json\/wp\/v2\/pages\/5265\/revisions\/6007"}],"wp:attachment":[{"href":"https:\/\/nuanthem.com\/fr\/wp-json\/wp\/v2\/media?parent=5265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}