
  :root{
    --ew-radius:10px;
    --ew-space-1:6px; --ew-space-2:10px; --ew-space-3:14px; --ew-space-4:18px;
    --ew-space-5:26px; --ew-space-6:34px; --ew-space-7:44px; --ew-space-8:56px;
    --ew-text-heading:#133B4F;
    --ew-text-body:#405B69;
    --ew-text-muted:#556A7A;
    --ew-action:#0A6098;
    --ew-action-hover:#08507F;
    --ew-icon:#0A6EAC;
    --ew-secondary:#16B7AA;
    --ew-secondary-deep:#0E8A80;
    /* Tono secundario apto para TEXTO sobre superficie clara: #0E8A80 mide 4,15:1 sobre
       tarjeta y no alcanza 4,5:1. El relleno decorativo conserva #0E8A80; el texto usa este. */
    --ew-secondary-text:#0B6E66;
    --ew-surface:#FCFDFE;
    --ew-surface-alt:#FAFCFE;
    --ew-control-border:#6A8798;
    --ew-threshold:rgba(19,59,79,0.28);
    --ew-rule:rgba(19,59,79,0.20);
    --ew-canvas-a:rgba(243,248,251,0.50);
    --ew-canvas-b:rgba(214,230,238,0.50);
    --ew-canvas-c:rgba(220,237,234,0.50);
    --ew-canvas-footer:rgba(220,237,234,0.50);
    --ew-elev-1:0 2px 8px rgba(19,59,79,0.063), 0 18px 55px -14px rgba(19,59,79,0.108);
    --ew-elev-2:0 4px 18px rgba(19,59,79,0.099), 0 36px 100px -22px rgba(19,59,79,0.162);
    --ew-dur:200ms; --ew-dur-slow:300ms; --ew-dur-disclose:300ms; --ew-dur-surface:420ms;
    --ew-ease:cubic-bezier(0.22,1,0.36,1); --ew-ease-soft:cubic-bezier(0.4,0,0.2,1); --ew-ease-surface:cubic-bezier(0.32,0.72,0,1);
  }
  html,body{margin:0;padding:0;}
  *{box-sizing:border-box;}
  body{background:#E8F0F5;}
  .ew-band-a::before,.ew-band-b::before,.ew-band-c::before{content:''; position:absolute; inset:0; pointer-events:none; z-index:0; background:repeating-linear-gradient(90deg, rgba(255,255,255,0.14) 0 1px, rgba(255,255,255,0) 1px 14px); opacity:0.42;}
  .ew-band-a > *,.ew-band-b > *,.ew-band-c > *{position:relative; z-index:1;}
  /* Solo en html: con overflow-x:clip también en body, body pasa a ser contenedor de recorte y
     la animación conducida por scroll resuelve su scroller contra body, que nunca desplaza — el
     progreso quedaba clavado en 0.5 y el paralaje no avanzaba en ningún sujeto. */
  html{overflow-x:clip;}
  a{color:var(--ew-icon);}
  a:hover{color:var(--ew-action-hover);}
  ::selection{background:rgba(10,110,172,0.18);}
  section{border:0;}
  section[id]{scroll-margin-top:104px;}
  /* Each section starts in the previous section's colour and resolves into its own; the seam is invisible. */
  .ew-ambient{position:fixed; left:0; top:0; width:100vw; height:100vh; z-index:0; pointer-events:none; overflow:hidden;}
  /* Los degradados de los orbes reparten dos o tres niveles RGB sobre cientos de píxeles: a 8 bits
     los escalones de cuantización se ven como franjas horizontales tenues, sobre todo entre el
     mapa y el pie. Un grano imperceptible sobre la capa atmosférica difumina esos escalones. No
     desplaza, tiñe ni redimensiona ningún orbe, y no cuesta nada por fotograma. */
  .ew-ambient::after{content:""; position:absolute; inset:0; pointer-events:none; opacity:0.055; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"); background-size:160px 160px;}
  body{position:relative;}
  body > .ew-ambient{z-index:0;}
  x-dc,.sc-host{position:relative; z-index:1; background:transparent !important;}
  .ew-orb{position:absolute; border-radius:999px; will-change:transform; background:radial-gradient(circle at 32% 28%, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.18) 20%, rgba(255,255,255,0) 44%), radial-gradient(circle at 50% 56%, var(--orb) 0%, var(--orb) 26%, var(--orb-mid) 56%, rgba(255,255,255,0.03) 82%, rgba(255,255,255,0) 100%); box-shadow:inset -20px -34px 70px -24px rgba(255,255,255,0.62);}
  .ew-orb--1{--orb:rgba(8,127,202,0.28); --orb-mid:rgba(8,127,202,0.11); width:42vmin; height:42vmin; left:-14vmin; top:2vh;}
  .ew-orb--2{--orb:rgba(22,183,170,0.28); --orb-mid:rgba(22,183,170,0.11); width:44vmin; height:44vmin; right:-10vmin; top:16vh;}
  .ew-orb--3{--orb:rgba(10,110,172,0.26); --orb-mid:rgba(10,110,172,0.10); width:36vmin; height:36vmin; left:32vw; bottom:-12vmin;}
  .ew-orb--4{--orb:rgba(22,183,170,0.24); --orb-mid:rgba(22,183,170,0.09); width:24vmin; height:24vmin; right:20vw; bottom:12vh;}
  .ew-orb--5{--orb:rgba(8,127,202,0.22); --orb-mid:rgba(8,127,202,0.09); width:16vmin; height:16vmin; left:14vw; top:48vh;}
  @keyframes ewDrift1{from{transform:translate3d(0,0,0) scale(1);}to{transform:translate3d(9vw,-12vh,0) scale(1.08);}}
  @keyframes ewDrift2{from{transform:translate3d(0,0,0) scale(1);}to{transform:translate3d(-11vw,14vh,0) scale(0.94);}}
  @keyframes ewDrift3{from{transform:translate3d(0,0,0) scale(1);}to{transform:translate3d(7vw,-18vh,0) scale(1.1);}}
  .ew-page{position:relative; z-index:1;}
  /* Paralaje conducido desde JS. La vía nativa (animation-timeline:view()) no es utilizable
     aquí: cada imagen vive dentro de una caja overflow:hidden, que en CSS es un contenedor de
     scroll, así que view() resuelve su timeline contra esa caja —que nunca desplaza— y el
     progreso queda inactivo en 0.5. El recorte es esencial al diseño. */
  /* content-visibility se retiró: implica contain:paint, y la contención de pintado convierte la
     sección en backdrop root, de modo que el Header no podía desenfocar su texto. El material del
     Header pesa más que el ahorro de render de tres secciones. */
  @media (prefers-contrast: more){ .ew-glass-subtle,.ew-glass-standard,.ew-glass-elevated,.ew-tcard,.ew-note,.ew-service-text{background:#FFFFFF !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; box-shadow:0 0 0 1px var(--ew-text-heading) !important;} }
  .ew-glass-elevated p,.ew-glass-standard p,.ew-tq,.ew-service-text p{letter-spacing:0.002em;}
  .ew-form-status,label,[data-ew-derived$=".label"]{letter-spacing:0.01em;}
  .ew-reveal{opacity:1; transform:none; transition:opacity 520ms var(--ew-ease-soft), transform 620ms var(--ew-ease-soft);}
  html.ew-io .ew-reveal:not(.is-in){opacity:0; transform:translateY(14px);}
  .ew-reveal[data-d="1"]{transition-delay:70ms;} .ew-reveal[data-d="2"]{transition-delay:140ms;} .ew-reveal[data-d="3"]{transition-delay:210ms;} .ew-reveal[data-d="4"]{transition-delay:280ms;} .ew-reveal[data-d="5"]{transition-delay:350ms;}
  @media (prefers-reduced-motion: reduce){ .ew-reveal{opacity:1 !important; transform:none !important; transition:none !important;} }
  .ew-band-a,.ew-band-b,.ew-band-c{position:relative;}
  .ew-band-a{background:linear-gradient(180deg, var(--ew-canvas-b) 0%, var(--ew-canvas-a) 26%, var(--ew-canvas-a) 100%);}
  .ew-band-b{background:linear-gradient(180deg, var(--ew-canvas-a) 0%, var(--ew-canvas-b) 26%, var(--ew-canvas-b) 100%);}
  .ew-band-b.ew-band--atmos{background:linear-gradient(180deg, var(--ew-canvas-a) 0%, var(--ew-canvas-b) 22%, rgba(201,221,233,0.54) 100%);}
  .ew-band-a.ew-band--after-atmos{background:linear-gradient(180deg, rgba(201,221,233,0.54) 0%, var(--ew-canvas-a) 30%, var(--ew-canvas-a) 100%);}
  .ew-band-c{background:linear-gradient(180deg, var(--ew-canvas-a) 0%, var(--ew-canvas-c) 26%, var(--ew-canvas-c) 100%);}
  .ew-band-a.ew-band--after-c{background:linear-gradient(180deg, var(--ew-canvas-c) 0%, var(--ew-canvas-a) 26%, var(--ew-canvas-a) 100%);}
  .ew-band-a.ew-band--after-hero{background:var(--ew-canvas-a); z-index:1;}
  .ew-band-a.ew-band--after-hero::before{display:none;}
  /* Proof: atmospheric floor with depth so the glass surface has something to refract (no light-on-light stack) */
  .ew-proof-floor{position:relative; border-radius:var(--ew-radius); overflow:hidden; background:linear-gradient(148deg,#DCEDF5 0%, #B9D9E9 34%, #8FC3D9 62%, #63A2BF 84%, #8FC3D9 100%); background-size:260% 260%; animation:ewProofDrift 14s ease-in-out infinite alternate; padding:22px;}
  @keyframes ewProofDrift{from{background-position:0% 0%;}50%{background-position:100% 30%;}to{background-position:40% 100%;}}
  @media (prefers-reduced-motion: reduce){ .ew-proof-floor{animation:none;} }
  .ew-proof-floor::before{content:''; position:absolute; right:-6%; top:-40%; width:46%; height:180%; background:radial-gradient(circle at 50% 50%, rgba(22,183,170,0.32), rgba(22,183,170,0) 62%); pointer-events:none;}
  .ew-proof-floor::after{content:''; position:absolute; left:-2%; bottom:-40%; width:52%; height:140%; background:radial-gradient(circle at 50% 50%, rgba(226,208,171,0.13) 0%, rgba(226,208,171,0.06) 42%, rgba(226,208,171,0) 78%); pointer-events:none;}
  .ew-proof-glass{position:relative; padding:6px 0;}
  .ew-proof-floor{padding:26px;}
  .ew-proof-glass.ew-glass-standard{background:rgba(255,255,255,0.76);}
  .ew-proof-item{position:relative; padding:24px 28px 26px;}
  .ew-proof-item + .ew-proof-item{border-left:1px solid rgba(19,59,79,0.16);}
  .ew-service-card{background:var(--ew-surface); border:0; border-radius:var(--ew-radius); box-shadow:var(--ew-elev-1); overflow:hidden;}
  .ew-glass-subtle{
    background:rgba(250,252,254,0.42);
    -webkit-backdrop-filter:blur(14px) saturate(1.15); backdrop-filter:blur(14px) saturate(1.15);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.60), inset 0 16px 28px -18px rgba(255,255,255,0.45), 0 2px 9px rgba(19,59,79,0.099), 0 18px 53px -12px rgba(19,59,79,0.153);
    border:0; border-radius:var(--ew-radius);
  }
  .ew-glass-standard{
    background:rgba(250,252,254,0.58);
    -webkit-backdrop-filter:blur(22px) saturate(1.28); backdrop-filter:blur(22px) saturate(1.28);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.72), inset 0 20px 34px -20px rgba(255,255,255,0.50), 0 3px 14px rgba(19,59,79,0.126), 0 36px 98px -22px rgba(19,59,79,0.207);
    border:0; border-radius:var(--ew-radius);
  }
  .ew-glass-elevated{
    background:rgba(250,252,254,0.52);
    -webkit-backdrop-filter:blur(32px) saturate(1.55); backdrop-filter:blur(32px) saturate(1.55);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.90), inset 0 26px 44px -26px rgba(255,255,255,0.55), 0 6px 28px rgba(19,59,79,0.189), 0 52px 140px -26px rgba(19,59,79,0.261);
    border:0; border-radius:var(--ew-radius);
  }
  .ew-glass-elevated.ew-glass-elevated--hero{
    background:rgba(250,252,254,0.756);
    -webkit-backdrop-filter:blur(34px) saturate(1.60); backdrop-filter:blur(34px) saturate(1.60);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.90), inset 0 26px 44px -26px rgba(255,255,255,0.55), 0 5px 18px rgba(19,59,79,0.27), 0 34px 88px -18px rgba(19,59,79,0.342);
  }
  /* El Header conserva la receta glassElevated de Stage B v6 (blur y saturación intactos) y solo
     sube su propia opacidad: con 0.52 los títulos de sección de 34 px se leían a través y parecía
     que no hubiera desenfoque. El blur no cambia, así que el token de material se respeta. */
  .ew-glass-elevated.ew-glass-elevated--header{background:rgba(250,252,254,0.74); transition:background var(--ew-dur-surface) var(--ew-ease-soft), backdrop-filter var(--ew-dur-surface) var(--ew-ease-soft), -webkit-backdrop-filter var(--ew-dur-surface) var(--ew-ease-soft), box-shadow var(--ew-dur-surface) var(--ew-ease-soft);}
  /* Estado denso: se activa cuando el Header solapa un título o un párrafo. Es comportamiento de
     presentación determinista, no una opción de cliente. Refuerza alfa, desenfoque, saturación y
     la luz superior permitida; no añade perímetro y no llega a barra opaca. */
  .ew-glass-elevated.ew-glass-elevated--header.is-dense{background:rgba(250,252,254,0.88); -webkit-backdrop-filter:blur(44px) saturate(1.72) brightness(1.04); backdrop-filter:blur(44px) saturate(1.72) brightness(1.04); box-shadow:inset 0 1px 0 rgba(255,255,255,0.96), inset 0 26px 44px -26px rgba(255,255,255,0.62), 0 5px 18px rgba(19,59,79,0.27), 0 30px 80px -16px rgba(19,59,79,0.324);}
  .ew-glass-elevated.ew-glass-elevated--about{background:rgba(250,252,254,0.812); -webkit-backdrop-filter:blur(34px) saturate(1.60); backdrop-filter:blur(34px) saturate(1.60);}
  .ew-surface-1{background:var(--ew-surface); border:0; border-radius:var(--ew-radius); box-shadow:var(--ew-elev-1);}
  .ew-benefit-card{transition:box-shadow var(--ew-dur-slow) var(--ew-ease-soft), transform var(--ew-dur-slow) var(--ew-ease-soft);}

  @media (hover:hover) and (pointer:fine){ .ew-benefit-card:hover{box-shadow:0 6px 18px rgba(19,59,79,0.144), 0 30px 75px -18px rgba(19,59,79,0.27); transform:translateY(-6px) scale(1.012);} }
  .ew-navlink{position:relative; font-size:15px; font-weight:500; color:var(--ew-text-heading); text-decoration:none; padding:9px 14px; border-radius:var(--ew-radius); transition:box-shadow var(--ew-dur) var(--ew-ease-soft), color var(--ew-dur) var(--ew-ease-soft), transform 130ms var(--ew-ease);}
  @media (hover:hover) and (pointer:fine){ .ew-navlink:hover{background:linear-gradient(180deg, rgba(19,59,79,0.05) 0%, rgba(19,59,79,0.02) 100%); color:var(--ew-action); box-shadow:inset 0 1px 3px rgba(19,59,79,0.12), inset 0 -1px 0 rgba(255,255,255,0.85);} }
  .ew-navlink:active{transform:scale(0.97);}
  /* El activo lleva el mismo tratamiento que el hover de un inactivo, y no reacciona al puntero. */
  .ew-navlink[aria-current="page"],
  .ew-navlink[aria-current="page"]:hover{background:linear-gradient(180deg, rgba(19,59,79,0.05) 0%, rgba(19,59,79,0.02) 100%); color:var(--ew-action); box-shadow:inset 0 1px 3px rgba(19,59,79,0.12), inset 0 -1px 0 rgba(255,255,255,0.85); font-weight:500;}

  .ew-btn{font-family:inherit; font-size:16px; font-weight:500; border-radius:var(--ew-radius); padding:13px 22px; min-height:44px; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; position:relative; transition:box-shadow 200ms var(--ew-ease-soft), color 200ms var(--ew-ease-soft), transform 150ms var(--ew-ease-soft);}
  .ew-btn:active{transform:scale(0.98); transition-duration:110ms;}
  .ew-btn--primary{color:#FFFFFF; background:linear-gradient(180deg, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0.04) 48%, rgba(255,255,255,0) 100%), linear-gradient(135deg, var(--ew-action) 0%, #0B6FAE 100%); border:0; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.22), inset 0 1px 0 rgba(255,255,255,0.55), inset 0 -8px 14px -10px rgba(6,40,66,0.55), 0 1px 4px rgba(19,59,79,0.198), 0 10px 22px -10px rgba(10,96,152,0.60); -webkit-backdrop-filter:blur(14px) saturate(1.15); backdrop-filter:blur(14px) saturate(1.15);}
  .ew-btn--primary:hover{background:linear-gradient(180deg, rgba(255,255,255,0.30) 0%, rgba(255,255,255,0.06) 48%, rgba(255,255,255,0) 100%), linear-gradient(135deg, #0B6CAC 0%, var(--ew-icon) 100%); color:#FFFFFF; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.22), inset 0 1px 0 rgba(255,255,255,0.75), inset 0 -8px 14px -10px rgba(6,40,66,0.55), 0 2px 8px rgba(19,59,79,0.198), 0 16px 30px -14px rgba(10,96,152,0.62); transform:translateY(-1px);}
  .ew-btn--primary:hover:active{transform:translateY(0) scale(0.97);}
  .ew-btn--secondary{color:var(--ew-text-heading); background:linear-gradient(180deg, rgba(255,255,255,0.72) 0%, rgba(250,252,254,0.50) 100%); border:0; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.70), inset 0 1px 0 rgba(255,255,255,0.95), inset 0 -7px 13px -8px rgba(19,59,79,0.18), 0 1px 4px rgba(19,59,79,0.144), 0 8px 23px -10px rgba(19,59,79,0.252); -webkit-backdrop-filter:blur(22px) saturate(1.28); backdrop-filter:blur(22px) saturate(1.28);}
  .ew-btn--secondary:hover{background:rgba(250,252,254,0.92); color:var(--ew-action); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.70), inset 0 1px 0 #FFFFFF, inset 0 -7px 13px -8px rgba(19,59,79,0.14), 0 2px 8px rgba(19,59,79,0.144), 0 14px 35px -14px rgba(19,59,79,0.306); transform:translateY(-1px);}
  .ew-btn--secondary:hover:active{transform:translateY(0) scale(0.97);}
  .ew-btn--compact{font-size:15px; padding:10px 18px; min-height:40px;}
  .ew-btn--primary,.ew-btn--secondary{border:0 !important;}
  /* Glass buttons sitting on a glass parent: drop their own backdrop-filter (apple-design: never stack light glass on glass) */
  .ew-glass-elevated .ew-btn,.ew-glass-standard .ew-btn{-webkit-backdrop-filter:none; backdrop-filter:none;}
  .ew-glass-elevated .ew-btn--secondary,.ew-glass-standard .ew-btn--secondary{background:linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(250,252,254,0.74) 100%);}
  .ew-btn--header{margin-left:6px;}
  /* Glass form: opaque-enough field on standard glass body, no light-on-light stacking (fields are solid white) */
  .ew-form-glass{padding:28px 30px;}
  .ew-note{display:flex; flex-direction:column; gap:20px; padding:22px 22px 24px; border-radius:var(--ew-radius); background:linear-gradient(180deg, rgba(255,255,255,0.72) 0%, rgba(250,252,254,0.58) 100%); -webkit-backdrop-filter:blur(22px) saturate(1.28); backdrop-filter:blur(22px) saturate(1.28); box-shadow:inset 0 1px 0 rgba(255,255,255,0.95), inset 0 -1px 0 rgba(19,59,79,0.04), 0 2px 8px rgba(19,59,79,0.126), 0 20px 55px -16px rgba(19,59,79,0.216); position:relative;}
  .ew-cicon{flex:none; width:44px; height:44px; border-radius:var(--ew-radius); display:flex; align-items:center; justify-content:center; color:var(--ew-action); background:linear-gradient(180deg, rgba(19,59,79,0.08) 0%, rgba(255,255,255,0.35) 100%); -webkit-backdrop-filter:blur(12px) saturate(1.2); backdrop-filter:blur(12px) saturate(1.2); box-shadow:inset 0 2px 5px rgba(19,59,79,0.18), inset 0 -1px 0 rgba(255,255,255,0.95), inset 1px 0 0 rgba(19,59,79,0.05), inset -1px 0 0 rgba(19,59,79,0.05); transition:box-shadow var(--ew-dur-slow) var(--ew-ease-soft), color var(--ew-dur-slow) var(--ew-ease-soft);}
  @media (hover:hover) and (pointer:fine){ .ew-cinfo:hover .ew-cicon{background:linear-gradient(180deg, rgba(19,59,79,0.04) 0%, rgba(255,255,255,0.65) 100%); color:var(--ew-secondary-deep); box-shadow:inset 0 1px 3px rgba(19,59,79,0.12), inset 0 -1px 0 #FFFFFF;} }
  .ew-req{color:var(--ew-secondary-text); font-weight:600; margin-left:2px;}
  .ew-form-status{display:flex; align-items:center; gap:10px; font-size:15px; color:var(--ew-text-heading); min-height:44px;}
  .ew-form-status-dot{width:10px; height:10px; border-radius:999px; background:var(--ew-secondary); box-shadow:0 0 0 4px rgba(22,183,170,0.22); flex:none;}
  .ew-form-glass .ew-input{background:rgba(255,255,255,0.92); border-color:rgba(19,59,79,0.30); box-shadow:inset 0 1px 2px rgba(19,59,79,0.06);}
  .ew-form-glass .ew-input:focus{background:#FFFFFF;}
  /* Testimonial: grounded card with a quiet secondary accent that earns its place (the quote mark) */
  .ew-tcard{position:relative; margin:0; padding:28px 28px 24px 30px; display:flex; flex-direction:column; height:100%; background:rgba(250,252,254,0.54); -webkit-backdrop-filter:blur(28px) saturate(1.42); backdrop-filter:blur(28px) saturate(1.42); border:0; border-radius:var(--ew-radius); box-shadow:inset 0 1px 0 rgba(255,255,255,0.88), inset 1px 0 0 rgba(255,255,255,0.50), inset 0 24px 40px -22px rgba(255,255,255,0.62), 0 1px 5px rgba(19,59,79,0.11), 0 4px 22px -14px rgba(19,59,79,0.19);}
  .ew-tcard::after{content:''; position:absolute; left:0; top:0; bottom:0; width:56px; border-radius:inherit; pointer-events:none; background:linear-gradient(90deg, rgba(22,183,170,0.14) 0%, rgba(22,183,170,0.05) 55%, rgba(22,183,170,0) 100%);}
  .ew-tq{flex:1; margin:0; font-size:19px; line-height:1.58; color:var(--ew-text-heading); max-width:52ch; text-wrap:pretty;}
  .ew-tauth{display:block; font-size:15px; font-weight:600; color:var(--ew-text-heading);}
  .ew-tco{display:block; font-size:14px; color:var(--ew-text-muted); margin-top:2px;}
  .ew-tq::before,.ew-tq::after{font-weight:700; color:var(--ew-secondary-deep);}
  .ew-tq::before{content:'\201C';}
  .ew-tq::after{content:'\201D';}
  .ew-tmeta{display:flex; align-items:center; gap:12px; margin-top:var(--ew-space-4);}
  /* Carrusel de testimonios: scroll-snap nativo (gesto táctil y trackpad gratis, transición
     interrumpible) con controles visibles, indicador de posición y navegación por teclado.
     Sin autoplay. El contenido se entiende sin animación: sin transición sigue habiendo salto. */
  /* Patrones repetidos, deduplicados desde estilos en línea idénticos. */
  .ew-h2{margin:0; font-size:clamp(28px, 3vw, 34px); font-weight:600; letter-spacing:-0.018em; line-height:1.14; color:var(--ew-text-heading);}
  .ew-intro{margin:12px 0 0; font-size:17px; line-height:1.6; color:var(--ew-text-body); max-width:58ch; text-wrap:pretty;}
  .ew-svc-h3{margin:0; font-size:24px; font-weight:600; line-height:1.22; letter-spacing:-0.016em; color:var(--ew-text-heading);}
  .ew-plabel{font-size:15px; line-height:1.55; color:var(--ew-text-body); margin-top:10px;}
  .ew-cinfo{display:flex; gap:14px; align-items:flex-start;}
  .ew-cicon svg{width:20px; height:20px; display:block; fill:currentColor;}
  .ew-clabel{display:block; font-size:13px; font-weight:600; letter-spacing:0.02em; color:var(--ew-text-muted);}
  .ew-chev{width:13px; height:13px; flex:none; fill:currentColor;}
  .ew-carousel{position:relative; margin-top:var(--ew-space-5);}
  .ew-car-frame{position:relative;}
  .ew-car-viewport{display:flex; gap:var(--ew-space-5); overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; -ms-overflow-style:none; background:transparent; padding:0 8px 16px; margin:0 -8px; scroll-padding-inline:8px;}
  .ew-car-viewport::-webkit-scrollbar{display:none;}
  .ew-car-viewport:focus-visible{outline:2px solid var(--ew-action); outline-offset:3px; border-radius:var(--ew-radius);}
  .ew-car-slide{flex:0 0 calc((100% - var(--ew-space-5)) / 2); scroll-snap-align:start; display:flex;}
  .ew-car-slide > .ew-tcard{width:100%;}
  /* Controles bajo las tarjetas, centrados al eje vertical del contenedor. */
  .ew-car-bar{display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:12px; row-gap:6px; margin-top:var(--ew-space-3);}
  .ew-car-nav[disabled]{opacity:0.4; cursor:default; box-shadow:inset 0 1px 0 rgba(255,255,255,0.45), 0 1px 3px rgba(19,59,79,0.09);}
  .ew-car-nav svg{width:17px; height:17px; display:block;}
  .ew-car-dots{display:flex; align-items:center; gap:0; margin-left:auto;}
  .ew-dot{width:44px; height:44px; min-width:44px; min-height:44px; padding:0; border:0; background:transparent; cursor:pointer; display:inline-flex; align-items:center; justify-content:center;}
  .ew-dot::after{content:''; width:11px; height:11px; border-radius:999px; background:rgba(255,255,255,0.68); -webkit-backdrop-filter:blur(8px) saturate(1.25); backdrop-filter:blur(8px) saturate(1.25); box-shadow:inset 0 1px 0.5px rgba(255,255,255,0.98), inset 0 -2px 4px -1px rgba(19,59,79,0.26), 0 1px 4px rgba(19,59,79,0.342); transition:background var(--ew-dur) var(--ew-ease-soft), transform var(--ew-dur) var(--ew-ease-surface), box-shadow var(--ew-dur) var(--ew-ease-soft);}
  .ew-dot[aria-current="true"]::after{background:rgba(14,138,128,0.5); -webkit-backdrop-filter:blur(10px) saturate(1.5); backdrop-filter:blur(10px) saturate(1.5); box-shadow:inset 0 1px 0.5px rgba(255,255,255,0.70), inset 0 -3px 5px -2px rgba(6,58,54,0.34), 0 1px 4px rgba(11,90,84,0.40); transform:scale(1.42);}
  @media (hover:hover) and (pointer:fine){ .ew-dot:not([aria-current="true"]):hover::after{background:rgba(255,255,255,0.92); transform:scale(1.16);} }
  .ew-dot:active::after{transform:scale(0.88); transition-duration:110ms;}
  .ew-dot:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px; border-radius:999px;}
  @media (prefers-reduced-motion: reduce){ .ew-dot::after{transition:background var(--ew-dur) linear;} .ew-dot:active::after{transform:none;} }
  /* Transparencia reducida: el material se vuelve sólido y el estado se sostiene por color y tamaño. */
  @media (prefers-reduced-transparency: reduce){
    .ew-dot::after{background:#FFFFFF; -webkit-backdrop-filter:none; backdrop-filter:none;}
    .ew-dot[aria-current="true"]::after{background:var(--ew-secondary-deep); -webkit-backdrop-filter:none; backdrop-filter:none;}
  }
  @media (prefers-contrast: more){
    .ew-dot::after{background:#FFFFFF; box-shadow:0 0 0 1px var(--ew-text-heading); -webkit-backdrop-filter:none; backdrop-filter:none;}
    .ew-dot[aria-current="true"]::after{background:var(--ew-secondary-deep); box-shadow:0 0 0 1px var(--ew-text-heading);}
  }
  /* El breakpoint decide, no la medición: en escritorio hay 5 posiciones alcanzables. */
  /* Marco de vidrio de 4 px alrededor del mapa: superficie con padding, no propiedad border. */
  .ew-mapframe{padding:12px; border-radius:calc(var(--ew-radius) + 12px); background:linear-gradient(135deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.58) 34%, rgba(240,247,251,0.46) 62%, rgba(255,255,255,0.80) 100%); -webkit-backdrop-filter:blur(22px) saturate(1.4); backdrop-filter:blur(22px) saturate(1.4); box-shadow:inset 0 2px 1px rgba(255,255,255,0.98), inset 2px 0 1px rgba(255,255,255,0.72), inset 0 -3px 2px rgba(19,59,79,0.10), inset -2px 0 2px rgba(19,59,79,0.07), inset 0 -10px 16px -10px rgba(19,59,79,0.20), var(--ew-elev-2);}
  .ew-mapframe iframe{display:block; border-radius:var(--ew-radius);}
  /* Páginas internas: una sola superficie de lectura continua, suficientemente opaca. El vidrio
     se reserva al armazón (Header, Footer) y al plano principal, no a cada subapartado. */
  .ew-legal{max-width:78ch; margin:0 auto; padding:46px 46px 54px; border-radius:var(--ew-radius); background:rgba(253,254,255,0.94); -webkit-backdrop-filter:blur(28px) saturate(1.3); backdrop-filter:blur(28px) saturate(1.3); box-shadow:inset 0 1px 0 rgba(255,255,255,0.96), var(--ew-elev-2); border:0;}
  .ew-legal h1{margin:0; font-size:clamp(30px,3.6vw,40px); font-weight:700; letter-spacing:-0.022em; line-height:1.1; color:var(--ew-text-heading); text-wrap:pretty;}
  .ew-legal h1:focus-visible{outline:2px solid var(--ew-action); outline-offset:6px; border-radius:6px;}
  .ew-lnote{margin:18px 0 0; padding:12px 16px; border-radius:var(--ew-radius); background:rgba(19,59,79,0.05); font-size:14.5px; line-height:1.55; color:var(--ew-text-body);}
  .ew-lbody{margin-top:30px;}
  .ew-lbody h2{margin:34px 0 0; font-size:23px; font-weight:600; letter-spacing:-0.014em; line-height:1.24; color:var(--ew-text-heading); text-wrap:pretty;}
  .ew-lbody h3{margin:24px 0 0; font-size:18px; font-weight:600; line-height:1.3; color:var(--ew-text-heading);}
  .ew-lbody p{margin:14px 0 0; font-size:17px; line-height:1.72; color:var(--ew-text-body); text-wrap:pretty;}
  .ew-lbody ul,.ew-lbody ol{margin:14px 0 0; padding-left:22px; display:flex; flex-direction:column; gap:8px;}
  .ew-lbody li{font-size:17px; line-height:1.68; color:var(--ew-text-body);}
  .ew-lbody strong{font-weight:600; color:var(--ew-text-heading);}
  .ew-lbody a{color:var(--ew-icon); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px;}
  .ew-lbody a:hover{color:var(--ew-action-hover); text-decoration-thickness:2px;}
  @media (max-width:760px){ .ew-legal{padding:30px 20px 36px; max-width:none;} .ew-lbody h2{margin-top:28px;} }
  @media (prefers-reduced-transparency: reduce){ .ew-legal{background:#FDFEFF !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;} }
  html.ew-force-opaque .ew-legal{background:#FDFEFF !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
  /* Control del Libro de Reclamaciones: ancla con el tratamiento de CTA canónico (.ew-btn--primary),
     no con el vidrio de los botones sociales. Aquí solo la colocación y el icono. */
  .ew-lrbtn{margin-top:var(--ew-space-4); gap:10px;}
  .ew-lrbtn svg{width:17px; height:17px; flex:none; fill:currentColor;}
  /* Libro de Reclamaciones: formulario agrupado, no asistente por pasos. */
  .ew-cbgrid{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px;}
  @media (max-width:760px){ .ew-cbgrid{grid-template-columns:1fr;} }
  .ew-cbfield{display:flex; flex-direction:column; gap:6px;}
  .ew-cbfield label{font-size:15px; font-weight:500; color:var(--ew-text-heading);}
  .ew-cberr{font-size:14px; line-height:1.5; color:#9A2A1E; font-weight:500;}
  .ew-input[aria-invalid="true"]{border-color:#9A2A1E; box-shadow:0 0 0 2px #FFFFFF, 0 0 0 3px rgba(154,42,30,0.45);}
  .ew-cbsummary{margin-top:20px; padding:16px 18px; border-radius:var(--ew-radius); background:rgba(154,42,30,0.07); box-shadow:inset 0 0 0 2px rgba(154,42,30,0.30);}
  .ew-cbsummary a{color:#9A2A1E; font-weight:500;}
  .ew-cbgroup{margin-top:30px;}
  .ew-cbgroup > h2{margin:0 0 4px; font-size:20px; font-weight:600; letter-spacing:-0.012em; color:var(--ew-text-heading);}
  .ew-cbradios{display:flex; flex-wrap:wrap; gap:12px; margin-top:10px;}
  .ew-cbradio{display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:0 16px; border-radius:var(--ew-radius); background:rgba(255,255,255,0.72); box-shadow:inset 0 1px 0 rgba(255,255,255,0.95), 0 1px 3px rgba(19,59,79,0.12); font-size:16px; color:var(--ew-text-heading); cursor:pointer;}
  .ew-cbradio input{width:18px; height:18px; accent-color:var(--ew-action);}
  .ew-cbradio:focus-within{outline:2px solid var(--ew-action); outline-offset:2px;}
  .ew-turnstile{margin-top:20px; padding:18px; border-radius:var(--ew-radius); background:rgba(19,59,79,0.045); font-size:14.5px; line-height:1.55; color:var(--ew-text-muted); text-align:center;}
  .ew-cbstate{margin-top:22px; padding:22px 24px; border-radius:var(--ew-radius); background:rgba(255,255,255,0.86); box-shadow:inset 0 1px 0 rgba(255,255,255,0.96), var(--ew-elev-1);}
  .ew-cbstate h2{margin:0; font-size:21px; font-weight:600; color:var(--ew-text-heading);}
  .ew-cbstate p{margin:12px 0 0; font-size:16.5px; line-height:1.65; color:var(--ew-text-body);}
  .ew-cbcode{display:inline-block; margin-top:14px; padding:10px 14px; border-radius:var(--ew-radius); background:rgba(19,59,79,0.06); font-family:ui-monospace,'SF Mono',Menlo,monospace; font-size:17px; font-weight:600; letter-spacing:0.02em; color:var(--ew-text-heading);}
  .ew-req-note{margin-top:8px; font-size:14.5px; color:var(--ew-text-muted);}
  .ew-sr--single{display:none;}
  @media (max-width:860px){ .ew-sr--range{display:none;} .ew-sr--single{display:block;} }
  @media (min-width:861px){ .ew-car-dots .ew-dot:last-child{display:none;} }
  .ew-sr{position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;}
  @media (max-width:1000px){ .ew-car-slide{flex-basis:calc((100% - var(--ew-space-5)) / 2);} }
  @media (max-width:860px){ .ew-car-slide{flex-basis:100%;} }
  @media (max-width:600px){ .ew-proof-floor::after{background:radial-gradient(circle at 50% 50%, rgba(226,208,171,0.07) 0%, rgba(226,208,171,0) 72%) !important;} .ew-car-bar{justify-content:space-between;} .ew-car-dots{margin-left:0; flex:1 0 100%; justify-content:space-between;} }
  @media (prefers-reduced-motion: reduce){ .ew-car-viewport{scroll-behavior:auto;} }
  html.ew-no-anim .ew-car-viewport,html.ew-force-rm .ew-car-viewport{scroll-behavior:auto;}
  .ew-tavatar{width:57px; height:57px; border-radius:999px; object-fit:cover; flex:none; box-shadow:0 0 0 2px #FFFFFF, 0 0 0 3px rgba(22,183,170,0.45);}
  /* Service card: image with bottom scrim, glass title inset, grounded description; hover lifts */
  .ew-service-card{position:relative; aspect-ratio:4/5; border-radius:var(--ew-radius); overflow:hidden; background:var(--ew-surface); box-shadow:var(--ew-elev-1); isolation:isolate;}
  .ew-service-card img{position:absolute; left:0; top:-12%; width:100%; height:124%; object-fit:cover; transition:transform 520ms var(--ew-ease-soft);}
  .ew-service-text{position:absolute; left:8px; right:8px; bottom:8px; top:32%; height:auto; padding:20px; border-radius:calc(var(--ew-radius) - 3px); display:flex; flex-direction:column; justify-content:flex-end; gap:8px; color:var(--ew-text-heading); isolation:isolate;}
  .ew-service-text::before{content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:linear-gradient(180deg, rgba(255,255,255,0) 0px, rgba(255,255,255,0.04) calc(100% - var(--text-h, 120px) - 110px), rgba(255,255,255,0.16) calc(100% - var(--text-h, 120px) - 74px), rgba(255,255,255,0.56) calc(100% - var(--text-h, 120px) - 40px), rgba(255,255,255,0.84) calc(100% - var(--text-h, 120px) - 12px), rgba(253,254,255,0.855) calc(100% - var(--text-h, 120px)), rgba(253,254,255,0.855) 100%); -webkit-backdrop-filter:blur(12px) saturate(1.28); backdrop-filter:blur(12px) saturate(1.28); -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,0) 0px, rgba(0,0,0,0.1) calc(100% - var(--text-h, 120px) - 110px), rgba(0,0,0,0.32) calc(100% - var(--text-h, 120px) - 74px), rgba(0,0,0,0.78) calc(100% - var(--text-h, 120px) - 40px), #000 calc(100% - var(--text-h, 120px) - 12px), #000 100%); mask-image:linear-gradient(180deg, rgba(0,0,0,0) 0px, rgba(0,0,0,0.1) calc(100% - var(--text-h, 120px) - 110px), rgba(0,0,0,0.32) calc(100% - var(--text-h, 120px) - 74px), rgba(0,0,0,0.78) calc(100% - var(--text-h, 120px) - 40px), #000 calc(100% - var(--text-h, 120px) - 12px), #000 100%);}
  .ew-service-text h3,.ew-service-text p{position:relative; z-index:1; opacity:1;}
  @media (hover:hover) and (pointer:fine){ .ew-service-card:hover img{--zoom:1.06;} }
  .ew-service-card img{--zoom:1; transform:scale(var(--zoom));}
  /* Process step marker picks up the secondary */
  .ew-step-dot{position:relative; z-index:1; width:48px; height:48px; border-radius:999px; display:flex; align-items:center; justify-content:center; color:#F4FBFA; background:linear-gradient(180deg, #1FC6B8 0%, var(--ew-secondary) 55%, var(--ew-secondary-deep) 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,0.45), 0 0 0 4px var(--ew-canvas-c), 0 6px 14px -6px rgba(14,138,128,0.55); transition:box-shadow var(--ew-dur-slow) var(--ew-ease-soft), color var(--ew-dur-slow) var(--ew-ease-soft), transform var(--ew-dur-slow) var(--ew-ease-soft);}
  @media (hover:hover) and (pointer:fine){ .ew-step:hover .ew-step-dot{background:linear-gradient(180deg, rgba(255,255,255,0.80) 0%, rgba(255,255,255,0.45) 100%), linear-gradient(180deg, #5FDCD2 0%, var(--ew-secondary) 100%); color:var(--ew-secondary-deep); -webkit-backdrop-filter:blur(10px) saturate(1.4); backdrop-filter:blur(10px) saturate(1.4); box-shadow:inset 0 1px 0 #FFFFFF, inset 0 -6px 10px -8px rgba(14,138,128,0.35), 0 0 0 4px var(--ew-canvas-c), 0 10px 22px -8px rgba(14,138,128,0.55); transform:translateY(-2px);} }
  .ew-process-line{height:6px !important; border-radius:3px; top:21px !important; z-index:0; overflow:hidden; background:linear-gradient(90deg, rgba(22,183,170,0.38), rgba(22,183,170,0.55)) !important;}
  .ew-process-line::after{content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 30%, rgba(255,255,255,0.62) 50%, rgba(255,255,255,0) 70%, rgba(255,255,255,0) 100%); background-size:50% 100%; background-repeat:no-repeat; animation:ewFlow 9s cubic-bezier(0.4,0,0.6,1) infinite;}
  @keyframes ewFlow{from{background-position:-60% 0;}to{background-position:170% 0;}}
  .ew-benefit-num{color:var(--ew-secondary-deep) !important;}
  .ew-form-grid{align-items:end;}
  .ew-proof-value{min-height:0;}
  .ew-proof-item{display:flex; flex-direction:column; justify-content:flex-start;}
  .ew-input{font-family:inherit; font-size:16px; color:var(--ew-text-heading); background:#FFFFFF; border:1px solid var(--ew-control-border); border-radius:var(--ew-radius); padding:11px 13px; min-height:44px; width:100%; transition:border-color var(--ew-dur) var(--ew-ease-soft), box-shadow var(--ew-dur) var(--ew-ease-soft), background var(--ew-dur) var(--ew-ease-soft);}
  .ew-input:focus{outline:none; border-color:var(--ew-action); box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px var(--ew-action);}
  .ew-footlink{display:flex; align-items:center; gap:var(--ew-space-2); min-height:36px; white-space:nowrap; font-size:15px; font-weight:400; color:var(--ew-text-body); text-decoration:none; transition:color var(--ew-dur) var(--ew-ease-soft), transform var(--ew-dur) var(--ew-ease-soft);}
  @media (hover:hover) and (pointer:fine){ .ew-footlink:hover{transform:translateX(3px);} }
  .ew-footlink:hover{color:var(--ew-action-hover);}
  /* Familia de controles de vidrio: sociales, hamburguesa y navegación del carrusel comparten
     material e interacción. Hover hundido, pulsación más marcada, border:0, sin perímetro. */
  .ew-social,.ew-burger,.ew-car-nav{position:relative; display:inline-flex; align-items:center; justify-content:center; flex:none; width:44px; height:44px; min-width:44px; min-height:44px; padding:0; border:0; border-radius:var(--ew-radius); cursor:pointer; color:var(--ew-icon); background:linear-gradient(180deg, rgba(255,255,255,0.70) 0%, rgba(250,252,254,0.50) 100%); -webkit-backdrop-filter:blur(18px) saturate(1.32); backdrop-filter:blur(18px) saturate(1.32); box-shadow:inset 0 1px 0 rgba(255,255,255,0.96), inset 0 -6px 12px -7px rgba(19,59,79,0.20), 0 2px 8px rgba(19,59,79,0.099), 0 16px 43px -16px rgba(19,59,79,0.207); transition:box-shadow var(--ew-dur) var(--ew-ease-soft), color var(--ew-dur) var(--ew-ease-soft), transform 130ms var(--ew-ease-soft);}
  @media (hover:hover) and (pointer:fine){
    .ew-social:hover,.ew-burger:hover,.ew-car-nav:not([disabled]):hover{color:var(--ew-action); transform:translateY(0.5px) scale(0.994); box-shadow:inset 0 1px 2px rgba(19,59,79,0.15), inset 0 -1px 0 rgba(255,255,255,0.96), 0 1px 3px rgba(19,59,79,0.108);}
  }
  .ew-social:active,.ew-burger:active,.ew-car-nav:not([disabled]):active{transform:translateY(1px) scale(0.978); box-shadow:inset 0 2px 5px rgba(19,59,79,0.22), inset 0 -1px 0 rgba(255,255,255,0.68);}
  .ew-social:focus-visible,.ew-burger:focus-visible,.ew-car-nav:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px;}
  /* v9.1 Defecto 4. Los trazos de estos iconos llegan al borde de su viewBox 0 0 16 16 y se
     dibujan a 21/16 y 20/16, escalas fraccionarias; con el scale() del hover, Firefox redondea el
     recorte propio del SVG (overflow:hidden por defecto) y raspa ~2 px del borde derecho. El SVG
     deja de recortar su propio lienzo: la geometría, el tamaño y el centrado no cambian. */
  .ew-social svg,.ew-car-nav svg,.ew-lrbtn svg{overflow:visible;}
  /* Sobre un padre de vidrio no se acumula vidrio (apple-design §12): el control suelta su
     backdrop-filter y el material lo sostienen el relleno y las luces internas. */
  .ew-glass-elevated .ew-social,.ew-glass-standard .ew-social,.ew-glass-elevated .ew-burger,.ew-glass-elevated .ew-car-nav{-webkit-backdrop-filter:none; backdrop-filter:none; background:linear-gradient(180deg, rgba(255,255,255,0.78) 0%, rgba(250,252,254,0.56) 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,0.96), inset 0 -6px 12px -7px rgba(19,59,79,0.20), 0 2px 8px rgba(19,59,79,0.099), 0 16px 43px -16px rgba(19,59,79,0.198);}
  @media (hover:hover) and (pointer:fine){
    .ew-glass-elevated .ew-social:hover,.ew-glass-standard .ew-social:hover,.ew-glass-elevated .ew-burger:hover{background:linear-gradient(180deg, rgba(255,255,255,0.90) 0%, rgba(250,252,254,0.70) 100%); box-shadow:inset 0 1px 2px rgba(19,59,79,0.16), inset 0 -1px 0 rgba(255,255,255,0.98), 0 1px 3px rgba(19,59,79,0.108);}
  }
  .ew-glass-elevated .ew-social:active,.ew-glass-standard .ew-social:active,.ew-glass-elevated .ew-burger:active{background:linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(250,252,254,0.76) 100%); box-shadow:inset 0 2px 5px rgba(19,59,79,0.22), inset 0 -1px 0 rgba(255,255,255,0.90);}
  .ew-car-nav{-webkit-backdrop-filter:blur(18px) saturate(1.32); backdrop-filter:blur(18px) saturate(1.32); background:linear-gradient(180deg, rgba(255,255,255,0.78) 0%, rgba(250,252,254,0.56) 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,0.96), inset 0 -6px 12px -7px rgba(19,59,79,0.20), 0 2px 8px rgba(19,59,79,0.099), 0 16px 43px -16px rgba(19,59,79,0.198);}
  @media (hover:hover) and (pointer:fine){
    .ew-car-nav:not([disabled]):hover{background:linear-gradient(180deg, rgba(255,255,255,0.90) 0%, rgba(250,252,254,0.70) 100%); box-shadow:inset 0 1px 2px rgba(19,59,79,0.16), inset 0 -1px 0 rgba(255,255,255,0.95), 0 1px 3px rgba(19,59,79,0.108);}
  }
  .ew-car-nav:not([disabled]):active{background:linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(250,252,254,0.76) 100%); box-shadow:inset 0 2px 5px rgba(19,59,79,0.22), inset 0 -1px 0 rgba(255,255,255,0.90);}
  @media (prefers-reduced-motion: reduce){ .ew-social,.ew-burger,.ew-car-nav{transition:box-shadow var(--ew-dur) linear, color var(--ew-dur) linear;} .ew-social:hover,.ew-burger:hover,.ew-car-nav:hover,.ew-social:active,.ew-burger:active,.ew-car-nav:active{transform:none;} }
  .ew-social:focus-visible,.ew-faq-btn:focus-visible,.ew-btn:focus-visible,.ew-navlink:focus-visible,.ew-footlink:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px;}
  .ew-faq-btn{width:100%; font-family:inherit; text-align:left; background:transparent; border:0; padding:17px 20px; cursor:pointer; display:flex; align-items:center; gap:var(--ew-space-4); min-height:56px; color:inherit; transition:background var(--ew-dur) var(--ew-ease-soft);}
  @media (hover:hover) and (pointer:fine){ .ew-faq-btn:hover{background:rgba(255,255,255,0.40);} }
  /* Sin animaciones de entrada de un solo disparo: en este runtime se congelan en su
     fotograma 0%, que es un estado oculto. La visibilidad en reposo no puede depender
     de movimiento. Las clases se conservan como anclas de auditoría. */
  .ew-mo-surface,.ew-mo-disclose{opacity:1;}
  .ew-faq-answer{display:grid; grid-template-rows:0fr; transition:grid-template-rows 460ms var(--ew-ease-soft);}
  .ew-faq-answer[data-open="true"]{grid-template-rows:1fr;}
  .ew-faq-answer > div{overflow:hidden; min-height:0;}
  .ew-faq-answer > div > div{padding:0 56px 20px 20px; opacity:0; transform:translateY(-3px); transition:opacity 420ms var(--ew-ease-soft), transform 460ms var(--ew-ease-soft);}
  .ew-faq-answer[data-open="true"] > div > div{opacity:1; transform:none;}
  .ew-burger{position:relative; display:none;}
  .ew-burger-line{position:absolute; left:13px; width:18px; height:2px; border-radius:1px; background:var(--ew-text-heading); transition:transform 260ms var(--ew-ease-surface), opacity 170ms var(--ew-ease-soft);}
  .ew-burger-line:nth-of-type(1){top:15px;}
  .ew-burger-line:nth-of-type(2){top:21px;}
  .ew-burger-line:nth-of-type(3){top:27px;}
  .ew-burger[aria-expanded="true"] .ew-burger-line:nth-of-type(1){transform:translateY(6px) rotate(45deg);}
  .ew-burger[aria-expanded="true"] .ew-burger-line:nth-of-type(2){opacity:0; transform:scaleX(0.35);}
  .ew-burger[aria-expanded="true"] .ew-burger-line:nth-of-type(3){transform:translateY(-6px) rotate(-45deg);}
  .ew-mopanel{display:grid; grid-template-rows:0fr; opacity:0; visibility:hidden; transition:grid-template-rows 280ms var(--ew-ease-surface), opacity 200ms var(--ew-ease-soft), visibility 0s linear 280ms;}
  .ew-mopanel[data-open="true"]{grid-template-rows:1fr; opacity:1; visibility:visible; transition-delay:0s,0s,0s;}
  .ew-mopanel > div{overflow:hidden; min-height:0;}
  .ew-faq-sign{position:relative; display:block; width:15px; height:15px;}
  .ew-faq-sign::before,.ew-faq-sign::after{content:''; position:absolute; background:currentColor; border-radius:1px; transition:transform 460ms var(--ew-ease-soft), opacity 420ms var(--ew-ease-soft);}
  .ew-faq-sign::before{top:6.5px; left:0; width:15px; height:2px;}
  .ew-faq-sign::after{left:6.5px; top:0; width:2px; height:15px;}
  .ew-faq-btn[aria-expanded="true"] .ew-faq-sign::after{transform:scaleY(0); opacity:0;}
  .ew-faq-btn[aria-expanded="true"] .ew-faq-sign::before{transform:rotate(180deg);}
  .ew-faq-btn:active{background:rgba(255,255,255,0.55);}
  /* .ew-social salió de aquí: esta regla precede a la familia de controles y, con la misma
     especificidad y una posición posterior, anulaba su pulsación hundida. */
  .ew-footlink:active{transform:scale(0.97);}
  @media (hover:none){ .ew-navlink:hover,.ew-footlink:hover{background:transparent;} }
  @media (prefers-reduced-motion: reduce){
    .ew-service-card img,.ew-benefit-card,.ew-service-text,.ew-step-dot{transition:none !important;}
    .ew-orb,.ew-process-line::after{animation:none !important;}
    .ew-navlink,.ew-btn,.ew-input,.ew-social,.ew-footlink,.ew-faq-btn{transition:none !important;}
  }
  @media (prefers-reduced-transparency: reduce){
    .ew-glass-subtle,.ew-glass-standard,.ew-glass-elevated{background:#F1F6FA !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
  }
  @supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
    .ew-glass-subtle,.ew-glass-standard,.ew-glass-elevated{background:#F1F6FA !important;}
  }
  @media (max-width:1000px){
    /* La navegación por hamburguesa cubre todo el rango de tableta, no solo hasta 760 px. */
    .ew-navlinks{display:none !important;}
    .ew-burger{display:inline-flex !important; margin-left:auto;}
    .ew-benefits{grid-template-columns:repeat(2,1fr) !important;}
    .ew-services{grid-template-columns:repeat(2,1fr) !important;}
    .ew-benefits > *{padding-top:0 !important;}
  }
  @media (max-width:860px){
    .ew-proof{grid-template-columns:1fr 1fr !important;}
    .ew-proof-item + .ew-proof-item{border-left:0 !important;}
    .ew-proof-item{border-top:1px solid rgba(19,59,79,0.16);}
    .ew-proof-item:first-child, .ew-proof-item:nth-child(2){border-top:0;}
    .ew-proof-value{min-height:0 !important;}
    .ew-tgrid{grid-template-columns:1fr !important;}
    .ew-contact{grid-template-columns:1fr !important;}
    .ew-foot{grid-template-columns:1fr 1fr !important;}
    .ew-process-line{display:none !important;}
    .ew-process{grid-template-columns:1fr 1fr !important; row-gap:var(--ew-space-5) !important;}
    .ew-about-body{margin-top:-120px !important; max-width:none !important; margin-right:0 !important;}
    .ew-about-img{height:380px !important;}
  }
  /* Tablet: el panel del Hero baja 25 px, así que solapa la sección siguiente 25 px más. */
  @media (min-width:761px) and (max-width:1000px){
    .ew-hero-surface{top:auto !important; bottom:calc(var(--ew-hero-cross) * -1) !important;}
    .ew-about-body{width:90% !important; max-width:90% !important; margin-left:auto !important; margin-right:auto !important;}
  }
  @media (max-width:760px){
    .ew-hero-surface{position:relative !important; top:auto !important; left:auto !important; right:auto !important; width:auto !important; bottom:auto !important; margin:-94px 16px 0 !important;}
    .ew-form-grid{grid-template-columns:1fr !important;}
    .ew-services{grid-template-columns:1fr !important;}
    .ew-service-card{aspect-ratio:4/4.4 !important;}
    .ew-step-dot{width:44px !important; height:44px !important;}
    #proof{padding-top:77px !important;}
  }
  @media (max-width:600px){
    .ew-benefits{grid-template-columns:1fr !important;}
    .ew-proof{grid-template-columns:1fr !important;}
    .ew-proof-item:nth-child(2){border-top:1px solid rgba(19,59,79,0.16) !important;}
    .ew-process{grid-template-columns:1fr !important;}
    .ew-foot{grid-template-columns:1fr !important;}
    .ew-pad{padding-left:18px !important; padding-right:18px !important;}
    header.ew-glass-elevated{width:calc(100% - 20px) !important;}
    /* Móvil: la imagen de About va a sangre completa y sin radio; el contenido flotante conserva el suyo. */
    .ew-about-img{border-radius:0 !important; width:100vw !important; max-width:100vw !important; margin-left:calc(50% - 50vw) !important;}
  }
  /* ===== Consentimiento: banner, panel de preferencias, contenido externo =====
     Material y movimiento tomados de los tokens compartidos de Stage B v6 (glassElevated,
     --ew-elev-*, --ew-dur-*, --ew-ease-*). No se reescriben valores aproximados. */
  :root{
    /* Reservado para la integración futura del FloatingWhatsAppButton. Sin botón renderizado. */
    --floating-action-obstruction-offset:0px;
    --ew-consent-layer:190;
    --ew-prefs-layer:200;
  }
  .ew-consent{position:fixed; left:50%; bottom:24px; transform:translateX(-50%); width:calc(100% - 48px); max-width:720px; z-index:var(--ew-consent-layer); padding:22px 26px 20px; border:0;}
  /* Sin animación de entrada: el runtime re-renderiza esta Landing de forma continua (paralaje,
     revelado por IntersectionObserver, temporizador de testimonios) y una animación de un solo
     disparo se reiniciaría en cada render, dejando la superficie en su fotograma 0. La visibilidad
     en reposo no puede depender de movimiento. */
  .ew-consent{opacity:1;}
  .ew-consent-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
  .ew-consent-actions .ew-btn{flex:1 1 auto; min-width:180px;}
  .ew-prefs-backdrop{position:fixed; inset:0; z-index:var(--ew-prefs-layer); display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(19,59,79,0.36); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); opacity:1;}
  .ew-prefs{width:100%; max-width:560px; max-height:calc(100dvh - 48px); display:flex; flex-direction:column; border:0; padding:0; overflow:hidden; opacity:1; background:rgba(250,252,254,0.85);}
  .ew-prefs-head{padding:24px 26px 0; display:flex; align-items:flex-start; justify-content:space-between; gap:16px;}
  .ew-prefs-body{padding:16px 26px 2px; overflow-y:auto; -webkit-overflow-scrolling:touch;}
  .ew-prefs-foot{padding:18px 26px 22px; display:flex; justify-content:flex-end;}
  .ew-prefs-close{flex:none; width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:var(--ew-radius); background:transparent; color:var(--ew-text-body); cursor:pointer; transition:background var(--ew-dur) var(--ew-ease-soft), color var(--ew-dur) var(--ew-ease-soft);}
  @media (hover:hover) and (pointer:fine){ .ew-prefs-close:hover{background:rgba(19,59,79,0.06); color:var(--ew-action);} }
  .ew-cat{display:flex; gap:18px; align-items:flex-start; justify-content:space-between; padding:16px 0;}
  .ew-cat + .ew-cat{border-top:1px solid var(--ew-rule);}
  .ew-switch{flex:none; position:relative; width:56px; height:44px; min-height:44px; padding:0; border:0; background:transparent; cursor:pointer;}
  .ew-switch::before{content:''; position:absolute; left:0; top:7px; width:52px; height:30px; border-radius:999px; background:rgba(19,59,79,0.24); box-shadow:inset 0 1px 3px rgba(19,59,79,0.24); transition:background var(--ew-dur) var(--ew-ease-soft);}
  .ew-switch::after{content:''; position:absolute; left:4px; top:12px; width:20px; height:20px; border-radius:999px; background:#FFFFFF; box-shadow:0 1px 4px rgba(19,59,79,0.306); transition:transform var(--ew-dur-disclose) var(--ew-ease-surface);}
  .ew-switch[aria-checked="true"]::before{background:var(--ew-secondary-deep);}
  .ew-switch[aria-checked="true"]::after{transform:translateX(24px);}
  .ew-switch[aria-disabled="true"]{cursor:default;}
  .ew-switch:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px; border-radius:var(--ew-radius);}
  .ew-prefs-close:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px;}
  .ew-extph{position:relative; overflow:hidden; border-radius:var(--ew-radius); padding:var(--ew-space-6) var(--ew-space-5); min-height:220px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:12px;}
  .ew-extph::before{content:''; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(135deg, rgba(19,59,79,0.055) 0 10px, rgba(19,59,79,0) 10px 22px);}
  .ew-extph > *{position:relative; z-index:1;}
  .ew-extph-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:4px;}
  button.ew-footlink{font-family:inherit; background:transparent; border:0; padding:0; text-align:left; cursor:pointer; width:100%;}
  /* Respaldo de transparencia reducida y de contraste alto para las superficies de consentimiento */
  @media (prefers-reduced-transparency: reduce){
    .ew-consent,.ew-prefs{background:#F1F6FA !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
    .ew-prefs-backdrop{background:rgba(19,59,79,0.52) !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
  }
  @media (prefers-contrast: more){
    .ew-consent,.ew-prefs{background:#FFFFFF !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; box-shadow:0 0 0 1px var(--ew-text-heading) !important;}
  }
  html.ew-force-opaque .ew-glass-subtle,html.ew-force-opaque .ew-glass-standard,html.ew-force-opaque .ew-glass-elevated,html.ew-force-opaque .ew-consent,html.ew-force-opaque .ew-prefs,html.ew-force-opaque .ew-note,html.ew-force-opaque .ew-tcard{background:#F1F6FA !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
  html.ew-force-opaque .ew-prefs-backdrop{background:rgba(19,59,79,0.52) !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
  html.ew-force-rm *,html.ew-force-rm *::before,html.ew-force-rm *::after{transition:none !important; animation:none !important;}
  /* Reloj de animación detenido (host sin fotogramas): toda transición se pinaría en su
     fotograma 0, que en un cambio de estado in situ es el estado ANTERIOR — la FAQ no abriría,
     el signo +/− no giraría. Sin transiciones, cada cambio aplica su valor final al instante. */
  html.ew-no-anim *,html.ew-no-anim *::before,html.ew-no-anim *::after{transition:none !important; animation:none !important;}
  @media (prefers-reduced-motion: reduce){
    .ew-switch::after{transition:none !important;}
  }
  @media (max-width:600px){
    .ew-consent{left:16px; right:16px; transform:none; width:auto; max-width:none; bottom:calc(16px + env(safe-area-inset-bottom)); padding:20px 18px 18px;}
    .ew-consent-actions .ew-btn{flex:1 1 100%; min-width:0;}
    .ew-prefs-backdrop{padding:16px; align-items:flex-end;}
    .ew-prefs{max-height:calc(100dvh - 32px);}
    .ew-prefs-head{padding:20px 18px 0;}
    .ew-prefs-body{padding:14px 18px 2px;}
    .ew-prefs-foot{padding:16px 18px 20px;}
    .ew-prefs-foot .ew-btn{width:100%;}
    .ew-extph{padding:var(--ew-space-5) var(--ew-space-4);}
    .ew-extph-actions .ew-btn{flex:1 1 100%;}
  }
  
  /* ===== Informativa v1 adiciones sobre el sistema azul aprobado ===== */
  /* Enlace de salto: primer elemento enfocable con significado. Oculto hasta el foco. */
  .ew-skip{position:fixed; left:16px; top:-96px; z-index:300; padding:12px 18px; border-radius:var(--ew-radius); background:#FFFFFF; color:var(--ew-action); font-size:15px; font-weight:600; text-decoration:none; box-shadow:var(--ew-elev-2); transition:top 180ms var(--ew-ease-soft);}
  .ew-skip:focus{top:96px; outline:2px solid var(--ew-action); outline-offset:2px;}
  @media (prefers-reduced-motion: reduce){ .ew-skip{transition:none;} }
  main:focus-visible,h1:focus-visible,h2:focus-visible{outline:2px solid var(--ew-action); outline-offset:6px; border-radius:6px;}
  /* Migas derivadas. Nunca en Inicio. La página actual es texto, no enlace. */
  .ew-crumbs{display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:14px; color:var(--ew-text-muted);}
  .ew-crumbs a{color:var(--ew-icon); text-decoration:none;}
  .ew-crumbs a:hover{color:var(--ew-action-hover); text-decoration:underline; text-underline-offset:2px;}
  .ew-crumbs svg{width:11px; height:11px; fill:currentColor; opacity:0.55;}
  .ew-crumbs [aria-current="page"]{color:var(--ew-text-body); font-weight:500;}
  /* PageHeaderMedia el panel cruza hacia la sección siguiente, igual que el Hero de Inicio.
     El cruce se ancla al borde INFERIOR del panel mediante --ew-phm-cross, así la distancia es
     constante y no depende del alto del panel ni del largo del título o la introducción. El
     recorte con radio vive en .ew-phm-media, no en .ew-phm, para que el panel pueda sobresalir. */
  :root{ --ew-phm-cross:88px; }
  .ew-phm{position:relative;}
  .ew-phm-media{border-radius:var(--ew-radius); overflow:hidden; box-shadow:var(--ew-elev-2);}
  .ew-phm-img{display:block; width:100%; height:clamp(340px,40vw,520px); object-fit:cover;}
  .ew-phm-panel{position:absolute; left:24px; right:24px; bottom:calc(var(--ew-phm-cross) * -1); padding:26px 30px 28px; max-width:720px;}
  /* La sección siguiente reserva el cruce completo más aire de lectura. */
  .ew-after-phm{padding-top:calc(var(--ew-phm-cross) + 62px) !important;}
  .ew-phm h1{margin:0; font-size:clamp(30px,3.6vw,42px); font-weight:700; letter-spacing:-0.022em; line-height:1.08; color:var(--ew-text-heading); text-wrap:pretty;}
  .ew-phm p{margin:12px 0 0; font-size:17px; line-height:1.6; color:var(--ew-text-body); max-width:56ch; text-wrap:pretty;}
  @media (max-width:760px){ .ew-phm{margin-left:calc(50% - 50vw); width:100vw; max-width:100vw;} .ew-phm-media{border-radius:0;} .ew-phm-img{height:300px;} .ew-phm-panel{position:relative; left:auto; right:auto; bottom:auto; margin:-72px 14px 0; max-width:none;} .ew-after-phm{padding-top:var(--ew-space-7) !important;} }
  /* PageHeaderText sin imagen canónica, así que sin vidrio: nada flota sobre nada. La
     jerarquía la sostienen la escala, el filo de luz y el aire, no un material prestado. */
  .ew-pht{position:relative; padding:8px 0 0;}
  .ew-pht h1{margin:0; font-size:clamp(32px,4vw,46px); font-weight:700; letter-spacing:-0.024em; line-height:1.06; color:var(--ew-text-heading); max-width:20ch; text-wrap:pretty;}
  .ew-pht p{margin:16px 0 0; font-size:18px; line-height:1.62; color:var(--ew-text-body); max-width:58ch; text-wrap:pretty;}
  /* Servicios una sola rejilla, tres modos, sin igualar altura con espacio vacío. */
  /* ServiceItem, variante `image`: misma composición que la BenefitCard de Landing v9.1 —caja de
     medio 4:3 pegada a los cantos superior, izquierdo y derecho, recorte absoluto top:-12%/124%,
     texto con relleno solo debajo— sin la insignia de posición, porque Servicios no tiene campo de
     posición derivada. Esta corrección sustituye la tarjeta 4:5 con plano de vidrio: el encargo fija
     4:3 horizontal para Servicios y prohíbe el recorte editorial vertical. */
  .ew-svc-media{position:relative; aspect-ratio:4/3; overflow:hidden;}
  .ew-svc-media img{display:block; position:absolute; left:0; top:-12%; width:100%; height:124%; object-fit:cover;}
  .ew-svc-body{padding:20px var(--ew-space-4) var(--ew-space-4);}
  .ew-svc-body h3{margin:0; font-size:21px; font-weight:600; line-height:1.28; letter-spacing:-0.012em; color:var(--ew-text-heading); text-wrap:pretty;}
  .ew-svc-body p{margin:6px 0 0; font-size:15px; line-height:1.55; color:var(--ew-text-body); text-wrap:pretty;}
  /* Valores el título y la introducción dejan de flotar sobre la lista y pasan a ser una
     columna fija que la acompaña: la relación entre encabezado e ítems se ve, no se supone.
     Seis ítems en dos columnas llenan tres filas exactas, sin columna vacía ni hueco sobrante.
     Sin icono, sin número, sin insignia: el contrato solo da título y descripción. */
  .ew-values-wrap{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:var(--ew-space-6) var(--ew-space-7); align-items:start; margin-top:var(--ew-space-6);}
  .ew-values-head{position:sticky; top:118px;}
  .ew-values-head .ew-h2{margin:0;}
  .ew-values-head .ew-intro{margin:14px 0 0; max-width:34ch;}
  .ew-values{display:grid; grid-template-columns:1fr 1fr; gap:var(--ew-space-4);}
  .ew-value{padding:24px 26px 26px; border-radius:var(--ew-radius); border:0; background:var(--ew-surface); box-shadow:var(--ew-elev-1);}
  .ew-value h3{margin:0; font-size:19.5px; font-weight:600; line-height:1.26; color:var(--ew-text-heading); letter-spacing:-0.014em; text-wrap:pretty;}
  .ew-value p{margin:9px 0 0; font-size:15.5px; line-height:1.62; color:var(--ew-text-body); max-width:46ch; text-wrap:pretty;}
  @media (max-width:1000px){ .ew-values-wrap{grid-template-columns:1fr; gap:var(--ew-space-5);} .ew-values-head{position:static;} .ew-values-head .ew-intro{max-width:56ch;} }
  @media (max-width:640px){ .ew-values{grid-template-columns:1fr;} }
  /* Equipo tarjetas no interactivas, foto 1:1 pegada a tres cantos. */
  /* Cada fila de la rejilla iguala su propia altura por estiramiento normal de CSS Grid: sin
     alto fijo, sin recorte de biografía. Filas distintas conservan alturas distintas. */
  .ew-team{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--ew-space-5); margin-top:var(--ew-space-6); align-items:stretch;}
  @media (max-width:1000px){ .ew-team{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:760px){ .ew-team{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:460px){ .ew-team{grid-template-columns:1fr;} }
  .ew-member{border-radius:var(--ew-radius); overflow:hidden; background:var(--ew-surface); box-shadow:var(--ew-elev-1); border:0; height:100%; display:flex; flex-direction:column;}
  .ew-member img{display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; flex:none;}
  .ew-member-body{padding:16px 18px 20px; flex:1 1 auto;}
  @media (max-width:460px){ .ew-member{height:auto;} }
  .ew-member h3{margin:0; font-size:17px; font-weight:600; color:var(--ew-text-heading);}
  .ew-member .ew-role{margin:3px 0 0; font-size:14.5px; color:var(--ew-secondary-text); font-weight:500;}
  .ew-member .ew-bio{margin:10px 0 0; font-size:14.5px; line-height:1.58; color:var(--ew-text-body);}
  /* Galería rejilla 4:3, pie fuera del marco, disparador semántico. */
  .ew-gal{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--ew-space-4); margin-top:var(--ew-space-6);}
  @media (max-width:1100px){ .ew-gal{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:760px){ .ew-gal{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:460px){ .ew-gal{grid-template-columns:1fr;} }
  .ew-galitem{display:flex; flex-direction:column; gap:9px;}
  .ew-galbtn{padding:0; border:0; background:transparent; border-radius:var(--ew-radius); overflow:hidden; cursor:pointer; display:block; box-shadow:var(--ew-elev-1); transition:box-shadow var(--ew-dur-slow) var(--ew-ease-soft), transform var(--ew-dur-slow) var(--ew-ease-soft);}
  .ew-galbtn img{display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover;}
  @media (hover:hover) and (pointer:fine){ .ew-galbtn:hover{transform:translateY(-4px); box-shadow:var(--ew-elev-2);} }
  .ew-galbtn:active{transform:translateY(0) scale(0.99);}
  .ew-galbtn:focus-visible{outline:2px solid var(--ew-action); outline-offset:3px;}
  .ew-galcap{font-size:14.5px; line-height:1.55; color:var(--ew-text-body);}
  @media (prefers-reduced-motion: reduce){ .ew-galbtn{transition:none;} .ew-galbtn:hover,.ew-galbtn:active{transform:none;} }
  /* Lightbox propuesta de presentación, pendiente de aprobación visual. */
  /* Desenfoque de fondo de 5 px exactos. El velo oscuro translúcido sostiene la separación por
     sí solo cuando backdrop-filter no está soportado; el contenido del lightbox no se desenfoca. */
  .ew-lb{position:fixed; inset:0; z-index:210; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(19,59,79,0.62); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);}
  @supports not ((backdrop-filter:blur(5px)) or (-webkit-backdrop-filter:blur(5px))){ .ew-lb{background:rgba(19,59,79,0.82);} }
  .ew-lb-panel{position:relative; max-width:min(1080px,100%); max-height:calc(100dvh - 48px); display:flex; flex-direction:column; gap:14px;}
  .ew-lb-panel img{display:block; max-width:100%; max-height:calc(100dvh - 190px); object-fit:contain; border-radius:var(--ew-radius); box-shadow:var(--ew-elev-2);}
  .ew-lb-bar{display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
  .ew-lb-cap{flex:1 1 320px; min-width:0; font-size:15px; line-height:1.55; color:#EAF3F8;}
  .ew-lb-btn{width:44px; height:44px; min-width:44px; border:0; border-radius:var(--ew-radius); background:rgba(255,255,255,0.92); color:var(--ew-action); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:var(--ew-elev-1);}
  .ew-lb-btn svg{width:17px; height:17px; fill:currentColor; overflow:visible;}
  .ew-lb-btn:focus-visible{outline:2px solid #FFFFFF; outline-offset:3px;}
  .ew-lb-btn[disabled]{opacity:0.45; cursor:default;}
  @media (prefers-reduced-transparency: reduce){ .ew-lb{background:rgba(19,59,79,0.94); -webkit-backdrop-filter:none; backdrop-filter:none;} }
  html.ew-force-opaque .ew-lb{background:rgba(19,59,79,0.94); -webkit-backdrop-filter:none; backdrop-filter:none;}
  /* Historia una sola composición, no dos columnas ajenas. La fotografía 4:3 ocupa la columna
     estrecha y acompaña la lectura en posición pegajosa; la superficie opaca de texto se solapa
     48 px sobre ella y arranca más arriba, de modo que las dos piezas se leen como un mismo
     objeto en capas. La imagen no es vidrio, así que no hay vidrio sobre vidrio. */
  .ew-story{display:grid; grid-template-columns:minmax(0,46fr) minmax(0,66fr); align-items:start; margin-top:var(--ew-space-6);}
  .ew-prose{grid-column:2; grid-row:1; position:relative; z-index:1; margin-left:calc(var(--ew-space-6) * -1); background:var(--ew-surface); border-radius:var(--ew-radius); box-shadow:var(--ew-elev-2); padding:34px 38px 38px;}
  /* Frontera de tableta unificada con el resto del pase: 1024 px. */
  @media (max-width:1024px){
    .ew-story{grid-template-columns:1fr;}
    .ew-prose{grid-column:1; grid-row:auto; margin-left:0;}
  }
  @media (max-width:600px){ .ew-prose{padding:24px 20px 28px;} }
  .ew-prose h2{margin:0; font-size:26px; font-weight:600; letter-spacing:-0.016em; line-height:1.18; color:var(--ew-text-heading);}
  .ew-prose h3{margin:26px 0 0; font-size:18px; font-weight:600; color:var(--ew-text-heading);}
  .ew-prose p{margin:14px 0 0; font-size:16.5px; line-height:1.72; color:var(--ew-text-body); max-width:66ch; text-wrap:pretty;}
  .ew-prose ul{margin:14px 0 0; padding-left:20px; display:flex; flex-direction:column; gap:7px;}
  .ew-prose li{font-size:16.5px; line-height:1.66; color:var(--ew-text-body);}
  .ew-storyfig{grid-column:1; grid-row:1; position:sticky; top:118px; margin:0; padding-top:46px;}
  .ew-storyfig img{display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:var(--ew-radius); box-shadow:var(--ew-elev-1);}
  .ew-storyfig figcaption{margin-top:10px; font-size:14px; line-height:1.55; color:var(--ew-text-muted); max-width:34ch;}
  /* Tableta y móvil: el solape de escritorio y sus márgenes negativos dejaban la fotografía
     desalineada y pegada al texto. Aquí las dos piezas van en flujo normal, con el mismo ancho
     de columna, la misma alineación lateral y una separación vertical explícita. */
  @media (max-width:1024px){
    /* La prosa precede a la figura en el DOM, así que la separación vertical va sobre la figura. */
    .ew-storyfig{grid-column:1; grid-row:auto; position:static; padding-top:0; width:100%; margin-top:28px;}
    .ew-storyfig img{width:100%; height:auto; aspect-ratio:4/3; object-fit:cover;}
    .ew-storyfig figcaption{max-width:none;}
    .ew-prose{margin:0; width:100%; max-width:none;}
  }
  @media (max-width:600px){
    .ew-storyfig{margin-top:22px;}
  }
  /* Misión y visión el contrato no da imagen ni icono, así que el carácter lo ponen la escala
     tipográfica, la atmósfera del plano y una luz de canto. Nada decorativo se inventa. Las dos
     tarjetas se equilibran por estiramiento de rejilla, sin alto fijo que recorte el texto largo. */
  .ew-purpose{display:grid; grid-template-columns:1fr 1fr; gap:var(--ew-space-5); margin-top:var(--ew-space-6); align-items:stretch;}
  @media (max-width:760px){ .ew-purpose{grid-template-columns:1fr;} }
  .ew-purpose > div{position:relative; overflow:hidden; padding:34px 36px 38px; border-radius:var(--ew-radius); border:0; background:var(--ew-surface); box-shadow:var(--ew-elev-2);}
  .ew-purpose > div::before{content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(120% 130% at 6% 0%, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0) 42%), radial-gradient(90% 120% at 100% 108%, rgba(10,96,152,0.11) 0%, rgba(10,96,152,0) 60%);}
  .ew-purpose > div::after{content:''; position:absolute; left:0; right:0; top:0; height:1px; pointer-events:none; background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.95) 26%, rgba(255,255,255,0.55) 100%);}
  .ew-purpose h2,.ew-purpose p{position:relative; z-index:1;}
  .ew-purpose h2{margin:0; font-size:clamp(24px,2.4vw,28px); font-weight:600; line-height:1.16; letter-spacing:-0.018em; color:var(--ew-text-heading);}
  .ew-purpose p{margin:14px 0 0; font-size:17px; line-height:1.68; color:var(--ew-text-body); max-width:48ch; text-wrap:pretty;}
  /* CTA final mismo componente en tres páginas, con aire propio en cada una. */
  /* FinalCta una sola superficie de vidrio elevada, con el contenido centrado sobre el eje
     vertical y el material de gradientes repartido a AMBOS costados. El centro queda limpio y
     con la superficie aprobada íntegra, así que el contraste de lectura no depende del efecto.
     Todos los tintes se derivan de las variables de plantilla mediante `color-mix`: si el
     cliente cambia --ew-action, --ew-secondary, --ew-icon o --ew-surface, el CTA cambia con él. */
  /* La sombra es la del sistema: la misma única elevación de `.ew-glass-elevated` que llevan el
     Footer y el resto de superficies elevadas. No se declara sombra propia. */
  .ew-finalcta{position:relative; overflow:hidden; padding:46px 40px 48px; border:0; background:transparent; -webkit-backdrop-filter:none; backdrop-filter:none;}
  /* Capa A la superficie aprobada: tinte y desenfoque de `.ew-glass-elevated` con el filo de
     luz superior del sistema. Plena en el centro, se aligera hacia los dos costados para dejar
     paso al material. */
  .ew-finalcta::before{content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.86) 0px, rgba(255,255,255,0.34) 1px, rgba(255,255,255,0.09) 18px, rgba(255,255,255,0) 36px),
      linear-gradient(0deg, color-mix(in oklab, var(--ew-surface) 34%, transparent) 0%, color-mix(in oklab, var(--ew-surface) 34%, transparent) 100%);
    -webkit-backdrop-filter:blur(14px) saturate(1.42); backdrop-filter:blur(14px) saturate(1.42);
    -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0.30) 0%, rgba(0,0,0,0.78) 20%, rgba(0,0,0,1) 38%, rgba(0,0,0,1) 62%, rgba(0,0,0,0.78) 80%, rgba(0,0,0,0.30) 100%);
    mask-image:linear-gradient(90deg, rgba(0,0,0,0.30) 0%, rgba(0,0,0,0.78) 20%, rgba(0,0,0,1) 38%, rgba(0,0,0,1) 62%, rgba(0,0,0,0.78) 80%, rgba(0,0,0,0.30) 100%);}
  /* Capa B gradientes a los lados. Dos racimos espejados —azul de acción arriba, cian
     secundario abajo— de radio amplio y centro fuera del marco, para que se lean como lavado
     de color y no como arcos. Más transparentes que el centro y con desenfoque ligero de 9 px
     frente a los 34 px de la capa A. Sin destello diagonal, sin volumen, sin filo, sin
     animación, sin marcado semántico propio. El filo de luz superior lo pone la capa A. */
  .ew-finalcta::after{content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
      radial-gradient(78% 132% at -16% 28%, color-mix(in oklab, var(--ew-action) 27%, transparent) 0%, color-mix(in oklab, var(--ew-action) 10%, transparent) 44%, transparent 84%),
      radial-gradient(68% 118% at -12% 112%, color-mix(in oklab, var(--ew-secondary) 24%, transparent) 0%, color-mix(in oklab, var(--ew-secondary) 8%, transparent) 46%, transparent 86%),
      radial-gradient(78% 132% at 116% 26%, color-mix(in oklab, var(--ew-action) 29%, transparent) 0%, color-mix(in oklab, var(--ew-action) 11%, transparent) 44%, transparent 84%),
      radial-gradient(68% 118% at 112% 114%, color-mix(in oklab, var(--ew-secondary) 26%, transparent) 0%, color-mix(in oklab, var(--ew-secondary) 9%, transparent) 46%, transparent 86%),
      radial-gradient(52% 104% at 2% 64%, color-mix(in oklab, var(--ew-icon) 13%, transparent) 0%, transparent 80%),
      radial-gradient(52% 104% at 98% 62%, color-mix(in oklab, var(--ew-icon) 14%, transparent) 0%, transparent 80%);
    -webkit-backdrop-filter:blur(8px) saturate(1.40) brightness(1.04); backdrop-filter:blur(8px) saturate(1.40) brightness(1.04);
    -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.88) 14%, rgba(0,0,0,0) 40%, rgba(0,0,0,0) 60%, rgba(0,0,0,0.88) 86%, rgba(0,0,0,1) 100%);
    mask-image:linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.88) 14%, rgba(0,0,0,0) 40%, rgba(0,0,0,0) 60%, rgba(0,0,0,0.88) 86%, rgba(0,0,0,1) 100%);}
  /* Contenido centrado sobre el eje vertical: título, descripción y la única acción canónica,
     en columna, con el botón colgando de la descripción. */
  .ew-finalcta-inner{position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; width:100%; max-width:660px; margin:0 auto;}
  .ew-finalcta-body{min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center;}
  .ew-finalcta-body .ew-btn{margin-top:24px; align-self:center;}
  .ew-finalcta h2{margin:0; font-size:clamp(26px,3vw,34px); font-weight:600; letter-spacing:-0.02em; line-height:1.12; color:var(--ew-text-heading); text-wrap:pretty;}
  .ew-finalcta p{margin:12px 0 0; font-size:16.5px; line-height:1.6; color:var(--ew-text-body); max-width:52ch; text-wrap:pretty;}
  .ew-finalcta .ew-btn{white-space:nowrap;}
  /* Acción de WhatsApp: mismo glifo #ew-i-wa que ya usa el sitio, heredando currentColor. El
     nombre accesible sigue siendo la etiqueta visible; el icono es decorativo. */
  .ew-btn--wa{gap:10px;}
  .ew-btn--wa svg{width:18px; height:18px; flex:none; fill:currentColor;}
  @media (max-width:760px){ .ew-finalcta{padding:34px 24px 36px;} .ew-finalcta .ew-btn{white-space:normal;}
    .ew-finalcta::before{-webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0.42) 0%, rgba(0,0,0,1) 30%, rgba(0,0,0,1) 70%, rgba(0,0,0,0.42) 100%); mask-image:linear-gradient(90deg, rgba(0,0,0,0.42) 0%, rgba(0,0,0,1) 30%, rgba(0,0,0,1) 70%, rgba(0,0,0,0.42) 100%);}
    .ew-finalcta::after{-webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 34%, rgba(0,0,0,0) 66%, rgba(0,0,0,1) 100%); mask-image:linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 34%, rgba(0,0,0,0) 66%, rgba(0,0,0,1) 100%);} }
  @media (max-width:600px){ .ew-finalcta{padding:28px 20px 30px;} }
  /* Transparencia reducida: la superficie vuelve a ser un plano opaco continuo y el material de
     los costados se atempera, sin desenfoque en ninguna de las dos capas. */
  @media (prefers-reduced-transparency: reduce){
    .ew-finalcta::before{background:#F1F6FA; -webkit-backdrop-filter:none; backdrop-filter:none; -webkit-mask-image:none; mask-image:none;}
    .ew-finalcta::after{opacity:0.30; -webkit-backdrop-filter:none; backdrop-filter:none;}
  }
  html.ew-force-opaque .ew-finalcta::before{background:#F1F6FA; -webkit-backdrop-filter:none; backdrop-filter:none; -webkit-mask-image:none; mask-image:none;}
  html.ew-force-opaque .ew-finalcta::after{opacity:0.30; -webkit-backdrop-filter:none; backdrop-filter:none;}
  /* Beneficios tarjeta con medio 4:3 pegado a tres cantos. */
  /* BenefitCard: estructura de Landing v9.1 (.ew-surface-1 + caja de medio 4:3 + insignia de
     posición en vidrio sutil). Aquí no se define superficie ni recorte propios. */
  /* Proceso */
  /* Process: seis pasos en una fila con línea conectora y punto de vidrio, como en Landing v9.1.
     Sin tarjeta por paso, sin borde, sin numeración añadida. */
  .ew-process{display:grid; grid-template-columns:repeat(6,1fr); gap:var(--ew-space-5);}
  /* La línea conectora de v9.1 lleva un brillo en bucle (`ewFlow`). Informativa lo desactiva:
     su inventario de movimiento no admite animación ambiental. Misma desviación declarada que
     la retirada del parallax del Hero. */
  .ew-process-line::after{animation:none !important;}
  /* Prueba */
  .ew-proof{display:grid; grid-template-columns:repeat(4,1fr);}
  .ew-proof-value{font-size:22px; font-weight:600; letter-spacing:-0.012em; color:var(--ew-text-heading); line-height:1.2;}
  /* Contacto formulario a la izquierda, información canónica a la derecha, mapa debajo en su
     propia sección. `align-items:start` impide que el formulario estire su alto para igualar a
     otro componente: cada columna conserva su altura intrínseca. */
  .ew-contact{display:grid; grid-template-columns:1.15fr 0.9fr; gap:var(--ew-space-6) var(--ew-space-7); align-items:start;}
  .ew-contact > *{align-self:start;}
  .ew-mapsection .ew-mapwrap{margin-top:0;}
  .ew-mapsection .ew-mapwrap iframe{height:clamp(320px,34vw,440px);}
  .ew-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--ew-space-4);}
  .ew-field{display:flex; flex-direction:column; gap:6px;}
  .ew-field label{font-size:15px; font-weight:500; color:var(--ew-text-heading);}
  .ew-err{font-size:14px; line-height:1.5; color:#9A2A1E; font-weight:500;}
  .ew-ok{margin-top:16px; padding:16px 18px; border-radius:var(--ew-radius); background:rgba(22,183,170,0.10); box-shadow:inset 0 0 0 2px rgba(14,138,128,0.28); font-size:15.5px; line-height:1.6; color:var(--ew-text-heading);}
  .ew-fail{margin-top:16px; padding:16px 18px; border-radius:var(--ew-radius); background:rgba(154,42,30,0.07); box-shadow:inset 0 0 0 2px rgba(154,42,30,0.30); font-size:15.5px; line-height:1.6; color:var(--ew-text-heading);}
  .ew-sched{display:grid; grid-template-columns:auto 1fr; gap:6px 18px; margin-top:12px; font-size:15.5px; color:var(--ew-text-body);}
  .ew-sched dt{font-weight:500; color:var(--ew-text-heading);}
  .ew-sched dd{margin:0; font-variant-numeric:tabular-nums;}
  /* Cola de página: una sola capa pinta el fondo del último bloque y el pie. La técnica no es
     canónica; el resultado (sin línea, hueco ni costura) sí. */
  .ew-tail{position:relative; background:linear-gradient(180deg, var(--ew-canvas-a) 0%, var(--ew-canvas-c) 22%, var(--ew-canvas-c) 100%);}
  .ew-tail > *{background:transparent !important;}
  .ew-faqlist{display:flex; flex-direction:column; margin-top:var(--ew-space-6);}
  .ew-faqitem + .ew-faqitem{border-top:1px solid var(--ew-rule);}
  .ew-faq-q{flex:1; font-size:17.5px; font-weight:500; line-height:1.4; color:var(--ew-text-heading); text-wrap:pretty;}
  .ew-faq-answer p{margin:0; font-size:16.5px; line-height:1.7; color:var(--ew-text-body); max-width:70ch;}
  @media (max-width:1000px){ .ew-benefits{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:860px){ .ew-contact{grid-template-columns:1fr;} .ew-proof{grid-template-columns:1fr 1fr;} }
  @media (max-width:640px){ .ew-benefits{grid-template-columns:1fr;} .ew-proof{grid-template-columns:1fr;} .ew-form-grid{grid-template-columns:1fr;} }

  .ew-page{background:linear-gradient(180deg, var(--ew-canvas-b) 0%, var(--ew-canvas-a) 10%, var(--ew-canvas-a) 30%, var(--ew-canvas-b) 50%, var(--ew-canvas-a) 70%, var(--ew-canvas-c) 90%, var(--ew-canvas-c) 100%);}
  .ew-page > footer{background:transparent !important;}
  .ew-pad{padding-left:var(--ew-content-gutter); padding-right:var(--ew-content-gutter);}
  .ew-wrap{max-width:var(--ew-content-max); margin:0 auto;}
  .ew-sect{padding-top:var(--ew-space-8); padding-bottom:var(--ew-space-8);}
  .ew-sect--top{padding-top:132px;}
  @media (max-width:760px){ .ew-sect{padding-top:var(--ew-space-7); padding-bottom:var(--ew-space-7);} .ew-sect--top{padding-top:112px;} }

  /* HomeHero: componente de Landing v9.1 (.ew-hero-surface + reglas heredadas de esta hoja).
     El panel se ancla por su borde INFERIOR a --ew-hero-cross por debajo del límite de la imagen,
     así el cruce es la distancia aprobada de 96 px y no depende del alto intrínseco del panel
     ni del largo del texto. La sección siguiente reserva ese cruce más aire de lectura. */
  :root{ --ew-hero-cross:96px; --ew-content-max:1232px; --ew-content-gutter:24px; }
  .ew-hero-media{position:relative; height:680px; overflow:hidden; background:#0E3346;}
  .ew-hero-surface{left:max(var(--ew-content-gutter), calc((100% - var(--ew-content-max)) / 2 + var(--ew-content-gutter))); top:auto; bottom:calc(var(--ew-hero-cross) * -1);}
  .ew-after-hero{padding-top:calc(var(--ew-hero-cross) + 82px) !important;}
  @media (max-width:760px){ .ew-after-hero{padding-top:var(--ew-space-7) !important;} }
  .ew-secthead{display:flex; flex-direction:column; gap:0;}
  .ew-eyeless{margin:0;}
  .ew-tail-note{font-size:14px; line-height:1.6; color:var(--ew-text-muted);}
  .ew-mapwrap{margin-top:var(--ew-space-5);}
  .ew-mapwrap iframe{width:100%; height:340px; border:0;}

  /* ===== Correcciones del pase de verificación v1 ===== */
  /* 1. El panel de navegación móvil no abría: la regla heredada de apertura no ganaba tras
        concatenar las hojas. Se declara aquí, al final, con especificidad y peso explícitos.
        Por debajo de 1000 px el hamburguesa es la ÚNICA vía de navegación, así que esto es
        bloqueante y no admite depender del orden de cascada. */
  .ew-page .ew-mopanel{grid-template-rows:0fr; opacity:0; visibility:hidden;}
  .ew-page .ew-mopanel[data-open="true"]{grid-template-rows:1fr !important; opacity:1 !important; visibility:visible !important; transition-delay:0s,0s,0s !important;}
  .ew-page .ew-mopanel[data-open="true"] > div{overflow:visible;}
  /* 2. Transparencia reducida: el Header y el resto de superficies de vidrio no resolvían a
        sólido porque la variante --header repintaba su propio fondo. Se cubren las tres vías:
        el conmutador de prototipo, la consulta normativa y la ausencia de backdrop-filter. */
  /* El Header es la única superficie de vidrio con transición sobre background y
     backdrop-filter. Este runtime re-renderiza de forma continua, así que la transición se
     reinicia en cada render y el valor de respaldo nunca llega a destino: hay que neutralizar
     la transición, no solo reescribir el fondo. */
  html.ew-force-opaque .ew-glass-elevated--header,
  html.ew-force-opaque .ew-glass-elevated--header.is-dense,
  html.ew-force-opaque .ew-glass-elevated--hero,
  html.ew-force-opaque .ew-glass-elevated--about,
  html.ew-force-opaque .ew-tcard,
  html.ew-force-opaque .ew-note,
  html.ew-force-opaque .ew-proof-glass{background:#F1F6FA !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; transition:none !important;}
  @media (prefers-reduced-transparency: reduce){
    .ew-glass-elevated--header,.ew-glass-elevated--header.is-dense,.ew-glass-elevated--hero,
    .ew-glass-elevated--about,.ew-tcard,.ew-note,.ew-proof-glass{background:#F1F6FA !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; transition:none !important;}
  }
  @supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
    .ew-glass-elevated--header,.ew-glass-elevated--header.is-dense,.ew-glass-elevated--hero,
    .ew-glass-elevated--about,.ew-tcard,.ew-note,.ew-proof-glass{background:#F1F6FA !important; transition:none !important;}
  }

  /* ===== Catálogo v1 componentes nuevos. Superficie OPACA o de vidrio contenido en todo lo
     que flota sobre el Header de vidrio o contiene campos. Ningún token, material ni componente
     aprobado de Informativa se reescribe aquí. ===== */
  :root{ --ew-cart-layer:170; --ew-submenu-layer:130; }

  /* CategorySubmenu un solo elemento unificado: el texto y su chevron decorativo dentro del
     propio enlace. En escritorio abre por puntero y por teclado; el botón de disclosure existe
     solo en el panel móvil, donde no hay hover. */
  .ew-navcat{position:relative; display:inline-flex; align-items:center;}
  .ew-navcat > .ew-navlink{display:inline-flex; align-items:center;}
  .ew-navchev{width:10px; height:10px; margin-left:7px; flex:none; fill:currentColor; transition:transform 200ms var(--ew-ease-soft);}
  .ew-navcat[data-open="true"] .ew-navchev{transform:rotate(180deg);}
  @media (prefers-reduced-motion: reduce){ .ew-navchev{transition:none;} .ew-navcat[data-open="true"] .ew-navchev{transform:none;} }
  .ew-catdisc{display:none; width:34px; height:38px; min-width:34px; padding:0; border:0; border-radius:var(--ew-radius); background:transparent; color:var(--ew-text-heading); cursor:pointer; align-items:center; justify-content:center; transition:background var(--ew-dur) var(--ew-ease-soft), color var(--ew-dur) var(--ew-ease-soft);}
  @media (max-width:1000px){ .ew-catdisc{display:inline-flex;} }
  .ew-catdisc svg{width:11px; height:11px; fill:currentColor; transition:transform 200ms var(--ew-ease-soft);}
  .ew-catdisc[aria-expanded="true"] svg{transform:rotate(90deg);}
  @media (hover:hover) and (pointer:fine){ .ew-catdisc:hover{background:rgba(19,59,79,0.05); color:var(--ew-action);} }
  .ew-catdisc:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px;}
  .ew-submenu{position:absolute; left:0; top:calc(100% + 10px); z-index:var(--ew-submenu-layer); width:max-content; min-width:212px; max-width:min(340px, calc(100vw - 32px)); padding:8px; border:0; border-radius:var(--ew-radius); display:flex; flex-direction:column; gap:2px;
    background:linear-gradient(180deg, rgba(255,255,255,0.34) 0%, rgba(255,255,255,0) 44%), rgba(250,252,254,0.93);
    -webkit-backdrop-filter:blur(30px) saturate(1.55); backdrop-filter:blur(30px) saturate(1.55);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.94), inset 0 18px 30px -20px rgba(255,255,255,0.55), 0 4px 16px rgba(19,59,79,0.11), 0 30px 78px -24px rgba(19,59,79,0.22);
    opacity:0; visibility:hidden; transform:translateY(-6px); transform-origin:top left; transition:opacity 180ms var(--ew-ease-soft), transform 200ms var(--ew-ease-surface), visibility 0s linear 200ms;}
  .ew-submenu[data-open="true"]{opacity:1; visibility:visible; transform:none; transition-delay:0s,0s,0s;}
  /* Puente invisible sobre el hueco: el puntero no sale del subárbol al bajar al panel. */
  .ew-submenu::before{content:''; position:absolute; left:0; right:0; top:-12px; height:12px;}
  @media (prefers-reduced-transparency: reduce){ .ew-submenu{background:#F1F6FA; -webkit-backdrop-filter:none; backdrop-filter:none;} }
  html.ew-force-opaque .ew-submenu{background:#F1F6FA !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
  @supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){ .ew-submenu{background:#F1F6FA;} }
  @media (prefers-contrast: more){ .ew-submenu{background:#FFFFFF; -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:0 0 0 1px var(--ew-text-heading), var(--ew-elev-2);} }
  .ew-subitem{display:flex; align-items:center; padding:11px 12px; min-height:44px; border-radius:8px; font-size:15px; line-height:1.35; color:var(--ew-text-heading); text-decoration:none; transition:background var(--ew-dur) var(--ew-ease-soft), color var(--ew-dur) var(--ew-ease-soft);}
  @media (hover:hover) and (pointer:fine){ .ew-subitem:hover{background:rgba(19,59,79,0.05); color:var(--ew-action);} }
  .ew-subitem[aria-current="page"]{background:rgba(10,96,152,0.10); color:var(--ew-action); font-weight:500;}
  .ew-subitem:focus-visible{outline:2px solid var(--ew-action); outline-offset:-2px;}
  /* Fila móvil de Catálogo: una sola pieza de vidrio con dos controles semánticos. */
  .ew-morow{display:flex; align-items:center; gap:4px; padding:4px; border:0; border-radius:var(--ew-radius);
    background:linear-gradient(180deg, rgba(255,255,255,0.32) 0%, rgba(255,255,255,0) 62%), rgba(250,252,254,0.60);
    -webkit-backdrop-filter:blur(16px) saturate(1.28); backdrop-filter:blur(16px) saturate(1.28);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.88);}
  .ew-morow .ew-navlink{flex:1 1 auto; min-height:44px; display:flex; align-items:center; background:transparent; box-shadow:none;}
  .ew-morow .ew-navlink:active{transform:none;}
  .ew-morow .ew-catdisc{width:44px; height:44px; min-width:44px; border-radius:8px;}
  .ew-morow .ew-catdisc[aria-expanded="true"]{background:rgba(19,59,79,0.07); color:var(--ew-action);}
  @media (prefers-reduced-transparency: reduce){ .ew-morow{background:#F1F6FA; -webkit-backdrop-filter:none; backdrop-filter:none;} }
  html.ew-force-opaque .ew-morow{background:#F1F6FA !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
  @supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){ .ew-morow{background:#F1F6FA;} }
  .ew-modisc{display:grid; grid-template-rows:0fr; transition:grid-template-rows 300ms var(--ew-ease-surface);}
  .ew-modisc[data-open="true"]{grid-template-rows:1fr;}
  .ew-modisc > div{overflow:hidden; min-height:0;}
  .ew-modisc .ew-subitem{background:transparent; box-shadow:none;}

  /* CartIndicator + CartCounter el botón blanco aprobado del Header, con icono de carrito. */
  .ew-cartbtn{flex:none; gap:9px; padding-left:14px; padding-right:12px;}
  .ew-cartbtn svg{width:18px; height:18px; flex:none; fill:currentColor;}
  .ew-cartcount{display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:22px; padding:0 7px; border-radius:999px; background:var(--ew-action); color:#FFFFFF; font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; line-height:1; transition:transform 160ms var(--ew-ease-surface);}
  .ew-cartcount[data-bump="true"]{transform:scale(1.18);}
  @media (prefers-reduced-motion: reduce){ .ew-cartcount{transition:none;} .ew-cartcount[data-bump="true"]{transform:none;} }

  /* ListingToolbar superficie externa de vidrio, campos sólidos. */
  .ew-toolbar{display:flex; flex-wrap:wrap; align-items:flex-end; gap:var(--ew-space-4); padding:18px 20px; border:0; border-radius:var(--ew-radius); margin-top:var(--ew-space-6);}
  .ew-toolbar .ew-input,.ew-toolbar .ew-select,.ew-catbar .ew-input,.ew-catbar .ew-select{background-color:rgba(255,255,255,0.94); border-color:rgba(19,59,79,0.34); box-shadow:inset 0 1px 2px rgba(19,59,79,0.06);}
  .ew-toolbar .ew-input:focus,.ew-toolbar .ew-select:focus,.ew-catbar .ew-input:focus,.ew-catbar .ew-select:focus{background-color:#FFFFFF;}
  .ew-tfield{display:flex; flex-direction:column; gap:6px; min-width:0;}
  .ew-tfield label,.ew-tlabel{font-size:13px; font-weight:600; letter-spacing:0.02em; color:var(--ew-text-muted);}
  .ew-tfield--search{flex:1 1 320px;}
  .ew-tsearch{position:relative; display:flex; align-items:center;}
  .ew-tsearch .ew-input{padding-left:38px; padding-right:44px;}
  .ew-tsearch-ico{position:absolute; left:13px; width:15px; height:15px; fill:var(--ew-text-muted); pointer-events:none;}
  .ew-tsearch-clear{position:absolute; right:4px; width:36px; height:36px; border:0; border-radius:8px; background:transparent; color:var(--ew-text-muted); cursor:pointer; display:inline-flex; align-items:center; justify-content:center;}
  .ew-tsearch-clear svg{width:13px; height:13px; fill:currentColor;}
  .ew-tsearch-clear:focus-visible{outline:2px solid var(--ew-action); outline-offset:1px;}
  .ew-tcontrols{display:flex; align-items:flex-end; gap:var(--ew-space-4);}
  @media (min-width:1025px){ .ew-tcontrols > div{display:flex; align-items:flex-end; gap:var(--ew-space-4);} .ew-tcontrols .ew-tfield{min-width:200px;} }
  .ew-select{font-family:inherit; font-size:15px; color:var(--ew-text-heading); background-color:#FFFFFF; border:1px solid var(--ew-control-border); border-radius:var(--ew-radius); padding:11px 44px 11px 12px; min-height:44px; max-width:100%; width:100%;
    -webkit-appearance:none; -moz-appearance:none; appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%230A6098' viewBox='0 0 16 16'%3E%3Cpath d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 15px center; background-size:12px 12px;}
  .ew-select:focus{outline:none; border-color:var(--ew-action); box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px var(--ew-action);}
  .ew-tmeta{display:flex; align-items:center; gap:var(--ew-space-3); margin-left:auto; padding-bottom:2px;}
  .ew-rcount{font-size:15px; color:var(--ew-text-body); font-variant-numeric:tabular-nums; white-space:nowrap;}
  .ew-clear{font-family:inherit; font-size:15px; font-weight:500; color:var(--ew-action); background:rgba(255,255,255,0.62); border:0; box-shadow:inset 0 0 0 1px var(--ew-control-border); padding:11px 16px; min-height:44px; border-radius:var(--ew-radius); cursor:pointer; white-space:nowrap; transition:background var(--ew-dur) var(--ew-ease-soft), box-shadow var(--ew-dur) var(--ew-ease-soft);}
  @media (hover:hover) and (pointer:fine){ .ew-clear:hover{background:#FFFFFF; box-shadow:inset 0 0 0 1px var(--ew-action);} }
  .ew-clear:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px;}
  /* Tableta y móvil: cada grupo en flujo normal, etiqueta encima y campo con su altura completa.
     Sin disclosure de filtro: una fila de rejilla colapsada era la causa de que las etiquetas se
     solaparan entre sí y con sus campos. */
  @media (max-width:1024px){
    .ew-toolbar{gap:var(--ew-space-4);}
    .ew-tfield--search{flex:1 1 100%;}
    .ew-tcontrols{flex:1 1 100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ew-space-4);}
    .ew-tcontrols > div{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ew-space-4); grid-column:1 / -1;}
    .ew-tmeta{margin-left:0; flex:1 1 100%; justify-content:space-between; padding-bottom:0;}
  }
  @media (max-width:600px){ .ew-tcontrols,.ew-tcontrols > div{grid-template-columns:minmax(0,1fr);} }
  .ew-catbar{display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; align-items:end; gap:var(--ew-space-4); padding:18px 20px; border:0; border-radius:var(--ew-radius); margin-top:var(--ew-space-6);}
  .ew-catbar .ew-tfield--search{min-width:0;}
  .ew-catbar .ew-tfield--sort{min-width:210px;}
  .ew-catbar .ew-rcount{padding-bottom:12px;}
  @media (max-width:860px){ .ew-catbar{grid-template-columns:minmax(0,1fr);} .ew-catbar .ew-rcount{padding-bottom:0;} }

  /* ProductGrid cuatro columnas en escritorio, dos en tableta y móvil. Reposo plano en la
     rejilla densa: separa el contraste de superficie. */
  .ew-pgrid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ew-space-5); align-items:stretch; margin:var(--ew-space-5) 0 0; padding:0; list-style:none; justify-content:start;}
  .ew-pgrid--sparse{grid-template-columns:repeat(3,minmax(0,1fr));}
  .ew-pgrid--rel{grid-template-columns:repeat(4,minmax(0,1fr));}
  .ew-pgrid--rel .ew-pcard{box-shadow:var(--ew-elev-1);}
  @media (max-width:1024px){
    .ew-pgrid,.ew-pgrid--sparse,.ew-pgrid--rel{grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ew-space-4);}
  }
  @media (max-width:430px){ .ew-pgrid,.ew-pgrid--sparse,.ew-pgrid--rel{gap:14px;} }
  .ew-pcard{position:relative; display:flex; flex-direction:column; height:100%; border:0; border-radius:var(--ew-radius); overflow:hidden; background:transparent; transform-origin:center; transition:box-shadow var(--ew-dur-slow) var(--ew-ease-soft), transform 200ms var(--ew-ease-soft);}
  @media (hover:hover) and (pointer:fine){ .ew-pcard:hover{box-shadow:var(--ew-elev-1); transform:scale(1.012);} }
  @media (prefers-reduced-motion: reduce){ .ew-pcard{transition:box-shadow var(--ew-dur-slow) linear;} .ew-pcard:hover{transform:none;} }
  html.ew-force-rm .ew-pcard:hover{transform:none;}
  .ew-pmedia{position:relative; aspect-ratio:1/1; overflow:hidden; background:#E7EFF4;}
  .ew-pmedia img{position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover;}
  .ew-pbody{display:flex; flex-direction:column; gap:5px; padding:15px var(--ew-space-4) var(--ew-space-4); flex:1 1 auto;
    background:linear-gradient(180deg, rgba(255,255,255,0.34) 0%, rgba(255,255,255,0) 40%), rgba(250,252,254,0.72);
    -webkit-backdrop-filter:blur(16px) saturate(1.3); backdrop-filter:blur(16px) saturate(1.3);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.86);}
  @media (prefers-reduced-transparency: reduce){ .ew-pbody{background:#FCFDFE; -webkit-backdrop-filter:none; backdrop-filter:none;} }
  html.ew-force-opaque .ew-pbody{background:#FCFDFE !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
  @supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){ .ew-pbody{background:#FCFDFE;} }
  @media (prefers-contrast: more){ .ew-pbody{background:#FFFFFF; -webkit-backdrop-filter:none; backdrop-filter:none;} }
  .ew-pbrand{font-size:12.5px; font-weight:600; letter-spacing:0.03em; text-transform:uppercase; color:var(--ew-text-muted);}
  .ew-plink{display:block; text-decoration:none;}
  .ew-plink::after{content:''; position:absolute; left:0; top:0; width:100%; height:100%; z-index:0;}
  .ew-pname{font-size:16.5px; font-weight:600; line-height:1.3; letter-spacing:-0.01em; color:var(--ew-text-heading); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
  .ew-plink:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px; border-radius:4px;}
  .ew-pexc{margin:2px 0 0; font-size:14.5px; line-height:1.5; color:var(--ew-text-body); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
  .ew-pfoot{margin-top:auto; display:flex; flex-direction:column; gap:9px; padding-top:13px;}
  .ew-price-row{display:flex; align-items:baseline; flex-wrap:wrap; gap:8px;}
  .ew-price{font-size:20px; font-weight:600; letter-spacing:-0.006em; color:var(--ew-text-heading); font-variant-numeric:tabular-nums;}
  .ew-price-old{font-size:15px; font-weight:400; color:var(--ew-text-muted); text-decoration:line-through; font-variant-numeric:tabular-nums;}
  .ew-disc{font-size:13px; font-weight:600; color:var(--ew-secondary-text); background:rgba(22,183,170,0.13); border-radius:6px; padding:3px 7px; font-variant-numeric:tabular-nums;}
  .ew-avail{display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:500; color:var(--ew-text-body); align-self:flex-start;}
  .ew-avail-mark{flex:none; width:10px; height:10px; border-radius:999px;}
  .ew-avail--a .ew-avail-mark{background:var(--ew-secondary-deep);}
  .ew-avail--r{padding:3px 10px 3px 9px; border-radius:999px; background:rgba(10,96,152,0.08);}
  .ew-avail--r .ew-avail-mark{background:transparent; box-shadow:inset 0 0 0 2px var(--ew-action);}
  .ew-avail--o{padding:3px 10px 3px 9px; border-radius:999px; background:rgba(19,59,79,0.06); color:var(--ew-text-muted);}
  .ew-avail--o .ew-avail-mark{width:12px; height:3px; border-radius:2px; background:var(--ew-text-muted);}
  .ew-pact{position:relative; z-index:1; display:flex; gap:8px; flex-wrap:wrap; align-items:center;}
  .ew-addbtn{display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font-family:inherit; font-size:14.5px; font-weight:500; min-height:44px; padding:10px 15px; border:0; border-radius:var(--ew-radius); cursor:pointer; color:var(--ew-action); background:rgba(10,96,152,0.08); transition:background var(--ew-dur) var(--ew-ease-soft), transform 130ms var(--ew-ease-soft);}
  @media (hover:hover) and (pointer:fine){ .ew-addbtn:hover{background:rgba(10,96,152,0.14);} }
  .ew-addbtn:active{transform:scale(0.98);}
  .ew-addbtn:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px;}
  @media (prefers-reduced-motion: reduce){ .ew-addbtn{transition:none;} .ew-addbtn:active{transform:none;} }
  /* Tarjeta compacta a dos columnas, sin perder contenido canónico ni bajar la tipografía. */
  @media (max-width:1024px){
    .ew-pbody{padding:13px 14px var(--ew-space-3); gap:4px;}
    .ew-pfoot{gap:8px; padding-top:11px;}
    .ew-pact{width:100%;}
    .ew-pact .ew-addbtn{width:100%; padding:10px 12px; text-align:center;}
    .ew-price{font-size:18.5px;}
    .ew-catbody{padding:14px 14px var(--ew-space-4); gap:7px;}
    .ew-catname{font-size:17.5px;}
  }
  @media (max-width:430px){ .ew-pbody{padding:12px 12px 14px;} .ew-pname{font-size:16px;} }

  /* CategoryCard + CategoryGraphicTreatment (única presentación gráfica sancionada). */
  .ew-catgrid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--ew-space-5); margin-top:var(--ew-space-6); align-items:stretch;}
  @media (max-width:1024px){ .ew-catgrid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ew-space-4);} }
  .ew-catcard{position:relative; display:flex; flex-direction:column; height:100%; border:0; border-radius:var(--ew-radius); overflow:hidden; background:var(--ew-surface); box-shadow:var(--ew-elev-1); transform-origin:center; transition:transform 200ms var(--ew-ease-soft);}
  @media (hover:hover) and (pointer:fine){ .ew-catcard:hover{transform:scale(1.012);} }
  @media (prefers-reduced-motion: reduce){ .ew-catcard{transition:none;} .ew-catcard:hover{transform:none;} }
  html.ew-force-rm .ew-catcard:hover{transform:none;}
  .ew-catmedia{position:relative; aspect-ratio:16/9; overflow:hidden; background:#E7EFF4;}
  .ew-catmedia img{position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover;}
  .ew-catgraphic{position:relative; aspect-ratio:16/9; overflow:hidden; background:linear-gradient(168deg, rgba(214,230,238,0.85) 0%, rgba(220,237,234,0.85) 100%);}
  .ew-catgraphic::after{content:''; position:absolute; right:6%; top:-26%; width:52%; aspect-ratio:1/1; border-radius:999px; background:radial-gradient(circle at 32% 28%, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.18) 20%, rgba(255,255,255,0) 44%), radial-gradient(circle at 50% 56%, rgba(8,127,202,0.24) 0%, rgba(8,127,202,0.09) 56%, rgba(255,255,255,0) 100%); box-shadow:inset -20px -34px 70px -24px rgba(255,255,255,0.62);}
  .ew-catbody{padding:18px var(--ew-space-4) var(--ew-space-5); display:flex; flex-direction:column; gap:8px; flex:1 1 auto;}
  .ew-catname{font-size:19px; font-weight:600; line-height:1.24; letter-spacing:-0.014em; color:var(--ew-text-heading); text-decoration:none;}
  .ew-catname::after{content:''; position:absolute; left:0; top:0; width:100%; height:100%; z-index:0;}
  .ew-catname:focus-visible{outline:2px solid var(--ew-action); outline-offset:3px; border-radius:4px;}
  .ew-catdesc{margin:0; font-size:15px; line-height:1.55; color:var(--ew-text-body); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
  .ew-catfoot{margin-top:auto; padding-top:12px;}
  /* CategoryProductCountPill el recuento derivado vive dentro de una píldora de vidrio, no
     suelto sobre la tarjeta. Va en la zona de texto, la misma posición en tarjetas con
     fotografía y sin ella, porque sobre foto libre el contraste no es demostrable. */
  .ew-catmeta{display:inline-flex; align-items:center; width:max-content; max-width:100%; padding:7px 14px; border:0; border-radius:999px; font-size:13px; font-weight:500; line-height:1.25; white-space:nowrap; color:var(--ew-text-heading); font-variant-numeric:tabular-nums;
    background:linear-gradient(180deg, rgba(255,255,255,0.62) 0%, rgba(255,255,255,0.10) 52%, rgba(255,255,255,0) 100%), rgba(233,243,250,0.78);
    -webkit-backdrop-filter:blur(18px) saturate(1.6); backdrop-filter:blur(18px) saturate(1.6);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.95), inset 0 -10px 16px -12px rgba(255,255,255,0.60), 0 1px 3px rgba(19,59,79,0.09), 0 6px 16px -10px rgba(19,59,79,0.22);}
  @media (prefers-reduced-transparency: reduce){ .ew-catmeta{background:#E9F3FA; -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:0 1px 3px rgba(19,59,79,0.09);} }
  html.ew-force-opaque .ew-catmeta{background:#E9F3FA !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; box-shadow:0 1px 3px rgba(19,59,79,0.09) !important;}
  @supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){ .ew-catmeta{background:#E9F3FA; box-shadow:0 1px 3px rgba(19,59,79,0.09);} }
  @media (prefers-contrast: more){ .ew-catmeta{background:#FFFFFF; -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:0 0 0 1px var(--ew-text-heading);} }
  @media (forced-colors: active){ .ew-catmeta{background:Canvas; color:CanvasText; box-shadow:0 0 0 1px CanvasText;} }

  /* Carruseles de Inicio scroll-snap horizontal controlado por el visitante. El contenedor de
     scroll recorta en su caja de relleno, así que el relleno interno reserva la sombra real
     (~23 px arriba, ~59 px abajo de --ew-elev-1) más el crecimiento del zoom. */
  .ew-hcar{margin-top:var(--ew-space-6);}
  .ew-hcar .ew-car-viewport{align-items:stretch; gap:var(--ew-space-5); padding:30px 16px 68px; margin:-30px -16px -40px; scroll-padding-inline:16px; border:0; box-shadow:none; background:transparent;}
  .ew-hcar .ew-car-slide{display:flex; position:relative; z-index:0;}
  .ew-hcar .ew-car-slide > *{width:100%;}
  @media (hover:hover) and (pointer:fine){ .ew-hcar .ew-car-slide:hover{z-index:2;} }
  .ew-hcar .ew-car-frame,.ew-hcar .ew-carousel{border:0; box-shadow:none;}
  .ew-hcar--feat .ew-pcard{box-shadow:var(--ew-elev-1);}
  .ew-hcar .ew-car-bar{position:relative; z-index:3; margin-top:0;}
  .ew-hcar--cat .ew-car-slide,.ew-hcar--feat .ew-car-slide{flex:0 0 calc((100% - var(--ew-space-5) * 3) / 4);}
  @media (max-width:1024px){
    .ew-hcar .ew-car-viewport{gap:var(--ew-space-4);}
    .ew-hcar--cat .ew-car-slide,.ew-hcar--feat .ew-car-slide{flex:0 0 calc((100% - var(--ew-space-4)) / 2);}
  }
  @media (max-width:430px){ .ew-hcar .ew-car-viewport{gap:14px;} .ew-hcar--cat .ew-car-slide,.ew-hcar--feat .ew-car-slide{flex:0 0 calc((100% - 14px) / 2);} }
  .ew-car-pos{margin:0 0 0 auto; font-size:14px; color:var(--ew-text-muted); font-variant-numeric:tabular-nums;}
  @media (max-width:600px){ .ew-car-pos{margin-left:0;} }
  /* Encabezado de categoría migas, H1 y descripción como un solo grupo textual alineado con
     la imagen 16:9 en la misma fila. El orden del DOM sigue siendo el canónico. */
  .ew-cathead{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,38%); gap:var(--ew-space-6) var(--ew-space-7); align-items:center;}
  .ew-cathead--noimg{grid-template-columns:minmax(0,1fr);}
  .ew-cathead-text{display:flex; flex-direction:column; gap:var(--ew-space-3); min-width:0;}
  .ew-cathead-media{grid-column:2; grid-row:1; align-self:center; border-radius:var(--ew-radius); overflow:hidden; box-shadow:var(--ew-elev-1);}
  .ew-cathead-media img{display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover;}
  .ew-sect--crumbtop{padding-top:120px !important;}
  @media (max-width:760px){ .ew-sect--crumbtop{padding-top:104px !important;} }
  @media (max-width:1024px){
    .ew-cathead{grid-template-columns:minmax(0,1fr); gap:var(--ew-space-5);}
    .ew-cathead-media{grid-column:1; grid-row:auto;}
  }

  /* ProductDetailLayout dos columnas a ≥1101 px sin reordenar el DOM. Toda media 1:1. */
  .ew-pd{display:grid; grid-template-columns:minmax(0,44%) minmax(0,1fr); gap:var(--ew-space-6) var(--ew-space-7); align-items:start; margin-top:var(--ew-space-4);}
  @media (max-width:1100px){ .ew-pd{grid-template-columns:minmax(0,1fr);} .ew-pd > div:first-child{max-width:560px;} }
  .ew-pdmain{border:0; border-radius:var(--ew-radius); overflow:hidden; background:var(--ew-surface); box-shadow:var(--ew-elev-1); padding:0; max-width:520px;}
  .ew-pdmain button{display:block; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in;}
  .ew-pdmain img{display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover;}
  .ew-pdmain button:focus-visible{outline:2px solid var(--ew-action); outline-offset:3px;}
  .ew-pdrail{display:flex; gap:10px; margin-top:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:2px;}
  .ew-pdrail::-webkit-scrollbar{display:none;}
  .ew-thumb{flex:0 0 auto; width:74px; height:74px; min-width:74px; padding:0; border:0; border-radius:var(--ew-radius); overflow:hidden; background:var(--ew-surface); cursor:pointer; scroll-snap-align:start; box-shadow:var(--ew-elev-1);}
  .ew-thumb img{display:block; width:100%; height:100%; object-fit:cover;}
  .ew-thumb[aria-current="true"]{box-shadow:0 0 0 2px var(--ew-action);}
  .ew-thumb:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px;}
  .ew-pdh1{margin:0; font-size:clamp(26px,2.6vw,34px); font-weight:700; letter-spacing:-0.02em; line-height:1.1; color:var(--ew-text-heading); text-wrap:pretty;}
  /* Marca y SKU como píldoras de vidrio independientes: presentación de metadatos canónicos. */
  .ew-pdmeta{margin:14px 0 0; display:flex; flex-wrap:wrap; gap:8px;}
  .ew-pill{display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border:0; border-radius:8px; font-size:13.5px; line-height:1.3; color:var(--ew-text-body);
    background:linear-gradient(180deg, rgba(255,255,255,0.34) 0%, rgba(255,255,255,0) 60%), rgba(250,252,254,0.66);
    -webkit-backdrop-filter:blur(14px) saturate(1.25); backdrop-filter:blur(14px) saturate(1.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.86);}
  .ew-pill b{font-weight:600; color:var(--ew-text-heading);}
  .ew-pill--sku b{font-variant-numeric:tabular-nums;}
  @media (prefers-reduced-transparency: reduce){ .ew-pill{background:#F1F6FA; -webkit-backdrop-filter:none; backdrop-filter:none;} }
  html.ew-force-opaque .ew-pill{background:#F1F6FA !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
  @supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){ .ew-pill{background:#F1F6FA;} }
  .ew-pdprice{margin-top:18px; display:flex; align-items:baseline; flex-wrap:wrap; gap:10px;}
  .ew-pdprice .ew-price{font-size:28px;}
  .ew-pdavail{margin-top:14px;}
  .ew-pdshort{margin:18px 0 0; font-size:17px; line-height:1.62; color:var(--ew-text-body); max-width:56ch; text-wrap:pretty;}
  .ew-vgroup{margin:var(--ew-space-4) 0 0; padding:12px; border:0; border-radius:var(--ew-radius);}
  .ew-vgroup[data-invalid="true"]{box-shadow:inset 0 0 0 2px rgba(154,42,30,0.55);}
  .ew-vgroup legend{padding:0; font-size:13px; font-weight:600; letter-spacing:0.02em; color:var(--ew-text-muted);}
  .ew-vopts{display:flex; flex-wrap:wrap; gap:var(--ew-space-2); margin-top:10px;}
  .ew-vchip{position:relative; display:inline-flex; align-items:center; min-height:44px; padding:0 16px; border-radius:var(--ew-radius); background:var(--ew-surface); box-shadow:inset 0 0 0 1px var(--ew-control-border); font-size:15px; color:var(--ew-text-heading); cursor:pointer; transition:box-shadow var(--ew-dur) var(--ew-ease-soft), background var(--ew-dur) var(--ew-ease-soft);}
  .ew-vchip input{position:absolute; opacity:0; width:1px; height:1px; margin:0;}
  .ew-vchip[data-sel="true"]{box-shadow:inset 0 0 0 2px var(--ew-action); background:rgba(10,96,152,0.07); font-weight:500;}
  @media (hover:hover) and (pointer:fine){ .ew-vchip:hover{background:rgba(19,59,79,0.04);} }
  .ew-vchip:focus-within{outline:2px solid var(--ew-action); outline-offset:2px;}
  @media (max-width:430px){ .ew-vchip{flex:1 1 100%; justify-content:center;} }
  /* QuantityStepper de ancho intrínseco: dos dígitos, nunca al 100 % de la columna. */
  .ew-qty{display:inline-flex; flex:none; width:max-content; align-items:center; gap:4px; background:var(--ew-surface); border-radius:var(--ew-radius); box-shadow:inset 0 0 0 1px var(--ew-control-border); padding:3px;}
  .ew-qtybtn{width:44px; height:44px; min-width:44px; border:0; border-radius:8px; background:transparent; color:var(--ew-action); font-family:inherit; font-size:19px; font-weight:600; line-height:1; cursor:pointer; display:inline-flex; align-items:center; justify-content:center;}
  .ew-qtybtn[disabled]{color:var(--ew-text-muted); opacity:0.5; cursor:default;}
  .ew-qtybtn:focus-visible{outline:2px solid var(--ew-action); outline-offset:-2px;}
  .ew-qtyin{width:5.5ch; min-width:44px; height:44px; text-align:center; font-family:inherit; font-size:16px; font-variant-numeric:tabular-nums; color:var(--ew-text-heading); background:transparent; border:0;}
  .ew-qtyin:focus-visible{outline:2px solid var(--ew-action); outline-offset:-2px; border-radius:6px;}
  .ew-pdqty{display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin-top:var(--ew-space-5);}
  .ew-pdactions{display:flex; flex-wrap:wrap; gap:12px; margin-top:var(--ew-space-5); align-items:center;}
  @media (max-width:430px){ .ew-pdactions .ew-btn{flex:1 1 100%;} }
  /* Descripción completa y especificaciones a ancho completo, con la medida de lectura dentro. */
  .ew-pdprose{margin-top:var(--ew-space-6); padding:32px 38px 36px; border:0; border-radius:var(--ew-radius); background:var(--ew-surface); box-shadow:var(--ew-elev-1); max-width:none;}
  .ew-pdprose .ew-lbody{max-width:72ch;}
  @media (max-width:600px){ .ew-pdprose{padding:22px 20px 26px;} }
  /* SpecificationList como datos tabulares: fondo uniforme y filo interno de dato entre filas. */
  .ew-specs{display:block; margin:var(--ew-space-4) 0 0; padding:0; max-width:none;}
  .ew-specrow{display:grid; grid-template-columns:minmax(0,36%) minmax(0,1fr); gap:6px var(--ew-space-5); align-items:baseline; padding:15px 2px; background:transparent;}
  .ew-specrow + .ew-specrow{box-shadow:inset 0 1px 0 rgba(19,59,79,0.13);}
  .ew-specrow dt{font-size:15px; font-weight:600; color:var(--ew-text-heading);}
  .ew-specrow dd{margin:0; font-size:15px; line-height:1.55; color:var(--ew-text-body); text-wrap:pretty; overflow-wrap:break-word;}
  @media (max-width:600px){ .ew-specrow{grid-template-columns:minmax(0,1fr); padding:14px 2px;} .ew-specrow dt{font-size:14px; color:var(--ew-text-muted);} }
  .ew-nores{margin-top:var(--ew-space-5); padding:30px 30px 32px; border:0; border-radius:var(--ew-radius); background:var(--ew-surface); box-shadow:var(--ew-elev-1); max-width:70ch;}
  .ew-nores h2{margin:0; font-size:21px; font-weight:600; color:var(--ew-text-heading);}
  .ew-nores p{margin:10px 0 0; font-size:16px; line-height:1.6; color:var(--ew-text-body);}

  /* CartPanel superficie opaca flotante. Panel derecho ≥861 px, hoja inferior ≤860 px. */
  .ew-cart-backdrop{position:fixed; inset:0; z-index:var(--ew-cart-layer); background:rgba(19,59,79,0.30); opacity:0; visibility:hidden; transition:opacity 240ms var(--ew-ease-soft), visibility 0s linear 240ms;}
  .ew-cart-backdrop[data-open="true"]{opacity:1; visibility:visible; transition-delay:0s,0s;}
  .ew-cartpanel{position:fixed; z-index:171; top:0; right:0; bottom:0; width:420px; max-width:100vw; display:flex; flex-direction:column; border:0; border-radius:var(--ew-radius) 0 0 var(--ew-radius); background:var(--ew-surface); box-shadow:var(--ew-elev-2); transform:translateX(104%); visibility:hidden; transition:transform 260ms var(--ew-ease-surface), visibility 0s linear 260ms;}
  .ew-cartpanel[data-open="true"]{transform:none; visibility:visible; transition-delay:0s,0s;}
  @media (max-width:1280px){ .ew-cartpanel{width:400px;} }
  @media (max-width:1000px){ .ew-cartpanel{width:380px;} }
  @media (max-width:860px){ .ew-cartpanel{top:auto; left:0; right:0; width:auto; max-height:90dvh; border-radius:var(--ew-radius) var(--ew-radius) 0 0; transform:translateY(104%);} }
  @media (prefers-reduced-motion: reduce){ .ew-cartpanel,.ew-cart-backdrop{transition:none !important;} }
  .ew-carthead{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:20px 20px 12px;}
  .ew-carthead h2{margin:0; font-size:19px; font-weight:600; letter-spacing:-0.012em; color:var(--ew-text-heading);}
  .ew-carthead p{margin:5px 0 0; font-size:14px; color:var(--ew-text-muted); font-variant-numeric:tabular-nums;}
  .ew-cartbody{flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:4px 20px 10px; display:flex; flex-direction:column; gap:10px;}
  /* Solo desplaza la colección de líneas. Tratamiento **inspirado en vidrio**: las APIs de barra
     de desplazamiento no ofrecen backdrop-filter fiable, así que el material se consigue con
     translucidez, color de la paleta azul aprobada y una luz interna. Solo en el panel lateral de
     escritorio con puntero fino; en táctil y en la hoja inferior queda la barra nativa. */
  @media (min-width:861px) and (hover:hover) and (pointer:fine){
    .ew-cartbody{scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:rgba(10,96,152,0.62) rgba(19,59,79,0.06);}
    .ew-cartbody::-webkit-scrollbar{width:12px; background:transparent;}
    .ew-cartbody::-webkit-scrollbar-track{background:rgba(19,59,79,0.05); border-radius:999px; margin:6px 0;}
    .ew-cartbody::-webkit-scrollbar-thumb{background:linear-gradient(180deg, rgba(42,138,196,0.74) 0%, rgba(10,96,152,0.64) 100%); background-clip:padding-box; border:1px solid transparent; border-radius:999px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.48);}
    .ew-cartbody::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg, rgba(42,138,196,0.88) 0%, rgba(10,96,152,0.80) 100%); background-clip:padding-box;}
    .ew-cartbody::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg, rgba(8,80,127,0.94) 0%, rgba(8,80,127,0.88) 100%); background-clip:padding-box;}
    .ew-cartbody::-webkit-scrollbar-corner{background:transparent;}
  }
  @media (forced-colors: active){
    .ew-cartbody{scrollbar-color:auto;}
    .ew-cartbody::-webkit-scrollbar-thumb{background:ButtonText;}
    .ew-cartbody::-webkit-scrollbar-track{background:Canvas;}
  }
  .ew-cempty{margin:8px 0 20px; font-size:16px; line-height:1.6; color:var(--ew-text-body);}
  .ew-cline{display:grid; grid-template-columns:64px minmax(0,1fr); gap:14px; padding:12px; border-radius:var(--ew-radius); background:var(--ew-surface-alt); box-shadow:inset 0 0 0 1px rgba(19,59,79,0.06);}
  .ew-cline[data-invalid="true"]{box-shadow:inset 0 0 0 2px rgba(154,42,30,0.55);}
  @media (max-width:600px){ .ew-cline{grid-template-columns:56px minmax(0,1fr); gap:12px;} }
  .ew-cthumb{width:64px; height:64px; border-radius:var(--ew-radius); overflow:hidden; background:#E7EFF4;}
  @media (max-width:600px){ .ew-cthumb{width:56px; height:56px;} }
  .ew-cthumb img{display:block; width:100%; height:100%; object-fit:cover;}
  .ew-clbody{display:flex; flex-direction:column; gap:4px; min-width:0;}
  .ew-clname{font-size:15.5px; font-weight:600; line-height:1.32; color:var(--ew-text-heading); text-decoration:none;}
  .ew-clname:hover{color:var(--ew-action-hover); text-decoration:underline; text-underline-offset:2px;}
  .ew-clsku,.ew-clvar,.ew-clprice{font-size:13.5px; line-height:1.45; color:var(--ew-text-muted);}
  .ew-clsku,.ew-clprice{font-variant-numeric:tabular-nums;}
  .ew-clrow{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:6px;}
  .ew-clsub{font-size:15.5px; font-weight:600; color:var(--ew-text-heading); font-variant-numeric:tabular-nums;}
  /* RemoveLineAction superficie roja clara con texto rojo oscuro: destructiva y legible, sin
     competir con la acción primaria de consulta. El rojo es color de estado del sistema
     (#9A2A1E, el mismo de validación), no un quinto color de marca editable. La papelera y la
     palabra «Quitar» comunican la acción además del color. */
  .ew-clremove{align-self:flex-start; display:inline-flex; align-items:center; gap:8px; font-family:inherit; font-size:14px; font-weight:500; color:#8A2519; background:rgba(154,42,30,0.09); border:0; border-radius:var(--ew-radius); padding:11px 14px; min-height:44px; cursor:pointer; transition:background var(--ew-dur) var(--ew-ease-soft), color var(--ew-dur) var(--ew-ease-soft), transform 130ms var(--ew-ease-soft);}
  .ew-clremove svg{width:14px; height:14px; flex:none; fill:currentColor;}
  @media (hover:hover) and (pointer:fine){ .ew-clremove:hover{background:rgba(154,42,30,0.16); color:#71180F;} }
  .ew-clremove:active{background:rgba(154,42,30,0.22); transform:scale(0.985);}
  .ew-clremove:focus-visible{outline:2px solid #9A2A1E; outline-offset:2px;}
  @media (prefers-reduced-motion: reduce){ .ew-clremove{transition:background var(--ew-dur) linear, color var(--ew-dur) linear;} .ew-clremove:active{transform:none;} }
  html.ew-force-rm .ew-clremove:active{transform:none;}
  @media (forced-colors: active){ .ew-clremove{background:ButtonFace; color:ButtonText; box-shadow:0 0 0 1px ButtonText;} }
  @media (max-width:430px){ .ew-clremove{width:100%; justify-content:center;} }
  .ew-cartfoot{padding:14px 20px 20px; display:flex; flex-direction:column; gap:12px; background:var(--ew-surface-alt);}
  .ew-ctotal{display:flex; align-items:baseline; justify-content:space-between; gap:12px; font-size:17px; font-weight:600; color:var(--ew-text-heading);}
  .ew-ctotal span:last-child{font-variant-numeric:tabular-nums;}
  .ew-cwarn{margin:0; font-size:14px; line-height:1.5; color:var(--ew-text-body);}
  .ew-cartfoot .ew-btn{width:100%;}
  .ew-cartfoot .ew-btn[disabled]{opacity:0.55; cursor:default;}
  .ew-clearcart{font-family:inherit; font-size:14.5px; font-weight:500; color:var(--ew-action); background:transparent; border:0; min-height:44px; border-radius:var(--ew-radius); cursor:pointer;}
  .ew-clearcart:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px;}

  /* ===== Estado abierto sin depender de una transición ni de JS =====
     El reloj de animación del entorno anfitrión está detenido: toda transición se pina en su
     fotograma 0, que en un cambio de estado in situ es el estado ANTERIOR. Con transición, el
     panel del carrito quedaba fuera de pantalla con el foco dentro, y el panel de navegación
     móvil —única vía por debajo de 1000 px— y los disclosures quedaban a 0 px de alto.
     La sonda de reloj de la clase lógica es solo refuerzo: la corrección no depende de que se
     ejecute. Desviación declarada respecto del inventario de movimiento aprobado, limitada a la
     duración de estas ocho superficies. */
  .ew-mopanel,
  .ew-modisc,
  .ew-tcontrols,
  .ew-submenu,
  .ew-cartpanel,
  .ew-cart-backdrop,
  .ew-faq-answer,
  .ew-faq-answer > div > div{transition:none !important;}
  /* ===== FloatingWhatsAppButton — componente candidato provisional, Pending canonical synchronization.
     Portado literalmente de la Landing v9.1 aprobada, que es la implementación resuelta del
     componente: corrige al artefacto de especificación en la posición responsive y en el
     consumo del desplazamiento por obstrucción. No se reinterpreta ningún valor. ===== */
  :root{
    --whatsapp-action-fill:#0C8339;
    --whatsapp-action-fill-hover:#0A7332;
    --floating-action-inline-offset:24px;
    --floating-action-block-offset:24px;
    --floating-action-obstruction-offset:0px;
    --floating-action-layer:60;
    --wa-ease:cubic-bezier(0.2,0,0.38,0.9);
    --wa-elev-rest:0 1px 4px rgba(19,59,79,0.198), 0 10px 30px -8px rgba(19,59,79,0.27), inset 0 1px 0 rgba(255,255,255,0.26);
    --wa-elev-hover:0 2px 8px rgba(19,59,79,0.216), 0 16px 40px -10px rgba(19,59,79,0.306), inset 0 1px 0 rgba(255,255,255,0.34);
  }
  /* Posición como en la v3: solo el desplazamiento base. --floating-action-obstruction-offset
     sigue publicándose en :root como contrato para el shell, pero el botón no lo consume. */
  .ew-fabwrap{position:fixed; right:var(--floating-action-inline-offset); bottom:var(--floating-action-block-offset); z-index:var(--floating-action-layer); display:inline-flex;}
  .ew-fab{width:56px; height:56px; min-width:56px; min-height:56px; flex:none; border-radius:999px; border:0; padding:0; display:inline-flex; align-items:center; justify-content:center; background:var(--whatsapp-action-fill); color:#FFFFFF; box-shadow:var(--wa-elev-rest); text-decoration:none; cursor:pointer; -webkit-tap-highlight-color:transparent; transition:background 140ms var(--wa-ease), box-shadow 140ms var(--wa-ease), transform 120ms var(--wa-ease);}
  .ew-fab:hover{color:#FFFFFF;}
  .ew-fab svg{width:30px; height:30px; display:block; pointer-events:none; fill:currentColor;}
  @media (hover:hover) and (pointer:fine){ .ew-fab:hover{background:var(--whatsapp-action-fill-hover); box-shadow:var(--wa-elev-hover); transform:translateY(-1px);} }
  .ew-fab:active{transform:scale(0.98); transition-duration:100ms;}
  .ew-fab:focus-visible{outline:3px solid var(--ew-action); outline-offset:3px; box-shadow:var(--wa-elev-rest), 0 0 0 3px #FCFDFE;}
  .ew-fabtip{position:absolute; right:calc(100% + 12px); top:50%; transform:translateY(-50%); white-space:nowrap; background:#133B4F; color:#FCFDFE; font-size:13px; font-weight:500; padding:7px 11px; border-radius:var(--ew-radius); box-shadow:var(--ew-elev-1); opacity:0; visibility:hidden; pointer-events:none; transition:opacity 140ms var(--wa-ease);}
  @media (hover:hover) and (pointer:fine){ .ew-fabwrap:hover .ew-fabtip,.ew-fab:focus-visible + .ew-fabtip{opacity:1; visibility:visible;} }
  @media (pointer:coarse){ .ew-fabtip{display:none !important;} }
  @media (min-width:601px) and (max-width:1000px){
    .ew-fabwrap{--floating-action-inline-offset:12px; --floating-action-block-offset:12px;}
  }
  @media (max-width:600px){
    .ew-fabwrap{--floating-action-inline-offset:max(8px, env(safe-area-inset-right)); --floating-action-block-offset:calc(8px + env(safe-area-inset-bottom));}
  }
  @media (prefers-reduced-motion: reduce){
    .ew-fab{transition:background 140ms linear, box-shadow 140ms linear;}
    .ew-fab:hover,.ew-fab:active{transform:none;}
  }
  html.ew-force-rm .ew-fab:hover,html.ew-force-rm .ew-fab:active{transform:none;}
  /* Añadido propio del Catálogo, no del componente: el carrito, las preferencias, el lightbox y
     el menú móvil son superficies modales, así que el control queda inerte mientras están
     activas y se restituye al cerrarlas. */
  .ew-fabwrap[data-inert="true"]{opacity:0; visibility:hidden; pointer-events:none;}

/* =====================================================================
   DELTA DE RESTAURANTE sobre la línea base aprobada de Catálogo v1.
   Todo lo anterior es el bloque <style> del artefacto de Catálogo,
   extraído literalmente (precedente R9 de la matriz de variantes).
   Aquí abajo solo lo que la semántica de Restaurante obliga a cambiar.
   ===================================================================== */

/* Media 4:3 canónica de Plato, Bebida y Complemento (Structure §20.1). */
.ew-pmedia{aspect-ratio:4/3;}
.ew-pdmain img{aspect-ratio:4/3;}

/* Complemento sin imagen: la caja de media no se renderiza y la zona textual
   recupera su relleno superior. Sin placeholder, sin hueco reservado. */
.ew-pcard--noimg > .ew-pbody{padding-top:var(--ew-space-4);}
/* La tarjeta de Complemento no es un enlace: solo sus controles lo son. */
.ew-pcard--addon{background:var(--ew-surface); box-shadow:var(--ew-elev-1);}
.ew-pcard--addon .ew-pbody{background:transparent;}
.ew-addonrow{display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
.ew-addonrow .ew-addbtn{flex:1 1 auto;}

/* Rejilla de Carta: 4 / 3 / 2 columnas; una sola columna cuando los
   controles de la tarjeta dejan de caber (reflow de 320 px). */
@media (max-width:1280px){ .ew-pgrid,.ew-pgrid--rel{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:1024px){ .ew-pgrid,.ew-pgrid--rel{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:380px){ .ew-pgrid,.ew-pgrid--sparse,.ew-pgrid--rel{grid-template-columns:minmax(0,1fr);} }

/* Selector de presentaciones: mismo armazón de chip aprobado, con nombre,
   cantidad y unidad, y precio vigente propio. Sin preselección. */
.ew-vchip--pres{flex-direction:column; align-items:flex-start; justify-content:center; padding:9px 16px; min-height:56px; gap:1px; text-align:left;}
.ew-presname{font-size:15px; font-weight:500; color:var(--ew-text-heading);}
.ew-presmeta{font-size:13.5px; color:var(--ew-text-muted); font-variant-numeric:tabular-nums;}
.ew-presprice{font-size:14.5px; font-weight:600; color:var(--ew-text-heading); font-variant-numeric:tabular-nums;}

/* Bloque único de información alimentaria: tres grupos etiquetados. */
.ew-foodblock{margin-top:var(--ew-space-6); padding:30px 34px 32px; border:0; border-radius:var(--ew-radius); background:var(--ew-surface); box-shadow:var(--ew-elev-1);}
.ew-foodblock > h2{margin:0; font-size:24px; font-weight:600; letter-spacing:-0.014em; color:var(--ew-text-heading);}
.ew-fgroup{margin-top:var(--ew-space-5);}
.ew-fgroup > h3{margin:0 0 10px; font-size:13px; font-weight:600; letter-spacing:0.03em; color:var(--ew-text-muted);}
.ew-ftags{display:flex; flex-wrap:wrap; gap:8px;}
.ew-ftag{display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border:0; border-radius:8px; font-size:14.5px; line-height:1.35; color:var(--ew-text-heading); background:rgba(10,96,152,0.09);}
.ew-ftag--diet{background:rgba(22,183,170,0.14);}
.ew-ftag--state{background:rgba(19,59,79,0.07);}
.ew-ftag .ew-ftag-mark{flex:none; width:10px; height:10px; border-radius:2px; background:var(--ew-icon);}
.ew-ftag--diet .ew-ftag-mark{border-radius:999px; background:var(--ew-secondary-deep);}
.ew-ftag--state .ew-ftag-mark{width:12px; height:3px; border-radius:2px; background:var(--ew-text-muted);}
.ew-ing{margin:12px 0 0; padding:0 0 0 20px; font-size:16px; line-height:1.7; color:var(--ew-text-body); max-width:72ch;}
.ew-fnote{margin:var(--ew-space-5) 0 0; font-size:14.5px; line-height:1.6; color:var(--ew-text-body); max-width:74ch;}
@media (max-width:600px){ .ew-foodblock{padding:24px 20px 26px;} }

/* Bloque de acceso de la Carta y CTA derivado de pedido. */
.ew-access + .ew-access{margin-top:var(--ew-space-7);}
.ew-orderrow{display:flex; justify-content:flex-end; margin-top:var(--ew-space-5);}

/* Agrupación del pedido en el panel: Platos, Bebidas, Complementos. */
.ew-cgroup{margin:8px 0 -2px; font-size:12.5px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; color:var(--ew-text-muted);}

/* Datos del visitante dentro del panel de pedido. */
.ew-ordform{display:flex; flex-direction:column; gap:var(--ew-space-3); margin-top:2px;}
.ew-ordform .ew-field label{font-size:13.5px; font-weight:600; color:var(--ew-text-muted);}
.ew-ordform .ew-input{font-size:15px;}
.ew-modes{margin:0; padding:0; border:0;}
.ew-modes legend{padding:0; font-size:13px; font-weight:600; letter-spacing:0.02em; color:var(--ew-text-muted);}
.ew-modeopts{display:flex; flex-wrap:wrap; gap:8px; margin-top:9px;}
.ew-modes[data-invalid="true"] .ew-modeopts{padding:6px; margin:3px -6px 0; border-radius:var(--ew-radius); box-shadow:inset 0 0 0 2px rgba(154,42,30,0.55);}
.ew-privacyrow{display:flex; gap:11px; align-items:flex-start; margin-top:4px;}
.ew-privacyrow label{font-size:14.5px; line-height:1.5; font-weight:400; color:var(--ew-text-body);}

/* Carga útil inspeccionable del mensaje. Anotación de prototipo. */
.ew-payload{margin-top:var(--ew-space-4); border:0; border-radius:var(--ew-radius); background:rgba(19,59,79,0.055); padding:13px 15px;}
.ew-payload > summary{cursor:pointer; font-size:13px; font-weight:600; letter-spacing:0.02em; color:var(--ew-text-muted); list-style:none;}
.ew-payload > summary::-webkit-details-marker{display:none;}
.ew-payload > summary:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px; border-radius:4px;}
.ew-payload pre{margin:11px 0 0; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:12.5px; line-height:1.6; color:var(--ew-text-body); white-space:pre-wrap; word-break:break-word; max-height:300px; overflow:auto;}

/* Estado Abierto/Cerrado, adyacente al horario. Nunca solo color. */
.ew-openst{display:inline-flex; align-items:center; gap:8px; margin-top:10px; padding:4px 11px 4px 10px; border-radius:999px; font-size:14px; font-weight:500;}
.ew-openst--open{background:rgba(22,183,170,0.14); color:var(--ew-text-heading);}
.ew-openst--closed{background:rgba(19,59,79,0.07); color:var(--ew-text-body);}
.ew-openst .ew-openst-mark{flex:none; width:10px; height:10px; border-radius:999px; background:var(--ew-secondary-deep);}
.ew-openst--closed .ew-openst-mark{width:12px; height:3px; border-radius:2px; background:var(--ew-text-muted);}
.ew-sched dt{white-space:nowrap;}
.ew-sched dd{font-variant-numeric:tabular-nums;}

/* Marca textual: no existe logotipo de Marea Clara. */
.ew-wordmark{display:inline-flex; flex-direction:column; gap:1px; text-decoration:none; color:var(--ew-text-heading);}
.ew-wordmark b{font-size:21px; font-weight:700; letter-spacing:-0.022em; line-height:1;}
.ew-wordmark span{font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--ew-text-muted);}
.ew-wordmark--foot b{font-size:24px;}

/* Interruptor de fixture de prototipo. */
.ew-fixnote{margin:0 0 var(--ew-space-4); font-size:13.5px; line-height:1.6; color:var(--ew-text-muted);}

/* Línea de pedido sin media: la rejilla pierde su pista de miniatura en lugar de
   comprimir el cuerpo dentro de ella. Misma resolución que .ew-pcard--noimg. */
.ew-cline--noimg{grid-template-columns:minmax(0,1fr);}

/* ===== Correcciones aprobadas del pase visual de Restaurante ===== */

/* 7. Marco visible 1:1 de la media de Carta. La fuente canónica sigue siendo 4:3:
   esto es un recorte de presentación de plantilla con object-fit: cover. */
.ew-pmedia{aspect-ratio:1/1;}
.ew-pdmain img{aspect-ratio:1/1;}
/* El lightbox muestra la fuente completa, sin forzar el cuadrado. */
.ew-lb-panel img{aspect-ratio:auto;}

/* 2. Historia de Nosotros: en tableta y móvil la imagen va ARRIBA del texto, en flujo
   normal de documento. El orden del DOM es figura → prosa, así que aquí solo se retira la
   colocación explícita de rejilla; no hay order ni posicionamiento absoluto. */
@media (max-width:1024px){
  .ew-story{display:block;}
  .ew-storyfig{grid-column:auto; grid-row:auto; position:static; padding-top:0; margin:0 0 var(--ew-space-6); width:100%;}
  .ew-storyfig img{width:100%; height:auto; aspect-ratio:4/3; object-fit:cover;}
  .ew-storyfig figcaption{max-width:none;}
  .ew-prose{grid-column:auto; grid-row:auto; margin:0; width:100%; max-width:none;}
}
@media (max-width:600px){ .ew-storyfig{margin-bottom:var(--ew-space-5);} }

/* 3. Vista previa de Galería en Inicio: dos columnas en tableta y móvil. */
.ew-gal--preview{grid-template-columns:repeat(4,1fr);}
@media (max-width:1100px){ .ew-gal--preview{grid-template-columns:repeat(2,1fr);} }
@media (max-width:460px){ .ew-gal--preview{grid-template-columns:repeat(2,1fr); gap:12px;} }
@media (max-width:360px){ .ew-gal--preview{gap:10px;} }

/* 6. Orden de capas compartido. El control flotante queda por encima del contenido y
   por debajo del Header y de su submenú no modal; las superficies modales lo superan. */
:root{ --floating-action-layer:110; }
.ew-fabwrap{z-index:var(--floating-action-layer);}

/* 8. Ritmo de las dos secciones de vista previa de Carta en Inicio. */
.ew-menu-first{padding-bottom:var(--ew-space-5);}
.ew-menu-next{padding-top:var(--ew-space-5); padding-bottom:var(--ew-space-6);}
@media (max-width:760px){
  .ew-menu-first.ew-after-hero{padding-top:calc(var(--ew-space-7) + 20px) !important;}
  .ew-menu-first{padding-bottom:var(--ew-space-4);}
  .ew-menu-next{padding-top:var(--ew-space-4);}
}


/* ===== Pase de correcciones compartidas 2026-09-10 ===== */
/* 5. El control flotante permanece montado con el disclosure móvil abierto; solo se aparta
   un poco para no cubrir los enlaces ni el control de cierre. */

/* 6. Aviso contextual del tope interno de líneas del pedido. */
.ew-cartlimit{margin:8px 0 0; padding:10px 12px; border-radius:var(--ew-radius); background:rgba(154,42,30,0.07); box-shadow:inset 0 0 0 2px rgba(154,42,30,0.28); font-size:14px; line-height:1.5; color:#7E2318;}

/* 7. Velo del pedido: 5 px de desenfoque del fondo, nunca del panel ni del Header. El tinte
   translúcido sostiene la separación por sí solo cuando no hay backdrop-filter. Sin animar. */
.ew-cart-backdrop{background:rgba(19,59,79,0.34); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);}
@supports not ((backdrop-filter:blur(5px)) or (-webkit-backdrop-filter:blur(5px))){ .ew-cart-backdrop{background:rgba(19,59,79,0.62);} }
@media (prefers-reduced-transparency: reduce){ .ew-cart-backdrop{background:rgba(19,59,79,0.78); -webkit-backdrop-filter:none; backdrop-filter:none;} }
html.ew-force-opaque .ew-cart-backdrop{background:rgba(19,59,79,0.78); -webkit-backdrop-filter:none; backdrop-filter:none;}

/* =====================================================================
   DELTA v1.2 correcciones transversales de esta pasada.
   ===================================================================== */

  /* =====================================================================
     HOVER HUNDIDO COMPARTIDO una sola receta para todo botón real.
     Carácter ya aprobado en los controles de carrusel y en los botones
     sociales: el reposo conserva su elevación, el puntero lo hunde ~1px
     con luz interior, la pulsación lo hunde ~2px. Solo transform y
     box-shadow: ni un borde nuevo, ni desplazamiento del entorno, ni
     desenfoque animado. Fuera de (hover:hover) no existe, así que el
     táctil no puede quedarse con el estado pegado.

     ALCANCE exclusión explícita del WhatsApp flotante.
     .ew-fab NO figura en ninguna lista de esta receta y ningún selector
     de aquí lo alcanza: todos son de clase concreta, sin button:hover,
     sin [role="button"]:hover, sin selector de icono compartido y sin
     regla de hover de antecesor. El WhatsApp flotante conserva íntegro
     su hover aprobado (elevación --wa-elev-hover, translateY(-1px),
     relleno --whatsapp-action-fill-hover) y su pulsación, foco,
     movimiento reducido y conducta táctil previas. No hay parche con
     !important que lo restaure: nunca entra en el conjunto.

     Excluidos además por contrato: enlaces de texto, .ew-navlink,
     .ew-footlink, .ew-subitem, .ew-skip, tarjetas, .ew-vchip (es un
     label con radio), .ew-switch (control de formulario), pastillas
     estáticas .ew-disc, etiquetas de estado .ew-avail, campos de
     formulario y todo control deshabilitado.
     ===================================================================== */
  :root{
    --ew-press-tf-h:translateY(1px) scale(0.996);
    --ew-press-tf-a:translateY(2px) scale(0.985);
    --ew-press-sh-h:inset 0 1px 2px rgba(19,59,79,0.15), inset 0 -1px 0 rgba(255,255,255,0.96), 0 1px 3px rgba(19,59,79,0.108);
    --ew-press-sh-a:inset 0 2px 5px rgba(19,59,79,0.22), inset 0 -1px 0 rgba(255,255,255,0.68), 0 1px 2px rgba(19,59,79,0.09);
    --ew-press-sh-h-solid:inset 0 1px 2px rgba(9,34,47,0.34), inset 0 -1px 0 rgba(255,255,255,0.20), 0 1px 3px rgba(19,59,79,0.20);
    --ew-press-sh-a-solid:inset 0 2px 6px rgba(9,34,47,0.44), inset 0 -1px 0 rgba(255,255,255,0.14), 0 1px 2px rgba(19,59,79,0.16);
  }
  .ew-btn--secondary,
  .ew-social,
  .ew-burger,
  .ew-car-nav,
  .ew-faq-btn,
  .ew-prefs-close,
  .ew-galbtn,
  .ew-lb-btn,
  .ew-addbtn,
  .ew-qtybtn,
  .ew-clear,
  .ew-clearcart,
  .ew-tsearch-clear,
  .ew-catdisc,
  .ew-clremove,
  .ew-thumb:not([aria-current="true"]),
  .ew-btn--primary{transition-property:box-shadow,transform,background,background-color,color; transition-duration:var(--ew-dur); transition-timing-function:var(--ew-ease-soft);}
  @media (hover:hover) and (pointer:fine){
    .ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-social:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-addbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-qtybtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clear:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clearcart:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-tsearch-clear:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-catdisc:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clremove:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):hover{transform:var(--ew-press-tf-h) !important; box-shadow:var(--ew-press-sh-h) !important;}
    .ew-btn--primary:not([disabled]):not([aria-disabled="true"]):hover{transform:var(--ew-press-tf-h) !important; box-shadow:var(--ew-press-sh-h-solid) !important;}
    .ew-dot:not([aria-current="true"]):hover::after{transform:scale(0.94) !important; box-shadow:inset 0 1px 2px rgba(19,59,79,0.20), inset 0 -1px 0 rgba(255,255,255,0.92) !important;}
  }
  .ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):active,
  .ew-social:not([disabled]):not([aria-disabled="true"]):active,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):active,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):active,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):active,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-addbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-qtybtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clear:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clearcart:not([disabled]):not([aria-disabled="true"]):active,
  .ew-tsearch-clear:not([disabled]):not([aria-disabled="true"]):active,
  .ew-catdisc:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clremove:not([disabled]):not([aria-disabled="true"]):active,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):active{transform:var(--ew-press-tf-a) !important; box-shadow:var(--ew-press-sh-a) !important;}
  .ew-btn--primary:not([disabled]):not([aria-disabled="true"]):active{transform:var(--ew-press-tf-a) !important; box-shadow:var(--ew-press-sh-a-solid) !important;}
  .ew-dot:not([aria-current="true"]):active::after{transform:scale(0.88) !important;}
  @media (prefers-reduced-motion: reduce){
    .ew-btn--secondary,
    .ew-social,
    .ew-burger,
    .ew-car-nav,
    .ew-faq-btn,
    .ew-prefs-close,
    .ew-galbtn,
    .ew-lb-btn,
    .ew-addbtn,
    .ew-qtybtn,
    .ew-clear,
    .ew-clearcart,
    .ew-tsearch-clear,
    .ew-catdisc,
    .ew-clremove,
    .ew-thumb:not([aria-current="true"]),
    .ew-btn--primary{transition-property:box-shadow,background,background-color,color;}
    .ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-social:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-addbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-qtybtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clear:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clearcart:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-tsearch-clear:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-catdisc:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clremove:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):hover,
  .ew-btn--primary:not([disabled]):not([aria-disabled="true"]):hover,
    .ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):active,
  .ew-social:not([disabled]):not([aria-disabled="true"]):active,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):active,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):active,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):active,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-addbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-qtybtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clear:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clearcart:not([disabled]):not([aria-disabled="true"]):active,
  .ew-tsearch-clear:not([disabled]):not([aria-disabled="true"]):active,
  .ew-catdisc:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clremove:not([disabled]):not([aria-disabled="true"]):active,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):active,
  .ew-btn--primary:not([disabled]):not([aria-disabled="true"]):active{transform:none !important;}
  }
  html.ew-force-rm .ew-btn--secondary:hover,
  html.ew-force-rm .ew-social:hover,
  html.ew-force-rm .ew-burger:hover,
  html.ew-force-rm .ew-car-nav:hover,
  html.ew-force-rm .ew-faq-btn:hover,
  html.ew-force-rm .ew-prefs-close:hover,
  html.ew-force-rm .ew-galbtn:hover,
  html.ew-force-rm .ew-lb-btn:hover,
  html.ew-force-rm .ew-addbtn:hover,
  html.ew-force-rm .ew-qtybtn:hover,
  html.ew-force-rm .ew-clear:hover,
  html.ew-force-rm .ew-clearcart:hover,
  html.ew-force-rm .ew-tsearch-clear:hover,
  html.ew-force-rm .ew-catdisc:hover,
  html.ew-force-rm .ew-clremove:hover,
  html.ew-force-rm .ew-thumb:not([aria-current="true"]):hover,
  html.ew-force-rm .ew-btn--primary:hover,
  html.ew-force-rm .ew-btn--secondary:active,
  html.ew-force-rm .ew-social:active,
  html.ew-force-rm .ew-burger:active,
  html.ew-force-rm .ew-car-nav:active,
  html.ew-force-rm .ew-faq-btn:active,
  html.ew-force-rm .ew-prefs-close:active,
  html.ew-force-rm .ew-galbtn:active,
  html.ew-force-rm .ew-lb-btn:active,
  html.ew-force-rm .ew-addbtn:active,
  html.ew-force-rm .ew-qtybtn:active,
  html.ew-force-rm .ew-clear:active,
  html.ew-force-rm .ew-clearcart:active,
  html.ew-force-rm .ew-tsearch-clear:active,
  html.ew-force-rm .ew-catdisc:active,
  html.ew-force-rm .ew-clremove:active,
  html.ew-force-rm .ew-thumb:not([aria-current="true"]):active,
  html.ew-force-rm .ew-btn--primary:active{transform:none !important;}
  @media (forced-colors: active){
    .ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-social:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-addbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-qtybtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clear:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clearcart:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-tsearch-clear:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-catdisc:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clremove:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):hover,
  .ew-btn--primary:not([disabled]):not([aria-disabled="true"]):hover,
    .ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):active,
  .ew-social:not([disabled]):not([aria-disabled="true"]):active,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):active,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):active,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):active,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-addbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-qtybtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clear:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clearcart:not([disabled]):not([aria-disabled="true"]):active,
  .ew-tsearch-clear:not([disabled]):not([aria-disabled="true"]):active,
  .ew-catdisc:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clremove:not([disabled]):not([aria-disabled="true"]):active,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):active,
  .ew-btn--primary:not([disabled]):not([aria-disabled="true"]):active{box-shadow:none !important;}
  }


  /* =====================================================================
     HomeAboutPreview en móvil y tableta la imagen va ARRIBA del bloque
     de texto completo, en flujo vertical normal. El orden del DOM ya es
     imagen → titular → descripción → acción, así que no hace falta ningún
     "order", ni posición absoluta, ni alto fijo. Escritorio conserva la
     composición aprobada mediante colocación explícita de columna.
     El artefacto Landing queda fuera de esta corrección por contrato.
     ===================================================================== */
  .ew-hab{display:grid; grid-template-columns:1.05fr 0.95fr; gap:0; overflow:hidden;}
  .ew-hab-text{grid-column:1; grid-row:1; padding:38px 40px 40px;}
  .ew-hab-img{grid-column:2; grid-row:1; display:block; width:100%; height:100%; min-height:280px; object-fit:cover;}
  @media (max-width:860px){
    .ew-hab{display:block;}
    .ew-hab-img{grid-column:auto; grid-row:auto; width:100%; height:auto; min-height:0; aspect-ratio:1400 / 788;}
    .ew-hab-text{grid-column:auto; grid-row:auto; padding:24px 22px 28px;}
  }
  @media (max-width:430px){ .ew-hab-text{padding:20px 18px 24px;} }


  /* =====================================================================
     WhatsApp flotante posición idéntica con el menú móvil cerrado y
     abierto (referencia: Landing). Se retira la regla que subía su
     desplazamiento inferior con data-nav="true" y el propio atributo.
     El hueco lo abre el menú con su relleno inferior, no el botón.
     ===================================================================== */
  .ew-fabwrap{margin:0 !important; transform:none !important;}
  @media (max-width:600px){
    .ew-mopanel[data-open="true"] > div{padding-bottom:calc(78px + env(safe-area-inset-bottom));}
  }


/* Icono de pedido del Header cesta de trazo, sin silueta rellena, sin
   bolsa, sin producto dentro, sin emoji. currentColor y el mismo peso
   óptico de trazo que el resto de la iconografía a 18 px. */
.ew-cartbtn svg{fill:none !important; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round;}

/* Fuga de hover entre Complementos compatibles causa raíz: cada
   .ew-pbody llevaba backdrop-filter vivo sobre fondo transparente dentro
   de una tarjeta ya opaca, así que las cinco tarjetas compartían una
   misma raíz de fondo; al recibir la tarjeta apuntada su transform de
   hover, el compositor la promovía a capa propia y las tarjetas NO
   apuntadas volvían a muestrear ese fondo, repintando su panel. Se
   retira el desenfoque redundante (la tarjeta de Complemento ya es
   opaca) y se aísla cada tarjeta. El hover queda contenido en la suya. */
.ew-pcard--addon{isolation:isolate;}
.ew-pcard--addon .ew-pbody{-webkit-backdrop-filter:none !important; backdrop-filter:none !important; background:transparent; box-shadow:none;}

@media (prefers-contrast: more){.ew-glass-subtle,.ew-glass-standard,.ew-glass-elevated,.ew-tcard,.ew-note,.ew-service-text{background:#FFFFFF !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; box-shadow:0 0 0 1px var(--ew-text-heading) !important;}
}
.ew-glass-elevated p,.ew-glass-standard p,.ew-tq,.ew-service-text p{letter-spacing:0.002em;}
.ew-service-card{background:var(--ew-surface); border:0; border-radius:var(--ew-radius); box-shadow:var(--ew-elev-1); overflow:hidden;}
.ew-form-glass{padding:28px 30px;}
.ew-cicon{flex:none; width:44px; height:44px; border-radius:var(--ew-radius); display:flex; align-items:center; justify-content:center; color:var(--ew-action); background:linear-gradient(180deg, rgba(19,59,79,0.08) 0%, rgba(255,255,255,0.35) 100%); -webkit-backdrop-filter:blur(12px) saturate(1.2); backdrop-filter:blur(12px) saturate(1.2); box-shadow:inset 0 2px 5px rgba(19,59,79,0.18), inset 0 -1px 0 rgba(255,255,255,0.95), inset 1px 0 0 rgba(19,59,79,0.05), inset -1px 0 0 rgba(19,59,79,0.05); transition:box-shadow var(--ew-dur-slow) var(--ew-ease-soft), color var(--ew-dur-slow) var(--ew-ease-soft);}
@media (hover:hover) and (pointer:fine){.ew-cinfo:hover .ew-cicon{background:linear-gradient(180deg, rgba(19,59,79,0.04) 0%, rgba(255,255,255,0.65) 100%); color:var(--ew-secondary-deep); box-shadow:inset 0 1px 3px rgba(19,59,79,0.12), inset 0 -1px 0 #FFFFFF;}
}
.ew-form-glass .ew-input{background:rgba(255,255,255,0.92); border-color:rgba(19,59,79,0.30); box-shadow:inset 0 1px 2px rgba(19,59,79,0.06);}
.ew-form-glass .ew-input:focus{background:#FFFFFF;}
.ew-svc-h3{margin:0; font-size:24px; font-weight:600; line-height:1.22; letter-spacing:-0.016em; color:var(--ew-text-heading);}
.ew-cinfo{display:flex; gap:14px; align-items:flex-start;}
.ew-cicon svg{width:20px; height:20px; display:block; fill:currentColor;}
.ew-clabel{display:block; font-size:13px; font-weight:600; letter-spacing:0.02em; color:var(--ew-text-muted);}
.ew-service-card{position:relative; aspect-ratio:4/5; border-radius:var(--ew-radius); overflow:hidden; background:var(--ew-surface); box-shadow:var(--ew-elev-1); isolation:isolate;}
.ew-service-card img{position:absolute; left:0; top:-12%; width:100%; height:124%; object-fit:cover; transition:transform 520ms var(--ew-ease-soft);}
.ew-service-text{position:absolute; left:8px; right:8px; bottom:8px; top:32%; height:auto; padding:20px; border-radius:calc(var(--ew-radius) - 3px); display:flex; flex-direction:column; justify-content:flex-end; gap:8px; color:var(--ew-text-heading); isolation:isolate;}
.ew-service-text::before{content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:linear-gradient(180deg, rgba(255,255,255,0) 0px, rgba(255,255,255,0.04) calc(100% - var(--text-h, 120px) - 110px), rgba(255,255,255,0.16) calc(100% - var(--text-h, 120px) - 74px), rgba(255,255,255,0.56) calc(100% - var(--text-h, 120px) - 40px), rgba(255,255,255,0.84) calc(100% - var(--text-h, 120px) - 12px), rgba(253,254,255,0.855) calc(100% - var(--text-h, 120px)), rgba(253,254,255,0.855) 100%); -webkit-backdrop-filter:blur(12px) saturate(1.28); backdrop-filter:blur(12px) saturate(1.28); -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,0) 0px, rgba(0,0,0,0.1) calc(100% - var(--text-h, 120px) - 110px), rgba(0,0,0,0.32) calc(100% - var(--text-h, 120px) - 74px), rgba(0,0,0,0.78) calc(100% - var(--text-h, 120px) - 40px), #000 calc(100% - var(--text-h, 120px) - 12px), #000 100%); mask-image:linear-gradient(180deg, rgba(0,0,0,0) 0px, rgba(0,0,0,0.1) calc(100% - var(--text-h, 120px) - 110px), rgba(0,0,0,0.32) calc(100% - var(--text-h, 120px) - 74px), rgba(0,0,0,0.78) calc(100% - var(--text-h, 120px) - 40px), #000 calc(100% - var(--text-h, 120px) - 12px), #000 100%);}
.ew-service-text h3,.ew-service-text p{position:relative; z-index:1; opacity:1;}
@media (hover:hover) and (pointer:fine){.ew-service-card:hover img{--zoom:1.06;}
}
.ew-service-card img{--zoom:1; transform:scale(var(--zoom));}
.ew-step-dot{position:relative; z-index:1; width:48px; height:48px; border-radius:999px; display:flex; align-items:center; justify-content:center; color:#F4FBFA; background:linear-gradient(180deg, #1FC6B8 0%, var(--ew-secondary) 55%, var(--ew-secondary-deep) 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,0.45), 0 0 0 4px var(--ew-canvas-c), 0 6px 14px -6px rgba(14,138,128,0.55); transition:box-shadow var(--ew-dur-slow) var(--ew-ease-soft), color var(--ew-dur-slow) var(--ew-ease-soft), transform var(--ew-dur-slow) var(--ew-ease-soft);}
@media (hover:hover) and (pointer:fine){.ew-step:hover .ew-step-dot{background:linear-gradient(180deg, rgba(255,255,255,0.80) 0%, rgba(255,255,255,0.45) 100%), linear-gradient(180deg, #5FDCD2 0%, var(--ew-secondary) 100%); color:var(--ew-secondary-deep); -webkit-backdrop-filter:blur(10px) saturate(1.4); backdrop-filter:blur(10px) saturate(1.4); box-shadow:inset 0 1px 0 #FFFFFF, inset 0 -6px 10px -8px rgba(14,138,128,0.35), 0 0 0 4px var(--ew-canvas-c), 0 10px 22px -8px rgba(14,138,128,0.55); transform:translateY(-2px);}
}
.ew-process-line{height:6px !important; border-radius:3px; top:21px !important; z-index:0; overflow:hidden; background:linear-gradient(90deg, rgba(22,183,170,0.38), rgba(22,183,170,0.55)) !important;}
.ew-process-line::after{content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 30%, rgba(255,255,255,0.62) 50%, rgba(255,255,255,0) 70%, rgba(255,255,255,0) 100%); background-size:50% 100%; background-repeat:no-repeat; animation:ewFlow 9s cubic-bezier(0.4,0,0.6,1) infinite;}
.ew-form-grid{align-items:end;}
.ew-footlink{display:flex; align-items:center; gap:var(--ew-space-2); min-height:36px; white-space:nowrap; font-size:15px; font-weight:400; color:var(--ew-text-body); text-decoration:none; transition:color var(--ew-dur) var(--ew-ease-soft), transform var(--ew-dur) var(--ew-ease-soft);}
@media (hover:hover) and (pointer:fine){.ew-footlink:hover{transform:translateX(3px);}
}
.ew-footlink:hover{color:var(--ew-action-hover);}
.ew-social,.ew-burger,.ew-car-nav{position:relative; display:inline-flex; align-items:center; justify-content:center; flex:none; width:44px; height:44px; min-width:44px; min-height:44px; padding:0; border:0; border-radius:var(--ew-radius); cursor:pointer; color:var(--ew-icon); background:linear-gradient(180deg, rgba(255,255,255,0.70) 0%, rgba(250,252,254,0.50) 100%); -webkit-backdrop-filter:blur(18px) saturate(1.32); backdrop-filter:blur(18px) saturate(1.32); box-shadow:inset 0 1px 0 rgba(255,255,255,0.96), inset 0 -6px 12px -7px rgba(19,59,79,0.20), 0 2px 8px rgba(19,59,79,0.099), 0 16px 43px -16px rgba(19,59,79,0.207); transition:box-shadow var(--ew-dur) var(--ew-ease-soft), color var(--ew-dur) var(--ew-ease-soft), transform 130ms var(--ew-ease-soft);}
@media (hover:hover) and (pointer:fine){.ew-social:hover,.ew-burger:hover,.ew-car-nav:not([disabled]):hover{color:var(--ew-action); transform:translateY(0.5px) scale(0.994); box-shadow:inset 0 1px 2px rgba(19,59,79,0.15), inset 0 -1px 0 rgba(255,255,255,0.96), 0 1px 3px rgba(19,59,79,0.108);}
}
.ew-social:active,.ew-burger:active,.ew-car-nav:not([disabled]):active{transform:translateY(1px) scale(0.978); box-shadow:inset 0 2px 5px rgba(19,59,79,0.22), inset 0 -1px 0 rgba(255,255,255,0.68);}
.ew-social:focus-visible,.ew-burger:focus-visible,.ew-car-nav:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px;}
.ew-social svg,.ew-car-nav svg,.ew-lrbtn svg{overflow:visible;}
.ew-glass-elevated .ew-social,.ew-glass-standard .ew-social,.ew-glass-elevated .ew-burger,.ew-glass-elevated .ew-car-nav{-webkit-backdrop-filter:none; backdrop-filter:none; background:linear-gradient(180deg, rgba(255,255,255,0.78) 0%, rgba(250,252,254,0.56) 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,0.96), inset 0 -6px 12px -7px rgba(19,59,79,0.20), 0 2px 8px rgba(19,59,79,0.099), 0 16px 43px -16px rgba(19,59,79,0.198);}
@media (hover:hover) and (pointer:fine){.ew-glass-elevated .ew-social:hover,.ew-glass-standard .ew-social:hover,.ew-glass-elevated .ew-burger:hover{background:linear-gradient(180deg, rgba(255,255,255,0.90) 0%, rgba(250,252,254,0.70) 100%); box-shadow:inset 0 1px 2px rgba(19,59,79,0.16), inset 0 -1px 0 rgba(255,255,255,0.98), 0 1px 3px rgba(19,59,79,0.108);}
}
.ew-glass-elevated .ew-social:active,.ew-glass-standard .ew-social:active,.ew-glass-elevated .ew-burger:active{background:linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(250,252,254,0.76) 100%); box-shadow:inset 0 2px 5px rgba(19,59,79,0.22), inset 0 -1px 0 rgba(255,255,255,0.90);}
@media (prefers-reduced-motion: reduce){.ew-social,.ew-burger,.ew-car-nav{transition:box-shadow var(--ew-dur) linear, color var(--ew-dur) linear;}
.ew-social:hover,.ew-burger:hover,.ew-car-nav:hover,.ew-social:active,.ew-burger:active,.ew-car-nav:active{transform:none;}
}
.ew-social:focus-visible,.ew-faq-btn:focus-visible,.ew-btn:focus-visible,.ew-navlink:focus-visible,.ew-footlink:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px;}
.ew-footlink:active{transform:scale(0.97);}
@media (hover:none){.ew-navlink:hover,.ew-footlink:hover{background:transparent;}
}
@media (prefers-reduced-motion: reduce){.ew-service-card img,.ew-benefit-card,.ew-service-text,.ew-step-dot{transition:none !important;}
.ew-orb,.ew-process-line::after{animation:none !important;}
.ew-navlink,.ew-btn,.ew-input,.ew-social,.ew-footlink,.ew-faq-btn{transition:none !important;}
}
@media (max-width:860px){.ew-contact{grid-template-columns:1fr !important;}
.ew-foot{grid-template-columns:1fr 1fr !important;}
.ew-process-line{display:none !important;}
.ew-process{grid-template-columns:1fr 1fr !important; row-gap:var(--ew-space-5) !important;}
}
@media (max-width:760px){.ew-form-grid{grid-template-columns:1fr !important;}
.ew-service-card{aspect-ratio:4/4.4 !important;}
.ew-step-dot{width:44px !important; height:44px !important;}
}
@media (max-width:600px){.ew-process{grid-template-columns:1fr !important;}
.ew-foot{grid-template-columns:1fr !important;}
}
button.ew-footlink{font-family:inherit; background:transparent; border:0; padding:0; text-align:left; cursor:pointer; width:100%;}
.ew-phm{position:relative;}
.ew-phm-media{border-radius:var(--ew-radius); overflow:hidden; box-shadow:var(--ew-elev-2);}
.ew-phm-img{display:block; width:100%; height:clamp(340px,40vw,520px); object-fit:cover;}
.ew-phm-panel{position:absolute; left:24px; right:24px; bottom:calc(var(--ew-phm-cross) * -1); padding:26px 30px 28px; max-width:720px;}
.ew-after-phm{padding-top:calc(var(--ew-phm-cross) + 62px) !important;}
.ew-phm h1{margin:0; font-size:clamp(30px,3.6vw,42px); font-weight:700; letter-spacing:-0.022em; line-height:1.08; color:var(--ew-text-heading); text-wrap:pretty;}
.ew-phm p{margin:12px 0 0; font-size:17px; line-height:1.6; color:var(--ew-text-body); max-width:56ch; text-wrap:pretty;}
@media (max-width:760px){.ew-phm{margin-left:calc(50% - 50vw); width:100vw; max-width:100vw;}
.ew-phm-media{border-radius:0;}
.ew-phm-img{height:300px;}
.ew-phm-panel{position:relative; left:auto; right:auto; bottom:auto; margin:-72px 14px 0; max-width:none;}
.ew-after-phm{padding-top:var(--ew-space-7) !important;}
}
.ew-pht{position:relative; padding:8px 0 0;}
.ew-pht h1{margin:0; font-size:clamp(32px,4vw,46px); font-weight:700; letter-spacing:-0.024em; line-height:1.06; color:var(--ew-text-heading); max-width:20ch; text-wrap:pretty;}
.ew-pht p{margin:16px 0 0; font-size:18px; line-height:1.62; color:var(--ew-text-body); max-width:58ch; text-wrap:pretty;}
.ew-values-wrap{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:var(--ew-space-6) var(--ew-space-7); align-items:start; margin-top:var(--ew-space-6);}
.ew-values-head{position:sticky; top:118px;}
.ew-values-head .ew-h2{margin:0;}
.ew-values-head .ew-intro{margin:14px 0 0; max-width:34ch;}
.ew-values{display:grid; grid-template-columns:1fr 1fr; gap:var(--ew-space-4);}
@media (max-width:1000px){.ew-values-wrap{grid-template-columns:1fr; gap:var(--ew-space-5);}
.ew-values-head{position:static;}
.ew-values-head .ew-intro{max-width:56ch;}
}
@media (max-width:640px){.ew-values{grid-template-columns:1fr;}
}
.ew-team{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--ew-space-5); margin-top:var(--ew-space-6); align-items:stretch;}
@media (max-width:1000px){.ew-team{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:760px){.ew-team{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:460px){.ew-team{grid-template-columns:1fr;}
}
.ew-story{display:grid; grid-template-columns:minmax(0,46fr) minmax(0,66fr); align-items:start; margin-top:var(--ew-space-6);}
.ew-prose{grid-column:2; grid-row:1; position:relative; z-index:1; margin-left:calc(var(--ew-space-6) * -1); background:var(--ew-surface); border-radius:var(--ew-radius); box-shadow:var(--ew-elev-2); padding:34px 38px 38px;}
@media (max-width:1024px){.ew-story{grid-template-columns:1fr;}
.ew-prose{grid-column:1; grid-row:auto; margin-left:0;}
}
@media (max-width:600px){.ew-prose{padding:24px 20px 28px;}
}
.ew-prose h2{margin:0; font-size:26px; font-weight:600; letter-spacing:-0.016em; line-height:1.18; color:var(--ew-text-heading);}
.ew-prose h3{margin:26px 0 0; font-size:18px; font-weight:600; color:var(--ew-text-heading);}
.ew-prose p{margin:14px 0 0; font-size:16.5px; line-height:1.72; color:var(--ew-text-body); max-width:66ch; text-wrap:pretty;}
.ew-prose ul{margin:14px 0 0; padding-left:20px; display:flex; flex-direction:column; gap:7px;}
.ew-prose li{font-size:16.5px; line-height:1.66; color:var(--ew-text-body);}
.ew-storyfig{grid-column:1; grid-row:1; position:sticky; top:118px; margin:0; padding-top:46px;}
.ew-storyfig img{display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:var(--ew-radius); box-shadow:var(--ew-elev-1);}
.ew-storyfig figcaption{margin-top:10px; font-size:14px; line-height:1.55; color:var(--ew-text-muted); max-width:34ch;}
@media (max-width:1024px){.ew-storyfig{grid-column:1; grid-row:auto; position:static; padding-top:0; width:100%; margin-top:28px;}
.ew-storyfig img{width:100%; height:auto; aspect-ratio:4/3; object-fit:cover;}
.ew-storyfig figcaption{max-width:none;}
.ew-prose{margin:0; width:100%; max-width:none;}
}
@media (max-width:600px){.ew-storyfig{margin-top:22px;}
}
.ew-purpose{display:grid; grid-template-columns:1fr 1fr; gap:var(--ew-space-5); margin-top:var(--ew-space-6); align-items:stretch;}
@media (max-width:760px){.ew-purpose{grid-template-columns:1fr;}
}
.ew-purpose > div{position:relative; overflow:hidden; padding:34px 36px 38px; border-radius:var(--ew-radius); border:0; background:var(--ew-surface); box-shadow:var(--ew-elev-2);}
.ew-purpose > div::before{content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(120% 130% at 6% 0%, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0) 42%), radial-gradient(90% 120% at 100% 108%, rgba(10,96,152,0.11) 0%, rgba(10,96,152,0) 60%);}
.ew-purpose > div::after{content:''; position:absolute; left:0; right:0; top:0; height:1px; pointer-events:none; background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.95) 26%, rgba(255,255,255,0.55) 100%);}
.ew-purpose h2,.ew-purpose p{position:relative; z-index:1;}
.ew-purpose h2{margin:0; font-size:clamp(24px,2.4vw,28px); font-weight:600; line-height:1.16; letter-spacing:-0.018em; color:var(--ew-text-heading);}
.ew-purpose p{margin:14px 0 0; font-size:17px; line-height:1.68; color:var(--ew-text-body); max-width:48ch; text-wrap:pretty;}
.ew-finalcta{position:relative; overflow:hidden; padding:46px 40px 48px; border:0; background:transparent; -webkit-backdrop-filter:none; backdrop-filter:none;}
.ew-finalcta::before{content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.86) 0px, rgba(255,255,255,0.34) 1px, rgba(255,255,255,0.09) 18px, rgba(255,255,255,0) 36px),
      linear-gradient(0deg, color-mix(in oklab, var(--ew-surface) 34%, transparent) 0%, color-mix(in oklab, var(--ew-surface) 34%, transparent) 100%);
    -webkit-backdrop-filter:blur(14px) saturate(1.42); backdrop-filter:blur(14px) saturate(1.42);
    -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0.30) 0%, rgba(0,0,0,0.78) 20%, rgba(0,0,0,1) 38%, rgba(0,0,0,1) 62%, rgba(0,0,0,0.78) 80%, rgba(0,0,0,0.30) 100%);
    mask-image:linear-gradient(90deg, rgba(0,0,0,0.30) 0%, rgba(0,0,0,0.78) 20%, rgba(0,0,0,1) 38%, rgba(0,0,0,1) 62%, rgba(0,0,0,0.78) 80%, rgba(0,0,0,0.30) 100%);}
.ew-finalcta::after{content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
      radial-gradient(78% 132% at -16% 28%, color-mix(in oklab, var(--ew-action) 27%, transparent) 0%, color-mix(in oklab, var(--ew-action) 10%, transparent) 44%, transparent 84%),
      radial-gradient(68% 118% at -12% 112%, color-mix(in oklab, var(--ew-secondary) 24%, transparent) 0%, color-mix(in oklab, var(--ew-secondary) 8%, transparent) 46%, transparent 86%),
      radial-gradient(78% 132% at 116% 26%, color-mix(in oklab, var(--ew-action) 29%, transparent) 0%, color-mix(in oklab, var(--ew-action) 11%, transparent) 44%, transparent 84%),
      radial-gradient(68% 118% at 112% 114%, color-mix(in oklab, var(--ew-secondary) 26%, transparent) 0%, color-mix(in oklab, var(--ew-secondary) 9%, transparent) 46%, transparent 86%),
      radial-gradient(52% 104% at 2% 64%, color-mix(in oklab, var(--ew-icon) 13%, transparent) 0%, transparent 80%),
      radial-gradient(52% 104% at 98% 62%, color-mix(in oklab, var(--ew-icon) 14%, transparent) 0%, transparent 80%);
    -webkit-backdrop-filter:blur(8px) saturate(1.40) brightness(1.04); backdrop-filter:blur(8px) saturate(1.40) brightness(1.04);
    -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.88) 14%, rgba(0,0,0,0) 40%, rgba(0,0,0,0) 60%, rgba(0,0,0,0.88) 86%, rgba(0,0,0,1) 100%);
    mask-image:linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.88) 14%, rgba(0,0,0,0) 40%, rgba(0,0,0,0) 60%, rgba(0,0,0,0.88) 86%, rgba(0,0,0,1) 100%);}
.ew-finalcta-inner{position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; width:100%; max-width:660px; margin:0 auto;}
.ew-finalcta-body{min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center;}
.ew-finalcta-body .ew-btn{margin-top:24px; align-self:center;}
.ew-finalcta h2{margin:0; font-size:clamp(26px,3vw,34px); font-weight:600; letter-spacing:-0.02em; line-height:1.12; color:var(--ew-text-heading); text-wrap:pretty;}
.ew-finalcta p{margin:12px 0 0; font-size:16.5px; line-height:1.6; color:var(--ew-text-body); max-width:52ch; text-wrap:pretty;}
.ew-finalcta .ew-btn{white-space:nowrap;}
@media (max-width:760px){.ew-finalcta{padding:34px 24px 36px;}
.ew-finalcta .ew-btn{white-space:normal;}
.ew-finalcta::before{-webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0.42) 0%, rgba(0,0,0,1) 30%, rgba(0,0,0,1) 70%, rgba(0,0,0,0.42) 100%); mask-image:linear-gradient(90deg, rgba(0,0,0,0.42) 0%, rgba(0,0,0,1) 30%, rgba(0,0,0,1) 70%, rgba(0,0,0,0.42) 100%);}
.ew-finalcta::after{-webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 34%, rgba(0,0,0,0) 66%, rgba(0,0,0,1) 100%); mask-image:linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 34%, rgba(0,0,0,0) 66%, rgba(0,0,0,1) 100%);}
}
@media (max-width:600px){.ew-finalcta{padding:28px 20px 30px;}
}
@media (prefers-reduced-transparency: reduce){.ew-finalcta::before{background:#F1F6FA; -webkit-backdrop-filter:none; backdrop-filter:none; -webkit-mask-image:none; mask-image:none;}
.ew-finalcta::after{opacity:0.30; -webkit-backdrop-filter:none; backdrop-filter:none;}
}
html.ew-force-opaque .ew-finalcta::before{background:#F1F6FA; -webkit-backdrop-filter:none; backdrop-filter:none; -webkit-mask-image:none; mask-image:none;}
html.ew-force-opaque .ew-finalcta::after{opacity:0.30; -webkit-backdrop-filter:none; backdrop-filter:none;}
.ew-process{display:grid; grid-template-columns:repeat(6,1fr); gap:var(--ew-space-5);}
.ew-process-line::after{animation:none !important;}
.ew-contact{display:grid; grid-template-columns:1.15fr 0.9fr; gap:var(--ew-space-6) var(--ew-space-7); align-items:start;}
.ew-contact > *{align-self:start;}
.ew-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--ew-space-4);}
@media (max-width:860px){.ew-contact{grid-template-columns:1fr;}
}
@media (max-width:640px){.ew-form-grid{grid-template-columns:1fr;}
}
@media (max-width:1024px){.ew-story{display:block;}
.ew-storyfig{grid-column:auto; grid-row:auto; position:static; padding-top:0; margin:0 0 var(--ew-space-6); width:100%;}
.ew-storyfig img{width:100%; height:auto; aspect-ratio:4/3; object-fit:cover;}
.ew-storyfig figcaption{max-width:none;}
.ew-prose{grid-column:auto; grid-row:auto; margin:0; width:100%; max-width:none;}
}
@media (max-width:600px){.ew-storyfig{margin-bottom:var(--ew-space-5);}
}
.ew-btn--secondary,
  .ew-social,
  .ew-burger,
  .ew-car-nav,
  .ew-faq-btn,
  .ew-prefs-close,
  .ew-galbtn,
  .ew-lb-btn,
  .ew-btn--primary{transition-property:box-shadow,transform,background,background-color,color; transition-duration:var(--ew-dur); transition-timing-function:var(--ew-ease-soft);}
