Alexandria Grace in a powerful competition pose on the IFBB stage under dramatic lighting

Recovery Deserves the Same Intention as Training

ATHLETE
FOCUSED
Built from an athlete’s perspective.
SOUND
EXPERTISE
Years of mastery with healing frequencies.
TRAUMA-INFORMED
APPROACH
Nervous-system aware, safe & restorative.
100% MOBILE
RECOVERY
Wellness brought to you, anywhere.
RESTORE  •  RESET  •  REALIGN

ATHLETES DON’T JUST TRAIN HARD.

THEY RECOVER WITH INTENTION.


THIS ISN’T JUST A SOUND BATH.

IT’S INTENTIONAL RECOVERY FOR ATHLETES.

Built for performance.

OUR Story

From the Stage to the Sound Bath

I know what it means to ask more of my body.

Competitive bodybuilding taught me discipline at an entirely different level. Precision nutrition, hours of training and conditioning, and the mental focus required to keep showing up when your body is tired.

In 2025, that discipline took me through my first competition season, multiple NPC wins, and ultimately to earning my IFBB Pro Card.

But bodybuilding taught me something else too.

You cannot push without learning how to recover.

That lesson eventually led me to sound.

I became fascinated with what happens when we intentionally give the body permission to slow down. When the noise quiets, the breath deepens, and for once, there is nothing left to perform.

That is where Alexandria Grace Sound began to take shape.

Today, I bring together two worlds that might seem completely different: high performance and intentional rest.

My experience as an IFBB Professional athlete gives me a unique understanding of the demands placed on high performing bodies. My training in sound based wellness allows me to create experiences centered around slowing down, resetting, and making recovery intentional.

Alexandria Grace Sound was created from the belief that rest does not have to be earned. It can be part of how we perform, how we recover, and how we continue showing up at our best.

“High performance taught me how to push. Sound taught me how to pause.”

— Alexandria Grace, IFBB Bikini Professional

Alexandria in the gym wearing red athletic wear, holding a medicine ball and smiling
Alexandria Grace on the NPC competition stage in a confident bikini competition pose
Alexandria Grace competing on the NPC stage under bright stage lighting in competition bikini
Alexandria Grace in a commanding stage pose at an NPC competition, showcasing strength and poise

The Offerings

The Athlete Reset

A sound bath experience designed for the athlete’s nervous system — before, during, or after your season.

High-performance athletes know how to train. The Athlete Reset teaches them how to recover. Using live sound — crystal bowls, chimes, and intentional frequency — these sessions create the parasympathetic conditions your body needs to repair, integrate, and show up ready. Available for individuals, teams, gyms, and fitness events across Tampa Bay and Central Florida.

01

Individual Athlete Reset

One-on-one recovery session tailored to your training schedule and competitive season. Ideal for athletes in active prep or post-competition recovery.

02

Team Reset

Group sound bath experience designed for sports teams and training crews. Build team cohesion and collective recovery at the same time.

03

Gym Partnerships

Bring the Athlete Reset to your gym community. Regular programming or one-time events — we’ll design an experience that fits your space and your members.

04

Fitness Events

Post-competition recovery, pre-show prep, or wellness programming at your fitness event. The Athlete Reset is fully mobile and ready for your stage.

The Moment.

IFBB Pro Card. Earned.

On July 4, 2025, Alexandria stepped onto the NPC Universe stage and walked off an IFBB Bikini Professional. The culmination of ten weeks, three shows, and a lifetime of intention . a victory built not only in the gym, but in the Quiet.

Recovery isn’t an afterthought. It’s the protocol.

Alexandria Grace holding her IFBB Pro card aloft in a moment of victory after earning professional status at the NPC Universe

You can too.

Book Your Reset

Your Recovery Deserves a Protocol.

Sound. Stillness. Intention. Built for athletes who refuse to leave anything on the table.

Photography: Yasiris Torres Photography

AGS
ALEXANDRIA GRACE SOUND

