/*
  flamingoseorank.com (Build 58) | SEO Agency | Zaragoza, Spain | EUR | EN+ES
  FLOATING PILL NAV with glassmorphism (FIRST in 58!)
  Full-viewport dark indigo hero with coral accents (FIRST in 58!)
  HORIZONTAL SCROLL CAROUSEL services (FIRST in 58!)
  ALTERNATING VERTICAL TIMELINE (FIRST in 58!)
  EDITORIAL BLOCKQUOTE TESTIMONIAL (FIRST in 58!)
  FAQ STEPPER with large numbers (FIRST in 58!)
  Palette: Coral #E8637A + Deep Indigo #1B1D3C + Ivory #FDF9F5 (FIRST in 58!)
  Fonts: Playfair Display + Plus Jakarta Sans (BOTH FIRST in 58!)
  CSS prefix: fsr-
*/
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;900&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

:root {
  --fsr-coral:    #E8637A;
  --fsr-coral2:   #D45068;
  --fsr-coralt:   rgba(232,99,122,.12);
  --fsr-coralt2:  rgba(232,99,122,.22);
  --fsr-indigo:   #1B1D3C;
  --fsr-indigo2:  #141628;
  --fsr-indigo3:  #242654;
  --fsr-indigot:  rgba(27,29,60,.06);
  --fsr-ivory:    #FDF9F5;
  --fsr-cream:    #F5F1EC;
  --fsr-cream2:   #EDE9E3;
  --fsr-white:    #FFFFFF;
  --fsr-ink:      #1B1D3C;
  --fsr-mid:      #4A4E6A;
  --fsr-muted:    #8E92AE;
  --fsr-border:   #E8E4F0;
  --fsr-border2:  #D8D4E5;
  --fsr-max:      1160px;
  --fsr-r:        4px;
  --fsr-r2:       10px;
  --fsr-r3:       18px;
  --fsr-r4:       28px;
  --fsr-rp:       100px;
  --fsr-fh:       'Playfair Display', Georgia, serif;
  --fsr-fb:       'Plus Jakarta Sans', system-ui, sans-serif;
  --fsr-ease:     all 0.22s cubic-bezier(.4,0,.2,1);
  --fsr-sh:       0 4px 20px rgba(27,29,60,.08);
  --fsr-sh2:      0 16px 60px rgba(27,29,60,.14);
  --fsr-csh:      0 6px 24px rgba(232,99,122,.2);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:var(--fsr-ivory); color:var(--fsr-ink); font-family:var(--fsr-fb); font-size:1rem; line-height:1.74; overflow-x:hidden; padding-top:84px; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { font-family:inherit; cursor:pointer; border:none; background:none; }
input,textarea,select { font-family:inherit; }
address { font-style:normal; }

h1 { font-family:var(--fsr-fh); font-size:clamp(2.8rem,5vw,6.8rem); font-weight:900; line-height:1.04; letter-spacing:-.02em; }
h2 { font-family:var(--fsr-fh); font-size:clamp(1.9rem,2.8vw,3.2rem); font-weight:700; line-height:1.1; letter-spacing:-.01em; }
h3 { font-family:var(--fsr-fh); font-size:1.1rem; font-weight:700; }
p  { font-size:.96rem; line-height:1.84; color:var(--fsr-mid); }

/* ============================================================
   FLOATING PILL NAV (FIRST in 58 builds!)
   Glassmorphism pill that floats above the page
   ============================================================ */
@keyframes fsrPillEnter {
    from { opacity:0; transform:translateX(-50%) translateY(-18px); }
    to   { opacity:1; transform:translateX(-50%) translateY(0); }
}
.fsr-pill-nav {
    position:fixed; top:16px; left:50%; transform:translateX(-50%);
    z-index:300;
    width:min(calc(100% - 2rem), var(--fsr-max));
    height:60px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border:1.5px solid rgba(255,255,255,.7);
    border-radius:var(--fsr-rp);
    padding:0 8px 0 1.2rem;
    display:flex; align-items:center; gap:.4rem;
    box-shadow:0 8px 40px rgba(27,29,60,.1), 0 2px 8px rgba(27,29,60,.05);
    animation:fsrPillEnter .4s cubic-bezier(.4,0,.2,1) both;
}
/* BIGGER LOGO in pill nav */
.fsr-pill-logo { font-family:var(--fsr-fh); font-size:1.3rem; font-weight:700; color:var(--fsr-indigo); letter-spacing:-.01em; margin-right:auto; flex-shrink:0; }
.fsr-pill-logo em { font-style:normal; color:var(--fsr-coral); }
.fsr-pill-links { display:flex; align-items:center; gap:.1rem; }
/* Nav font bigger than body text */
.fsr-pl { font-family:var(--fsr-fb); font-size:1.0rem; font-weight:600; color:var(--fsr-mid); padding:.36rem .78rem; border-radius:var(--fsr-rp); transition:var(--fsr-ease); white-space:nowrap; }
.fsr-pl:hover,.fsr-pl.fsr-on { background:var(--fsr-cream); color:var(--fsr-indigo); }
.fsr-pill-right { display:flex; align-items:center; gap:.5rem; flex-shrink:0; }
.fsr-lang-sw { display:flex; align-items:center; gap:.3rem; font-size:.7rem; font-weight:700; }
.fsr-lang-btn { color:var(--fsr-muted); transition:color .14s; font-family:var(--fsr-fb); font-size:.7rem; font-weight:700; padding:.2rem .3rem; border-radius:var(--fsr-r); }
.fsr-lang-btn:hover,.fsr-lang-active { color:var(--fsr-coral); }
.fsr-lang-div { color:var(--fsr-border); font-size:.7rem; }
.fsr-pill-cta { font-family:var(--fsr-fh); font-size:.86rem; font-weight:700; color:white; background:var(--fsr-coral); padding:.44rem 1.1rem; border-radius:var(--fsr-rp); transition:background .14s; white-space:nowrap; box-shadow:var(--fsr-csh); }
.fsr-pill-cta:hover { background:var(--fsr-coral2); }
.fsr-pill-ham { display:none; width:36px; height:36px; border-radius:var(--fsr-rp); background:var(--fsr-cream); color:var(--fsr-indigo); align-items:center; justify-content:center; border:1px solid var(--fsr-border); }

/* FULL-SCREEN MOBILE MENU OVERLAY */
.fsr-mob-ov { position:fixed; inset:0; background:var(--fsr-indigo); z-index:290; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:.4rem; opacity:0; visibility:hidden; transform:scale(.96); transition:all .24s; }
.fsr-mob-ov.fsr-mob-open { opacity:1; visibility:visible; transform:none; }
.fsr-mob-close { position:absolute; top:1.4rem; right:1.4rem; color:rgba(255,255,255,.5); background:rgba(255,255,255,.08); border-radius:var(--fsr-rp); width:40px; height:40px; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.fsr-mob-link { font-family:var(--fsr-fh); font-size:2rem; font-weight:700; color:rgba(255,255,255,.7); padding:.4rem; display:block; transition:color .14s; text-align:center; }
.fsr-mob-link:hover { color:var(--fsr-coral); }
.fsr-mob-cta { font-family:var(--fsr-fh); font-size:1rem; font-weight:700; color:var(--fsr-indigo); background:var(--fsr-coral); padding:.62rem 2rem; border-radius:var(--fsr-rp); margin-top:.8rem; }
.fsr-mob-lang { display:flex; gap:.5rem; margin-top:1rem; }

/* ============================================================
   FULL-VIEWPORT HERO (dark indigo + coral accents)
   ============================================================ */
.fsr-hero-cosmos { min-height:calc(100vh - 84px); background:var(--fsr-indigo); display:grid; grid-template-columns:1fr 1fr; align-items:center; position:relative; overflow:hidden; }
.fsr-hero-cosmos::before { content:''; position:absolute; bottom:-100px; left:-100px; width:500px; height:500px; background:radial-gradient(circle,rgba(232,99,122,.08) 0%,transparent 70%); }
.fsr-hero-cosmos::after  { content:''; position:absolute; top:-80px; right:-80px; width:400px; height:400px; background:radial-gradient(circle,rgba(232,99,122,.06) 0%,transparent 70%); }
.fsr-hero-l { padding:5rem 3rem 5rem 0; position:relative; z-index:1; }
.fsr-hero-eyebrow { display:inline-flex; align-items:center; gap:.5rem; font-family:var(--fsr-fb); font-size:.52rem; font-weight:700; text-transform:uppercase; letter-spacing:.28em; color:var(--fsr-coral); margin-bottom:1.2rem; }
.fsr-hero-eyebrow::before { content:''; width:32px; height:2px; background:var(--fsr-coral); border-radius:2px; }
.fsr-hero-h1 { color:white; max-width:15ch; margin-bottom:1.2rem; }
.fsr-hero-h1 .fsr-coral { color:var(--fsr-coral); }
.fsr-hero-sub { color:rgba(255,255,255,.5); max-width:46ch; font-size:1.06rem; margin-bottom:2.5rem; }
.fsr-hero-acts { display:flex; gap:.7rem; flex-wrap:wrap; margin-bottom:3.5rem; }
.fsr-hero-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.fsr-hstat { }
.fsr-hstat-n { font-family:var(--fsr-fh); font-size:2.4rem; font-weight:900; color:white; line-height:1; }
.fsr-hstat-l { font-size:.54rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.3); margin-top:.15rem; }
.fsr-hero-r { display:flex; align-items:center; justify-content:center; position:relative; z-index:1; }
.fsr-hero-deco { width:100%; max-width:480px; opacity:.8; }

/* ============================================================
   METRICS STRIP (below hero - 4 columns)
   ============================================================ */
.fsr-metrics-strip { background:var(--fsr-coral); padding:0; }
.fsr-ms-grid { max-width:var(--fsr-max); margin:0 auto; padding:0 2rem; display:grid; grid-template-columns:repeat(4,1fr); }
.fsr-ms-item { padding:1.8rem 1.5rem; border-right:1px solid rgba(255,255,255,.15); }
.fsr-ms-item:last-child { border-right:none; }
.fsr-ms-n { font-family:var(--fsr-fh); font-size:2.2rem; font-weight:900; color:white; line-height:1; }
.fsr-ms-l { font-size:.54rem; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.6); margin-top:.2rem; }