@media (hover:hover) and (pointer:fine){.ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-social:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):hover{transform:var(--ew-press-tf-h) !important; box-shadow:var(--ew-press-sh-h) !important;}
}
.ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):active,
  .ew-social:not([disabled]):not([aria-disabled="true"]):active,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):active,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):active,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):active,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):active{transform:var(--ew-press-tf-a) !important; box-shadow:var(--ew-press-sh-a) !important;}
@media (prefers-reduced-motion: reduce){.ew-btn--secondary,
    .ew-social,
    .ew-burger,
    .ew-car-nav,
    .ew-faq-btn,
    .ew-prefs-close,
    .ew-galbtn,
    .ew-lb-btn,
    .ew-btn--primary{transition-property:box-shadow,background,background-color,color;}
.ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-social:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-btn--primary:not([disabled]):not([aria-disabled="true"]):hover,
    .ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):active,
  .ew-social:not([disabled]):not([aria-disabled="true"]):active,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):active,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):active,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):active,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-btn--primary:not([disabled]):not([aria-disabled="true"]):active{transform:none !important;}
}
html.ew-force-rm .ew-btn--secondary:hover,
  html.ew-force-rm .ew-social:hover,
  html.ew-force-rm .ew-burger:hover,
  html.ew-force-rm .ew-car-nav:hover,
  html.ew-force-rm .ew-faq-btn:hover,
  html.ew-force-rm .ew-prefs-close:hover,
  html.ew-force-rm .ew-galbtn:hover,
  html.ew-force-rm .ew-lb-btn:hover,
  html.ew-force-rm .ew-btn--primary:hover,
  html.ew-force-rm .ew-btn--secondary:active,
  html.ew-force-rm .ew-social:active,
  html.ew-force-rm .ew-burger:active,
  html.ew-force-rm .ew-car-nav:active,
  html.ew-force-rm .ew-faq-btn:active,
  html.ew-force-rm .ew-prefs-close:active,
  html.ew-force-rm .ew-galbtn:active,
  html.ew-force-rm .ew-lb-btn:active,
  html.ew-force-rm .ew-btn--primary:active{transform:none !important;}