ALEXANDRIA GRACE SOUND

THE COMPETITION
RECOVERY PROTOCOL™

BUILT BY AN IFBB PRO. DESIGNED FOR THE REALITIES OF COMPETITION.

RESTORE  •  RESET  •  REALIGN  •  PERFORM

READY TO RESET WITH INTENTION?
Let’s create your custom competition recovery plan.
BOOK YOUR ATHLETE RESET →
TRAUMA-INFORMED
Nervous-system aware practice
BUILT BY AN ATHLETE
IFBB Bikini Professional
MOBILE IN TAMPA BAY
Wellness comes to you
ATHLETES FIRST
Built from lived experience
ALEXANDRIAGRACESOUND.COM | @ALEXANDRIAGRACESOUND
(function(){ ‘use strict’; var root = document.getElementById(‘ags-crp’); if(!root || root.dataset.crpReady===’true’) return; root.dataset.crpReady=’true’; var steps = [ { num:1, key:’prep’, label:’PREP’, sublabel:’1:1 Athlete Reset’, icon:’◆’, title:’PRE-SEASON RESET’, desc:’Establish your recovery rhythm before competition season begins.’, bullets:[‘Establishes baseline recovery rhythm’,’Prepares the nervous system’,’Sets intentional foundation’,’Reduces pre-season anxiety’,’Activates mind-body connection’], included:[‘Guided breathwork’,’Somatic Sound Therapy™’,’Intention setting’,’Nervous system baseline’,’Personalized protocol’], outcome:’You enter your season grounded, prepared, and recovery-ready.’ }, { num:2, key:’showweek’, label:’SHOW WEEK’, sublabel:’Show-Week Reset’, icon:’○’, title:’SHOW-WEEK RESET’, desc:’Manage stress and sustain energy through the final stretch.’, bullets:[‘Manages peak-week stress’,’Sustains energy levels’,’Keeps focus sharp’,’Regulates nervous system’,’Maintains mental clarity’], included:[‘Guided breathwork’,’Somatic Sound Therapy™’,’Stress regulation tools’,’Mental focus work’,’Personalized support’], outcome:’You move through peak week with clarity, calm, and controlled energy.’ }, { num:3, key:’daybefore’, label:’DAY BEFORE’, sublabel:’Pre-Competition Reset’, icon:’◇’, title:’PRE-COMPETITION RESET’, desc:’Quiet the noise, steady your nerves, and anchor your confidence.’, bullets:[‘Quiets mental noise’,’Steadies pre-show nerves’,’Anchors confidence’,’Deepens body awareness’,’Prepares for stage presence’], included:[‘Guided breathwork’,’Somatic Sound Therapy™’,’Confidence anchoring’,’Visualization work’,’Personalized support’], outcome:’You arrive at show day feeling anchored, present, and ready.’ }, { num:4, key:’nightbefore’, label:’NIGHT-BEFORE’, sublabel:’Night-Before Reset’, icon:’☾’, title:’NIGHT-BEFORE RESET’, desc:’A deep, intentional reset to quiet the mind, calm the nervous system, and prepare your body for peak performance the next day.’, bullets:[‘Releases tension and mental overload’,’Calms the nervous system for deeper sleep’,’Promotes cellular recovery and restoration’,’Encourages confidence, focus, and inner alignment’,’Creates space for stillness and stage presence’], included:[‘Guided breathwork’,’Somatic Sound Therapy™’,’Intentional stillness’,’Affirmations & visualization’,’Personalized support’], outcome:’You wake up calm, clear, and ready to own your performance.’ }, { num:5, key:’showmorning’, label:’SHOW MORNING’, sublabel:’Athlete Reset’, icon:’☉’, title:’SHOW-MORNING RESET’, desc:’Activate your energy, center your mindset, and set the stage for peak performance.’, bullets:[‘Activates morning energy’,’Centers competition mindset’,’Primes the nervous system’,’Builds stage confidence’,’Creates focused intention’], included:[‘Guided breathwork’,’Somatic Sound Therapy™’,’Activation & presence work’,’Mindset priming’,’Personalized support’], outcome:’You step into the day activated, clear-headed, and ready to compete.’ }, { num:6, key:’prejudging’, label:’PREJUDGING’, sublabel:’On-Site / Backstage’, icon:’■’, title:’BACKSTAGE RESET’, desc:’Stay grounded between rounds, managing nerves and maintaining peak focus before pre-judging.’, bullets:[‘Grounds between rounds’,’Manages backstage nerves’,’Maintains peak focus’,’Regulates competition energy’,’Sharpens stage presence’], included:[‘Guided breathwork’,’Somatic Sound Therapy™’,’On-site backstage support’,’Nerves & focus regulation’,’Personalized support’], outcome:’You walk onstage calm, present, and in command of your performance.’ }, { num:7, key:’between’, label:’BETWEEN SHOWS’, sublabel:’Competition-Day Reset’, icon:’◦’, title:’BETWEEN-SHOWS RESET’, desc:’Decompress, re-center, and restore so you arrive at finals at your best.’, bullets:[‘Decompresses between shows’,’Restores energy reserves’,’Re-centers focus’,’Releases held tension’,’Prepares for finals’], included:[‘Guided breathwork’,’Somatic Sound Therapy™’,’Active recovery support’,’Energy restoration’,’Personalized support’], outcome:’You return to the stage restored, refocused, and ready to close strong.’ }, { num:8, key:’finals’, label:’FINALS’, sublabel:’Finals Support Add-On’, icon:’★’, title:’FINALS SUPPORT’, desc:’Stay sharp, grounded, and peak-focused as you prepare for the finals stage.’, bullets:[‘Sustains peak performance state’,’Keeps focus razor-sharp’,’Manages finals-night nerves’,’Maximizes stage presence’,’Seals the competition mindset’], included:[‘Guided breathwork’,’Somatic Sound Therapy™’,’Peak-state activation’,’Finals focus work’,’Personalized support’], outcome:’You close your competition experience with full presence and intentional power.’ }, { num:9, key:’postshow’, label:’POST-SHOW’, sublabel:’Post-Competition Reset’, icon:’✨’, title:’POST-COMPETITION RESET’, desc:’Return to yourself with emotional integration, physical recovery, and meaningful transition.’, bullets:[‘Supports emotional integration’,’Promotes physical recovery’,’Eases transition out of competition mode’,’Restores nervous system balance’,’Reconnects mind and body’], included:[‘Guided breathwork’,’Somatic Sound Therapy™’,’Emotional integration’,’Recovery & restoration’,’Personalized support’], outcome:’You close the season with grace — rested, reconnected, and ready for what comes next.’ } ]; var active = 3; // index 3 = step 4 function buildNodes(){ var container = document.getElementById(‘ags-crp-nodes’); if(!container) return; container.innerHTML=”; steps.forEach(function(s,i){ var isActive = (i===active); var node = document.createElement(‘div’); node.style.cssText=’display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:0 4px;’; node.innerHTML= ‘
‘+(s.num)+’
‘+ ‘
‘+s.icon+’
‘+ ‘
‘+s.label+’
‘+ ‘
‘+s.sublabel+’
‘; node.addEventListener(‘click’,function(){active=i;buildNodes();buildPanel();}); container.appendChild(node); }); } function buildPanel(){ var panel = document.getElementById(‘ags-crp-panel’); if(!panel) return; var s = steps[active]; // Col 1: image placeholder var col1 = ‘
‘+ ‘
🎵
‘+ ‘
SOMATIC SOUND THERAPY™
‘+ ‘
‘; // Col 2: description + bullets var bulletsHtml = s.bullets.map(function(b){ return ‘
  • ‘+ ‘‘+ ‘‘+b+’‘+ ‘
  • ‘; }).join(”); var col2 = ‘
    ‘+ ‘
    STEP ‘+s.num+’
    ‘+ ‘

    ‘+s.title+’

    ‘+ ‘

    ‘+s.desc+’

    ‘+ ‘
      ‘+bulletsHtml+’
    ‘+ ‘
    ‘; // Col 3: what’s included var icons=[‘💨’,’🎵’,’❄’,’🌿’,’❤’]; var inclHtml = s.included.map(function(item,idx){ return ‘
  • ‘+ ‘‘+icons[idx]+’‘+ ‘‘+item+’‘+ ‘
  • ‘; }).join(”); var col3 = ‘
    ‘+ ‘
    WHAT’S INCLUDED
    ‘+ ‘
      ‘+inclHtml+’
    ‘+ ‘
    ‘; // Col 4: outcome var col4 = ‘
    ‘+ ‘
    OUTCOME
    ‘+ ‘
    ‘+ ‘

    ‘+s.outcome+’

    ‘+ ‘
    ‘; panel.innerHTML = col1 + col2 + col3 + col4; } buildNodes(); buildPanel(); })();

    Behind the Scenes

    Alexandria Grace in a candid moment during competition preparation and training
    Alexandria Grace in a behind-the-scenes moment during her competition season
    Alexandria Grace capturing a personal moment during her journey to IFBB Pro status
    Alexandria Grace in a personal behind-the-scenes photo from her competition journey

    Ten Weeks from Debut to IFBB Pro

    Official competition records: NPC GRL PWR · NPC St. Pete Classic · NPC Universe

    These wins weren’t just built in the gym. They were built in the stillness.

    <div id="ags-athlete-quiz">
    <style>
    #ags-athlete-quiz {
    --ags-ink: #332d29;
    --ags-muted: #6f645b;
    --ags-cream: #f7f2eb;
    --ags-paper: #fffdf9;
    --ags-tan: #a8896b;
    --ags-line: #ddd0c3;
    --ags-dark: #3c2114;
    width: 100%;
    max-width: 780px;
    margin: 32px auto;
    color: var(--ags-ink);
    font-family: Arial, Helvetica, sans-serif;
    }
    #ags-athlete-quiz * {
    box-sizing: border-box;
    }
    #ags-athlete-quiz .ags-quiz-shell {
    position: relative;
    overflow: hidden;
    min-height: 560px;
    padding: clamp(28px, 6vw, 58px);
    border: 1px solid var(--ags-line);
    border-radius: 28px;
    background: linear-gradient(145deg, var(--ags-paper), var(--ags-cream));
    box-shadow: 0 22px 60px rgba(55, 40, 28, 0.12);
    }
    #ags-athlete-quiz .ags-sound-rings {
    position: absolute;
    top: -110px;
    right: -110px;
    width: 285px;
    height: 285px;
    border: 1px solid rgba(168, 137, 107, 0.36);
    border-radius: 50%;
    pointer-events: none;
    }
    #ags-athlete-quiz .ags-sound-rings::before,
    #ags-athlete-quiz .ags-sound-rings::after {
    position: absolute;
    content: "";
    border: 1px solid rgba(168, 137, 107, 0.36);
    border-radius: 50%;
    }
    #ags-athlete-quiz .ags-sound-rings::before {
    inset: 32px;
    }
    #ags-athlete-quiz .ags-sound-rings::after {
    inset: 67px;
    }
    #ags-athlete-quiz .ags-quiz-content {
    position: relative;
    z-index: 1;
    }
    #ags-athlete-quiz .ags-kicker {
    margin: 0 0 12px;
    color: var(--ags-tan);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.17em;
    text-transform: uppercase;
    }
    #ags-athlete-quiz h2 {
    margin: 0 0 16px;
    color: var(--ags-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 6vw, 52px);
    font-weight: 400;
    line-height: 1.1;
    }
    #ags-athlete-quiz h3 {
    margin: 0 0 14px;
    color: var(--ags-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(21px, 3vw, 27px);
    font-weight: 400;
    line-height: 1.3;
    }
    #ags-athlete-quiz p {
    line-height: 1.65;
    }
    #ags-athlete-quiz .ags-copy {
    max-width: 620px;
    margin: 0 0 28px;
    color: var(--ags-muted);
    font-size: 17px;
    }
    #ags-athlete-quiz .ags-progress {
    height: 5px;
    margin: 0 0 32px;
    overflow: hidden;
    border-radius: 999px;
    background: #e5dcd2;
    }
    #ags-athlete-quiz .ags-progress-bar {
    height: 100%;
    border-radius: inherit;
    background: var(--ags-tan);
    transition: width 300ms ease;
    }
    #ags-athlete-quiz .ags-answer-list {
    display: grid;
    gap: 12px;
    margin-top: 24px;
    }
    #ags-athlete-quiz .ags-answer {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    align-items: center;
    width: 100%;
    min-height: 68px;
    padding: 12px 16px;
    border: 1px solid var(--ags-line);
    border-radius: 16px;
    background: rgba(255, 253, 249, 0.88);
    color: var(--ags-ink);
    font: 500 15px/1.45 Arial, Helvetica, sans-serif;
    text-align: left;
    cursor: pointer;
    transition: transform 180ms ease, border-color 180ms ease,
    background 180ms ease;
    }
    #ags-athlete-quiz .ags-answer:hover,
    #ags-athlete-quiz .ags-answer:focus-visible {
    border-color: var(--ags-tan);
    background: #f1e7dc;
    transform: translateY(-1px);
    }
    #ags-athlete-quiz .ags-answer-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #eee3d7;
    color: var(--ags-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
    }
    #ags-athlete-quiz .ags-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 23px;
    border: 1px solid var(--ags-dark);
    border-radius: 999px;
    background: var(--ags-dark);
    color: #ffffff;
    font: 600 14px/1 Arial, Helvetica, sans-serif;
    text-decoration: none;
    cursor: pointer;
    }
    #ags-athlete-quiz .ags-primary:hover,
    #ags-athlete-quiz .ags-primary:focus-visible {
    background: #5a3020;
    }
    #ags-athlete-quiz .ags-text-button {
    min-height: 44px;
    padding: 10px 4px;
    border: 0;
    background: transparent;
    color: var(--ags-ink);
    font: 500 14px Arial, Helvetica, sans-serif;
    text-decoration: underline;
    cursor: pointer;
    }
    #ags-athlete-quiz .ags-question-footer,
    #ags-athlete-quiz .ags-result-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 26px;
    }
    #ags-athlete-quiz .ags-helper {
    margin: 0;
    color: var(--ags-muted);
    font-size: 13px;
    }
    #ags-athlete-quiz .ags-match-box {
    margin: 24px 0;
    padding: 18px 20px;
    border-radius: 16px;
    background: #eee4d9;
    color: var(--ags-ink);
    line-height: 1.6;
    }
    #ags-athlete-quiz .ags-details {
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
    }
    #ags-athlete-quiz .ags-details li {
    position: relative;
    margin: 8px 0;
    padding-left: 24px;
    color: var(--ags-muted);
    line-height: 1.5;
    }
    #ags-athlete-quiz .ags-details li::before {
    position: absolute;
    left: 0;
    content: "◌";
    color: var(--ags-tan);
    }
    #ags-athlete-quiz .ags-note {
    margin: 28px 0 0;
    padding: 4px 0 4px 18px;
    border-left: 2px solid var(--ags-tan);
    color: var(--ags-ink);
    font: 400 17px/1.6 Georgia, "Times New Roman", serif;
    }
    #ags-athlete-quiz .ags-signature {
    display: block;
    margin-top: 8px;
    color: var(--ags-muted);
    font: 500 13px/1.5 Arial, Helvetica, sans-serif;
    }
    #ags-athlete-quiz .ags-reveal {
    padding: 72px 0;
    text-align: center;
    }
    #ags-athlete-quiz .ags-pulse {
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    margin: 0 auto 24px;
    border: 1px solid var(--ags-tan);
    border-radius: 50%;
    color: var(--ags-tan);
    font: 400 28px Georgia, "Times New Roman", serif;
    animation: ags-pulse 1.2s ease-out;
    }
    @keyframes ags-pulse {
    from {
    box-shadow: 0 0 0 0 rgba(168, 137, 107, 0.42);
    }
    to {
    box-shadow: 0 0 0 26px rgba(168, 137, 107, 0);
    }
    }
    @media (prefers-reduced-motion: reduce) {
    #ags-athlete-quiz * {
    transition: none !important;
    }
    #ags-athlete-quiz .ags-pulse {
    animation: none;
    }
    }
    @media (max-width: 520px) {
    #ags-athlete-quiz {
    margin: 18px auto;
    }
    #ags-athlete-quiz .ags-quiz-shell {
    min-height: 520px;
    border-radius: 20px;
    }
    #ags-athlete-quiz .ags-result-actions {
    align-items: stretch;
    flex-direction: column-reverse;
    }
    #ags-athlete-quiz .ags-primary {
    width: 100%;
    }
    }
    </style>
    <section
    class="ags-quiz-shell"
    aria-label="Choose Your Athlete Reset quiz"
    >
    <div class="ags-sound-rings" aria-hidden="true"></div>
    <div class="ags-quiz-content" aria-live="polite"></div>
    </section>
    <script>
    (function () {
    "use strict";
    var quizRoot = document.getElementById("ags-athlete-quiz");
    if (!quizRoot || quizRoot.dataset.ready === "true") {
    return;
    }
    quizRoot.dataset.ready = "true";
    var quizContent = quizRoot.querySelector(".ags-quiz-content");
    /*
    * Replace the URLs below with your real AGS page
    * or booking links before publishing.
    */
    var results = {
    training: {
    title: "Training Recovery Reset",
    headline:
    "Your training asks your body to perform. Your recovery deserves intention too.",
    reason:
    "Your answers suggest that you need a consistent way to transition out of training mode and create space for deliberate rest.",
    description:
    "This guided sound and breathwork experience is designed for athletes moving through demanding training phases, heavy sessions, or scheduled recovery days.",
    details: [
    "Ideal during intense training blocks",
    "Available privately or with a training partner",
    "Created to support mental decompression and intentional rest"
    ],
    button: "Explore Athlete Recovery",
    url: "/athlete-recovery/"
    },
    preshow: {
    title: "Pre-Show Reset",
    headline:
    "You have done the work. Now create space to arrive grounded.",
    reason:
    "Your answers point to the day or evening before competition, when your body needs rest and your mind may still be running through every detail.",
    description:
    "A private pre-show experience using guided breathwork, immersive sound, and stillness to help you step away from the noise and settle into the moment.",
    details: [
    "Available the day or night before the show",
    "Designed for one athlete or a small competition group",
    "Can be hosted at your home, hotel, or suitable private space"
    ],
    button: "Plan My Pre-Show Reset",
    url: "/contact/"
    },
    backstage: {
    title: "Backstage Competition Reset",
    headline:
    "Stay connected to yourself while everything around you is moving.",
    reason:
    "Your answers suggest that show-day energy, waiting, and mental pressure are the moments when you most need a focused reset.",
    description:
    "A discreet, athlete-centered sound and breathwork experience designed around the flow of competition day, including pre-judging and optional finals support.",
    details: [
    "Designed around the competition schedule",
    "Available before pre-judging",
    "Finals support may be added when arranged in advance"
    ],
    button: "Request Backstage Support",
    url: "/contact/"
    },
    postshow: {
    title: "Post-Show Reset",
    headline:
    "The stage is over. Give yourself space to come back to you.",
    reason:
    "Your answers show that your greatest need comes after the performance, when the structure, adrenaline, and emotion of competition begin to settle.",
    description:
    "A grounding post-competition experience created to help you pause, mentally decompress, and mark the transition out of show mode.",
    details: [
    "Ideal after competition or during the following days",
    "Available privately or with teammates",
    "A meaningful close to the competition experience"
    ],
    button: "Plan My Post-Show Reset",
    url: "/contact/"
    },
    team: {
    title: "Team Recovery Experience",
    headline:
    "Strong teams train together. They can reset together too.",
    reason:
    "Your answers suggest that you want to support multiple athletes with a shared recovery experience that fits naturally into training or competition programming.",
    description:
    "A guided group experience for coaches, bodybuilding teams, fitness communities, and athlete events that creates a collective pause beyond the training floor.",
    details: [
    "Designed for coaches, teams, and athlete communities",
    "Available before or after events and during training camps",
    "Customized to the group, schedule, and setting"
    ],
    button: "Plan a Team Experience",
    url: "/partnerships/"
    }
    };
    var questions = [
    {
    question: "Where are you in your athletic journey right now?",
    answers: [
    [
    "training",
    "TR",
    "I am in a demanding training phase."
    ],
    [
    "preshow",
    "PS",
    "My competition is approaching."
    ],
    [
    "backstage",
    "BS",
    "I need support during show day."
    ],
    [
    "postshow",
    "PO",
    "I am coming down from a competition."
    ],
    [
    "team",
    "TM",
    "I support a team or group of athletes."
    ]
    ]
    },
    {
    question: "When would this reset help you most?",
    answers: [
    [
    "training",
    "TR",
    "After hard sessions or on scheduled recovery days."
    ],
    [
    "preshow",
    "PS",
    "The day or evening before I compete."
    ],
    [
    "backstage",
    "BS",
    "Before pre-judging or while waiting backstage."
    ],
    [
    "postshow",
    "PO",
    "After the show or during the days that follow."
    ],
    [
    "team",
    "TM",
    "During team training, camp, or an athlete event."
    ]
    ]
    },
    {
    question: "Who should experience the reset?",
    answers: [
    [
    "training",
    "TR",
    "Me or me and my training partner."
    ],
    [
    "preshow",
    "PS",
    "Me or a small group competing together."
    ],
    [
    "backstage",
    "BS",
    "Me, with support fitted around my show schedule."
    ],
    [
    "postshow",
    "PO",
    "Me or teammates closing out the experience."
    ],
    [
    "team",
    "TM",
    "A full team, coaching group, or athlete community."
    ]
    ]
    },
    {
    question: "How do you most want to feel afterward?",
    answers: [
    [
    "training",
    "TR",
    "Rested and ready to return to training with intention."
    ],
    [
    "preshow",
    "PS",
    "Grounded and prepared to step onstage."
    ],
    [
    "backstage",
    "BS",
    "Centered while the day moves around me."
    ],
    [
    "postshow",
    "PO",
    "Released from performance mode and reconnected to myself."
    ],
    [
    "team",
    "TM",
    "Connected, supported, and reset as a group."
    ]
    ]
    }
    ];
    var currentQuestion = -1;
    var selections = [];
    function renderStart() {
    quizContent.innerHTML =
    '<p class="ags-kicker">Alexandria Grace Sound</p>' +
    '<h2>Choose Your Athlete Reset</h2>' +
    '<p class="ags-copy">You know how to push. This quiz will help you find the sound and breathwork experience that fits where you are in training, competition, or recovery.</p>' +
    '<button class="ags-primary" type="button" data-action="start">Find My Reset</button>';
    }
    function renderQuestion() {
    var item = questions[currentQuestion];
    var percentage = (currentQuestion + 1) * 25;
    var answersMarkup = item.answers
    .map(function (answer) {
    return (
    '<button class="ags-answer" type="button" data-result="' +
    answer[0] +
    '">' +
    '<span class="ags-answer-icon" aria-hidden="true">' +
    answer[1] +
    "</span>" +
    "<span>" +
    answer[2] +
    "</span>" +
    "</button>"
    );
    })
    .join("");
    quizContent.innerHTML =
    '<p class="ags-kicker">Question ' +
    (currentQuestion + 1) +
    " of 4</p>" +
    '<div class="ags-progress" role="progressbar" aria-label="Quiz progress" aria-valuenow="' +
    percentage +
    '" aria-valuemin="0" aria-valuemax="100">' +
    '<div class="ags-progress-bar" style="width:' +
    percentage +
    '%"></div>' +
    "</div>" +
    "<h2>" +
    item.question +
    "</h2>" +
    '<div class="ags-answer-list">' +
    answersMarkup +
    "</div>" +
    '<div class="ags-question-footer">' +
    (currentQuestion > 0
    ? '<button class="ags-text-button" type="button" data-action="back">Back</button>'
    : "<span></span>") +
    '<p class="ags-helper">Select one answer</p>' +
    "</div>";
    }
    function chooseResult() {
    var scores = {
    training: 0,
    preshow: 0,
    backstage: 0,
    postshow: 0,
    team: 0
    };
    selections.forEach(function (selection) {
    scores[selection] += 1;
    });
    /*
    * Question one breaks a tie because it identifies
    * the athlete's current stage.
    */
    var winner = selections[0];
    Object.keys(scores).forEach(function (key) {
    if (scores[key] > scores[winner]) {
    winner = key;
    }
    });
    return winner;
    }
    function renderReveal() {
    quizContent.innerHTML =
    '<div class="ags-reveal">' +
    '<div class="ags-pulse" aria-hidden="true">◌</div>' +
    '<p class="ags-kicker">Your reset is ready</p>' +
    "<h2>One moment of stillness...</h2>" +
    "</div>";
    window.setTimeout(renderResult, 850);
    }
    function renderResult() {
    var result = results[chooseResult()];
    var detailMarkup = result.details
    .map(function (detail) {
    return "<li>" + detail + "</li>";
    })
    .join("");
    quizContent.innerHTML =
    '<p class="ags-kicker">Your recommended experience</p>' +
    "<h2>" +
    result.title +
    "</h2>" +
    "<h3>" +
    result.headline +
    "</h3>" +
    '<div class="ags-match-box"><strong>Why this matches you</strong><br>' +
    result.reason +
    "</div>" +
    '<p class="ags-copy">' +
    result.description +
    "</p>" +
    '<ul class="ags-details">' +
    detailMarkup +
    "</ul>" +
    '<blockquote class="ags-note">“As an IFBB Bikini Professional, I understand what it means to ask a lot of your body. I would love to create a reset that meets you where you are.”' +
    '<span class="ags-signature">Alexandria Grace, IFBB Bikini Professional and Sound Practitioner</span>' +
    "</blockquote>" +
    '<div class="ags-result-actions">' +
    '<button class="ags-text-button" type="button" data-action="restart">Retake Quiz</button>' +
    '<a class="ags-primary" href="' +
    result.url +
    '">' +
    result.button +
    "</a>" +
    "</div>";
    }
    quizRoot.addEventListener("click", function (event) {
    var actionButton = event.target.closest("[data-action]");
    var answerButton = event.target.closest(".ags-answer");
    if (answerButton) {
    selections[currentQuestion] =
    answerButton.getAttribute("data-result");
    if (currentQuestion < questions.length - 1) {
    currentQuestion += 1;
    renderQuestion();
    } else {
    renderReveal();
    }
    return;
    }
    if (!actionButton) {
    return;
    }
    var action = actionButton.getAttribute("data-action");
    if (action === "start") {
    currentQuestion = 0;
    renderQuestion();
    } else if (action === "back" && currentQuestion > 0) {
    currentQuestion -= 1;
    renderQuestion();
    } else if (action === "restart") {
    currentQuestion = -1;
    selections = [];
    renderStart();
    }
    });
    renderStart();
    })();
    </script>
    </div>