/* Go Booth · hoja de estilos
   Misma idea general que tallerformas.com (base blanca, gris claro alterno, etiquetas de color, barras de acento,
   círculos de marca en la portada), con la identidad de Go Booth: violeta como acento, Braah One en títulos y
   Noto Kufi en textos. Sin fondos oscuros. */
:root {
  --navy: #16164c;       /* texto principal (azul de marca) */
  --violet: #6e31f0;     /* acento principal */
  --violet-text: #5a22d6;/* violeta para textos pequeños */
  --lilac: #c097ff;
  --lilac-2: #ddc8ff;
  --lilac-3: #efe6ff;
  --orange: #eb692d;     /* solo puntos y detalles */
  --lime: #c4f582;       /* uso mínimo */
  --stone: #f5f4f8;      /* gris claro para secciones alternas */
  --line: #e4e2ec;
  --muted: #4d4b6b;
  --paper: #ffffff;
  --wa: #25d366;         /* verde oficial de WhatsApp */
  --wa-hover: #1ebe5d;
  --pend-bg: #fff1a8; --pend-ink: #4a3b00;
  --r: 8px;
  --max: 1160px;
  --font-display: "Braah One", "Arial Rounded MT Bold", ui-rounded, system-ui, sans-serif;
  --font: "Noto Kufi Arabic", "Noto Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--navy); font: 400 16px/1.7 var(--font); -webkit-font-smoothing: antialiased; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 60; background: var(--paper); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--violet-text); text-underline-offset: 3px; }
a:hover { color: var(--navy); }
h1, h2, h3 { line-height: 1.12; margin: 0; text-wrap: balance; font-weight: 400; }
h1, h2 { font-family: var(--font-display); }
h1 { font-size: clamp(34px, 4.6vw, 58px); }
h2 { font-size: clamp(26px, 2.8vw, 36px); }
h3 { font-size: 18px; font-weight: 700; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; }
:focus-visible { outline: 3px solid var(--violet); outline-offset: 3px; border-radius: 6px; }
.skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--navy); color: #fff; padding: 10px 14px; border-radius: 8px; }
.skip:focus { left: 12px; }
.wrap { max-width: var(--max); margin: 0 auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
section { padding-block: 72px; }
section.alt { background: var(--stone); }
section.tight-top { padding-top: 40px; }
.note { color: var(--muted); font-size: 14px; margin-top: 18px; }
.muted { color: var(--muted); }
.pend { background: var(--pend-bg); color: var(--pend-ink); padding: 1px 7px; border-radius: 5px; font-weight: 600; font-size: 13px; font-family: var(--font); box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.preview-bar { background: var(--pend-bg); color: var(--pend-ink); font-size: 13px; text-align: center; padding-block: 7px; }

/* Etiqueta y regla de acento */
.eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-text); margin: 0 0 10px; }
.rule { display: block; width: 64px; height: 5px; border-radius: 3px; background: var(--violet); margin: 20px 0 0; }
.num { font-family: var(--font-display); color: var(--violet); }