/* ============================================================
   HORIZONTAL SCROLL CAROUSEL (FIRST in 58!)
   ============================================================ */
.fsr-svc-wrap { position:relative; }
.fsr-svc-nav { display:flex; gap:.5rem; position:absolute; top:-3.8rem; right:2rem; }
.fsr-svc-arr { width:38px; height:38px; border:1.5px solid var(--fsr-border); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--fsr-mid); background:white; transition:var(--fsr-ease); cursor:pointer; }
.fsr-svc-arr:hover { border-color:var(--fsr-coral); color:var(--fsr-coral); }
.fsr-svc-scroll { display:flex; gap:1.2rem; overflow-x:auto; scroll-snap-type:x mandatory; padding:1rem 2.5rem 2rem; margin:0 -2.5rem; cursor:grab; scrollbar-width:none; }
.fsr-svc-scroll::-webkit-scrollbar { display:none; }
.fsr-svc-scroll.fsr-grabbing { cursor:grabbing; }
.fsr-sc-card { min-width:300px; width:300px; scroll-snap-align:start; background:white; border:1.5px solid var(--fsr-border); border-radius:var(--fsr-r3); padding:1.8rem; flex-shrink:0; transition:var(--fsr-ease); display:block; }
.fsr-sc-card:hover { border-color:var(--fsr-coral); box-shadow:var(--fsr-csh); transform:translateY(-3px); }
.fsr-sc-icon { width:42px; height:42px; background:var(--fsr-coralt); border-radius:var(--fsr-r2); display:flex; align-items:center; justify-content:center; color:var(--fsr-coral); margin-bottom:.9rem; transition:var(--fsr-ease); }
.fsr-sc-card:hover .fsr-sc-icon { background:var(--fsr-coral); color:white; }
.fsr-sc-num { font-family:var(--fsr-fb); font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:var(--fsr-muted); margin-bottom:.28rem; }
.fsr-sc-nm { font-family:var(--fsr-fh); font-size:1.05rem; font-weight:700; color:var(--fsr-indigo); margin-bottom:.35rem; }
.fsr-sc-brief { font-size:.8rem; color:var(--fsr-mid); line-height:1.72; }
.fsr-sc-ft { display:flex; align-items:center; justify-content:space-between; margin-top:1rem; padding-top:.8rem; border-top:1px solid var(--fsr-border); }
.fsr-sc-price { font-family:var(--fsr-fh); font-size:.9rem; font-weight:700; color:var(--fsr-indigo); }
.fsr-sc-arr { color:var(--fsr-coral); transition:transform .14s; }
.fsr-sc-card:hover .fsr-sc-arr { transform:translateX(4px); }