@media (forced-colors: active){.ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-social:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-btn--primary:not([disabled]):not([aria-disabled="true"]):hover,
    .ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):active,
  .ew-social:not([disabled]):not([aria-disabled="true"]):active,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):active,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):active,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):active,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-btn--primary:not([disabled]):not([aria-disabled="true"]):active{box-shadow:none !important;}
}
.ew-hab{display:grid; grid-template-columns:1.05fr 0.95fr; gap:0; overflow:hidden;}
.ew-hab-text{grid-column:1; grid-row:1; padding:38px 40px 40px;}
.ew-hab-img{grid-column:2; grid-row:1; display:block; width:100%; height:100%; min-height:280px; object-fit:cover;}
@media (max-width:860px){.ew-hab{display:block;}
.ew-hab-img{grid-column:auto; grid-row:auto; width:100%; height:auto; min-height:0; aspect-ratio:1400 / 788;}
.ew-hab-text{grid-column:auto; grid-row:auto; padding:24px 22px 28px;}
}
@media (max-width:430px){.ew-hab-text{padding:20px 18px 24px;}
}

.ew-navcat{position:relative; display:inline-flex; align-items:center;}
.ew-navcat > .ew-navlink{display:inline-flex; align-items:center;}
.ew-navchev{width:10px; height:10px; margin-left:7px; flex:none; fill:currentColor; transition:transform 200ms var(--ew-ease-soft);}
.ew-navcat[data-open="true"] .ew-navchev{transform:rotate(180deg);}
@media (prefers-reduced-motion: reduce){.ew-navchev{transition:none;}
.ew-navcat[data-open="true"] .ew-navchev{transform:none;}
}
.ew-catdisc{display:none; width:34px; height:38px; min-width:34px; padding:0; border:0; border-radius:var(--ew-radius); background:transparent; color:var(--ew-text-heading); cursor:pointer; align-items:center; justify-content:center; transition:background var(--ew-dur) var(--ew-ease-soft), color var(--ew-dur) var(--ew-ease-soft);}
@media (max-width:1000px){.ew-catdisc{display:inline-flex;}
}
.ew-catdisc svg{width:11px; height:11px; fill:currentColor; transition:transform 200ms var(--ew-ease-soft);}
.ew-catdisc[aria-expanded="true"] svg{transform:rotate(90deg);}
@media (hover:hover) and (pointer:fine){.ew-catdisc:hover{background:rgba(19,59,79,0.05); color:var(--ew-action);}
}
.ew-catdisc:focus-visible{outline:2px solid var(--ew-action); outline-offset:2px;}
.ew-submenu{position:absolute; left:0; top:calc(100% + 10px); z-index:var(--ew-submenu-layer); width:max-content; min-width:212px; max-width:min(340px, calc(100vw - 32px)); padding:8px; border:0; border-radius:var(--ew-radius); display:flex; flex-direction:column; gap:2px;
    background:linear-gradient(180deg, rgba(255,255,255,0.34) 0%, rgba(255,255,255,0) 44%), rgba(250,252,254,0.93);
    -webkit-backdrop-filter:blur(30px) saturate(1.55); backdrop-filter:blur(30px) saturate(1.55);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.94), inset 0 18px 30px -20px rgba(255,255,255,0.55), 0 4px 16px rgba(19,59,79,0.11), 0 30px 78px -24px rgba(19,59,79,0.22);
    opacity:0; visibility:hidden; transform:translateY(-6px); transform-origin:top left; transition:opacity 180ms var(--ew-ease-soft), transform 200ms var(--ew-ease-surface), visibility 0s linear 200ms;}