/* Botones */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 10px 20px; border-radius: var(--r); font: 700 15px/1.2 var(--font); text-decoration: none; border: 0; cursor: pointer; transition: background .15s, color .15s, box-shadow .15s; }
.btn svg { width: 19px; height: 19px; flex: none; }
.btn-wa { background: var(--wa); color: #fff; }
.btn-wa:hover { background: var(--wa-hover); color: #fff; }
.btn-ghost { box-shadow: inset 0 0 0 1.5px var(--navy); color: var(--navy); background: transparent; }
.btn-ghost:hover { background: var(--navy); color: #fff; }
.btn-sm { min-height: 40px; padding: 8px 14px; font-size: 14px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 26px; }

/* Encabezado */
.site-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; height: 68px; }
.brand { display: inline-flex; line-height: 0; }
.brand img { height: 40px; width: auto; }
.nav { display: flex; align-items: center; gap: 4px; }
.nav a { display: block; padding: 8px 12px; border-radius: 8px; color: var(--muted); text-decoration: none; font-size: 15px; font-weight: 600; }
.nav a:hover, .nav a[aria-current="page"] { color: var(--navy); background: var(--stone); }
.nav .btn { margin-left: 8px; color: #fff; padding: 8px 14px; }
.nav .btn:hover { color: #fff; background: var(--wa-hover); }
.nav-toggle { display: none; border: 0; border-radius: 10px; background: var(--stone); padding: 9px 14px; font: 700 14px var(--font); color: var(--navy); cursor: pointer; }
@media (max-width: 900px) {
  .nav-toggle { display: inline-block; }
  .nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 0; background: #fff; border-bottom: 1px solid var(--line); padding: 8px max(16px, env(safe-area-inset-right, 0px)) 14px max(16px, env(safe-area-inset-left, 0px)); }
  .nav.open { display: flex; }
  .nav a { padding: 12px; font-size: 16px; }
  .nav .btn { margin: 10px 0 0; }
}

/* Portada: círculos de marca (los "ojos" del isotipo) arriba a la derecha y dos fotos debajo */
.hero { position: relative; overflow: hidden; padding-block: 56px 40px; }
.hero-deco { position: absolute; inset: 0; pointer-events: none; }
.hero-deco > * { position: absolute; }
.hero-deco .d-iso { width: 300px; height: auto; right: 20px; top: 90px; } /* el isotipo no se rota ni se superpone (manual de marca) */
.hero-deco .d-torn { width: 260px; height: 44px; right: 370px; top: 70px; transform: rotate(-10deg); }
.hero-deco .d-torn path { fill: var(--orange); }
.hero-deco .d-torn2 { width: 190px; height: 36px; right: 70px; top: 350px; transform: rotate(6deg); }
.hero-deco .d-torn2 path { fill: var(--lilac-2); }
.hero-deco .d-quote { right: 400px; top: 170px; font-family: var(--font-display); font-size: 150px; line-height: 1; color: var(--violet); }
.hero .wrap { position: relative; }
.hero-copy { max-width: 660px; padding-top: 110px; }
.hero-lead { font-size: 18px; color: var(--muted); margin-top: 20px; max-width: 54ch; }
.hint { font-size: 14px; color: var(--muted); margin-top: 14px; max-width: 54ch; }
.hero-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 44px; }
.hero-photos figure { margin: 0; }
.hero-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; border-top: 1px solid var(--navy); margin-top: 18px; padding-top: 12px; font-size: 13px; color: var(--muted); }
@media (max-width: 900px) {
  .hero { padding-block: 24px 32px; }
  .hero-copy { padding-top: 150px; }
  .hero-deco .d-iso { width: 130px; right: 12px; top: 24px; }
  .hero-deco .d-torn { width: 140px; height: 28px; right: 170px; top: 40px; }
  .hero-deco .d-torn2 { display: none; }
  .hero-deco .d-quote { display: none; }
}
@media (max-width: 600px) { .hero-photos { grid-template-columns: 1fr; } }

/* Franja de clientes */
.clients { background: var(--stone); padding-block: 26px 30px; text-align: center; }
.clients p { font-size: 14px; color: var(--muted); }

/* Encabezados de sección */
.sec-head { max-width: 660px; margin-bottom: 32px; }
.sec-head p:not(.eyebrow) { color: var(--muted); margin-top: 12px; }

/* Marcador de foto pendiente */
.ph { margin: 0; aspect-ratio: 4 / 3; border: 2px dashed #b9b3cf; border-radius: var(--r); background: repeating-linear-gradient(135deg, #f8f7fb 0 14px, #f0eef6 14px 28px); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 20px; text-align: center; max-width: 100%; }
.ph-tag { font-size: 12px; font-weight: 700; color: var(--violet-text); background: #fff; padding: 3px 10px; border-radius: 999px; }
.ph-text { font-size: 14px; color: var(--muted); max-width: 28ch; line-height: 1.45; }
.ratio-11 { aspect-ratio: 1 / 1; }
.ratio-169 { aspect-ratio: 16 / 10; }

/* Servicios: foto con barra violeta y enlaces */
.needs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.need { min-width: 0; }
.need-img { border-bottom: 5px solid var(--violet); }
.need-img .ph { aspect-ratio: 16 / 10; border-radius: 0; border: 0; }
.need:nth-child(2) .need-img { border-color: var(--orange); }
.need:nth-child(3) .need-img { border-color: var(--lilac); }
.need h3 { font-family: var(--font-display); font-weight: 400; font-size: 24px; margin-top: 16px; }
.need-desc { color: var(--muted); font-size: 15px; margin-top: 6px; }
.need-links { list-style: none; margin-top: 14px; border-top: 1px solid var(--line); }
.need-links a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--line); color: var(--navy); text-decoration: none; font-weight: 600; font-size: 15px; }
.need-links a:hover { color: var(--violet-text); }
.need-links svg { width: 16px; height: 16px; flex: none; stroke: var(--violet); stroke-width: 2.4; fill: none; }
@media (max-width: 960px) { .needs { grid-template-columns: 1fr; } }

/* Lo que llevamos: títulos con barra superior */
.reasons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 24px; }
.reasons li { list-style: none; min-width: 0; }
.reasons h3 { font-size: 17px; padding-top: 14px; border-top: 3px solid var(--violet); }
.reasons p { font-size: 15px; color: var(--muted); margin-top: 8px; }
@media (max-width: 900px) { .reasons { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .reasons { grid-template-columns: 1fr; } }

/* Eventos: tarjetas grises con borde izquierdo */
.sectors { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sectors li { background: var(--stone); border-left: 4px solid var(--violet); padding: 18px 20px; min-width: 0; }
section.alt .sectors li { background: #fff; }
.sectors h3 { font-size: 17px; }
.sectors p { font-size: 14px; color: var(--muted); margin-top: 6px; }
@media (max-width: 900px) { .sectors { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .sectors { grid-template-columns: 1fr; } }

/* Trabajos */
.pgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.pcard { background: #fff; overflow: hidden; border: 1px solid var(--line); display: flex; flex-direction: column; min-width: 0; border-radius: var(--r); }
section.alt .pcard { border-color: transparent; }
.pcard .ph { border-radius: 0; border-width: 0 0 5px; border-style: solid; border-color: var(--violet); }
.pbody { padding: 16px 18px 18px; display: grid; gap: 6px; }
.pclient { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--violet-text); }
.ptype { font-size: 17px; font-weight: 700; }
@media (max-width: 960px) { .pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pgrid { grid-template-columns: 1fr; } }

/* Opciones y formatos */
.opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.opts.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.opt { background: var(--stone); border-left: 4px solid var(--violet); padding: 16px 18px; min-width: 0; }
section.alt .opt { background: #fff; }
.opt h3 { font-size: 16px; }
.opt p { font-size: 15px; color: var(--muted); margin-top: 6px; }
@media (max-width: 760px) { .opts, .opts.two { grid-template-columns: 1fr; } }

/* Proceso */
.steps { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.steps li { background: #fff; border-top: 4px solid var(--violet); padding: 20px; min-width: 0; }
section:not(.alt) .steps li { background: var(--stone); }
.steps .num { display: block; font-size: 32px; line-height: 1; margin-bottom: 12px; }
.steps p { font-size: 14px; color: var(--muted); margin-top: 6px; }
.steps.col { grid-template-columns: 1fr; }
@media (max-width: 1000px) { .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .steps { grid-template-columns: 1fr; } }

/* Frase de marca: panel claro con barra violeta */
.statement { background: var(--lilac-3); border-left: 6px solid var(--violet); padding: 36px 40px; }
.statement-text { font-size: clamp(19px, 2.2vw, 26px); font-weight: 600; line-height: 1.4; max-width: 40ch; }
.statement-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 22px; color: var(--muted); font-size: 14px; }
.statement-foot strong { font-family: var(--font-display); font-weight: 400; color: var(--violet-text); font-size: 18px; }
@media (max-width: 600px) { .statement { padding: 26px 22px; } }

/* Preguntas */
.faq { max-width: 860px; display: grid; gap: 10px; }
.faq details { background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.faq summary { list-style: none; cursor: pointer; padding: 16px 48px 16px 18px; position: relative; font-weight: 700; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; position: absolute; right: 18px; top: 50%; width: 10px; height: 10px; border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy); transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
.faq details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.faq .answer { padding: 0 18px 18px; color: var(--muted); display: grid; gap: 8px; }

/* Contacto: panel claro con barra violeta */
.contact { padding-bottom: 0; }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px; align-items: start; background: var(--lilac-3); border-left: 6px solid var(--violet); padding: 44px; }
.contact-copy p { color: var(--muted); margin-top: 12px; max-width: 56ch; }
.contact-data { margin: 0; display: grid; gap: 14px; border-top: 1px solid var(--lilac-2); padding-top: 20px; }
.contact-data div { display: grid; grid-template-columns: 110px 1fr; gap: 12px; }
.contact-data dt { color: var(--muted); font-size: 14px; }
.contact-data dd { margin: 0; font-weight: 600; min-width: 0; overflow-wrap: anywhere; }
.contact-data a { color: var(--navy); }
@media (max-width: 860px) { .contact-grid { grid-template-columns: 1fr; gap: 28px; padding: 28px 22px; } .contact-data div { grid-template-columns: 1fr; gap: 2px; } }

/* Banda de cierre */
.cta-band { background: var(--stone); }
.cta-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.cta-inner p { color: var(--muted); margin-top: 8px; max-width: 58ch; }
.cta-inner .actions { margin-top: 0; }

/* Páginas internas */
.page-hero { padding-block: 32px 44px; border-bottom: 1px solid var(--line); }
.page-hero .lead { font-size: 18px; color: var(--muted); margin-top: 18px; max-width: 60ch; }
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--muted); margin-bottom: 18px; }
.crumbs li + li::before { content: "/"; margin-right: 6px; color: var(--line); }
.crumbs a { color: var(--muted); }
.svc-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.svc-hero .ph { aspect-ratio: 4 / 3; border-bottom: 5px solid var(--violet); }
@media (max-width: 900px) { .svc-hero { grid-template-columns: 1fr; gap: 24px; } }
.svc-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; align-items: start; padding-block: 48px 72px; }
.svc-main { min-width: 0; display: grid; gap: 48px; }
.block h2 { margin-bottom: 16px; }
.block > p { color: var(--muted); max-width: 66ch; }
.block > p + * { margin-top: 18px; }
.svc-side { position: sticky; top: 92px; display: grid; gap: 16px; }
.quote-box, .rel-box { background: var(--stone); border-radius: var(--r); padding: 22px; }
.quote-box h2, .rel-box h2 { font-family: var(--font); font-weight: 700; font-size: 17px; margin-bottom: 12px; }
.quote-box p { font-size: 14px; color: var(--muted); margin: 0 0 14px; }
.quote-box .btn { width: 100%; }
.rel-box ul { list-style: none; display: grid; gap: 8px; }
@media (max-width: 960px) { .svc-layout { grid-template-columns: 1fr; gap: 32px; } .svc-side { position: static; } }
.checks { list-style: none; display: grid; gap: 10px; }
.checks li { position: relative; padding-left: 30px; }
.checks li::before { content: ""; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; border-radius: 50%; background: var(--lilac-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z' fill='%2316164c'/%3E%3C/svg%3E") center / 13px no-repeat; }

/* Formatos de impresión (ilustración simple, no foto) */
.formats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: end; }
.format { display: grid; gap: 12px; justify-items: center; text-align: center; min-width: 0; }
.format-art { background: #fff; border: 3px solid var(--navy); border-radius: 6px; padding: 10px; display: grid; gap: 8px; }
.format-art i { display: block; background: linear-gradient(180deg, var(--lilac-3) 0 55%, var(--lilac) 55% 100%); border-radius: 3px; }
.f-4x6 { width: min(100%, 210px); aspect-ratio: 6 / 4; }
.f-4x6 i { height: 100%; }
.f-strip { width: 92px; }
.f-strip i { aspect-ratio: 4 / 3; }
.f-frame { width: min(100%, 150px); aspect-ratio: 4 / 6; padding: 12px 12px 34px; position: relative; }
.f-frame i { height: 100%; }
.f-frame b { position: absolute; left: 0; right: 0; bottom: 8px; font-family: var(--font-display); font-weight: 400; color: var(--violet); font-size: .8rem; }
.format p { font-weight: 700; }
@media (max-width: 700px) { .formats { grid-template-columns: 1fr; gap: 32px; } }

.msg { background: #fff; border-radius: 10px; padding: 14px 16px; font-size: 14px; white-space: pre-wrap; overflow-wrap: anywhere; border: 1px solid var(--lilac-2); }

/* Pie */
.site-footer { background: #fff; padding-block: 48px 24px; font-size: 15px; margin-top: 72px; }
.site-footer .foot { border-top: 1px solid var(--navy); padding-top: 32px; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 32px; }
.foot-brand img { width: 150px; height: auto; }
.foot-brand p { color: var(--muted); margin-top: 14px; max-width: 34ch; }
.foot-brand .slogan { color: var(--navy); font-weight: 700; }
.foot-h { font-size: 15px; font-weight: 700; margin-bottom: 12px; font-family: var(--font); }
.foot ul { list-style: none; display: grid; gap: 8px; color: var(--muted); }
.foot a { color: var(--muted); text-decoration: none; }
.foot a:hover { color: var(--navy); text-decoration: underline; }
.legal { margin-top: 36px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
@media (max-width: 900px) { .site-footer .foot { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .site-footer .foot { grid-template-columns: 1fr; } }

/* WhatsApp flotante (escritorio) y barra inferior discreta (móvil) */
.wa-float { position: fixed; right: calc(20px + env(safe-area-inset-right, 0px)); bottom: calc(20px + env(safe-area-inset-bottom, 0px)); z-index: 40; width: 56px; height: 56px; border-radius: 50%; background: var(--wa); color: #fff; display: grid; place-items: center; box-shadow: 0 8px 22px rgba(22, 22, 76, .2); }
.wa-float svg { width: 28px; height: 28px; }
.wa-float:hover { background: var(--wa-hover); color: #fff; }
.wa-bar { display: none; }
@media (max-width: 760px) {
  .wa-float { display: none; }
  .wa-bar { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: rgba(255, 255, 255, .97); border-top: 1px solid var(--line); padding: 8px max(12px, env(safe-area-inset-right, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)); }
  .wa-bar .btn { width: 100%; min-height: 44px; }
  body { padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px)); }
  .site-header .nav .btn { display: none; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
.need .h3like { font-family: var(--font-display); font-size: 24px; margin-top: 16px; }

/* Marcas del grupo (Holding de Marcas) */
.group-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 48px; align-items: center; }
.group .sec-head { margin-bottom: 0; }
.group-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.group-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; border: 1px solid var(--line); border-left: 4px solid var(--lilac); border-radius: var(--r); padding: 14px 18px; min-width: 0; transition: border-color .15s; }
.group-list li:hover { border-left-color: var(--violet); }
.group-list h3 { font-size: 17px; }
.group-list p { font-size: 14px; color: var(--muted); margin: 2px 0 0; }
.group-lk { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.group-lk a { color: var(--violet-text); font-weight: 600; font-size: 14px; text-decoration: none; white-space: nowrap; }
.group-lk a:hover { text-decoration: underline; }
@media (max-width: 860px) { .group-grid { grid-template-columns: 1fr; gap: 24px; } }
@media (max-width: 520px) { .group-list li { grid-template-columns: 1fr; gap: 6px; } .group-lk { flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: 14px; } }
@media (prefers-reduced-motion: reduce) { .group-list li { transition: none; } }

/* Lanzamiento sin fotos: el texto del servicio ocupa todo el ancho */
.svc-hero.no-photo { grid-template-columns: 1fr; }