/* ============================================================
   ALTERNATING VERTICAL TIMELINE (FIRST in 58!)
   ============================================================ */
.fsr-timeline { position:relative; max-width:900px; margin:0 auto; }
.fsr-timeline::before { content:''; position:absolute; top:28px; bottom:28px; left:50%; width:2px; background:linear-gradient(to bottom,var(--fsr-coral) 0%,var(--fsr-indigo) 100%); transform:translateX(-50%); }
.fsr-tl-row { display:grid; grid-template-columns:1fr 64px 1fr; gap:0; margin-bottom:3.5rem; align-items:start; }
.fsr-tl-dot { width:56px; height:56px; background:var(--fsr-indigo); border:3px solid white; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--fsr-fh); font-size:.8rem; font-weight:700; color:white; margin:0 auto; box-shadow:0 0 0 4px var(--fsr-coralt); transition:var(--fsr-ease); position:relative; z-index:1; }
.fsr-tl-row:hover .fsr-tl-dot { background:var(--fsr-coral); box-shadow:0 0 0 4px var(--fsr-coralt2); }
.fsr-tl-card { background:white; border:1.5px solid var(--fsr-border); border-radius:var(--fsr-r2); padding:1.2rem 1.4rem; margin-top:.5rem; }
.fsr-tl-row.fsr-tl-r .fsr-tl-box-l { visibility:hidden; }
.fsr-tl-row.fsr-tl-l .fsr-tl-box-r { visibility:hidden; }
.fsr-tl-nm { font-family:var(--fsr-fh); font-size:1rem; font-weight:700; color:var(--fsr-indigo); margin-bottom:.3rem; }
.fsr-tl-txt { font-size:.84rem; color:var(--fsr-mid); line-height:1.74; }

/* ============================================================
   EDITORIAL BLOCKQUOTE TESTIMONIAL (FIRST in 58!)
   ============================================================ */
.fsr-quote-editorial { background:var(--fsr-indigo); padding:8rem 0; position:relative; overflow:hidden; }
.fsr-quote-editorial::before { content:'"'; font-family:var(--fsr-fh); font-size:20rem; font-weight:900; color:rgba(232,99,122,.05); position:absolute; top:-3rem; left:2rem; line-height:1; pointer-events:none; }
.fsr-qe-inner { max-width:820px; margin:0 auto; padding:0 2.5rem; position:relative; z-index:1; }
.fsr-qe-who-type { font-family:var(--fsr-fb); font-size:.52rem; font-weight:700; text-transform:uppercase; letter-spacing:.28em; color:var(--fsr-coral); margin-bottom:2rem; display:flex; align-items:center; gap:.5rem; }
.fsr-qe-who-type::before { content:''; width:32px; height:2px; background:var(--fsr-coral); border-radius:2px; }
.fsr-qe-text { font-family:var(--fsr-fh); font-size:clamp(1.4rem,2.5vw,2.2rem); font-weight:400; color:white; line-height:1.52; font-style:italic; margin-bottom:2rem; }
.fsr-qe-attr { display:flex; align-items:center; gap:1.2rem; }
.fsr-qe-avatar { width:48px; height:48px; border-radius:50%; background:var(--fsr-coralt2); border:2px solid var(--fsr-coral); display:flex; align-items:center; justify-content:center; font-family:var(--fsr-fh); font-weight:700; color:var(--fsr-coral); font-size:1rem; flex-shrink:0; }
.fsr-qe-nm { font-family:var(--fsr-fh); font-size:.96rem; font-weight:700; color:white; }
.fsr-qe-role { font-size:.72rem; color:rgba(255,255,255,.4); }
.fsr-qe-stat { font-family:var(--fsr-fh); font-size:.78rem; font-weight:700; color:var(--fsr-coral); background:var(--fsr-coralt); border:1px solid var(--fsr-coralt2); padding:.22rem .8rem; border-radius:var(--fsr-rp); margin-left:auto; }
/* Testimonial navigation dots */
.fsr-qe-dots { display:flex; gap:.5rem; margin-top:2.5rem; }
.fsr-qe-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.18); cursor:pointer; transition:var(--fsr-ease); border:none; }
.fsr-qe-dot.fsr-qd-on { background:var(--fsr-coral); width:24px; border-radius:var(--fsr-rp); }

/* ============================================================
   FAQ STEPPER (FIRST in 58! Large numbers as design element)
   ============================================================ */