.ew-submenu[data-open="true"]{opacity:1; visibility:visible; transform:none; transition-delay:0s,0s,0s;}
.ew-submenu::before{content:''; position:absolute; left:0; right:0; top:-12px; height:12px;}
@media (prefers-reduced-transparency: reduce){.ew-submenu{background:#F1F6FA; -webkit-backdrop-filter:none; backdrop-filter:none;}
}
html.ew-force-opaque .ew-submenu{background:#F1F6FA !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){.ew-submenu{background:#F1F6FA;}
}
@media (prefers-contrast: more){.ew-submenu{background:#FFFFFF; -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:0 0 0 1px var(--ew-text-heading), var(--ew-elev-2);}
}
.ew-subitem{display:flex; align-items:center; padding:11px 12px; min-height:44px; border-radius:8px; font-size:15px; line-height:1.35; color:var(--ew-text-heading); text-decoration:none; transition:background var(--ew-dur) var(--ew-ease-soft), color var(--ew-dur) var(--ew-ease-soft);}
@media (hover:hover) and (pointer:fine){.ew-subitem:hover{background:rgba(19,59,79,0.05); color:var(--ew-action);}
}
.ew-subitem[aria-current="page"]{background:rgba(10,96,152,0.10); color:var(--ew-action); font-weight:500;}
.ew-subitem:focus-visible{outline:2px solid var(--ew-action); outline-offset:-2px;}
.ew-morow{display:flex; align-items:center; gap:4px; padding:4px; border:0; border-radius:var(--ew-radius);
    background:linear-gradient(180deg, rgba(255,255,255,0.32) 0%, rgba(255,255,255,0) 62%), rgba(250,252,254,0.60);
    -webkit-backdrop-filter:blur(16px) saturate(1.28); backdrop-filter:blur(16px) saturate(1.28);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.88);}
.ew-morow .ew-navlink{flex:1 1 auto; min-height:44px; display:flex; align-items:center; background:transparent; box-shadow:none;}
.ew-morow .ew-navlink:active{transform:none;}
.ew-morow .ew-catdisc{width:44px; height:44px; min-width:44px; border-radius:8px;}
.ew-morow .ew-catdisc[aria-expanded="true"]{background:rgba(19,59,79,0.07); color:var(--ew-action);}
@media (prefers-reduced-transparency: reduce){.ew-morow{background:#F1F6FA; -webkit-backdrop-filter:none; backdrop-filter:none;}
}
html.ew-force-opaque .ew-morow{background:#F1F6FA !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){.ew-morow{background:#F1F6FA;}
}
.ew-modisc{display:grid; grid-template-rows:0fr; transition:grid-template-rows 300ms var(--ew-ease-surface);}
.ew-modisc[data-open="true"]{grid-template-rows:1fr;}
.ew-modisc > div{overflow:hidden; min-height:0;}
.ew-modisc .ew-subitem{background:transparent; box-shadow:none;}
.ew-mopanel,
  .ew-modisc,
  .ew-tcontrols,
  .ew-submenu,
  .ew-cartpanel,
  .ew-cart-backdrop,
  .ew-faq-answer,
  .ew-faq-answer > div > div{transition:none !important;}
.ew-btn--secondary,
  .ew-social,
  .ew-burger,
  .ew-car-nav,
  .ew-faq-btn,
  .ew-prefs-close,
  .ew-galbtn,
  .ew-lb-btn,
  .ew-addbtn,
  .ew-qtybtn,
  .ew-clear,
  .ew-clearcart,
  .ew-tsearch-clear,
  .ew-catdisc,
  .ew-clremove,
  .ew-thumb:not([aria-current="true"]),
  .ew-btn--primary{transition-property:box-shadow,transform,background,background-color,color; transition-duration:var(--ew-dur); transition-timing-function:var(--ew-ease-soft);}
@media (hover:hover) and (pointer:fine){.ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-social:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-addbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-qtybtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clear:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clearcart:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-tsearch-clear:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-catdisc:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clremove:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):hover{transform:var(--ew-press-tf-h) !important; box-shadow:var(--ew-press-sh-h) !important;}
}
.ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):active,
  .ew-social:not([disabled]):not([aria-disabled="true"]):active,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):active,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):active,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):active,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-addbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-qtybtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clear:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clearcart:not([disabled]):not([aria-disabled="true"]):active,
  .ew-tsearch-clear:not([disabled]):not([aria-disabled="true"]):active,
  .ew-catdisc:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clremove:not([disabled]):not([aria-disabled="true"]):active,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):active{transform:var(--ew-press-tf-a) !important; box-shadow:var(--ew-press-sh-a) !important;}
