:root{
  --naranja:#F25C1F; --naranja-osc:#C2410C; --naranja-claro:#FF8A57;
  --tinta:#15142B; --tinta-2:#2A2946; --texto-2:#3D3C52; --texto-3:#55546B;
  --durazno:#FFE3D3; --durazno-osc:#7A2E0E; --gris:#F4F3F8; --borde:#E3E2EA;
  --violeta:#5B3FE0; --blanco:#FFFFFF;
  --display:'Bricolage Grotesque',system-ui,sans-serif;
  --texto:'DM Sans',system-ui,sans-serif;
  --ancho:1200px; --radio:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--blanco);color:var(--tinta);font-family:var(--texto);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:800;margin:0;line-height:1.05}
h1{font-size:clamp(40px,6vw,72px);letter-spacing:-.04em}
h2{font-size:clamp(32px,4.4vw,48px);letter-spacing:-.035em}
h3{font-size:24px;letter-spacing:-.02em}
p{margin:0}
.envoltura{max-width:var(--ancho);margin:0 auto;padding:0 24px}
.seccion{padding:88px 0}
.intro{display:flex;flex-direction:column;gap:12px;max-width:660px;margin-bottom:40px}
.intro p{font-size:18px;color:var(--texto-2)}
.etiqueta{align-self:flex-start;padding:8px 14px;border-radius:999px;background:var(--durazno);color:var(--durazno-osc);font-size:14px;font-weight:700}
.boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:14px 26px;border-radius:999px;font-weight:700;font-size:17px;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:var(--texto);transition:transform .15s ease,background .15s ease}
.boton:hover{transform:translateY(-1px)}
.boton-primario{background:var(--naranja);color:var(--tinta)}
.boton-primario:hover{background:#ff6a2b}
.boton-oscuro{background:var(--tinta);color:var(--blanco)}
.boton-borde{border-color:var(--tinta);color:var(--tinta);background:transparent}
.boton-borde-claro{border-color:var(--blanco);color:var(--blanco);background:transparent}
:focus-visible{outline:3px solid var(--violeta);outline-offset:3px}

/* Encabezado */
.encabezado{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--borde)}
.encabezado .envoltura{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;padding-bottom:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo img{height:32px;width:auto}
.logo span{font-family:var(--display);font-size:24px;font-weight:800;letter-spacing:-.04em}
.logo em{font-style:normal;font-weight:400;color:var(--naranja-osc)}
.menu{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;font-weight:500}
.menu a{text-decoration:none;padding:6px 0}
.menu a:hover{color:var(--naranja-osc)}
.menu .boton{min-height:44px;padding:10px 20px}

/* Hero */
.hero .envoltura{display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding-top:64px;padding-bottom:88px}
.hero-texto{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:24px}
.hero-texto p{font-size:20px;color:var(--texto-2);max-width:560px}
.acciones{display:flex;flex-wrap:wrap;gap:12px}
.hero-visual{flex:1 1 400px;min-width:0;display:flex;flex-direction:column}
.hero-visual>picture img{width:100%;height:460px;object-fit:cover;object-position:center 15%;border-radius:28px}
.chat{margin:-96px 16px 0;position:relative;border-radius:28px;background:var(--tinta);padding:24px;display:flex;flex-direction:column;gap:12px}
.chat-cabeza{display:flex;align-items:center;gap:12px;color:var(--blanco)}
.chat-cabeza img{width:44px;height:44px;border-radius:999px;object-fit:cover;border:2px solid var(--naranja)}
.chat-cabeza small{display:block;color:#B9B8CC;font-size:13px}
.burbuja{max-width:85%;padding:12px 16px;border-radius:18px;font-size:16px;line-height:1.45}
.burbuja.rafa{align-self:flex-start;background:var(--tinta-2);color:var(--blanco);border-bottom-left-radius:4px}
.burbuja.cliente{align-self:flex-end;background:var(--naranja);color:var(--tinta);border-bottom-right-radius:4px}

/* Servicios */
.servicios{background:var(--durazno)}
.grilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}
.tarjeta{padding:28px;border-radius:var(--radio);background:var(--blanco);display:flex;flex-direction:column;gap:10px}
.tarjeta p{color:var(--texto-2)}
.tarjeta svg{width:32px;height:32px;stroke:var(--naranja-osc)}

/* Cómo trabajamos */
.como .envoltura{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.como picture{flex:1 1 340px;min-width:0;max-width:460px}
.como img{width:100%;height:540px;object-fit:cover;object-position:center top;border-radius:28px}
.como-texto{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:32px}
.pasos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:24px;counter-reset:paso}
.pasos li{display:flex;gap:16px;counter-increment:paso}
.pasos li::before{content:counter(paso);flex:0 0 52px;height:52px;border-radius:999px;background:var(--tinta);color:var(--blanco);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:22px;font-weight:800}
.pasos h3{font-size:21px;font-family:var(--texto);font-weight:700;margin-bottom:4px}
.pasos p{color:var(--texto-2)}

/* Casos */
.casos{background:var(--gris)}
.caso{padding:28px;border-radius:var(--radio);background:var(--blanco);text-decoration:none;display:flex;flex-direction:column;gap:10px;transition:transform .15s ease,box-shadow .15s ease}
.caso:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(21,20,43,.08)}
.caso .sector{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--naranja-osc)}
.caso h3{font-size:26px}
.caso p{color:var(--texto-2)}
.caso .enlace{font-weight:700;margin-top:auto}
.caso{overflow:hidden}
.caso-fondo{position:relative;display:block;margin:-28px -28px 6px;aspect-ratio:840/440;overflow:hidden;background:var(--gris)}
.caso-fondo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .4s ease}
.caso-fondo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 55%,rgba(255,255,255,.7) 85%,#fff 100%)}
.caso:hover .caso-fondo img{transform:scale(1.03)}