.fsr-faq-stepper { }
.fsr-fq-row { display:grid; grid-template-columns:80px 1fr; gap:1rem; padding:1.5rem 0; border-bottom:1px solid var(--fsr-border); align-items:start; }
.fsr-fq-num { font-family:var(--fsr-fh); font-size:3.2rem; font-weight:900; color:var(--fsr-coral); opacity:.15; transition:opacity .2s; line-height:1; padding-top:.1rem; }
.fsr-fq-row.fsr-fq-on .fsr-fq-num,
.fsr-fq-row:hover .fsr-fq-num { opacity:1; }
.fsr-fq-body { }
.fsr-fq-qbtn { display:flex; align-items:flex-start; justify-content:space-between; gap:.5rem; background:none; border:none; cursor:pointer; width:100%; text-align:left; padding:.3rem 0; }
.fsr-fq-qtxt { font-family:var(--fsr-fh); font-size:.96rem; font-weight:600; color:var(--fsr-mid); transition:color .15s; flex:1; line-height:1.4; }
.fsr-fq-row.fsr-fq-on .fsr-fq-qtxt { color:var(--fsr-indigo); }
.fsr-fq-tog { width:24px; height:24px; border:1.5px solid var(--fsr-border); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:var(--fsr-ease); color:var(--fsr-muted); }
.fsr-fq-row.fsr-fq-on .fsr-fq-tog { background:var(--fsr-coral); border-color:var(--fsr-coral); color:white; }
.fsr-fq-ans-wrap { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.fsr-fq-row.fsr-fq-on .fsr-fq-ans-wrap { max-height:200px; }
.fsr-fq-ans { padding:.4rem 0 .6rem; font-size:.88rem; color:var(--fsr-mid); line-height:1.84; }

/* ============================================================
   BUILDER (custom package)
   ============================================================ */
.fsr-bld-shell { max-width:var(--fsr-max); margin:0 auto; padding:4rem 2rem 8rem; display:grid; grid-template-columns:1fr 280px; gap:4rem; align-items:start; }
.fsr-bgrp { margin-bottom:2rem; }
.fsr-bgrp-lbl { display:block; font-family:var(--fsr-fb); font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.24em; color:var(--fsr-coral); margin-bottom:.8rem; }
.fsr-pick-row { background:white; border:1.5px solid var(--fsr-border); border-radius:var(--fsr-r2); padding:.72rem 1rem; display:flex; align-items:center; gap:.6rem; cursor:pointer; user-select:none; transition:var(--fsr-ease); margin-bottom:.4rem; }
.fsr-pick-row:hover { border-color:var(--fsr-border2); }
.fsr-pick-row.fsr-picked { border-color:var(--fsr-coral); background:var(--fsr-coralt); }
.fsr-pick-dot { width:17px; height:17px; border:1.5px solid var(--fsr-border2); border-radius:var(--fsr-r); flex-shrink:0; transition:var(--fsr-ease); }
.fsr-pick-row.fsr-picked .fsr-pick-dot { background:var(--fsr-coral); border-color:var(--fsr-coral); }
.fsr-pick-nm { font-size:.88rem; color:var(--fsr-mid); flex:1; }
.fsr-pick-row.fsr-picked .fsr-pick-nm { color:var(--fsr-ink); font-weight:600; }
.fsr-pick-pr { font-size:.74rem; font-weight:700; color:var(--fsr-indigo); white-space:nowrap; }
.fsr-adn-chips { display:flex; flex-wrap:wrap; gap:.4rem; }
.fsr-adn-chip { background:white; border:1.5px solid var(--fsr-border); border-radius:var(--fsr-rp); padding:.44rem .9rem; cursor:pointer; user-select:none; transition:var(--fsr-ease); }
.fsr-adn-chip.fsr-adn-on { border-color:var(--fsr-coral); background:var(--fsr-coralt); }
.fsr-adn-cn { font-size:.8rem; font-weight:600; color:var(--fsr-mid); }
.fsr-adn-chip.fsr-adn-on .fsr-adn-cn { color:var(--fsr-ink); }
.fsr-adn-cp { font-size:.62rem; color:var(--fsr-muted); }
.fsr-adn-chip.fsr-adn-on .fsr-adn-cp { color:var(--fsr-coral2); }
.fsr-hrs-panel { background:white; border:1.5px solid var(--fsr-border); border-radius:var(--fsr-r2); padding:.9rem 1rem; }
.fsr-hrs-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:.5rem; }
.fsr-hrs-lbl { font-size:.84rem; color:var(--fsr-mid); }
.fsr-hrs-num { font-family:var(--fsr-fh); font-size:2rem; font-weight:900; color:var(--fsr-coral); line-height:1; }
.fsr-hrs-range { -webkit-appearance:none; width:100%; height:3px; background:var(--fsr-border); border-radius:2px; cursor:pointer; }
.fsr-hrs-range::-webkit-slider-thumb { -webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:var(--fsr-coral); cursor:pointer; border:2px solid white; box-shadow:var(--fsr-sh); }
.fsr-hrs-note { font-size:.66rem; color:var(--fsr-muted); margin-top:.4rem; }
/* Indigo receipt */
.fsr-receipt { background:var(--fsr-indigo); border-radius:var(--fsr-r3); overflow:hidden; position:sticky; top:2rem; }
.fsr-receipt-hd { background:rgba(255,255,255,.05); padding:.8rem 1.2rem; border-bottom:1px solid rgba(255,255,255,.08); }
.fsr-receipt-hl { font-family:var(--fsr-fb); font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.16em; color:rgba(255,255,255,.3); }
.fsr-receipt-body { padding:.8rem 1.2rem; min-height:60px; }
.fsr-receipt-empty { font-size:.76rem; color:rgba(255,255,255,.2); font-style:italic; }
.fsr-receipt-ln { display:flex; justify-content:space-between; gap:.5rem; font-size:.76rem; margin-bottom:.38rem; }
.fsr-receipt-lnm { color:rgba(255,255,255,.4); }
.fsr-receipt-lpr { font-weight:700; color:var(--fsr-coral); }
.fsr-receipt-ft { border-top:1px solid rgba(255,255,255,.08); padding:.8rem 1.2rem; }
.fsr-receipt-tot { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:.8rem; }
.fsr-receipt-totl { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.22); }
.fsr-receipt-tota { font-family:var(--fsr-fh); font-size:2.8rem; font-weight:900; color:var(--fsr-coral); line-height:1; }
.fsr-receipt-go { display:block; width:100%; background:var(--fsr-coral); color:white; font-family:var(--fsr-fh); font-size:.9rem; font-weight:700; padding:.76rem; border-radius:var(--fsr-rp); border:none; cursor:pointer; transition:background .14s; }
.fsr-receipt-go:hover:not(:disabled) { background:var(--fsr-coral2); }
.fsr-receipt-go:disabled { opacity:.22; cursor:not-allowed; }