@media (prefers-reduced-motion: reduce){.ew-btn--secondary,
    .ew-social,
    .ew-burger,
    .ew-car-nav,
    .ew-faq-btn,
    .ew-prefs-close,
    .ew-galbtn,
    .ew-lb-btn,
    .ew-addbtn,
    .ew-qtybtn,
    .ew-clear,
    .ew-clearcart,
    .ew-tsearch-clear,
    .ew-catdisc,
    .ew-clremove,
    .ew-thumb:not([aria-current="true"]),
    .ew-btn--primary{transition-property:box-shadow,background,background-color,color;}
.ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-social:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-addbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-qtybtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clear:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clearcart:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-tsearch-clear:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-catdisc:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clremove:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):hover,
  .ew-btn--primary:not([disabled]):not([aria-disabled="true"]):hover,
    .ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):active,
  .ew-social:not([disabled]):not([aria-disabled="true"]):active,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):active,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):active,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):active,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-addbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-qtybtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clear:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clearcart:not([disabled]):not([aria-disabled="true"]):active,
  .ew-tsearch-clear:not([disabled]):not([aria-disabled="true"]):active,
  .ew-catdisc:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clremove:not([disabled]):not([aria-disabled="true"]):active,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):active,
  .ew-btn--primary:not([disabled]):not([aria-disabled="true"]):active{transform:none !important;}
}
html.ew-force-rm .ew-btn--secondary:hover,
  html.ew-force-rm .ew-social:hover,
  html.ew-force-rm .ew-burger:hover,
  html.ew-force-rm .ew-car-nav:hover,
  html.ew-force-rm .ew-faq-btn:hover,
  html.ew-force-rm .ew-prefs-close:hover,
  html.ew-force-rm .ew-galbtn:hover,
  html.ew-force-rm .ew-lb-btn:hover,
  html.ew-force-rm .ew-addbtn:hover,
  html.ew-force-rm .ew-qtybtn:hover,
  html.ew-force-rm .ew-clear:hover,
  html.ew-force-rm .ew-clearcart:hover,
  html.ew-force-rm .ew-tsearch-clear:hover,
  html.ew-force-rm .ew-catdisc:hover,
  html.ew-force-rm .ew-clremove:hover,
  html.ew-force-rm .ew-thumb:not([aria-current="true"]):hover,
  html.ew-force-rm .ew-btn--primary:hover,
  html.ew-force-rm .ew-btn--secondary:active,
  html.ew-force-rm .ew-social:active,
  html.ew-force-rm .ew-burger:active,
  html.ew-force-rm .ew-car-nav:active,
  html.ew-force-rm .ew-faq-btn:active,
  html.ew-force-rm .ew-prefs-close:active,
  html.ew-force-rm .ew-galbtn:active,
  html.ew-force-rm .ew-lb-btn:active,
  html.ew-force-rm .ew-addbtn:active,
  html.ew-force-rm .ew-qtybtn:active,
  html.ew-force-rm .ew-clear:active,
  html.ew-force-rm .ew-clearcart:active,
  html.ew-force-rm .ew-tsearch-clear:active,
  html.ew-force-rm .ew-catdisc:active,
  html.ew-force-rm .ew-clremove:active,
  html.ew-force-rm .ew-thumb:not([aria-current="true"]):active,
  html.ew-force-rm .ew-btn--primary:active{transform:none !important;}
