.fl-glow {
  pointer-events: none;
  position: fixed; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse 42% 32% at 78% 8%, rgba(162,86,255,.16), transparent 62%),
    radial-gradient(ellipse 36% 28% at 12% 88%, rgba(255,46,199,.1), transparent 58%),
    radial-gradient(ellipse 28% 22% at 50% 42%, rgba(214,255,0,.05), transparent 70%);
}

.fl-head {
  position: sticky; top: 0; z-index: 20;
  display: flex; justify-content: space-between; align-items: center;
  padding: .85rem clamp(1rem, 4vw, 2.4rem);
  background: rgba(5,5,5,.78);
  border-bottom: 1px solid #222;
  backdrop-filter: blur(18px);
}
.fl-brand img {
  display: block; height: 38px; width: auto;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.45));
}
.fl-head nav { display: flex; gap: 1.15rem; align-items: center; }
.fl-head nav a:not(.btn) {
  color: #cfcfcf; font-weight: 600; font-size: .86rem; text-decoration: none;
}
.fl-head nav a:not(.btn):hover { color: var(--fi-lime); }
.fl-head .btn { min-height: 42px; padding: .55rem 1.1rem; }

.fl-hero {
  position: relative; z-index: 1;
  text-align: center;
  padding: 3.2rem 1.2rem 2.4rem;
}
.fl-pill {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .4rem .85rem; border-radius: 999px;
  border: 1px solid rgba(214,255,0,.35);
  color: var(--fi-lime); font-size: .72rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  margin-bottom: 1.15rem;
}
.fl-pill .dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--fi-lime);
  box-shadow: 0 0 10px var(--fi-lime);
  animation: pulse 1.6s ease-in-out infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .35; }
}
.fl-hero h1 {
  font-family: var(--fi-font-display);
  font-size: clamp(2.6rem, 7.5vw, 4.4rem);
  font-weight: 800; letter-spacing: -.045em; line-height: .92;
  margin: 0 auto .9rem;
}
.fl-hero h1 em { font-style: normal; color: var(--fi-lime); }
.fl-lead {
  color: #bdbdbd; max-width: 36rem; margin: 0 auto 1.5rem;
  font-size: 1.02rem; line-height: 1.55;
}
.fl-cta { display: flex; flex-wrap: wrap; gap: .65rem; justify-content: center; }