/* ============================================================
   PAGE CAP (inner pages) - centered H1
   ============================================================ */
.fsr-pagecap { background:var(--fsr-indigo); padding:6rem 0 5rem; position:relative; overflow:hidden; }
.fsr-pagecap::after { content:''; position:absolute; top:-40px; right:-40px; width:220px; height:220px; border:1.5px solid rgba(232,99,122,.08); border-radius:50%; }
.fsr-pagecap-in { max-width:var(--fsr-max); margin:0 auto; padding:0 2.5rem; }
.fsr-pagecap-tag { font-family:var(--fsr-fb); font-size:.52rem; font-weight:700; text-transform:uppercase; letter-spacing:.28em; color:var(--fsr-coral); display:inline-flex; align-items:center; gap:.4rem; margin-bottom:.7rem; }
.fsr-pagecap h1 { color:white; max-width:22ch; }
.fsr-pagecap-sub { color:rgba(255,255,255,.4); max-width:56ch; margin:.6rem 0 0; font-size:.98rem; }

/* ============================================================
   SERVICE PAGE
   ============================================================ */
.fsr-svc-layout { max-width:var(--fsr-max); margin:0 auto; padding:5rem 2.5rem; display:grid; grid-template-columns:1fr 270px; gap:5rem; align-items:start; }
.fsr-svc-main h2 { color:var(--fsr-coral2); font-family:var(--fsr-fh); font-size:1.3rem; margin:2.5rem 0 .5rem; }
.fsr-svc-main p { margin-bottom:.88rem; }
.fsr-deliv-row { display:flex; align-items:flex-start; gap:.44rem; font-size:.88rem; color:var(--fsr-mid); margin-bottom:.35rem; }
.fsr-deliv-row svg { color:var(--fsr-coral); flex-shrink:0; margin-top:.1rem; }
.fsr-svc-aside { background:var(--fsr-indigo); border-radius:var(--fsr-r3); overflow:hidden; position:sticky; top:2rem; }
.fsr-aside-top { padding:1.3rem; }
.fsr-aside-from { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.28); margin-bottom:.2rem; }
.fsr-aside-price { font-family:var(--fsr-fh); font-size:1.15rem; font-weight:900; color:var(--fsr-coral); margin-bottom:.8rem; }
.fsr-aside-img img { width:100%; height:100px; object-fit:cover; }
.fsr-other-h { font-size:.42rem; font-weight:700; text-transform:uppercase; letter-spacing:.22em; color:rgba(255,255,255,.2); margin:1.2rem 1.3rem .5rem; }
.fsr-other-lk { display:flex; align-items:center; gap:.4rem; font-size:.8rem; color:rgba(255,255,255,.28); padding:.35rem 1.3rem; border-top:1px solid rgba(255,255,255,.05); transition:color .14s; }
.fsr-other-lk:hover { color:var(--fsr-coral); }

/* ============================================================
   CHECKOUT
   ============================================================ */
.fsr-co-frame { max-width:900px; margin:0 auto; padding:5rem 2rem; display:grid; grid-template-columns:1fr 260px; gap:4rem; align-items:start; }
.fsr-fg { margin-bottom:.6rem; }
.fsr-fl { display:block; font-family:var(--fsr-fb); font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--fsr-muted); margin-bottom:.28rem; }
.fsr-fi { width:100%; background:white; border:1.5px solid var(--fsr-border); border-radius:var(--fsr-r2); padding:.68rem .94rem; color:var(--fsr-ink); font-size:.94rem; transition:border-color .15s; }
.fsr-fi:focus { outline:none; border-color:var(--fsr-coral); box-shadow:0 0 0 3px rgba(232,99,122,.1); }
.fsr-fi::placeholder { color:var(--fsr-muted); }
.fsr-agree { display:flex; align-items:flex-start; gap:.5rem; font-size:.8rem; color:var(--fsr-mid); margin:.9rem 0; line-height:1.6; }
.fsr-agree input { margin-top:.14rem; accent-color:var(--fsr-coral); }
.fsr-agree a { color:var(--fsr-coral2); }
.fsr-co-recap { background:var(--fsr-indigo); border-radius:var(--fsr-r3); overflow:hidden; position:sticky; top:2rem; }
.fsr-co-hd { background:rgba(255,255,255,.05); padding:.7rem 1.1rem; border-bottom:1px solid rgba(255,255,255,.07); }
.fsr-co-hl { font-family:var(--fsr-fb); font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.25); }
.fsr-co-body { padding:.9rem 1.1rem; }
.fsr-co-ln { display:flex; justify-content:space-between; gap:1rem; font-size:.76rem; margin-bottom:.38rem; }
.fsr-co-lnm { color:rgba(255,255,255,.38); }
.fsr-co-lpr { font-weight:700; color:var(--fsr-coral); }
.fsr-co-div { border:none; border-top:1px solid rgba(255,255,255,.07); margin:.5rem 0; }
.fsr-co-tot { display:flex; justify-content:space-between; align-items:flex-end; }
.fsr-co-totl { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.22); }
.fsr-co-totv { font-family:var(--fsr-fh); font-size:2.4rem; font-weight:900; color:var(--fsr-coral); line-height:1; }