@media (forced-colors: active){.ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-social:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-addbtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-qtybtn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clear:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clearcart:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-tsearch-clear:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-catdisc:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-clremove:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):hover,
  .ew-btn--primary:not([disabled]):not([aria-disabled="true"]):hover,
    .ew-btn--secondary:not([disabled]):not([aria-disabled="true"]):active,
  .ew-social:not([disabled]):not([aria-disabled="true"]):active,
  .ew-burger:not([disabled]):not([aria-disabled="true"]):active,
  .ew-car-nav:not([disabled]):not([aria-disabled="true"]):active,
  .ew-faq-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-prefs-close:not([disabled]):not([aria-disabled="true"]):active,
  .ew-galbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-lb-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-addbtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-qtybtn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clear:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clearcart:not([disabled]):not([aria-disabled="true"]):active,
  .ew-tsearch-clear:not([disabled]):not([aria-disabled="true"]):active,
  .ew-catdisc:not([disabled]):not([aria-disabled="true"]):active,
  .ew-clremove:not([disabled]):not([aria-disabled="true"]):active,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):active,
  .ew-btn--primary:not([disabled]):not([aria-disabled="true"]):active{box-shadow:none !important;}
}

/* Only requested deltas; component appearance comes from Informational v1.3. */
.ew-submenu {width:max-content!important;min-width:0!important;max-width:min(320px,calc(100vw - 32px))!important;display:flex!important;flex-direction:column!important;overflow:visible!important;background:linear-gradient(145deg,rgba(250,253,255,.97),rgba(235,245,250,.94))!important;border:0!important;}
.ew-subitem {white-space:nowrap;gap:10px;}
.ew-subitem svg {width:20px;height:20px;flex:none;}
.ew-cicon {background:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.ew-cicon .ew-contact-outline {width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;}
.ew-contact-outline * {fill:none;}
.ew-cicon .ew-contact-glyph {width:22px!important;height:22px!important;fill:currentColor;stroke:none!important;}
.ew-contact-glyph * {stroke:none!important;}
.ew-cinfo {align-items:flex-start;}
.ew-contact a {overflow-wrap:anywhere;}
.ew-contact,.ew-contact>* {min-width:0;align-self:start;}
.ew-contact {grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr);}
.ew-inqgrid {display:grid!important;grid-template-columns:minmax(0,1fr)!important;}
.ew-inqgrid>*,.ew-inqgrid input,.ew-inqgrid select,.ew-inqgrid textarea {min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box;}
.ew-inq,.ew-rdside {min-width:0;}
.ew-share .ew-social {width:44px;height:44px;min-width:44px;padding:0;border:0;}
.ew-share .ew-social svg {width:21px;height:21px;fill:currentColor;}
.ew-share .ew-btn {min-height:44px;}
.ew-vfac {position:relative;}
.ew-vfac .ew-vfac-btn {position:absolute!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:54px!important;height:54px!important;min-width:54px!important;padding:0!important;border:0!important;border-radius:50%!important;display:flex!important;align-items:center;justify-content:center;color:white;background:linear-gradient(145deg,var(--ew-action),var(--ew-secondary))!important;box-shadow:inset 0 1px 0 #ffffffc9,inset 0 -5px 12px #003c6655,0 8px 24px #133b4f55;cursor:pointer;transition:box-shadow 160ms ease,filter 160ms ease;}
.ew-vfac-btn svg {width:28px!important;height:28px!important;fill:white!important;}
@media(hover:hover) and (pointer:fine){.ew-vfac .ew-vfac-btn:hover{transform:translate(-50%,-50%) scale(.97)!important;box-shadow:inset 0 4px 8px #003c6677,inset 0 -1px 0 #ffffffaa,0 3px 9px #133b4f33;}.ew-tab .ew-tabitem:hover{transform:scale(1.015)!important;box-shadow:var(--ew-elev-1)!important;}}
.ew-tabitem {transition:transform 180ms ease,box-shadow 180ms ease;}
.ew-tabitem svg,.ew-fact svg {width:24px;height:24px;flex:none;}
.ew-facts {grid-template-columns:repeat(3,minmax(0,1fr));}
.ew-rdshort--summary {padding:20px 22px;background:var(--ew-surface);border-radius:var(--ew-radius);font-size:17px;line-height:1.65;}
.ew-tcard .ew-tmeta {margin-left:0;justify-content:flex-start;text-align:left;}
.ew-tcard:hover {transform:none;}
.ew-process {grid-template-columns:repeat(6,minmax(0,1fr));}
.ew-process h3 {font-size:18px;line-height:1.25;}
.ew-process p {font-size:15px;line-height:1.6;}
.ew-pdmain button:hover,.ew-pdmain img:hover,.ew-vfac img:hover {transform:none!important;}
.ew-foot {grid-template-columns:1.4fr .9fr 1.1fr 1.3fr!important;gap:30px!important;}
.ew-foot>div> .ew-clabel {font-size:17px;font-weight:600;color:var(--ew-text-heading);}
.ew-foot .ew-footlink {font-size:15px;white-space:normal;overflow-wrap:anywhere;}
.ew-wordmark--foot {text-align:left;align-items:flex-start;}
.ew-foot .ew-social svg {stroke:none;overflow:visible;}
.ew-footer-label {display:block;font-size:12px;font-weight:600;color:var(--ew-text-muted);}
.ew-burger{display:none;}
@media(max-width:1100px){.ew-burger{display:inline-flex;}}
/* One uninterrupted atmosphere for the complete document, including the final CTA. */
html {background:var(--ew-canvas-a);}
body {background:linear-gradient(180deg,var(--ew-canvas-b),var(--ew-canvas-a) 25%,var(--ew-canvas-b) 60%,var(--ew-canvas-c))!important;}
.ew-page,#ew-main {background:transparent!important;}
.ew-tail {background:transparent!important;}
.ew-sect {background:transparent!important;border:0!important;}
[data-screen-label="CTA final"] {background:transparent!important;}
.ew-hab-text p {font-size:16.5px;line-height:1.65;color:var(--ew-text-body);}
[data-screen-label="Contacto"] {padding-top:22px!important;}
.ew-service-text h3 {margin:0;font-size:20px;line-height:1.18;}
.ew-service-text p {margin:0;font-size:14.5px;line-height:1.55;color:var(--ew-text-body);}
.ew-service-card:has(.ew-cicon):not(:has(img)),.ew-service-card:not(:has(img)) {aspect-ratio:auto;min-height:0;align-self:start;}
.ew-service-card:not(:has(img)) .ew-service-text {position:relative;inset:auto;padding:24px;}
.ew-service-card:not(:has(img)) .ew-service-text::before{display:none;}
@media(max-width:1024px){.ew-hab{display:flex;flex-direction:column;}.ew-hab-img{order:-1;width:100%;height:auto;min-height:0;aspect-ratio:16/9;}.ew-hab-text{width:100%;padding:28px;}.ew-story{display:flex;flex-direction:column;}.ew-storyfig{order:-1;position:static;width:100%;margin:0 0 26px;padding:0;}.ew-prose{width:100%;margin:0;}.ew-contact{grid-template-columns:minmax(0,1fr)!important;}.ew-process{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.ew-process-line{display:none!important;}.ew-gal{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:760px){.ew-foot{grid-template-columns:minmax(0,1fr)!important;}.ew-facts{grid-template-columns:repeat(2,minmax(0,1fr));}.ew-process{grid-template-columns:minmax(0,1fr)!important;}.ew-hab-text{padding:24px 20px;}.ew-form-grid{grid-template-columns:minmax(0,1fr)!important;}.ew-contact input,.ew-contact select{min-width:0;max-width:100%;}.ew-foot a{overflow-wrap:anywhere;}}
@media(prefers-reduced-motion:reduce){.ew-tab .ew-tabitem:hover{transform:none!important;}}
@media(max-width:430px){header>div:first-child{gap:8px!important;padding-left:12px!important;padding-right:12px!important;}header>div:first-child>a:first-child{min-width:0!important;flex-shrink:1!important;}header>div:first-child>a:first-child img{max-width:112px!important;height:auto!important;}header .ew-wordmark{max-width:calc(100vw - 110px);}}
@media(max-width:430px){.ew-hero-surface{padding-left:24px!important;padding-right:24px!important;}.ew-hero-surface h1{overflow-wrap:break-word;}}

/* Owner correction: distribute the actual process steps across the full desktop row. */
@media(min-width:1025px){.ew-process,.m-proc{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);justify-content:space-between}.m-proc .m-step{max-width:none;min-width:0}}
