/* ==========================================================================
   Fresh Step App – front-end design system
   Type: Gelica (display) + Area Normal (text). Colours sampled from freshstep.com.
   Motion: colour/shadow transitions only.
   ========================================================================== */

@font-face{font-family:"Gelica";src:url("fonts/gelica-light.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Gelica";src:url("fonts/gelica-medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Gelica";src:url("fonts/gelica-semibold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Area Normal";src:url("fonts/area-medium.woff2") format("woff2");font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:"Area Normal";src:url("fonts/area-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Area Normal";src:url("fonts/area-extrabold.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}

body.fsa-app,.fsl,.fsd{
  --blue:#001FFE;--blue-d:#0018C8;--navy:#013758;--cyan:#ADF6FD;--lav:#E3BFFF;--lav-l:#EBD2FF;--pink:#FC8697;--sun:#FFE7A3;
  --ink:#013758;--text:#1D3B53;--mut:#5A6F82;--line:#E1E8F0;--soft:#F4F7FB;
  --serif:"Gelica",Georgia,"Times New Roman",serif;--sans:"Area Normal","Helvetica Neue",Arial,sans-serif;
  /* legacy names used by the dashboard + forms */
  --b:#001FFE;--bd:#0018C8;--bl:#E8EDFF;--ok:#0F7A45;--okbg:#E3F6EC;--bad:#B0243A;--badbg:#FDECEF;
}
body.fsa-app{margin:0;background:var(--soft);color:var(--text);font-family:var(--sans);font-weight:500;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
body.fsa-app *,body.fsa-app *:before,body.fsa-app *:after{box-sizing:border-box}
body.fsa-app h1,body.fsa-app h2,body.fsa-app h3,body.fsa-app h4{font-family:var(--serif);font-weight:300;color:var(--ink);letter-spacing:-.01em}
body.fsa-app h1 strong,body.fsa-app h2 strong,body.fsa-app h3 strong{font-weight:600}
body.fsa-app button,body.fsa-app input,body.fsa-app select,body.fsa-app textarea{font-family:var(--sans)}
body.fsa-app a{color:var(--blue)}
body.fsa-app a:focus-visible,body.fsa-app button:focus-visible,body.fsa-app input:focus-visible,body.fsa-app summary:focus-visible{outline:3px solid #7FA0FF;outline-offset:2px}
.fsa-wrap,.fsl-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.fsa-skip{position:absolute;left:-9999px;top:8px;background:#fff;color:var(--blue);padding:8px 14px;border-radius:6px;z-index:100}
.fsa-skip:focus{left:12px}

/* ---------- Header ---------- */
.fsa-bar{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.admin-bar .fsa-bar{top:32px}
.fsa-bar-in{display:flex;align-items:center;gap:36px;min-height:84px}
.fsa-logo{display:block;flex:none}
.fsa-logo img{display:block;width:56px;height:auto}
.fsa-sections{display:flex;gap:30px;flex:1}
.fsa-sections a{font-weight:700;font-size:15px;text-decoration:none;color:var(--blue)!important;transition:color .15s ease}
.fsa-sections a:hover{color:var(--navy)!important;text-decoration:underline;text-underline-offset:5px}
.fsa-nav{display:flex;align-items:center;gap:22px;margin-left:auto}
.fsa-nav-a{font-weight:700;font-size:15px;text-decoration:none;color:var(--navy)!important;transition:color .15s ease,background-color .15s ease}
.fsa-nav-a:hover,.fsa-nav-a.is-current{color:var(--blue)!important}
.fsa-nav-a.is-primary{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:4px;background:var(--blue);color:#fff!important}
.fsa-nav-a.is-primary:hover{background:var(--blue-d)}
.fsa-nav-a.is-logout{color:var(--mut)!important;font-weight:500}

/* ---------- Main + page header ---------- */
.fsa-main{flex:1;padding:48px 0 80px;background:#CAE7F0}
.fsa-main.is-home{padding:0;background:#fff}
.fsa-head{margin:0 0 28px;max-width:760px}
.fsa-head h1{margin:0;font-size:clamp(36px,4.6vw,56px);line-height:1.05}
.fsa-head p{margin:12px 0 0;color:var(--text);font-size:18px}
.fsa-head.is-center{text-align:center;margin-left:auto;margin-right:auto}
.fsa-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}
.fsa-grid.has-aside{grid-template-columns:minmax(0,1fr) 340px}
.fsa-grid.is-login{max-width:920px;margin:0 auto}
.fsa-grid.is-login.has-aside{grid-template-columns:minmax(0,1fr) 320px}
.fsa-panel,.fsa-aside{background:#fff;border:1px solid var(--line);border-radius:16px}
.fsa-panel{padding:36px}
.fsa-panel > :first-child{margin-top:0}
.fsa-aside{padding:28px;position:sticky;top:110px}
.fsa-aside h3{margin:0 0 16px;font-size:24px;line-height:1.2}
.fsa-checks,.fsa-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.fsa-checks li{display:flex;gap:10px;font-size:15px}
.fsa-checks svg{flex:none;width:20px;height:20px;color:var(--blue);margin-top:2px}
.fsa-steps li{display:flex;gap:12px;font-size:15px;color:var(--mut)}
.fsa-steps strong{color:var(--ink)}
.fsa-step-n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--cyan);color:var(--navy);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
.fsa-status{border-radius:12px;padding:16px 18px;background:#EEF2FF;margin-bottom:18px;display:flex;flex-direction:column;gap:2px}
.fsa-status.is-ok{background:var(--okbg)}
.fsa-status-k{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.fsa-status strong{font-family:var(--serif);font-weight:600;font-size:22px;color:var(--ink)}
.fsa-status.is-ok strong{color:var(--ok)}
.fsa-status-s{font-size:14px;color:var(--mut)}
.fsa-note{font-size:14px;padding:12px 14px;border-radius:10px;background:#FFF3D6;color:#6B4600;margin-bottom:18px}
.fsa-aside-foot{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:14px;color:var(--mut)}
.fsa-aside-foot a{font-weight:700}

/* ---------- Footer ---------- */
.fsa-foot{background:#082586;color:#D3E4F0;padding:64px 0 56px}
.fsa-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.fsa-foot-brand img{width:96px;height:auto;display:block}
.fsa-foot-tag,body.fsa-app .fsa-foot-tag{margin:18px 0 0;font-family:var(--serif);font-weight:600;font-size:24px;line-height:1.2;color:#fff}
.fsa-foot-col h4,body.fsa-app .fsa-foot-col h4{margin:0 0 14px;font-family:var(--sans);font-weight:800;font-size:15px;color:#fff;letter-spacing:0}
.fsa-foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fsa-foot-col a{color:#DCE5FF!important;text-decoration:none;font-size:15px}
.fsa-foot-col a:hover{color:#fff!important;text-decoration:underline}

/* ---------- Buttons ---------- */
.fsl-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-height:46px;padding:0 22px;border-radius:4px;font-family:var(--sans);font-weight:700;font-size:15px;text-decoration:none!important;border:1.5px solid transparent;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.fsl-btn-blue{background:var(--blue);color:#fff!important}
.fsl-btn-blue:hover{background:var(--blue-d)}
.fsl-btn-white{background:#fff;color:var(--navy)!important}
.fsl-btn-white:hover{background:#EEF6FF}
.fsl-btn-cyan{background:var(--cyan);color:var(--navy)!important}
.fsl-btn-cyan:hover{background:#fff}
.fsl-btn-outline{color:#fff!important;border-color:rgba(255,255,255,.7)}
.fsl-btn-outline:hover{background:rgba(255,255,255,.12)}
.fsl-btn-block{width:100%}
.fsl-btn.has-arrow{gap:10px}
.fsl-btn-arrow{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.fsl-btn.has-arrow:hover .fsl-btn-arrow{transform:translateX(4px)}
.fsl-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fsl-center{display:flex;justify-content:center}
.fsl-textlink{font-weight:700;color:var(--navy)!important;text-underline-offset:4px}

/* ==========================================================================
   Landing page
   ========================================================================== */
.fsl{color:var(--text);font-family:var(--sans);font-weight:500}
.fsl *{box-sizing:border-box}
.fsl h1,.fsl h2,.fsl h3,.fsl p{margin:0}
.fsl-h{font-family:var(--serif);font-weight:300;color:var(--ink);line-height:1.1;letter-spacing:-.01em}
.fsl-h strong{font-weight:600}
.fsl-eyebrow{display:block;font-family:var(--sans);font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.fsl-lead{font-size:19px;color:var(--ink);margin-top:14px!important}
.fsl-small{font-size:14px;color:var(--mut);margin-top:10px!important}
.fsl-spark{display:block;width:40px;height:40px;color:var(--cyan)}
.fsl-spark.inline{display:inline-block;width:.8em;height:.8em;color:#FFB61E;vertical-align:-.04em;margin-right:.15em}

/* ---------- Motion pre-states (only while JS motion is pending; see home.js + inline fail-safe) ---------- */
html.fsl-js:not(.fsl-ready) [data-hero-in],
html.fsl-js:not(.fsl-ready) [data-hero-photo],
html.fsl-js:not(.fsl-ready) [data-hero-badge]{opacity:0}
html{scroll-padding-top:100px}

.fsl{--deep:#082586;--sage:#C4DDA7;--berry:#9D2990;--sky:#CAE7F0}
.fsl-eyebrow-line{display:block;font-family:var(--sans);font-weight:700;font-size:16px;color:var(--blue)}
.fsl-sec-head{text-align:center}
.fsl-sec-head .fsl-h,.fsl-prize-head .fsl-h{margin-top:10px;font-size:clamp(34px,4vw,56px);color:var(--deep)}

/* ---------- Hero ---------- */
.fsl-hero{background:var(--deep);color:#fff;overflow:hidden}
.fsl-hero-in{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;min-height:clamp(540px,calc(100svh - 84px),680px)}
.fsl .fsl-hero-in{padding-top:56px;padding-bottom:56px}
.fsl-hero-eyebrow{display:block;font-family:var(--sans);font-weight:700;font-size:15px;letter-spacing:.01em;color:#fff}
.fsl-hero-mark,body.fsa-app .fsl-hero-mark{margin:18px 0 0;line-height:0}
.fsl-hero-mark img{display:block;width:min(470px,100%);height:auto}
.fsl-hero-big{margin:26px 0 0!important;font-family:var(--serif);font-weight:300;font-size:clamp(34px,4vw,56px);line-height:1.1;letter-spacing:-.01em;color:#fff}
.fsl-hero-cta{display:flex;align-items:center;gap:36px;margin-top:38px}
.fsl-hero-cta .fsl-btn{min-height:52px;padding:0 34px;font-size:16px;color:var(--deep)!important}
.fsl-hero-paws{width:118px;height:auto}
.fsl-hero-media{position:relative;max-width:520px;width:100%;margin-left:auto;padding:6% 10% 4% 0}
.fsl-hero-cat{display:block;width:100%;height:auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.28))}
.fsl-hero-bubble{position:absolute;top:0;right:-4%;width:40%;height:auto}
.fsl-hero-logo{position:absolute;right:-2%;bottom:0;width:25%;height:auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.25))}

/* ---------- Marquee (decorative; CSS only, pauses on hover, off for reduced motion) ---------- */
.fsl-marquee{overflow:hidden;background:#fff;color:var(--navy);padding:22px 0 18px}
.fsl-marquee-track{display:flex;align-items:center;gap:30px;width:max-content;animation:fsl-marquee 42s linear infinite}
.fsl-marquee:hover .fsl-marquee-track{animation-play-state:paused}
.fsl-marquee span{font-family:var(--serif);font-weight:300;font-size:clamp(20px,2.2vw,28px);white-space:nowrap}
.fsl-spark.mq{width:18px;height:18px;color:var(--blue);flex:none}
@keyframes fsl-marquee{to{transform:translateX(-50%)}}

/* ---------- ¿Cómo participo? ---------- */
.fsl-how{position:relative;background:#00B5F0;padding:0 0 110px}
.fsl-how-head{position:relative;text-align:center;padding-top:80px}
.fsl-how-head .fsl-h{font-size:clamp(28px,3vw,38px)}
.fsl-how-body{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start;margin-top:40px}
.fsl-how-visual{position:sticky;top:120px}
.fsl-art-wrap{position:relative;width:min(420px,100%);margin:60px auto 0}
.fsl-art{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 22px 44px rgba(1,55,88,.18)}
.fsl-art-hearts{position:absolute;top:-78px;right:-26px;width:104px;height:auto}
.fsl-art-cat{display:block;width:50%;height:auto;margin:22px 0 0 8%}
.fsl-how-copy > .fsl-h{font-size:clamp(34px,3.6vw,50px);margin-bottom:28px}
.fsl-steps{list-style:none;margin:0 0 32px;padding:0;display:flex;flex-direction:column;gap:14px}
.fsl-step-card{display:grid;grid-template-columns:64px 1fr;align-items:start;gap:8px;background:#fff;border-radius:18px;padding:24px 26px;transition:box-shadow .25s ease}
.fsl-step-card:hover{box-shadow:0 14px 30px rgba(1,55,88,.12)}
.fsl-step-no{font-family:var(--serif);font-weight:600;font-size:32px;line-height:1;color:var(--blue)}
.fsl-step-card h4,body.fsa-app .fsl-step-card h4{margin:0 0 4px;font-family:var(--serif);font-weight:600;font-size:22px;color:var(--ink)}
.fsl-step-card p{font-size:15.5px;color:var(--text)}
.fsl-how .fsl-actions{justify-content:center}

/* ---------- Panels ---------- */
.fsl-panel{position:relative;border-radius:28px;padding:80px 64px;margin:110px 0 0}

/* ---------- Premios ---------- */
.fsl-prize{background:var(--sage);padding:64px 56px 34px}
.fsl-prize-head{text-align:center}
.fsl-prize-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center;margin-top:44px}
.fsl-prize-card{background:#fff;border-radius:20px;padding:32px 36px 30px;box-shadow:0 14px 34px rgba(37,72,20,.12)}
.fsl-prize-brand{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.fsl-prize-mark{width:min(200px,62%);height:auto}
.fsl-prize-logo{width:62px;height:auto}
.fsl-prize-card h3,body.fsa-app .fsl-prize-card h3{margin:0 0 8px;font-family:var(--serif);font-weight:600;font-size:26px;color:var(--ink)}
.fsl-prize-card p{font-size:16px;color:var(--text)}
.fsl-prize-checks{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.fsl-prize-checks li{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--ink)}
.fsl-prize-checks svg{flex:none;width:22px;height:22px;color:var(--blue);margin-top:1px}
.fsl-prize-phone{position:absolute;left:calc(50% - 76px);bottom:-18px;width:84px;height:auto;z-index:1}
.fsl-prize-media{margin:0;display:flex;flex-direction:column;align-items:flex-end}
.fsl-prize-photo-wrap{position:relative;width:min(430px,100%)}
.fsl-prize-photo{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%}
.fsl-prize-badge{position:absolute;left:-6%;top:2%;width:132px;height:132px;border-radius:50%;background:var(--berry);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;font-family:var(--serif);font-weight:600;font-size:23px;line-height:1.08;box-shadow:0 10px 24px rgba(80,10,70,.3)}
.fsl-prize-media figcaption{margin-top:10px;text-align:right;font-size:13px;color:var(--ink);display:flex;flex-direction:column;gap:2px}
.fsl-prize-media figcaption strong{font-family:var(--serif);font-weight:600;font-size:18px}
.fsl-prize-legal{margin:40px auto 0!important;max-width:980px;text-align:center;font-size:12.5px;line-height:1.5;color:#24364A}
.fsl-prize-legal a{color:var(--deep);font-weight:700}

/* ---------- Products shelf (contained carousel: 5 per view desktop, 3 tablet, ~2 phone) ---------- */
.fsl-products{padding:110px 0 20px}
.fsl-shelf{position:relative;width:100%;max-width:1200px;margin:26px auto 0;padding:0 24px}
.fsl-shelf-track{list-style:none;margin:0;padding:24px 0 22px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4 * 28px) / 5);gap:28px;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.fsl-shelf-track::-webkit-scrollbar{display:none}
.fsl-shelf-track:focus-visible{outline:3px solid #7FA0FF;outline-offset:4px;border-radius:12px}
.fsl-prod{scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:16px;min-width:0}
.fsl-prod-img{display:flex;align-items:flex-end;justify-content:center;width:100%;height:240px}
.fsl-prod img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(1,55,88,.2));transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.fsl-prod:hover img{transform:translateY(-8px)}
.fsl-prod > span:last-child{font-family:var(--sans);font-weight:700;font-size:14px;line-height:1.3;color:var(--ink);text-align:center}
.fsl-shelf-btn{position:absolute;top:118px;z-index:2;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:var(--blue);box-shadow:0 6px 18px rgba(1,55,88,.18);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,opacity .2s ease}
.fsl-shelf-btn:hover{background:#EEF2FF}
.fsl-shelf-btn[disabled]{opacity:.35;cursor:default;box-shadow:none}
.fsl-shelf-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.fsl-shelf-btn.is-prev{left:-14px}
.fsl-shelf-btn.is-next{right:-14px}
@media (min-width:1320px){.fsl-shelf-btn.is-prev{left:-40px}.fsl-shelf-btn.is-next{right:-40px}}

/* ---------- Tiendas participantes ---------- */
.fsl-stores{background:var(--sky);padding:64px 64px 56px;overflow:hidden}
.fsl-store-names{list-style:none;margin:40px auto 44px;padding:0;max-width:960px;columns:3;column-gap:48px}
.fsl-store-names li{break-inside:avoid;position:relative;padding:0 0 12px 16px;font-size:17px;color:var(--ink)}
.fsl-store-names li:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--deep)}
.fsl-store-logos{list-style:none;margin:0 auto;padding:0;max-width:920px;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.fsl-store-logos li{height:58px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;padding:6px 10px;box-shadow:0 2px 6px rgba(1,55,88,.06)}
.fsl-store-logos img{max-width:100%;max-height:44px;width:auto;height:auto;object-fit:contain}
.fsl-store-logos span{font-weight:700;font-size:12px;text-align:center;color:var(--ink)}
.fsl-stores .fsl-actions{margin-top:44px}
.fsl-stores-stars{position:absolute;left:3%;bottom:16%;width:62px;height:auto}
.fsl-stores-cat{position:absolute;right:2.5%;top:44%;width:92px;height:auto}

/* ---------- FAQ ---------- */
.fsl-faq-sec{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}
.fsl .fsl-faq-sec{padding-top:120px;padding-bottom:120px}
.fsl-faq-head{position:sticky;top:120px}
.fsl-faq-head .fsl-eyebrow{color:var(--blue)}
.fsl-faq-head .fsl-h{margin-top:12px;font-size:clamp(36px,3.8vw,54px)}
.fsl-faq{border-top:1px solid var(--line)}
.fsl-q{border-bottom:1px solid var(--line)}
.fsl-q summary{list-style:none;cursor:pointer;padding:24px 48px 24px 0;position:relative;font-family:var(--serif);font-weight:500;font-size:21px;color:var(--ink);transition:color .15s ease}
.fsl-q summary:hover{color:var(--blue)}
.fsl-q summary::-webkit-details-marker{display:none}
.fsl-q summary:after{content:"";position:absolute;right:4px;top:50%;width:30px;height:30px;margin-top:-15px;border-radius:50%;border:1.5px solid var(--line);
  background:linear-gradient(var(--blue),var(--blue)) center/12px 2px no-repeat,linear-gradient(var(--blue),var(--blue)) center/2px 12px no-repeat;transition:transform .3s ease,border-color .2s ease}
.fsl-q[open] summary:after{transform:rotate(45deg);border-color:var(--blue)}
.fsl-q-a{overflow:hidden}
.fsl-q-a p{padding:0 48px 26px 0;font-size:16px;color:var(--text)}

/* ---------- Closing CTA band (optional) ---------- */
.fsl-band{position:relative;overflow:hidden;background:var(--deep);color:#fff;padding:110px 24px;text-align:center}
.fsl-band-in{position:relative;max-width:660px;margin:0 auto;z-index:1}
.fsl-band .fsl-h{color:#fff;font-size:clamp(38px,4.4vw,62px)}
.fsl-band p{margin:16px 0 34px;font-size:18px;color:#fff}
.fsl-band .fsl-spark{position:absolute;color:var(--cyan)}
.fsl-band .b1{left:4%;bottom:14%;width:44px;height:44px}
.fsl-band .b2{right:6%;top:10%;width:110px;height:110px}
.fsl-band .b3{left:16%;top:16%;width:22px;height:22px}

/* ---------- Responsive (mobile is designed, not squeezed) ---------- */
@media (max-width:960px){
  .fsl-hero-in{grid-template-columns:1fr;gap:12px;min-height:0}
  .fsl .fsl-hero-in{padding-top:36px;padding-bottom:44px}
  .fsl-hero-media{max-width:400px;margin:0 auto;padding:12% 12% 4% 4%}
  .fsl-how-body{grid-template-columns:1fr;gap:40px}
  .fsl-how-visual{position:static}
  .fsl-prize-body{grid-template-columns:1fr;gap:36px}
  .fsl-prize-media{align-items:center}
  .fsl-prize-media figcaption{text-align:center}
  .fsl-prize-phone{display:none}
  .fsl-store-names{columns:2}
  .fsl-shelf-track{grid-auto-columns:calc((100% - 2 * 24px) / 3);gap:24px}
  .fsl-prod-img{height:210px}
  .fsl-shelf-btn{top:104px}
  .fsl-store-logos{grid-template-columns:repeat(4,1fr)}
  .fsl-faq-sec{grid-template-columns:1fr;gap:28px}
  .fsl .fsl-faq-sec{padding-top:80px;padding-bottom:80px}
  .fsl-faq-head{position:static}
}
@media (max-width:640px){
  .fsl-hero-mark img{width:100%}
  .fsl-hero-big{font-size:34px}
  .fsl-hero-cta{flex-direction:column;align-items:stretch;gap:20px}
  .fsl-hero-cta .fsl-btn{width:100%}
  .fsl-hero-paws{align-self:center;width:96px}
  .fsl-hero-media{max-width:330px}
  .fsl-marquee{padding:14px 0}
  .fsl-actions .fsl-btn{flex:1}
  .fsl-how{padding-bottom:72px}
  .fsl-how-head{padding-top:56px}
  .fsl-art-wrap{width:min(300px,80%);margin-top:48px}
  .fsl-art-hearts{width:74px;top:-56px;right:-14px}
  .fsl-art-cat{width:44%}
  .fsl-step-card{grid-template-columns:48px 1fr;padding:20px}
  .fsl-step-no{font-size:26px}
  .fsl-panel{padding:48px 20px;margin-top:64px;border-radius:22px}
  .fsl-prize{padding:44px 18px 26px}
  .fsl-prize-card{padding:24px 20px}
  .fsl-prize-badge{width:100px;height:100px;font-size:18px;left:-2%}
  .fsl-products{padding-top:72px}
  .fsl-shelf{padding:0 16px}
  .fsl-shelf-track{grid-auto-columns:44%;gap:18px;padding:20px 0}
  .fsl-prod-img{height:170px}
  .fsl-prod > span:last-child{font-size:13px}
  .fsl-shelf-btn{display:none}
  .fsl-stores{padding:48px 20px 112px}
  .fsl-store-names{columns:1;margin:28px 0 30px;padding-left:4px}
  .fsl-store-names li{font-size:16px;padding-bottom:9px}
  .fsl-store-logos{grid-template-columns:repeat(3,1fr);gap:8px}
  .fsl-store-logos li{height:48px;padding:5px 6px}
  .fsl-stores-stars{width:34px;left:22px;bottom:18px}
  .fsl-stores-cat{width:50px;right:22px;top:auto;bottom:12px}
  .fsl-q summary{font-size:18px}
  .fsl-band{padding:84px 20px}
  .fsl-band .b2{width:44px;height:44px;top:24px;right:12%}
}
@media (prefers-reduced-motion:reduce){
  .fsl-marquee-track{animation:none}
  .fsl-q summary:after,.fsl-prod img,.fsl-shelf-track{transition:none;scroll-behavior:auto}
}

/* ==========================================================================
   Gravity Forms inside the panel
   ========================================================================== */
.fsa-panel .gform_wrapper{
  --gf-color-primary:#001FFE;--gf-color-primary-rgb:0,31,254;--gf-color-primary-contrast:#fff;--gf-color-primary-darker:#0018C8;--gf-color-primary-lighter:#3350FF;
  --gf-ctrl-border-color:#D5DFEA;--gf-ctrl-radius:8px;--gf-radius:8px;--gf-ctrl-label-color-primary:#013758;--gf-ctrl-size-md:48px;
  margin:0!important;max-width:none!important}
.fsa-panel .gform_wrapper .gform_heading{display:none}
.fsa-panel .gform_wrapper .gform_fields{row-gap:20px!important;column-gap:16px!important}
.fsa-panel .gform_wrapper .gfield_label,.fsa-panel .gform_wrapper .gform-field-label:not(.gform-field-label--type-inline):not(.gform-field-label--type-sub){font-family:var(--sans)!important;font-size:14px!important;font-weight:700!important;color:var(--ink)!important;margin-bottom:8px!important}
.fsa-panel .gform_wrapper .gform-field-label--type-sub{font-size:12px!important;color:var(--mut)!important}
.fsa-panel .gform_wrapper .gfield_required{color:#C0392B!important}
.fsa-panel .gform_wrapper .gfield_required .gfield_required_text{font-size:12px;font-weight:600}
.fsa-panel .gform_wrapper input[type=text],.fsa-panel .gform_wrapper input[type=email],.fsa-panel .gform_wrapper input[type=tel],.fsa-panel .gform_wrapper input[type=number],
.fsa-panel .gform_wrapper input[type=password],.fsa-panel .gform_wrapper input[type=date],.fsa-panel .gform_wrapper input[type=url],.fsa-panel .gform_wrapper select,.fsa-panel .gform_wrapper textarea{
  width:100%!important;min-height:48px!important;padding:12px 14px!important;border:1.5px solid #D5DFEA!important;border-radius:8px!important;background:#fff!important;
  font-family:var(--sans)!important;font-size:16px!important;color:var(--ink)!important;box-shadow:none!important;transition:border-color .15s ease,box-shadow .15s ease}
.fsa-panel .gform_wrapper select{height:48px!important;padding:0 44px 0 14px!important;line-height:46px!important;-webkit-appearance:none!important;appearance:none!important;text-overflow:ellipsis;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23001FFE' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/18px 18px!important}
.fsa-panel .gform_wrapper select option{line-height:1.4}
/* date picker month/year drop-downs keep a compact look */
.ui-datepicker select,.gform-theme-datepicker select,.fsa-panel .gform_wrapper .ui-datepicker select{height:34px!important;min-height:34px!important;line-height:32px!important;padding:0 26px 0 8px!important;font-size:14px!important;background-size:14px 14px!important;background-position:right 6px center!important}
.fsa-panel .gform_wrapper input:focus,.fsa-panel .gform_wrapper select:focus,.fsa-panel .gform_wrapper textarea:focus{border-color:var(--blue)!important;box-shadow:0 0 0 4px rgba(0,31,254,.12)!important;outline:none!important}
.fsa-panel .gform_wrapper .gfield_description,.fsa-panel .gform_wrapper .gform_fileupload_rules{font-size:13px!important;color:var(--mut)!important}
.fsa-panel .gform_wrapper .gfield_checkbox .gchoice,.fsa-panel .gform_wrapper .gfield_radio .gchoice{display:flex;align-items:flex-start;gap:10px}
.fsa-panel .gform_wrapper input[type=checkbox],.fsa-panel .gform_wrapper input[type=radio]{width:20px!important;height:20px!important;accent-color:var(--blue);margin-top:2px!important}
.fsa-panel .gform_wrapper .gform_footer,.fsa-panel .gform_wrapper .gform_page_footer{margin-top:26px!important;padding:0!important}
.fsa-panel .gform_wrapper .gform_footer input[type=submit],.fsa-panel .gform_wrapper .gform_footer button,.fsa-panel .gform_wrapper .gform_page_footer input[type=button],.fsa-panel .gform_wrapper .gform_page_footer input[type=submit],.fsa-panel .gform_wrapper .gform_button{
  min-height:50px!important;padding:0 30px!important;border:0!important;border-radius:4px!important;background:var(--blue)!important;color:#fff!important;font-family:var(--sans)!important;font-size:16px!important;font-weight:700!important;
  cursor:pointer;box-shadow:none!important;transition:background-color .15s ease}
.fsa-panel .gform_wrapper .gform_footer input[type=submit]:hover,.fsa-panel .gform_wrapper .gform_button:hover{background:var(--blue-d)!important}
.fsa-panel .gform_wrapper .gform_validation_errors{border-radius:10px!important;border:1px solid #F3C4CC!important;background:var(--badbg)!important;box-shadow:none!important;padding:14px 18px!important}
.fsa-panel .gform_wrapper .gform_validation_errors h2{font-family:var(--sans)!important;font-size:15px!important;color:var(--bad)!important;font-weight:700!important}
.fsa-panel .gform_wrapper .gfield_error input,.fsa-panel .gform_wrapper .gfield_error select{border-color:#E08A98!important}
.fsa-panel .gform_wrapper .gfield_validation_message,.fsa-panel .gform_wrapper .validation_message{background:none!important;border:0!important;padding:6px 0 0!important;color:var(--bad)!important;font-size:14px!important;font-weight:600}
.fsa-panel .gform_confirmation_message{padding:22px;border-radius:12px;background:var(--okbg);color:var(--ok);font-weight:700}

/* Receipt drop area (app.js) */
.fsa-drop{position:relative;display:flex;align-items:center;gap:16px;padding:20px;border:2px dashed #B5C4E8;border-radius:12px;background:#F6F8FF;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.fsa-drop:hover,.fsa-drop.is-over{border-color:var(--blue);background:#EEF2FF}
.fsa-drop input[type=file]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer}
.fsa-drop-ic{flex:none;width:52px;height:52px;border-radius:10px;background:#fff;color:var(--blue);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,31,254,.12)}
.fsa-drop-ic svg{width:26px;height:26px}
.fsa-drop-t{font-weight:700;color:var(--ink)}
.fsa-drop-s{font-size:13px;color:var(--mut)}
.fsa-drop-prev{margin-left:auto;width:64px;height:64px;border-radius:8px;object-fit:cover;border:1px solid var(--line);display:none}
.fsa-drop.has-file{border-style:solid;border-color:#9ED1B4;background:var(--okbg)}
.fsa-drop.has-file .fsa-drop-ic{color:var(--ok)}
.fsa-drop.has-file .fsa-drop-prev{display:block}

/* Login page */
.fsa-main:not(.is-home) .fsa-head h1{color:#082586}
.fsa-main:not(.is-home) .fsa-panel,.fsa-main:not(.is-home) .fsa-aside{border:0;box-shadow:0 10px 30px rgba(8,37,134,.08)}
.fsa-main .fsd-gate{margin:24px auto!important;border:0;box-shadow:0 10px 30px rgba(8,37,134,.08)}
.fsa-main .fsd-card{border-color:transparent}
.fsa-thanks-cta{margin:20px 0 0}
.fsa-act-panel{max-width:560px;margin:0 auto;text-align:center;padding:44px 36px}
.fsa-act h2{margin:0 0 10px;font-size:30px;font-weight:600}
.fsa-act p{margin:0;color:var(--text);font-size:16px}
.fsa-act-ok{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--okbg);color:var(--ok);font-size:32px;font-weight:800;display:flex;align-items:center;justify-content:center}
.fsa-act-list{margin:24px auto 0;max-width:380px;text-align:left;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.fsa-act-list div{display:flex;gap:14px;padding:12px 16px;border-top:1px solid var(--line)}
.fsa-act-list div:first-child{border-top:0}
.fsa-act-list dt{flex:none;width:90px;font-weight:800;color:var(--ink)}
.fsa-act-list dd{margin:0;color:var(--text);overflow-wrap:anywhere}
.fsa-act-cta{margin-top:26px!important}
.fsa-panel .gform_wrapper input.fsa-readonly{background:#F2F5F9!important;color:var(--mut)!important;cursor:not-allowed}
.fsa-aside-col{position:sticky;top:110px}
.fsa-aside-col .fsa-aside{position:static}
.fsa-login-cat{display:block;width:70%;height:auto;margin:22px auto 0}
/* Login form */
.fsl-login form p{margin:0 0 16px}
.fsl-login label{display:block;font-size:14px;font-weight:700;margin-bottom:8px;color:var(--ink)}
.fsl-login input[type=text],.fsl-login input[type=password]{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid #D5DFEA;border-radius:8px;font-size:16px;background:#fff;color:var(--ink)}
.fsl-login input[type=text]:focus,.fsl-login input[type=password]:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,31,254,.12)}
.fsl-login .login-remember label{display:flex;align-items:center;gap:10px;font-weight:500}
.fsl-login .login-remember input{width:18px;height:18px;accent-color:var(--blue)}
.fsl-login .login-submit input[type=submit],.fsl-recover input[type=submit]{width:100%;min-height:50px;border:0;border-radius:4px;background:var(--blue);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .15s ease}
.fsl-login .login-submit input[type=submit]:hover{background:var(--blue-d)}
.fsl-login-links{margin:6px 0 0;text-align:center;font-size:14px}
.fsl-login-links a{font-weight:700;text-decoration:none}
.fsl-login input[type=email],.fsl-login input[type=tel]{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid #D5DFEA;border-radius:8px;font-size:16px;background:#fff;color:var(--ink)}
.fsl-login input[type=email]:focus,.fsl-login input[type=tel]:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,31,254,.12)}
.fsl-login input[type=tel]{letter-spacing:.06em}
.fsl-login input[aria-invalid=true]{border-color:#E08A98;box-shadow:0 0 0 3px rgba(176,36,58,.10)}
.fsl-field-err{display:block;margin-top:6px;color:var(--bad);font-size:14px;font-weight:600}
.fsl-note{margin:0 0 20px;padding:14px 16px;border-radius:10px;background:#EEF4FF;border-left:4px solid var(--blue);color:var(--ink);font-size:15px;line-height:1.5}
.fsl-ok{margin-bottom:18px;padding:14px 16px;border-radius:8px;background:var(--okbg);color:var(--ok);font-weight:600;font-size:15px}
.fsl-alert{margin-bottom:18px;padding:12px 16px;border-radius:8px;background:var(--badbg);color:var(--bad);font-weight:600;font-size:14px}

/* ==========================================================================
   Dashboard ([freshstep_dashboard]) inside the layout – brand overrides
   ========================================================================== */
.fsa-dash .fsd{max-width:none;color:var(--text);font-family:var(--sans)}
.fsa-app .fsd{--b:#001FFE;--bd:#0018C8;--bl:#E8EDFF;--ink:#013758;--mut:#5A6F82;--line:#E1E8F0;--r:16px}
.fsa-app .fsd-card{box-shadow:none}
.fsa-app .fsd-hero{background:var(--blue);border-radius:24px;box-shadow:none}
.fsa-app .fsd-hero:after{border-color:rgba(173,246,253,.12)}
.fsa-app .fsd-hello{font-family:var(--serif);font-weight:300;color:var(--cyan);font-size:clamp(34px,4.4vw,52px);letter-spacing:-.01em}
.fsa-app .fsd-sub{color:#fff}
.fsa-app .fsd-ring svg circle:last-child{stroke:var(--cyan)}
.fsa-app .fsd-ring-n{font-family:var(--serif);font-weight:600}
.fsa-app .fsd-btn{border-radius:4px}
.fsa-app .fsd-btn-light{box-shadow:none;color:var(--navy)!important}
.fsa-app .fsd-sec-h h3,.fsa-app .fsd-addr h3,.fsa-app .fsd-gate h2{font-family:var(--serif);font-weight:600;color:var(--ink)}
.fsa-app .fsd-sec-h h3{font-size:26px}
.fsa-app .fsd-stat b{font-family:var(--serif);font-weight:600}
.fsa-app .fsd-st.is-earned .fsd-badge{background:var(--blue);box-shadow:none;color:var(--cyan);font-family:var(--serif)}
.fsa-app .fsd-badge{font-family:var(--serif)}
.fsa-app .fsd-callout{border-radius:12px}
.fsa-app .fsd-prize-body h3{font-family:var(--serif);font-weight:600;color:var(--ink)}
.fsa-app .fsd-prize-badge{font-family:var(--serif);font-weight:600}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1100px){
  .fsa-sections{display:none}
}
@media (max-width:1180px){
}
@media (max-width:960px){
  .fsa-grid.has-aside,.fsa-grid.is-login.has-aside{grid-template-columns:1fr}
  .fsa-aside,.fsa-aside-col{position:static}
  .fsa-login-cat{width:46%}
  .fsa-foot-grid{grid-template-columns:1fr 1fr}
  .fsa-foot-brand{grid-column:1/-1}
}
@media (max-width:640px){
  .fsa-bar-in{min-height:68px;gap:14px}
  .fsa-logo img{width:44px}
  .fsa-nav{gap:14px}
  .fsa-nav-a{font-size:14px}
  .fsa-nav-a.is-primary{min-height:40px;padding:0 14px}
  .fsa-nav-a.is-logout{display:none}
  .fsa-bar{position:static}
  .fsa-main{padding:28px 0 56px}
  .fsa-wrap,.fsl-wrap{padding:0 16px}
  .fsa-panel{padding:22px 16px}
  .fsa-panel .gform_wrapper .gform_fields .gfield{grid-column:1/-1!important}
  .fsa-panel .gform_wrapper .gform_footer input[type=submit],.fsa-panel .gform_wrapper .gform_button{width:100%!important}
  .fsa-drop{flex-wrap:wrap}
  .fsa-foot-grid{grid-template-columns:1fr;gap:28px}
}
@media (prefers-reduced-motion:reduce){body.fsa-app *{transition:none!important}}