/* ============================================================
   LEGAL
   ============================================================ */
.fsr-legal { max-width:820px; margin:0 auto; padding:5rem 2rem 8rem; }
.fsr-legal h2 { font-family:var(--fsr-fh); font-size:1.4rem; font-weight:700; color:var(--fsr-coral2); margin:2.8rem 0 .5rem; }
.fsr-legal h3 { font-family:var(--fsr-fh); font-size:.92rem; font-weight:700; color:var(--fsr-indigo); margin:1.4rem 0 .3rem; }
.fsr-legal p { margin-bottom:.88rem; font-size:.92rem; }
.fsr-legal ul { padding-left:1.2rem; margin:.4rem 0 .88rem; }
.fsr-legal li { font-size:.92rem; list-style:disc; color:var(--fsr-mid); line-height:1.72; margin-bottom:.26rem; }
.fsr-legal a { color:var(--fsr-coral2); }
.fsr-legal address { background:var(--fsr-cream); border-left:3px solid var(--fsr-coral); padding:.88rem 1.1rem; font-size:.88rem; color:var(--fsr-mid); line-height:1.86; margin:.88rem 0; border-radius:0 var(--fsr-r) var(--fsr-r) 0; }
.fsr-legal-eff { display:inline-block; font-size:.7rem; color:var(--fsr-muted); background:var(--fsr-cream); border:1px solid var(--fsr-border); padding:.24rem .7rem; border-radius:var(--fsr-rp); margin-bottom:1.5rem; }
.fsr-result-page { min-height:72vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:6rem 2rem; }

/* ============================================================
   PRICING (3 cards with hover elevation)
   ============================================================ */
.fsr-price-trio { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:2rem; }
.fsr-pt-card { background:white; border:1.5px solid var(--fsr-border); border-radius:var(--fsr-r3); padding:1.8rem 1.5rem; transition:var(--fsr-ease); position:relative; }
.fsr-pt-card:hover { box-shadow:var(--fsr-sh2); transform:translateY(-4px); }
.fsr-pt-card.fsr-pt-feat { background:var(--fsr-indigo); border-color:var(--fsr-indigo); }
.fsr-pt-badge { font-size:.48rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:white; background:var(--fsr-coral); padding:.2rem .7rem; border-radius:var(--fsr-rp); display:inline-block; margin-bottom:.6rem; }
.fsr-pt-nm { font-family:var(--fsr-fh); font-size:1.4rem; font-weight:700; color:var(--fsr-indigo); display:block; }
.fsr-pt-card.fsr-pt-feat .fsr-pt-nm { color:white; }
.fsr-pt-tag { font-size:.8rem; color:var(--fsr-muted); display:block; margin-bottom:.8rem; }
.fsr-pt-card.fsr-pt-feat .fsr-pt-tag { color:rgba(255,255,255,.4); }
.fsr-pt-price { font-family:var(--fsr-fh); font-size:2.8rem; font-weight:900; color:var(--fsr-indigo); line-height:1; margin-bottom:.3rem; }
.fsr-pt-card.fsr-pt-feat .fsr-pt-price { color:var(--fsr-coral); }
.fsr-pt-per { font-size:.5rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--fsr-muted); margin-bottom:1.2rem; }
.fsr-pt-card.fsr-pt-feat .fsr-pt-per { color:rgba(255,255,255,.3); }
.fsr-pt-items { display:flex; flex-direction:column; gap:.35rem; margin-bottom:1.4rem; }
.fsr-pt-item { display:flex; align-items:flex-start; gap:.38rem; font-size:.82rem; color:var(--fsr-mid); }
.fsr-pt-card.fsr-pt-feat .fsr-pt-item { color:rgba(255,255,255,.5); }
.fsr-pt-item svg { color:var(--fsr-coral); flex-shrink:0; margin-top:.1rem; }
.fsr-pt-div { border:none; border-top:1px solid var(--fsr-border); margin:.8rem 0; }
.fsr-pt-card.fsr-pt-feat .fsr-pt-div { border-top-color:rgba(255,255,255,.08); }

/* ============================================================
   BUTTONS
   ============================================================ */