.fl-demo {
  width: min(420px, 100%);
  margin: 0 auto 0.7rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .55rem;
  align-items: end;
  text-align: left;
}
.fl-demo label {
  display: grid; gap: .3rem;
  font-size: .78rem; font-weight: 700; color: #cfcfcf;
}
.fl-demo label:first-child,
.fl-demo label:nth-child(3),
.fl-demo .btn,
.fl-demo .status { grid-column: 1 / -1; }
.fl-demo input, .fl-demo select {
  min-height: 48px; padding: .6rem .9rem; border-radius: 14px;
  border: 1px solid #333; background: #0d0d0d; color: #fff;
}
.fl-demo .btn { min-height: 48px; }
.fl-demo .status { min-height: 1.2em; font-size: .85rem; margin: 0; }
.fl-demo .status.err { color: #ff5d73; }
.fl-demo-hint { color: #8f8f8f; font-size: .82rem; margin: 0 auto 1.4rem; }

.fl-recuerdo {
  position: relative; z-index: 1;
  text-align: center;
  width: min(720px, calc(100% - 2rem));
  margin: 0 auto 2.6rem;
  padding: 1.6rem 1.2rem;
  border: 1px solid rgba(214,255,0,.35);
  border-radius: 22px;
  background: rgba(214,255,0,.05);
}
.fl-recuerdo h2 {
  font-size: clamp(1.8rem, 5vw, 2.6rem); font-weight: 800;
  letter-spacing: -.035em; line-height: 1.05; margin: .35rem 0 .7rem;
}

.fl-stage {
  width: min(720px, 100%);
  margin: 2.6rem auto 0;
  display: grid; grid-template-columns: 220px 1fr; gap: 1.1rem;
  align-items: stretch; text-align: left;
  padding: 1rem; border: 1px solid var(--fi-stroke); border-radius: var(--fi-radius-lg);
  background: linear-gradient(rgba(8,9,10,.40), rgba(8,9,10,.75)), url("/brand/led-assets/led-fondo-fiesta-01.png") center/cover;
}
.fl-phone, .fl-led {
  border: 1px solid #2a2a2a; background: #0d0d0d;
  box-shadow: 0 24px 50px rgba(0,0,0,.45);
}
.fl-phone {
  border-radius: 28px;
  padding: 0;
  min-height: 320px;
  overflow: hidden;
  display: grid;
  grid-template-rows: 1fr auto;
}
.ph-cover {
  background:
    linear-gradient(180deg, transparent, #0d0d0d 92%),
    url("/uploads/cover_sofia_demo.jpg") center 20%/cover no-repeat;
  min-height: 170px;
}
.ph-sheet { padding: 0 1rem 1.15rem; }
.ph-kicker { color: var(--fi-lime); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; }
.fl-phone strong { display: block; font-size: 1.4rem; font-weight: 800; margin: .2rem 0 .2rem; letter-spacing: -.03em; }
.ph-sheet > span { display: block; color: #9a9a9a; font-size: .8rem; margin-bottom: .85rem; }
.ph-btn {
  display: block; text-align: center; background: var(--fi-lime); color: #050505;
  font-weight: 800; border-radius: 999px; padding: .7rem; font-size: .82rem;
}

.fl-how {
  position: relative; z-index: 1;
  width: min(980px, calc(100% - 2rem));
  margin: 0 auto 2.6rem;
}
.fl-kicker {
  color: var(--fi-lime); font-size: .72rem; font-weight: 800;
  letter-spacing: .16em; text-transform: uppercase; margin-bottom: .4rem;
}
.fl-how h2 { font-size: clamp(1.6rem, 4vw, 2.1rem); font-weight: 800; letter-spacing: -.03em; margin-bottom: 1rem; }
.fl-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: .85rem; }
.fl-steps article {
  border: 1px solid #2a2a2a; background: #111; border-radius: 16px; padding: 1.1rem;
}
.fl-steps span { color: var(--fi-lime); font-weight: 800; font-size: .75rem; letter-spacing: .12em; }
.fl-steps b { display: block; margin: .35rem 0 .3rem; font-size: 1.05rem; }
.fl-steps p { color: #9a9a9a; font-size: .88rem; line-height: 1.45; }

.fl-foot {
  position: relative; z-index: 1;
  border-top: 1px solid #222;
  padding: 1.4rem 1rem 2rem;
  text-align: center; color: #8a8a8a; font-size: .85rem;
}
.fl-foot img { height: 36px; width: auto; max-width: min(220px, 72vw); object-fit: contain; margin: 0 auto .55rem; }
.fl-foot a { color: var(--fi-lime); }
.fl-led {
  border-radius: 18px; padding: 1.2rem 1.3rem;
  background:
    radial-gradient(ellipse 50% 40% at 90% 0%, rgba(162,86,255,.2), transparent 55%),
    #0d0d0d;
}
.fl-led p { color: var(--fi-lime); font-size: .72rem; letter-spacing: .18em; font-weight: 700; }
.fl-led b { display: block; font-size: 1.55rem; font-weight: 800; margin: .25rem 0 .9rem; letter-spacing: -.03em; }
.fl-led ol { list-style: none; display: grid; gap: .55rem; }
.fl-led li { color: #ddd; font-weight: 600; font-size: .92rem; display: grid; grid-template-columns: 1fr auto; }
.fl-led i {
  display: block; height: 4px; width: 70%; margin-top: .4rem;
  border-radius: 99px; background: var(--fi-lime); grid-column: 1 / -1;
}
.fl-led li:nth-child(2) i { width: 48%; background: var(--fi-violet); }
.fl-led li:nth-child(3) i { width: 32%; background: var(--fi-fuchsia); }

.fl-grid {
  position: relative; z-index: 1;
  width: min(980px, calc(100% - 2rem));
  margin: 1.2rem auto 2.4rem;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: .85rem;
}
.fl-grid .card {
  padding: 1.15rem 1.1rem 1.2rem;
  min-height: 148px;
}
.fl-grid .card:hover {
  border-color: rgba(214,255,0,.45);
  box-shadow: 0 0 24px rgba(214,255,0,.12);
}
.fl-grid .card span {
  display: block; color: var(--fi-lime); font-size: .72rem; font-weight: 800;
  letter-spacing: .14em; margin-bottom: .45rem;
}
.fl-grid .card b { display: block; font-size: 1.05rem; font-weight: 800; }
.fl-grid .card p { color: #9f9f9f; margin-top: .4rem; font-size: .88rem; line-height: 1.45; }

.fl-close {
  position: relative; z-index: 1;
  text-align: center; padding: 1.5rem 1rem 4.2rem;
}
.fl-close h2 {
  font-size: clamp(1.9rem, 5vw, 2.7rem); font-weight: 800;
  letter-spacing: -.035em; line-height: 1.05; margin-bottom: 1.15rem;
}

.fl-plans, .fl-faq {
  position: relative; z-index: 1;
  width: min(980px, calc(100% - 2rem));
  margin: 0 auto 3.5rem;
}
.fl-section-head { max-width: 38rem; margin-bottom: 1.15rem; }
.fl-section-head h2 {
  font-family: var(--fi-font-display); font-size: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.08; letter-spacing: -.03em; margin: 0;
}
.fl-plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .85rem; }
.fl-plan {
  display: flex; flex-direction: column; min-height: 286px; padding: 1.3rem;
  border: 1px solid var(--fi-stroke); border-radius: var(--fi-radius);
  background: var(--fi-surface); box-shadow: var(--fi-shadow);
}
.fl-plan-featured { border-color: var(--fi-lime); box-shadow: var(--fi-glow), var(--fi-shadow); }
.fl-plan-name { font-family: var(--fi-font-display); font-size: 1.35rem; font-weight: 800; margin: 0; }
.fl-plan-name span { display: inline-block; margin-left: .35rem; padding: .18rem .42rem; border-radius: 999px; background: var(--fi-lime); color: var(--fi-void); font-family: var(--fi-font-ui); font-size: .62rem; letter-spacing: .04em; text-transform: uppercase; vertical-align: middle; }
.fl-plan-limit { color: var(--fi-muted); font-size: .82rem; margin: .25rem 0 1rem; }
.fl-plan ul { display: grid; gap: .55rem; list-style: none; color: var(--fi-white); font-size: .88rem; line-height: 1.4; margin: 0 0 1.25rem; padding: 0; }
.fl-plan li { display: grid; grid-template-columns: .8rem 1fr; gap: .42rem; }
.fl-plan li::before { content: "✓"; color: var(--fi-lime); font-weight: 800; }
.fl-plan .btn { width: 100%; margin-top: auto; }
.fl-faq details { border-top: 1px solid var(--fi-stroke); padding: 1rem 0; }
.fl-faq details:last-child { border-bottom: 1px solid var(--fi-stroke); }
.fl-faq summary { cursor: pointer; color: var(--fi-white); font-weight: 700; list-style: none; padding-right: 1.5rem; position: relative; }
.fl-faq summary::-webkit-details-marker { display: none; }
.fl-faq summary::after { content: "+"; color: var(--fi-lime); font-size: 1.35rem; font-weight: 400; position: absolute; right: 0; top: -.35rem; }
.fl-faq details[open] summary::after { content: "−"; }
.fl-faq details p { color: var(--fi-muted); max-width: 45rem; font-size: .9rem; line-height: 1.6; margin: .65rem 0 0; }

@media (max-width: 800px) {
  .fl-grid, .fl-steps, .fl-plan-grid { grid-template-columns: 1fr; }
  .fl-stage { grid-template-columns: 1fr; }
  .fl-head nav a:not(.btn) { display: none; }
  .fl-demo { grid-template-columns: 1fr; }
  .fl-head nav { gap: .45rem; }
  .fl-head .btn { padding: .5rem .65rem; font-size: .72rem; }
}
@media (prefers-reduced-motion: reduce) {
  .fl-pill .dot { animation: none; }
}

/* Fase 1 · Composición editorial de la landing FestiON */
.fi-body { background:#070808; }
.fl-glow { background:radial-gradient(ellipse 35% 32% at 78% 37%,rgba(191,255,0,.09),transparent 68%); }
.fl-head { height:76px; max-width:1280px; margin:0 auto; padding:0; position:relative; background:transparent; border:0; backdrop-filter:none; }
.fl-brand img { height:46px; max-width:178px; object-fit:contain; filter:none; }
.fl-head nav { gap:1.7rem; }
.fl-head nav a:not(.btn) { color:var(--fi-muted); font-size:.8rem; font-weight:500; }
.fl-head .btn { min-height:40px; padding:.48rem .92rem; font-size:.78rem; }
.fl-hero { width:min(1280px,calc(100% - 64px)); min-height:620px; margin:0 auto; padding:72px 0 96px; display:grid; grid-template-columns:42% 58%; align-items:center; gap:48px; text-align:left; }
.fl-hero-copy { position:relative; z-index:2; max-width:510px; }
.fl-pill { margin:0 0 24px; padding:0; border:0; border-radius:0; font-size:.68rem; color:var(--fi-lime); letter-spacing:.15em; }
.fl-pill .dot { width:6px; height:6px; box-shadow:none; }
.fl-hero h1 { max-width:560px; margin:0 0 20px; font-size:clamp(3.05rem,4.4vw,4rem); line-height:1.08; letter-spacing:-.055em; }
.fl-lead { max-width:450px; margin:0 0 28px; color:var(--fi-muted); font-size:.95rem; line-height:1.7; }
.fl-hero-cta { justify-content:flex-start; }
.fl-hero-cta .btn { min-height:48px; padding:.7rem 1.15rem; }
.fl-demo-hint { margin:16px 0 0; color:var(--fi-subtle); font-size:.75rem; }
.fl-product { position:relative; height:458px; min-width:0; }
.fl-dashboard { position:absolute; inset:10px 38px 25px 0; display:grid; grid-template-columns:18% 82%; overflow:hidden; border:1px solid #313536; border-radius:15px; background:#101212; box-shadow:0 25px 60px rgba(0,0,0,.42); }
.fl-dash-side { padding:19px 14px; display:flex; flex-direction:column; align-items:center; gap:15px; border-right:1px solid #292d2e; background:#0b0c0c; }
.fl-dash-side img { width:28px; height:28px; object-fit:contain; margin-bottom:17px; }
.fl-dash-side span { width:23px; height:23px; border:1px solid #3a3e3e; border-radius:7px; opacity:.82; }
.fl-dash-side .is-active { border-color:var(--fi-lime); background:rgba(191,255,0,.12); }
.fl-dash-side span { position:relative; }
.fl-dash-side span::before { content:''; position:absolute; inset:6px; border:1.5px solid currentColor; border-radius:3px; color:#9aa19f; }
.fl-dash-side span:nth-of-type(2)::before { border-radius:50%; }.fl-dash-side span:nth-of-type(3)::before { inset:5px 7px; border-radius:999px; }.fl-dash-side span:nth-of-type(4)::before { border-width:0 0 1.5px 1.5px; border-radius:0; }.fl-dash-side span:nth-of-type(5)::before { transform:rotate(45deg); border-radius:2px; }
.fl-dash-side .is-active::before { color:var(--fi-lime); }
.fl-dash-main { min-width:0; padding:17px 20px; }
.fl-dash-top { display:flex; align-items:center; gap:12px; min-height:24px; border-bottom:1px solid #262a2a; padding-bottom:13px; color:#e7e9e4; font-size:.69rem; }
.fl-dash-top span { color:var(--fi-lime); font-size:.59rem; font-weight:700; margin-left:auto; }.fl-dash-top i { width:22px; height:7px; border-radius:999px; background:#252a2a; }
.fl-dash-heading { display:flex; align-items:end; justify-content:space-between; padding:19px 0 16px; }.fl-dash-heading small,.fl-dashboard small { display:block; color:#838a85; font-size:.48rem; letter-spacing:.11em; font-weight:700; }.fl-dash-heading h2 { margin:4px 0 0; font-size:1.1rem; letter-spacing:-.04em; }.fl-dash-heading button { border:0; border-radius:7px; padding:7px 10px; color:#0a0b0a; background:var(--fi-lime); font:bold .61rem var(--fi-font-ui); }
.fl-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.fl-metrics article,.fl-modules article { border:1px solid #2b3030; border-radius:9px; background:#141717; }.fl-metrics article { min-height:77px; padding:10px; }.fl-metrics b { display:block; margin:4px 0 1px; font-size:1.35rem; line-height:1; }.fl-metrics span { color:var(--fi-success); font-size:.52rem; }
.fl-modules { display:grid; grid-template-columns:1.1fr .9fr; gap:9px; margin-top:10px; }.fl-modules article { min-height:94px; padding:10px; overflow:hidden; }.fl-rank b { display:block; margin:7px 0 5px; font-size:.61rem; white-space:nowrap; }.fl-rank span,.fl-rank i { display:block; height:4px; border-radius:999px; background:#313738; }.fl-rank i { width:76%; background:var(--fi-lime); }.fl-rank p,.fl-spotify span,.fl-message span { margin-top:5px; color:#858c87; font-size:.5rem; }.fl-spotify div { display:flex; align-items:center; gap:7px; margin-top:9px; }.fl-spotify div i { display:grid; place-items:center; width:25px; height:25px; border-radius:6px; color:#090a09; background:var(--fi-lime); font-style:normal; font-weight:800; }.fl-spotify b { font-size:.56rem; }.fl-photos div { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; margin:8px 0 5px; }.fl-photos div i { height:24px; border-radius:4px; background:linear-gradient(135deg,#8b5cf6,#202323 60%,#bfff00); }.fl-photos div i:nth-child(2){background:linear-gradient(135deg,#ff4fa3,#222)}.fl-photos div i:nth-child(3){background:linear-gradient(135deg,#bfff00,#111)}.fl-photos b { color:#e8ebe6; font-size:.52rem; }.fl-message p { margin:9px 0 0; color:#e5e9e4; font-size:.62rem; }
.fl-phone { position:absolute; z-index:3; right:2px; bottom:0; width:154px; min-height:326px; grid-template-rows:1fr auto; border:5px solid #080909; border-radius:25px; box-shadow:0 18px 40px rgba(0,0,0,.55); }.ph-notch { position:absolute; z-index:1; top:0; left:50%; width:52px; height:13px; transform:translateX(-50%); border-radius:0 0 9px 9px; background:#080909; }.ph-cover { min-height:165px; }.ph-sheet { padding:0 12px 13px; }.ph-kicker { font-size:.47rem; }.fl-phone strong { font-size:1rem; }.ph-sheet > span { font-size:.55rem; margin-bottom:.52rem; }.ph-btn { padding:.55rem!important; font-size:.58rem!important; }
.fl-led { position:absolute; z-index:4; right:-7px; top:28px; width:160px; min-height:101px; padding:14px; border:1px solid #343a3a; border-radius:9px; background:#0a0b0b; box-shadow:0 16px 35px rgba(0,0,0,.44); }.fl-led p { font-size:.46rem; }.fl-led b { margin:5px 0 3px; font-size:.85rem; }.fl-led span { color:#a4aaa5; font-size:.5rem; }.fl-led i { display:block; width:50%; height:3px; margin-top:10px; border-radius:99px; background:var(--fi-lime); }
@media (max-width:1023px) { .fl-head{padding:0 24px}.fl-hero{width:min(960px,calc(100% - 48px));grid-template-columns:1fr;gap:30px;padding-top:54px}.fl-hero-copy{max-width:600px}.fl-product{width:min(650px,100%);justify-self:center}.fl-hero h1{font-size:3.35rem;} .fl-how,.fl-grid,.fl-plans,.fl-faq{width:min(720px,calc(100% - 48px));} }
@media (max-width:700px) { .fl-head{height:66px;padding:0 16px}.fl-brand img{height:36px;max-width:142px}.fl-head nav a:not(.btn),.fl-head nav .btn-ghost{display:none}.fl-hero{width:calc(100% - 32px);min-height:0;padding:42px 0 62px;gap:30px}.fl-hero h1{font-size:2.55rem}.fl-lead{font-size:.9rem;line-height:1.62}.fl-hero-cta{display:grid;grid-template-columns:1fr 1fr}.fl-hero-cta .btn{padding:.65rem .55rem;font-size:.75rem}.fl-demo-hint{line-height:1.45}.fl-product{height:auto;display:grid;gap:16px}.fl-dashboard{position:relative;inset:auto;grid-template-columns:52px 1fr;min-height:322px}.fl-dash-main{padding:11px}.fl-dash-side{padding:13px 8px;gap:10px}.fl-dash-side img{width:20px;height:20px;margin-bottom:8px}.fl-dash-side span{width:17px;height:17px;border-radius:5px}.fl-dash-heading{padding:11px 0}.fl-dash-heading h2{font-size:.76rem}.fl-dash-heading button{font-size:.46rem;padding:5px}.fl-metrics article{min-height:58px;padding:7px}.fl-metrics b{font-size:.95rem}.fl-modules article{min-height:71px;padding:7px}.fl-phone{position:relative;right:auto;bottom:auto;justify-self:center;width:164px;min-height:337px;border-width:5px;border-radius:25px}.ph-cover{min-height:171px}.ph-sheet{padding:0 12px 13px}.fl-phone strong{font-size:1rem}.ph-sheet>span{font-size:.55rem;margin-bottom:.52rem}.fl-led{position:relative;right:auto;top:auto;width:100%;min-height:92px;padding:13px}.fl-led b{font-size:.9rem}.fl-led i{margin-top:8px}.fl-how,.fl-grid,.fl-plans,.fl-faq{width:calc(100% - 32px)}.fl-how{margin-bottom:3.5rem}.fl-steps article,.fl-grid .card,.fl-plan{padding:1rem}.fl-close{padding:1.5rem 16px 3.5rem}.fl-close .fl-cta{display:grid}.fl-close .btn{width:100%} }

/* Pulido visual: negro editorial, textura mínima y producto protagonista. */
.fi-body::before { content:''; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.16; background-image:radial-gradient(rgba(255,255,255,.45) .45px,transparent .6px); background-size:5px 5px; mix-blend-mode:soft-light; }
.fl-glow { background:radial-gradient(ellipse 35% 32% at 78% 37%,rgba(191,255,0,.075),transparent 68%); }
.fl-head::after { content:''; position:absolute; right:0; bottom:0; left:0; height:1px; background:linear-gradient(90deg,transparent,#2a2e2e 15%,#2a2e2e 85%,transparent); }
.fl-product::before { content:''; position:absolute; left:5%; right:0; bottom:3%; height:58%; border-radius:50%; background:rgba(191,255,0,.08); filter:blur(46px); }
.fl-recuerdo { border-color:var(--fi-stroke); background:var(--fi-surface); }
.fl-steps article,.fl-grid .card { background:#101212; }
.fl-grid .card { box-shadow:none; }
.fl-grid .card:hover { border-color:rgba(191,255,0,.48); box-shadow:none; }
.fl-plan { box-shadow:none; }
.fl-plan-featured { box-shadow:0 0 0 1px rgba(191,255,0,.09); }

/* ============ SERVICIOS SEPARADOS ============ */
.fl-services { width: min(1180px, calc(100% - 48px)); margin: 2rem auto 4rem; }
.fl-svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.svc { padding: 1.5rem 1.35rem; display: flex; flex-direction: column; gap: .6rem; }
.svc.featured { border-color: rgba(191,255,0,.45); box-shadow: 0 0 0 1px rgba(191,255,0,.08), 0 22px 46px rgba(0,0,0,.4); }
.svc-ico { font-size: 1.9rem; }
.svc-name { display: block; color: var(--fi-white); font-size: 1.3rem; }
.svc p { color: var(--fi-muted); font-size: .9rem; line-height: 1.5; margin: 0; }
.svc ul { list-style: none; display: grid; gap: .4rem; margin: 0; }
.svc li { color: #c9cdc8; font-size: .84rem; }
.svc li::before { content: "✓ "; color: var(--fi-lime); font-weight: 800; }
.svc-cta { margin-top: auto; padding-top: .7rem; }
.svc-cta .btn { width: 100%; }
@media (max-width: 800px) { .fl-svc-grid { grid-template-columns: 1fr; } }