/* Planes */
.boton-claro{background:var(--naranja);color:var(--tinta)}
.plan.evoluciona{margin-top:48px;background:var(--durazno);color:var(--tinta);display:grid;grid-template-columns:1.3fr 1fr auto;gap:24px 40px;align-items:center}
.plan.evoluciona .evo-cabeza{display:flex;flex-direction:column;gap:10px}
.plan.evoluciona .evo-cabeza p:not(.precio){margin:0;color:#4A4960}
.plan.evoluciona .sello{background:var(--tinta);color:var(--blanco)}
.plan.evoluciona .boton{margin-top:0;white-space:nowrap}
.plan.evoluciona :focus-visible{outline-color:var(--tinta)}
@media (max-width:900px){.plan.evoluciona{grid-template-columns:1fr}.plan.evoluciona .boton{justify-self:start}}

.planes{background:var(--tinta);color:var(--blanco)}
.planes .intro p{color:#D6D5E3}
.planes .envoltura>.fila{margin-bottom:8px;display:flex;flex-wrap:wrap;gap:40px;align-items:flex-end;justify-content:space-between}
.planes .fila picture{width:280px;max-width:40%}
.planes .fila img{width:100%;border-radius:24px;object-fit:cover;height:230px}
.plan{padding:32px;border-radius:24px;background:var(--tinta-2);display:flex;flex-direction:column;gap:14px}
.plan.destacado{background:var(--naranja);color:var(--tinta);position:relative}
.plan.destacado .sello{position:absolute;top:28px;right:28px;align-self:auto}
.plan .precio{font-size:34px;font-weight:700;line-height:1.1}
.plan .precio small{display:block;font-size:14px;font-weight:500;opacity:.85;margin-top:4px}
.plan ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.plan .boton{margin-top:auto}
.sello{align-self:flex-start;padding:6px 12px;border-radius:999px;background:var(--tinta);color:var(--blanco);font-size:13px;font-weight:700}
.mejora{margin-top:28px;padding:24px 28px;border-radius:var(--radio);border:2px dashed #55546B;display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center}
.mejora strong{font-family:var(--display);font-size:22px}
.mejora p{color:#D6D5E3;flex:1 1 360px}

/* Comité */
.comite .grilla{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.miembro{padding:24px;border-radius:var(--radio);border:2px solid var(--borde);display:flex;flex-direction:column;gap:6px}
.miembro .rol{font-size:14px;font-weight:700;color:var(--naranja-osc)}
.miembro p{color:var(--texto-2);font-size:16px}
.nota-ia{margin-top:24px;font-size:15px;color:var(--texto-3);max-width:760px}

/* Formulario */
.diagnostico{background:var(--durazno)}
.diagnostico .envoltura{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.diag-texto{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:20px}
.diag-texto img{width:180px;height:180px}
form{flex:1 1 480px;min-width:0;background:var(--blanco);border-radius:28px;padding:32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.campo{display:flex;flex-direction:column;gap:6px}
.campo.ancho{grid-column:1/-1}
label{font-weight:600;font-size:15px}
input,select,textarea{font:inherit;font-size:16px;padding:12px 14px;border-radius:12px;border:1.5px solid #C9C8D6;background:var(--blanco);color:var(--tinta);min-height:48px}
textarea{min-height:96px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--violeta);outline:none;box-shadow:0 0 0 3px rgba(91,63,224,.18)}
.casilla{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--texto-2)}
.casilla input{min-height:auto;width:20px;height:20px;margin-top:2px;flex:0 0 auto;accent-color:var(--naranja)}
.casilla label{font-weight:400}
form .boton{grid-column:1/-1}
.oculto{position:absolute;left:-9999px}

/* Preguntas */
.preguntas details{border-bottom:1px solid var(--borde);padding:18px 0}
.preguntas summary{cursor:pointer;font-weight:700;font-size:19px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.preguntas summary::after{content:"+";font-family:var(--display);font-size:26px;line-height:1;color:var(--naranja-osc)}
.preguntas details[open] summary::after{content:"–"}
.preguntas details p{margin-top:10px;color:var(--texto-2);max-width:760px}

/* Cierre y pie */
.cierre{text-align:center}
.cierre .envoltura{display:flex;flex-direction:column;align-items:center;gap:22px}
.cierre img{width:128px;height:128px;border-radius:999px;object-fit:cover;border:6px solid var(--naranja)}
.cierre h2{max-width:820px}
.pie{border-top:1px solid var(--borde);font-size:14px;color:var(--texto-3)}
.pie .envoltura{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:28px;padding-bottom:28px}
.pie a{color:var(--texto-3)}

/* Páginas legales */
.legal{max-width:820px;margin:0 auto;padding:56px 24px 88px}
.legal h1{font-size:clamp(34px,5vw,52px);margin-bottom:12px}
.legal h2{font-size:28px;margin:40px 0 12px}
.legal p,.legal li{color:var(--texto-2)}
.legal table{width:100%;border-collapse:collapse;margin:12px 0;font-size:15px}
.legal th,.legal td{border:1px solid var(--borde);padding:10px 12px;text-align:left;vertical-align:top}
.legal th{background:var(--gris)}
.tabla-scroll{overflow-x:auto}

@media (max-width:640px){
  .seccion{padding:64px 0}
  form{grid-template-columns:1fr;padding:24px}
  .hero-visual>picture img{height:360px}
  .como img{height:420px}
  .planes .fila picture{display:none}
  .menu a:not(.boton){display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