.fsr-btn-coral { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--fsr-fh); font-size:.94rem; font-weight:700; color:white; background:var(--fsr-coral); padding:.72rem 2rem; border-radius:var(--fsr-rp); transition:background .14s; border:none; cursor:pointer; white-space:nowrap; box-shadow:var(--fsr-csh); }
.fsr-btn-coral:hover { background:var(--fsr-coral2); }
.fsr-btn-indigo { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--fsr-fh); font-size:.94rem; font-weight:700; color:white; background:var(--fsr-indigo); padding:.72rem 2rem; border-radius:var(--fsr-rp); transition:opacity .14s; border:none; cursor:pointer; white-space:nowrap; }
.fsr-btn-indigo:hover { opacity:.84; }
.fsr-btn-outline { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--fsr-fh); font-size:.94rem; font-weight:700; color:white; background:transparent; padding:.7rem 1.9rem; border-radius:var(--fsr-rp); border:1.5px solid rgba(255,255,255,.3); transition:var(--fsr-ease); white-space:nowrap; }
.fsr-btn-outline:hover { color:white; border-color:rgba(255,255,255,.6); background:rgba(255,255,255,.06); }
.fsr-btn-outline-dark { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--fsr-fh); font-size:.94rem; font-weight:700; color:var(--fsr-indigo); background:transparent; padding:.7rem 1.9rem; border-radius:var(--fsr-rp); border:1.5px solid var(--fsr-border2); transition:var(--fsr-ease); white-space:nowrap; }
.fsr-btn-outline-dark:hover { border-color:var(--fsr-coral); color:var(--fsr-coral2); }
.fsr-btn-sm-coral { display:inline-flex; align-items:center; gap:.35rem; font-family:var(--fsr-fh); font-size:.84rem; font-weight:700; color:white; background:var(--fsr-coral); padding:.5rem 1.1rem; border-radius:var(--fsr-rp); transition:background .14s; border:none; cursor:pointer; white-space:nowrap; }
.fsr-btn-sm-coral:hover { background:var(--fsr-coral2); }
.fsr-btn-sm-out { display:inline-flex; align-items:center; gap:.35rem; font-family:var(--fsr-fh); font-size:.84rem; font-weight:700; color:var(--fsr-mid); background:transparent; padding:.48rem 1.2rem; border-radius:var(--fsr-rp); border:1.5px solid var(--fsr-border); transition:var(--fsr-ease); white-space:nowrap; }
.fsr-btn-sm-out:hover { border-color:var(--fsr-coral); color:var(--fsr-coral2); }
.fsr-btn-sm-w { display:inline-flex; align-items:center; gap:.35rem; font-family:var(--fsr-fh); font-size:.84rem; font-weight:700; color:rgba(255,255,255,.5); background:transparent; padding:.48rem 1.2rem; border-radius:var(--fsr-rp); border:1.5px solid rgba(255,255,255,.15); transition:var(--fsr-ease); white-space:nowrap; }
.fsr-btn-sm-w:hover { border-color:var(--fsr-coral); color:var(--fsr-coral); }

/* ============================================================
   UTILITIES
   ============================================================ */
.fsr-hull { max-width:var(--fsr-max); margin:0 auto; padding:0 2.5rem; }
.fsr-slab { padding:7rem 0; }
.fsr-slab-sm { padding:4.5rem 0; }
.fsr-eyebrow { font-family:var(--fsr-fb); font-size:.52rem; font-weight:700; text-transform:uppercase; letter-spacing:.28em; color:var(--fsr-coral); display:inline-flex; align-items:center; gap:.5rem; }
.fsr-eyebrow::before { content:''; width:28px; height:2px; background:var(--fsr-coral); border-radius:2px; }
.fsr-float { opacity:0; transform:translateY(16px); transition:opacity .44s ease,transform .44s ease; }
.fsr-float.fsr-vis { opacity:1; transform:none; }

/* ============================================================
   COOKIE + CHAT
   ============================================================ */
.fsr-ck-bar { position:fixed; bottom:0; left:0; right:0; background:var(--fsr-indigo); border-top:2px solid var(--fsr-coral); z-index:9999; padding:.9rem 2rem; display:none; gap:1rem; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.fsr-ck-bar p { font-size:.78rem; color:rgba(255,255,255,.35); margin:0; }
.fsr-ck-bar a { color:var(--fsr-coral); }
.fsr-ck-btns { display:flex; gap:.4rem; flex-shrink:0; }
.fsr-ck-yes { background:var(--fsr-coral); color:white; font-family:var(--fsr-fh); font-size:.78rem; font-weight:700; padding:.38rem .92rem; border:none; border-radius:var(--fsr-r); cursor:pointer; }
.fsr-ck-no { background:transparent; color:rgba(255,255,255,.3); font-family:var(--fsr-fb); font-size:.78rem; padding:.38rem .92rem; border:1px solid rgba(255,255,255,.12); border-radius:var(--fsr-r); cursor:pointer; }
.fsr-chat-fab { position:fixed; bottom:4.5rem; right:1.5rem; z-index:9990; width:54px; height:54px; background:var(--fsr-coral); border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:var(--fsr-csh); cursor:pointer; border:none; transition:var(--fsr-ease); }
.fsr-chat-fab:hover { background:var(--fsr-coral2); transform:scale(1.06); }
.fsr-chatpop { position:fixed; bottom:7.8rem; right:1.5rem; z-index:9989; width:274px; background:white; border:1px solid var(--fsr-border); border-radius:var(--fsr-r3); box-shadow:var(--fsr-sh2); opacity:0; pointer-events:none; transform:translateY(8px) scale(.97); transition:opacity .2s,transform .22s; overflow:hidden; }
.fsr-chatpop.fsr-cp-on { opacity:1; pointer-events:auto; transform:none; }
.fsr-chatpop-hd { background:var(--fsr-indigo); padding:.9rem 1rem; display:flex; align-items:center; justify-content:space-between; border-bottom:2px solid var(--fsr-coral); }
.fsr-chatpop-nm { font-family:var(--fsr-fh); font-size:.9rem; font-weight:700; color:white; }
.fsr-chatpop-sub { font-size:.54rem; color:rgba(255,255,255,.35); }
.fsr-chat-done { display:none; text-align:center; padding:.7rem; font-size:.82rem; color:var(--fsr-coral2); font-weight:700; }
.fsr-chat-inp { width:100%; background:var(--fsr-cream); border:1px solid var(--fsr-border); border-radius:var(--fsr-r); padding:.46rem .78rem; font-size:.82rem; color:var(--fsr-ink); margin-bottom:.36rem; resize:none; }
.fsr-chat-send { width:100%; background:var(--fsr-coral); color:white; font-family:var(--fsr-fh); font-size:.8rem; font-weight:700; padding:.48rem; border-radius:var(--fsr-rp); border:none; cursor:pointer; }

/* ============================================================
   FOOTER
   ============================================================ */
.fsr-foot { background:var(--fsr-indigo2); border-top:1px solid rgba(255,255,255,.04); }
.fsr-foot-body { max-width:var(--fsr-max); margin:0 auto; padding:5rem 2.5rem 2rem; display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:2rem; }
/* BIGGER LOGO in footer */
.fsr-foot-logo { font-family:var(--fsr-fh); font-size:1.7rem; font-weight:700; color:white; letter-spacing:-.01em; }
.fsr-foot-logo em { font-style:normal; color:var(--fsr-coral); }
.fsr-foot-tagline { font-size:.76rem; color:rgba(255,255,255,.22); margin-top:.25rem; max-width:28ch; line-height:1.72; margin-bottom:.9rem; }
.fsr-foot-soc { display:flex; gap:.38rem; flex-wrap:wrap; }
.fsr-foot-soc a { width:30px; height:30px; border:1px solid rgba(255,255,255,.1); border-radius:var(--fsr-r); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.28); transition:var(--fsr-ease); }
.fsr-foot-soc a:hover { border-color:var(--fsr-coral); color:var(--fsr-coral); }
.fsr-foot-col-h { font-family:var(--fsr-fb); font-size:.42rem; font-weight:700; text-transform:uppercase; letter-spacing:.28em; color:rgba(255,255,255,.16); margin-bottom:.8rem; }
.fsr-foot-navs { display:flex; flex-direction:column; gap:.44rem; }
.fsr-foot-navs a { font-size:.8rem; color:rgba(255,255,255,.3); transition:color .14s; }
.fsr-foot-navs a:hover { color:var(--fsr-coral); }
.fsr-foot-ct a { display:flex; align-items:flex-start; gap:.36rem; font-size:.78rem; color:rgba(255,255,255,.3); margin-bottom:.44rem; transition:color .14s; }
.fsr-foot-ct a:hover { color:var(--fsr-coral); }
.fsr-foot-ct svg { color:rgba(255,255,255,.18); flex-shrink:0; margin-top:.06rem; }
.fsr-foot-btm { border-top:1px solid rgba(255,255,255,.05); max-width:var(--fsr-max); margin:0 auto; padding:.9rem 2.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.fsr-foot-copy { font-size:.62rem; color:rgba(255,255,255,.16); }
.fsr-foot-legal { display:flex; gap:1rem; flex-wrap:wrap; }
.fsr-foot-legal a { font-size:.62rem; color:rgba(255,255,255,.16); transition:color .14s; }
.fsr-foot-legal a:hover { color:var(--fsr-coral); }
.fsr-foot-lang { display:flex; align-items:center; gap:.4rem; }
.fsr-foot-lang a { font-size:.62rem; font-weight:700; color:rgba(255,255,255,.2); transition:color .14s; }
.fsr-foot-lang a:hover,.fsr-foot-lang a.fsr-lang-active { color:var(--fsr-coral); }

/* ============================================================
   CASE STUDIES GRID
   ============================================================ */
.fsr-cases-trio { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.fsr-cs-card { background:white; border:1.5px solid var(--fsr-border); border-radius:var(--fsr-r3); overflow:hidden; transition:var(--fsr-ease); }
.fsr-cs-card:hover { box-shadow:var(--fsr-sh2); transform:translateY(-3px); }
.fsr-cs-img { width:100%; height:160px; object-fit:cover; display:block; }
.fsr-cs-body { padding:1.2rem; }
.fsr-cs-type { font-family:var(--fsr-fb); font-size:.46rem; font-weight:700; text-transform:uppercase; letter-spacing:.18em; color:var(--fsr-coral); margin-bottom:.3rem; }
.fsr-cs-nm { font-family:var(--fsr-fh); font-size:.94rem; font-weight:700; color:var(--fsr-indigo); margin-bottom:.4rem; }
.fsr-cs-ch { font-size:.8rem; color:var(--fsr-mid); line-height:1.72; margin-bottom:.8rem; }
.fsr-cs-stat-row { border-top:1px solid var(--fsr-border); padding-top:.7rem; display:flex; align-items:center; gap:.8rem; }
.fsr-cs-stat-n { font-family:var(--fsr-fh); font-size:1.8rem; font-weight:900; color:var(--fsr-coral); line-height:1; }
.fsr-cs-stat-l { font-size:.5rem; color:var(--fsr-muted); text-transform:uppercase; letter-spacing:.08em; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px) {
  .fsr-pill-links,.fsr-pill-cta { display:none; }
  .fsr-pill-ham { display:flex; }
  .fsr-hero-cosmos { grid-template-columns:1fr; }
  .fsr-hero-r { display:none; }
  .fsr-hero-l { padding:4rem 2rem 4rem; }
  .fsr-price-trio,.fsr-cases-trio { grid-template-columns:1fr; }
  .fsr-bld-shell,.fsr-co-frame,.fsr-svc-layout { grid-template-columns:1fr; gap:2.5rem; }
  .fsr-foot-body { grid-template-columns:1fr 1fr; }
  .fsr-ms-grid { grid-template-columns:repeat(2,1fr); }
  .fsr-timeline::before { left:28px; }
  .fsr-tl-row { grid-template-columns:64px 1fr; }
  .fsr-tl-row .fsr-tl-box-l,.fsr-tl-row .fsr-tl-box-r { display:block !important; visibility:visible !important; }
  .fsr-tl-row.fsr-tl-r,.fsr-tl-row.fsr-tl-l { direction:ltr; }
  .fsr-hull { padding-left:1.4rem; padding-right:1.4rem; }
}
@media (max-width:640px) {
  body { padding-top:76px; }
  .fsr-pill-nav { top:12px; }
  .fsr-ms-grid { grid-template-columns:1fr 1fr; }
  .fsr-foot-body { grid-template-columns:1fr; }
  .fsr-hero-stats { grid-template-columns:repeat(3,1fr); }
  .fsr-fq-row { grid-template-columns:48px 1fr; }
  .fsr-fq-num { font-size:2rem; }
}
