/* Aero Glass — Umbral hoja de estilo de Web Inmobiliaria (real_estate) v1
   Base: bloque acumulado aprobado (Stage B System v6 → Informativa v1.3 → Catálogo v1.2),
   extraído literalmente de `aero-glass-umbral-restaurant-v1.2.css` líneas 1–1194.
   Poda declarada: se retiran los bloques exclusivos del carrito de Catálogo
   (CartIndicator, CartCounter, CartPanel y sus superficies), que este tipo prohíbe.
   Ningún token, material, radio, sombra ni breakpoint aprobado se altera.
   Delta propio de Inmobiliaria al final del archivo. */


  :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:24px; padding-right:24px;}
  .ew-wrap{max-width:1232px; 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-hero-media{position:relative; height:680px; overflow:hidden; background:#0E3346;}
  .ew-hero-surface{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;}

  /* 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);}

  /* ===== 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-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 REGISTRO — piezas nuevas exigidas por los deltas escritos v1.2.
   Mismo sistema azul, radio 10px, border:0, sin paleta nueva, sin animación
   perpetua. Vidrio solo donde hay algo que desenfocar; cuerpos de tarjeta y
   bloques de datos en superficie sólida --ew-surface.
   ===================================================================== */

/* Marca textual del Header y del Footer: esta empresa no tiene logotipo cargado,
   así que se usa el fallback canónico de nombre comercial. */
.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;}

/* RecordCard misma rejilla, mismo enlace de cobertura total y mismo hover hundido que la
   tarjeta aprobada de Catálogo, con las dos diferencias que fijan los deltas: media 4:3 y
   cuerpo de superficie SÓLIDA, porque la fotografía de estos tipos es incontrolable y el
   contraste debe validarse contra --ew-surface y no contra la foto. */
.ew-pgrid--rec{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:1024px){ .ew-pgrid--rec{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px){ .ew-pgrid--rec{grid-template-columns:minmax(0,1fr);} }
.ew-pcard--rec{background:var(--ew-surface); box-shadow:var(--ew-elev-1);}
.ew-pcard--rec .ew-pmedia{aspect-ratio:4/3;}
.ew-pcard--rec .ew-pbody{background:var(--ew-surface); -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:none; gap:6px;}
/* Umbral óptico de 1px entre la banda de imagen y el cuerpo textual. Ningún velo oscuro
   sobre la fotografía: oscurecer fotos ajenas es lo que hace que estas webs se parezcan. */
.ew-pcard--rec .ew-pmedia::after{content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--ew-threshold); pointer-events:none;}
.ew-pkind{font-size:12.5px; font-weight:600; letter-spacing:0.03em; text-transform:uppercase; color:var(--ew-text-muted);}
.ew-pline{display:flex; flex-wrap:wrap; align-items:center; gap:5px 14px; font-size:14.5px; line-height:1.45; color:var(--ew-text-body);}
.ew-pline span{display:inline-flex; align-items:center; gap:6px; font-variant-numeric:tabular-nums;}
.ew-pline svg{width:14px; height:14px; flex:none; fill:currentColor; opacity:0.75;}
.ew-ploc{font-size:14.5px; line-height:1.45; color:var(--ew-text-body);}
/* `Consultar precio` conserva la jerarquía tipográfica de un precio: no se atenúa ni se
   pone entre paréntesis. */
.ew-noprice{font-size:19px; font-weight:600; letter-spacing:-0.004em; color:var(--ew-text-heading);}
.ew-per{font-size:14.5px; font-weight:500; color:var(--ew-text-body);}

/* CommercialStatusTag AvailabilityTag — la única pieza que se apoya sobre la fotografía.
   Relleno propio suficiente; el contraste se valida contra el relleno del chip. El estado
   nunca se comunica solo por color: siempre hay palabra del sistema. */
.ew-stag{position:absolute; z-index:2; left:10px; bottom:11px; display:inline-flex; align-items:center; max-width:calc(100% - 20px); padding:6px 12px; border:0; border-radius:999px; font-size:13px; font-weight:600; line-height:1.25; white-space:nowrap; color:var(--ew-text-heading);
  background:linear-gradient(180deg, rgba(255,255,255,0.60) 0%, rgba(255,255,255,0.10) 54%, rgba(255,255,255,0) 100%), rgba(246,250,253,0.93);
  -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.96), 0 1px 3px rgba(var(--ew-ink-rgb),0.16), 0 8px 20px -12px rgba(var(--ew-ink-rgb),0.30);}
/* `available` / `disponible`: menos peso visual, misma legibilidad. */
.ew-stag--quiet{font-weight:500; color:var(--ew-text-body);}
.ew-stag--inline{position:static; left:auto; bottom:auto; max-width:none;}
@media (prefers-reduced-transparency: reduce){ .ew-stag{background:var(--ew-paper); -webkit-backdrop-filter:none; backdrop-filter:none;} }
html.ew-force-opaque .ew-stag{background:var(--ew-paper) !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){ .ew-stag{background:var(--ew-paper);} }
@media (prefers-contrast: more){ .ew-stag{background:#FFFFFF; -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:0 0 0 1px var(--ew-text-heading);} }
@media (forced-colors: active){ .ew-stag{background:Canvas; color:CanvasText; box-shadow:0 0 0 1px CanvasText;} }

/* Ficha de registro dos columnas ≥1280 con panel lateral pegajoso que deja de serlo al
   llegar al bloque de relacionados; una columna por debajo, en el orden canónico. */
.ew-rd{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,352px); gap:var(--ew-space-6) var(--ew-space-7); align-items:start; margin-top:var(--ew-space-5);}
@media (max-width:1279px){ .ew-rd{grid-template-columns:minmax(0,1fr);} }
.ew-rdside{position:sticky; top:118px; padding:24px 26px 26px;}
@media (max-width:1279px){ .ew-rdside{position:static; top:auto;} }
.ew-rdblock{margin-top:var(--ew-space-6);}
.ew-rdblock > h2{margin:0 0 var(--ew-space-4); font-size:23px; font-weight:600; letter-spacing:-0.014em; line-height:1.24; color:var(--ew-text-heading); text-wrap:pretty;}
.ew-rdshort{margin:var(--ew-space-4) 0 0; font-size:17px; line-height:1.64; color:var(--ew-text-body); max-width:62ch; text-wrap:pretty;}
.ew-rdh1{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;}
.ew-rdtags{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px;}

/* RecordMediaViewer media canónica 4:3, visor principal + carril de miniaturas. */
.ew-rmv .ew-pdmain{max-width:none;}
.ew-rmv .ew-pdmain img{aspect-ratio:4/3;}

/* PriceBlock / PriceUnitBlock */
.ew-pbamount{font-size:29px; font-weight:600; letter-spacing:-0.012em; line-height:1.12; color:var(--ew-text-heading); font-variant-numeric:tabular-nums;}
.ew-pbamount small{font-size:16.5px; font-weight:500; color:var(--ew-text-body);}
.ew-pbnote{margin:9px 0 0; font-size:15px; line-height:1.5; color:var(--ew-text-body);}
.ew-pbfee{margin:6px 0 0; font-size:14.5px; line-height:1.5; color:var(--ew-text-muted); font-variant-numeric:tabular-nums;}

/* FactGrid / IconFactList / NearbyPlaces datos con icono de sistema, sin vidrio. Los campos
   no aplicables se omiten: no hay guiones, «—», «N/D» ni celdas vacías. */
.ew-facts{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ew-space-3); margin:0; padding:0; list-style:none;}
@media (max-width:1024px){ .ew-facts{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:600px){ .ew-facts{grid-template-columns:repeat(2,minmax(0,1fr));} }
.ew-fact{display:flex; align-items:flex-start; gap:11px; padding:15px 16px; border:0; border-radius:var(--ew-radius); background:var(--ew-surface); box-shadow:var(--ew-elev-1);}
.ew-fact svg{width:19px; height:19px; flex:none; fill:var(--ew-icon); margin-top:2px;}
.ew-fact b{display:block; font-size:16px; font-weight:600; line-height:1.25; color:var(--ew-text-heading); font-variant-numeric:tabular-nums;}
.ew-fact i{display:block; margin-top:3px; font-style:normal; font-size:13.5px; line-height:1.4; color:var(--ew-text-muted);}
.ew-ilist{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px var(--ew-space-5); margin:0; padding:0; list-style:none;}
@media (max-width:900px){ .ew-ilist{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:520px){ .ew-ilist{grid-template-columns:minmax(0,1fr);} }
.ew-ilist li{display:flex; align-items:flex-start; gap:10px; font-size:15.5px; line-height:1.5; color:var(--ew-text-body);}
.ew-ilist svg{width:18px; height:18px; flex:none; fill:var(--ew-icon); margin-top:1px;}
.ew-ilist b{font-weight:600; color:var(--ew-text-heading);}
.ew-near{display:flex; flex-direction:column; margin:0; padding:0; list-style:none;}
.ew-near li{display:flex; align-items:center; gap:12px; padding:13px 2px; font-size:15.5px; line-height:1.45; color:var(--ew-text-body);}
.ew-near li + li{box-shadow:inset 0 1px 0 rgba(var(--ew-ink-rgb),0.13);}
.ew-near svg{width:18px; height:18px; flex:none; fill:var(--ew-icon);}
.ew-near b{font-weight:600; color:var(--ew-text-heading);}
.ew-near em{margin-left:auto; font-style:normal; font-size:14.5px; color:var(--ew-text-muted); font-variant-numeric:tabular-nums; text-align:right;}

/* Fachada de video sin autoplay, portada local, reproductor solo tras pulsar y sujeto al
   consentimiento de contenido externo. */
.ew-vfac{position:relative; border-radius:var(--ew-radius); overflow:hidden; box-shadow:var(--ew-elev-1); background:#0E3346;}
.ew-vfac img{display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover;}
.ew-vfac-btn{position:absolute; inset:0; width:100%; border:0; padding:0; background:rgba(var(--ew-ink-rgb),0.34); color:#FFFFFF; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:12px; font-family:inherit; font-size:16px; font-weight:600;}
.ew-vfac-btn svg{width:26px; height:26px; flex:none; fill:currentColor;}
.ew-vfac-btn:focus-visible{outline:3px solid #FFFFFF; outline-offset:-6px;}
.ew-vfac iframe{display:block; width:100%; aspect-ratio:16/9; height:auto; border:0;}

/* ShareControl */
.ew-share{display:flex; flex-wrap:wrap; align-items:center; gap:10px;}

/* Paginación derivada: 12 por página. */
.ew-pager{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:var(--ew-space-6);}
.ew-pagebtn{min-width:44px; min-height:44px; padding:0 14px; border:0; border-radius:var(--ew-radius); background:rgba(255,255,255,0.62); box-shadow:inset 0 0 0 1px var(--ew-control-border); color:var(--ew-action); font-family:inherit; font-size:15px; font-weight:500; cursor:pointer; font-variant-numeric:tabular-nums; 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-pagebtn:hover:not([aria-current="page"]):not([disabled]){background:#FFFFFF; box-shadow:inset 0 0 0 1px var(--ew-action);} }
.ew-pagebtn[aria-current="page"]{background:var(--ew-action); color:#FFFFFF; box-shadow:none; cursor:default;}
.ew-pagebtn[disabled]{opacity:0.45; cursor:default;}
.ew-pagebtn:focus-visible{outline:2px solid var(--ew-focus); outline-offset:2px;}
@media (prefers-reduced-motion: reduce){ .ew-pagebtn{transition:none;} }

/* Panel desplegable de filtros de la barra de listado. Misma superficie de la barra; los
   filtros activos se representan como controles seleccionados y como contador junto al botón.
   Nunca como píldoras decorativas flotando bajo la barra. */
.ew-fpanel{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ew-space-4); flex:1 1 100%; margin-top:var(--ew-space-4); padding-top:var(--ew-space-4); box-shadow:inset 0 1px 0 rgba(var(--ew-ink-rgb),0.12); border:0;}
@media (max-width:1024px){ .ew-fpanel{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:600px){ .ew-fpanel{grid-template-columns:minmax(0,1fr);} }
.ew-fcount{display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; margin-left:8px; padding:0 7px; border-radius:999px; background:var(--ew-action); color:#FFFFFF; font-size:12.5px; font-weight:600; font-variant-numeric:tabular-nums;}
.ew-range{display:flex; align-items:center; gap:8px;}
.ew-range .ew-input{min-width:0;}
.ew-range span{font-size:14px; color:var(--ew-text-muted); flex:none;}

/* Aviso de precio y disponibilidad sujetos a confirmación / nota del sistema. */
.ew-warnnote{margin:var(--ew-space-4) 0 0; padding:13px 15px; border-radius:var(--ew-radius); background:rgba(var(--ew-ink-rgb),0.05); font-size:14.5px; line-height:1.55; color:var(--ew-text-body);}


/* Submenú de dos columnas a partir de seis tipologías públicas (Stage A proposal). */
/* El submenú de Propiedades NO es un megamenú: el contrato lo prohíbe. Se retira la
   variante de dos columnas y queda una sola columna vertical de ancho por contenido. */
/* Marco del mapa: el iframe ocupa el ancho del marco sin fijar su columna. */
.ew-mapframe iframe{width:100%; border:0;}

/* =====================================================================
   HOVER HUNDIDO APROBADO receta transversal reutilizada sin variación
   (origen: aero-glass-umbral-shared-v1.3.css, bloque aprobado en el
   pase de correcciones transversales 2026-09-10). Se aplica a todo
   botón o control con conducta de botón de Inmobiliaria: CTA de Header,
   acciones del Hero, navegación del carrusel, filtros, limpiar,
   paginación, envío de formulario, PropertyInquiryAction, Compartir,
   Copiar enlace, controles de galería y lightbox, miniaturas, fachada
   de video, controles de cookies, Libro de Reclamaciones, hamburguesa,
   disclosure de tipos y botones sociales.

   Excluido por contrato: el WhatsApp flotante (.ew-fab) conserva
   íntegro su hover dedicado, su verde, su tamaño, su posición y su
   transición: nunca entra en este conjunto de selectores. Excluidos
   además enlaces de texto (.ew-navlink, .ew-footlink, .ew-subitem,
   .ew-plink, .ew-skip), tarjetas, .ew-vchip, .ew-switch, campos de
   formulario y todo control deshabilitado.

   El foco visible se conserva de forma independiente del hover: las
   reglas :focus-visible previas no se tocan. En táctil no hay hover
   (media hover:hover and pointer:fine) y la pulsación conserva su
   realimentación. Con movimiento reducido se mantiene el cambio de
   sombra y se anula el desplazamiento.
   ===================================================================== */
: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-clear,
  .ew-tsearch-clear,
  .ew-catdisc,
  .ew-vfac-btn,
  .ew-thumb:not([aria-current="true"]),
  .ew-pagebtn:not([aria-current="page"]),
  .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-clear: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-vfac-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):hover,
  .ew-pagebtn:not([aria-current="page"]):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-clear: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-vfac-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):active,
  .ew-pagebtn:not([aria-current="page"]):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-clear,
  .ew-tsearch-clear,
  .ew-catdisc,
  .ew-vfac-btn,
  .ew-thumb:not([aria-current="true"]),
  .ew-pagebtn:not([aria-current="page"]),
  .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-clear: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-vfac-btn:not([disabled]):not([aria-disabled="true"]):hover,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):hover,
  .ew-pagebtn:not([aria-current="page"]):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-clear: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-vfac-btn:not([disabled]):not([aria-disabled="true"]):active,
  .ew-thumb:not([aria-current="true"]):not([disabled]):not([aria-disabled="true"]):active,
  .ew-pagebtn:not([aria-current="page"]):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-clear:hover,
html.ew-force-rm .ew-tsearch-clear:hover,
html.ew-force-rm .ew-catdisc:hover,
html.ew-force-rm .ew-vfac-btn:hover,
html.ew-force-rm .ew-thumb:not([aria-current="true"]):hover,
html.ew-force-rm .ew-pagebtn:not([aria-current="page"]):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-clear:active,
html.ew-force-rm .ew-tsearch-clear:active,
html.ew-force-rm .ew-catdisc:active,
html.ew-force-rm .ew-vfac-btn:active,
html.ew-force-rm .ew-thumb:not([aria-current="true"]):active,
html.ew-force-rm .ew-pagebtn:not([aria-current="page"]):active,
html.ew-force-rm .ew-btn--primary:hover,
html.ew-force-rm .ew-btn--primary:active{transform:none !important;}


/* =====================================================================
   PASE DE CORRECCIONES v1.1 componentes compartidos reutilizados
   literalmente desde el artefacto aprobado Catálogo v1.3. Ningún token,
   material, radio ni breakpoint nuevo.
   ===================================================================== */

/* 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. */
.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:1920 / 1080;}
  .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-hab-text .ew-intro + .ew-intro{margin-top:12px;}

/* AboutStory en tableta y móvil la imagen va ARRIBA del texto, en flujo
   normal. El orden del DOM ya es figura → prosa; aquí solo se retira la
   colocación de rejilla. */
@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);} }

/* Submenú de tipos: icono de sistema controlado a la izquierda del nombre.
   No se dibuja ningún glifo nuevo: se reutiliza el del conjunto del sitio. */
.ew-subitem{gap:10px;}
.ew-subitem svg{width:15px; height:15px; flex:none; fill:var(--ew-icon); opacity:0.9;}
.ew-subitem[aria-current="page"] svg{fill:var(--ew-action); opacity:1;}

/* Descripción breve de la ficha (posición canónica 7): medida de lectura
   corta, aire deliberado respecto de Características y del bloque siguiente,
   y superficie sólida accesible. Sin título añadido y sin borde decorativo. */
.ew-rdlead{margin:var(--ew-space-5) 0 var(--ew-space-2); padding:20px 24px 22px; border:0; border-radius:var(--ew-radius);
  background:var(--ew-surface); box-shadow:var(--ew-elev-1);
  font-size:17.5px; line-height:1.66; color:var(--ew-text-body); max-width:64ch; text-wrap:pretty;}
@media (max-width:600px){ .ew-rdlead{padding:17px 18px 19px; font-size:16.5px;} }

/* Fachada de video un solo icono Play blanco dentro de un círculo de
   gradiente OPACO derivado de los colores Primario y Secundario del sitio.
   Sin texto visible, sin transparencia en el relleno, sin neón. */
.ew-vfac-btn{background:transparent; display:flex; align-items:center; justify-content:center;}
.ew-vfac-ico{display:inline-flex; align-items:center; justify-content:center; width:76px; height:76px; min-width:76px; min-height:76px; border-radius:999px;
  background:linear-gradient(140deg, var(--ew-action) 0%, #0B6CAC 46%, var(--ew-secondary-deep) 100%);
  box-shadow:0 2px 8px rgba(10,96,152,0.30), 0 16px 34px -14px rgba(14,138,128,0.45), inset 0 1px 0 rgba(255,255,255,0.34);}
.ew-vfac-ico svg{width:27px; height:27px; fill:#FFFFFF; margin-left:3px;}
@media (max-width:600px){ .ew-vfac-ico{width:62px; height:62px; min-width:62px; min-height:62px;} .ew-vfac-ico svg{width:23px; height:23px;} }

/* Tarjetas de hecho: altura igual dentro de cada fila, sin celdas de relleno. */
.ew-fact{height:100%;}

/* Copiar enlace: botón de vidrio blanco aprobado con icono de enlace. */
.ew-clear{display:inline-flex; align-items:center; gap:8px;}
.ew-clear svg{width:15px; height:15px; flex:none; fill:currentColor;}

/* El hover hundido del botón de video usa la variante de sombra sólida:
   el relleno es opaco, no vidrio. Misma receta, misma duración. */
@media (hover:hover) and (pointer:fine){
  .ew-vfac-btn:not([disabled]):hover{box-shadow:none !important;}
  .ew-vfac-btn:not([disabled]):hover .ew-vfac-ico{box-shadow:var(--ew-press-sh-h-solid), 0 4px 14px rgba(10,96,152,0.26) !important;}
}
.ew-vfac-btn:not([disabled]):active{box-shadow:none !important;}
.ew-vfac-btn:not([disabled]):active .ew-vfac-ico{box-shadow:var(--ew-press-sh-a-solid), 0 2px 8px rgba(10,96,152,0.22) !important;}


/* =====================================================================
   REFINAMIENTO RESPONSIVO v1.1 sin desbordamiento horizontal a
   1440 / 1280 / 1024 / 768 / 430 / 390 / 360 / 320 px.
   ===================================================================== */

/* PageHeaderMedia a sangre en móvil SIN 100vw: la unidad de viewport incluye
   la barra de desplazamiento y desbordaba el documento entre 6 y 12 px. El
   sangrado se consigue con márgenes negativos iguales al relleno lateral. */
@media (max-width:760px){
  .ew-phm{margin-left:-24px !important; margin-right:-24px !important; width:auto !important; max-width:none !important;}
}
@media (max-width:430px){
  .ew-phm{margin-left:-18px !important; margin-right:-18px !important;}
}

/* Contacto en pantallas estrechas: el formulario y el bloque de información
   pueden encogerse dentro de su columna. Controles al 100 % con
   box-sizing:border-box y min-width:0 en cada contenedor intermedio. */
@media (max-width:600px){
  .ew-contact > *{min-width:0;}
  .ew-form-glass{padding:24px 20px;}
  .ew-form-grid,.ew-field,.ew-cinfo,.ew-cinfo > span{min-width:0;}
  .ew-input,.ew-select{width:100%; max-width:100%; min-width:0; box-sizing:border-box;}
  .ew-note{padding:20px 18px 22px;}
}
@media (max-width:430px){
  .ew-form-glass{padding:20px 16px;}
  .ew-note{padding:18px 15px 20px;}
  .ew-sched{gap:5px 12px;}
  .ew-cicon{width:38px; height:38px;}
}

/* 320–430 px palabras largas: el H1 del Hero medía 275 px de palabra única
   contra una caja de 191 px y empujaba 30 px el documento. Se permite el corte
   de palabra y se baja el piso de la escala tipográfica, sin tocar el tamaño de
   escritorio ni la jerarquía. El correo del bloque de contacto es una cadena sin
   espacios: se parte donde haga falta en lugar de desbordar. */
@media (max-width:430px){
  .ew-hero-surface h1,.ew-phm h1,.ew-pht h1,.ew-rdh1,.ew-h2,.ew-hab-text h2{overflow-wrap:break-word; hyphens:auto;}
  .ew-hero-surface h1{font-size:clamp(26px, 8.4vw, 34px);}
  .ew-cinfo a,.ew-foot a{overflow-wrap:anywhere;}
}
@media (max-width:360px){
  .ew-hero-surface h1{font-size:25px;}
}

/* Ficha en pantallas muy estrechas: con dos columnas la tarjeta de hecho baja a
   127 px y etiquetas de una sola palabra («Estacionamientos», «Año de
   construcción») empujaban 18 px el documento. Dos columnas mientras el
   contenido se lee; una sola por debajo de 360 px. Sin inventar ni recortar
   hechos: solo cambia el reparto. */
@media (max-width:430px){
  .ew-fact{gap:9px;}
  .ew-fact > span{min-width:0;}
  .ew-fact b,.ew-fact i{overflow-wrap:break-word; hyphens:auto;}
}
@media (max-width:360px){
  .ew-facts{grid-template-columns:minmax(0,1fr);}
}

/* =====================================================================
   TOKENS HEREDADOS SIN DEFINIR (corregido en v1.1)
   La base acumulada usaba tres variables que ninguna hoja cargada
   declaraba, así que toda declaración que las consumía se invalidaba en
   tiempo de valor computado y desaparecía: la sombra y el plano opaco de
   CommercialStatusTag, el fondo teñido de la nota de PropertyInquiryAction,
   los separadores de Lugares cercanos, el velo de la fachada de video, el
   filo interior de las filas de precio y el color del anillo de foco de la
   paginación. Se declaran con los valores del sistema ya vigentes, sin
   introducir ningún color nuevo:
 --ew-ink-rgb  = triplete de la tinta del sistema #133B4F, el mismo
       que el resto de la hoja escribe literalmente como rgba(19,59,79,…).
 --ew-paper    = forma opaca del plano del propio distintivo
       (rgba(246,250,253,0.93) → #F6FAFD); la tinta del sistema mide ~11:1
       sobre él, así que el estado sigue legible sin translucidez.
 --ew-focus    = color de foco aprobado, el mismo --ew-action que ya
       usan el resto de las reglas :focus-visible.
   --text-h no entra aquí: todos sus usos llevan reserva
   (var(--text-h, 120px)), igual que en el artefacto aprobado.
   ===================================================================== */
:root{
  --ew-ink-rgb:19, 59, 79;
  --ew-paper:#F6FAFD;
  --ew-focus:var(--ew-action);
}


/* =====================================================================
   PASE DE CORRECCIONES v1.2 Inmobiliaria
   Componentes compartidos tomados de Landing v9.3 e Informativa v1.3 y
   del visor de medios de Catálogo v1.3. Ningún token, radio, material ni
   color nuevo: solo se corrige dónde Inmobiliaria se había separado.
   ===================================================================== */

/* ── 1 SUBMENÚ icono de sistema por tipología ───────────────────────
   Tamaño óptico uniforme de 20 px (caja 20, trazo dibujado en una rejilla
   de 16 para que el peso coincida con el resto del conjunto), contorno,
   currentColor, alineado a la línea base de su etiqueta y decorativo:
   el nombre adyacente aporta el nombre accesible. Sin contenedor vacío:
   el glifo se resuelve siempre por mapa, con respaldo de familia. */
.ew-subitem{gap:11px; align-items:center;}
.ew-subitem svg{width:20px; height:20px; min-width:20px; flex:none; fill:currentColor; color:var(--ew-icon); opacity:0.92; overflow:visible;}
.ew-subitem span{min-width:0;}
.ew-subitem[aria-current="page"] svg{color:var(--ew-action); opacity:1;}
/* El ancho por contenido ya vigente en v1.1 se mantiene; solo se sube el
   mínimo lo justo para que el par icono + etiqueta respire sin recorte. */
.ew-submenu{min-width:236px;}

/* ── 2 ICONO DE ÁREA ─────────────────────────────────────────────────
   El glifo #i-area pasa de cuadrado liso a marco de medición con flecha
   diagonal de doble punta. Al corregirse en el sprite, la corrección
   alcanza de una vez a PropertyCard destacada, listado general, listados
   por tipología, relacionadas, PropertyFactGrid, ficha y etiquetas de
   filtro: ninguna vista conserva el cuadrado. */
.ew-pline svg,.ew-fact svg{overflow:visible;}

/* ── 3 SERVICECARD compartido (Informativa v1.3, variante `image`) ────
   Un solo componente en Inicio y en Servicios. Sin borde, radio del
   sistema, plano distinto al del cuerpo de página, elevación aprobada,
   medio pegado a los cantos superior, izquierdo y derecho y relleno solo
   alrededor del texto. Altura igual dentro de cada fila por estiramiento
   normal de rejilla. Sin zoom ni deformación de imagen: la variante 4:5
   con plano de vidrio y su hover de zoom no se usa aquí. */
.ew-svccard{background:var(--ew-surface); border:0; border-radius:var(--ew-radius); box-shadow:var(--ew-elev-1); overflow:hidden; display:flex; flex-direction:column; height:100%;}
.ew-svccard .ew-svc-body{flex:1 1 auto;}
/* Modo solo icono y modo sin visual: ningún hueco reservado ni marcador. */
.ew-svccard > .ew-svc-body:first-child{padding-top:26px;}

/* ── 4 BENEFITS ──────────────────────────────────────────────────────
   Misma tarjeta y misma tipografía que la BenefitCard aprobada. La
   sección no lleva imágenes porque el contrato no las aporta para este
   registro: tarjeta estándar, sin marcador decorativo ni CTA añadido. */
.ew-bencard{display:flex; flex-direction:column; height:100%; overflow:hidden;}
.ew-bencard .ew-svc-body{flex:1 1 auto; padding:24px var(--ew-space-4) var(--ew-space-4);}

/* ── 5 TESTIMONIO identidad alineada a la izquierda ─────────────────
   Defecto real: la hoja de piezas de registro reutiliza el nombre de
   clase .ew-tmeta para la fila de metadatos de una barra de controles,
   con margin-left:auto. Al declararse después, ganaba por orden y
   empujaba la identidad del testimonio al borde derecho de la tarjeta.
   Se recupera la composición de Landing —avatar a la izquierda, autor y
   rol opcional a su lado, una sola fila compacta— con un selector propio
   que no depende del orden de cascada. Sin hover en la tarjeta. */
.ew-tmeta--testi{display:flex; align-items:center; gap:12px; margin-top:var(--ew-space-4); margin-left:0; padding-bottom:0; justify-content:flex-start; text-align:left;}
.ew-tmeta--testi > span{min-width:0;}
.ew-tcard,.ew-tcard:hover{transform:none;}

/* ── 6 CARRUSEL DE DESTACADAS ────────────────────────────────────────
   Cuatro tarjetas visibles en escritorio ancho, dos en tableta, dos en
   móvil mientras la tarjeta se lee y una por debajo de 360 px. El relleno
   interior de la ventana deja aire para la sombra y para el hover
   hundido: nada se recorta. Sin autoplay. */
@media (max-width:1180px){
  .ew-hcar--cat .ew-car-slide,.ew-hcar--feat .ew-car-slide{flex:0 0 calc((100% - var(--ew-space-5) * 2) / 3);}
}
@media (max-width:960px){
  .ew-hcar--cat .ew-car-slide,.ew-hcar--feat .ew-car-slide{flex:0 0 calc((100% - var(--ew-space-5)) / 2);}
}
@media (max-width:359px){
  .ew-hcar--cat .ew-car-slide,.ew-hcar--feat .ew-car-slide{flex:0 0 100%;}
}
.ew-car-nav[disabled],.ew-car-nav[disabled]:hover{transform:none !important; box-shadow:inset 0 1px 0 rgba(255,255,255,0.45), 0 1px 3px rgba(19,59,79,0.09) !important;}

/* ── 7 VISOR DE MEDIOS (Catálogo v1.3) con 4:3 de Inmobiliaria ────────
   Toda imagen de propiedad es 4:3, en tarjeta y en ficha. El hover del
   medio principal deja de mover y de escalar la imagen: el disparador ya
   no entra en el conjunto del hover hundido —una fotografía no es una
   superficie pulsable— y la pista de que es interactivo la dan el cursor
   de lupa y un velo claro brevísimo sobre el plano. Sin salto de
   composición al elegir miniatura: el alto lo fija la proporción. */
.ew-pmedia{aspect-ratio:4/3;}
.ew-pdmain img{aspect-ratio:4/3;}
.ew-pdmain{position:relative;}
.ew-pdmain button{transform:none !important;}
.ew-pdmain button::after{content:''; position:absolute; inset:0; pointer-events:none; background:rgba(255,255,255,0); transition:background var(--ew-dur) var(--ew-ease-soft);}
@media (hover:hover) and (pointer:fine){
  .ew-pdmain button:not([disabled]):hover{box-shadow:none !important;}
  .ew-pdmain button:not([disabled]):hover::after{background:rgba(255,255,255,0.10);}
}
.ew-pdmain button:not([disabled]):active{box-shadow:none !important;}
.ew-pdmain button:not([disabled]):active::after{background:rgba(19,59,79,0.06);}
.ew-thumb img{transition:none;}

/* ── 8 FACHADA DE VIDEO ──────────────────────────────────────────────
   Círculo más pequeño y icono blanco visiblemente mayor dentro de él,
   con el espacio interior equilibrado. Base de gradiente OPACA de
   Primario a Secundario, reflejo especular controlado en el cuarto
   superior y sombra tenue del tema. Sin texto, sin neón, sin autoplay. */
.ew-vfac-ico{width:64px; height:64px; min-width:64px; min-height:64px; position:relative; overflow:hidden;
  background:linear-gradient(145deg, var(--ew-action) 0%, #0B6CAC 44%, var(--ew-secondary-deep) 100%);
  box-shadow:0 2px 7px rgba(10,96,152,0.32), 0 14px 30px -14px rgba(14,138,128,0.44), inset 0 -2px 6px -2px rgba(6,40,66,0.44);}
.ew-vfac-ico svg{position:relative; z-index:1; width:34px; height:34px; margin-left:4px; filter:drop-shadow(0 1px 2px rgba(6,40,66,0.34));}
.ew-vfac-spec{position:absolute; left:0; right:0; top:0; height:52%; border-radius:999px 999px 60% 60% / 999px 999px 34% 34%;
  background:linear-gradient(180deg, rgba(255,255,255,0.52) 0%, rgba(255,255,255,0.16) 62%, rgba(255,255,255,0) 100%); pointer-events:none;}
@media (max-width:600px){
  .ew-vfac-ico{width:56px; height:56px; min-width:56px; min-height:56px;}
  .ew-vfac-ico svg{width:30px; height:30px;}
}
/* El velo del cartel de video no recibe el hover de imagen: solo el botón reacciona. */
.ew-vfac img{transition:none; transform:none !important;}

/* ── 9 COMPARTIR Y COPIAR ENLACE ─────────────────────────────────────
   Botón de icono de vidrio blanco para Compartir y botón de vidrio
   blanco con icono y texto para Copiar enlace, ambos al tamaño y radio
   estándar del sistema y con el hover hundido regular. Ninguno toma el
   tratamiento del WhatsApp flotante. */
.ew-share{gap:10px; align-items:center;}
.ew-share .ew-social{width:44px; height:44px; min-width:44px; min-height:44px;}
.ew-share .ew-social svg{width:17px; height:17px;}
.ew-share .ew-clear{min-height:44px; padding:11px 17px; font-size:15px;}
.ew-share .ew-tail-note{font-size:14.5px;}

/* ── 10 HERO MÓVIL solape ampliado al ~30 % del panel ────────────────
   Norma móvil compartida vigente: el panel flotante sube hasta que un
   30 % aproximado de su alto queda sobre el área de imagen. El cruce se
   calcula desde el alto real del panel, no desde un número fijo, de modo
   que un panel más alto no descubre el borde de la imagen. La sección
   siguiente reserva el mismo cruce más su propio aire. */
@media (max-width:760px){
  /* --ew-phm-cross-m lo escribe el componente con el 30 % del alto medido del panel; el valor
     de reserva cubre el primer pintado y cualquier caso sin observador de tamaño. */
  .ew-phm-panel{margin-top:calc(var(--ew-phm-cross-m, 64px) * -1) !important; margin-bottom:0 !important;}
  .ew-after-phm{padding-top:calc(var(--ew-space-6) + 14px) !important;}
}
/* El Hero de Inicio conserva su cruce móvil aprobado (-94px): su panel mide ~600 px en móvil
   porque contiene el buscador y las acciones, y un 30 % de ese alto cubriría la fotografía
   entera. La norma del 30 % se aplica al Hero de página compartido, más abajo. */

/* ── 11 GALERÍA ──────────────────────────────────────────────────────
   Dos columnas en tableta y en móvil (no una sola), sin recorte vertical
   malformado, y desenfoque de 5 px en el fondo del lightbox. */
@media (max-width:1024px){ .ew-gal{grid-template-columns:repeat(2,1fr);} }
@media (max-width:340px){ .ew-gal{grid-template-columns:1fr;} }
/* El fondo del lightbox es .ew-lb (no .ew-lb-backdrop): desenfoque de 5 px aprobado. */
.ew-lb{-webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);}

/* ── 12 FONDOS ninguna costura entre secciones ──────────────────────
   El sistema de lienzos y lavados ya coincide línea por línea con el de
   los artefactos aprobados; lo que quedaba era un filo de 1 px bajo el
   medio de las tarjetas de propiedad, que a ciertos anchos se leía como
   divisor. Se sustituye por un degradado que se apaga en los extremos,
   dentro de la tarjeta y nunca a lo ancho de la sección. */
section{border:0;}
.ew-pcard--rec .ew-pmedia::after{background:linear-gradient(90deg, rgba(19,59,79,0) 0%, var(--ew-threshold) 18%, var(--ew-threshold) 82%, rgba(19,59,79,0) 100%);}

/* ── 13 DEFECTO REAL DEL CARRUSEL por qué los controles no movían nada ───────────────
   La ventana heredaba `scroll-snap-type: x mandatory` del carrusel de testimonios, donde la
   diapositiva ocupa la mitad del ancho y todos los puntos de anclaje son alcanzables. En el
   carrusel de propiedades la tarjeta mide un cuarto del ancho, de modo que el paso de anclaje
   (ancho + hueco) es MAYOR que el recorrido disponible: el único punto alcanzable es 0 y el
   anclaje obligatorio devolvía la ventana al inicio en cuanto terminaba el desplazamiento.
   Medido: recorrido 306 px, paso de anclaje 320 px, `scrollBy` de cualquier magnitud dejaba
   `scrollLeft` en 0 — ni el botón, ni el teclado, ni el gesto podían avanzar.
   Corrección: anclaje por proximidad en los carruseles de fichas. El gesto sigue asentando la
   tarjeta contra el borde cuando queda cerca, pero el navegador ya no rechaza una posición
   final legítima. El carrusel de testimonios conserva `mandatory` sin cambios. */
/* La pista de los carruseles de ficha se mueve con transform, no con scroll: el recorte y el
   aire para sombras y hover hundido pasan al marco, y la ventana deja de desplazarse. */
.ew-hcar .ew-car-frame{overflow:hidden; padding:30px 16px 68px; margin:-30px -16px -40px;}
/* El carril ya no se desplaza: contiene exactamente las tarjetas de la página actual. */
.ew-hcar .ew-car-viewport{overflow:visible; scroll-snap-type:none; padding:0; scroll-padding-inline:0; width:100%; margin:0;}
.ew-hcar .ew-car-viewport:focus-visible{outline:2px solid var(--ew-action); outline-offset:6px;}
/* Sin transición de desplazamiento: el cambio de página es un cambio de contenido, no de
   posición, así que no hay nada que animar y nada que quede a medias sin reloj de fotogramas. */
/* Banda de 861–960 px (el ancho real del panel de vista previa): tres tarjetas no caben con
   holgura y dos quedan demasiado anchas, así que se mantienen tres desde 1180 px hasta 960 px y
   dos por debajo, sin fracciones de tarjeta asomando. */
@media (max-width:1180px) and (min-width:961px){
  .ew-hcar--cat .ew-car-slide,.ew-hcar--feat .ew-car-slide{flex:0 0 calc((100% - var(--ew-space-5) * 2) / 3);}
}
   /* Nota de la corrección: con anclaje activo —obligatorio o por proximidad— esta ventana
      rechazaba toda posición distinta del punto de anclaje más próximo, incluida la que pide
      el control: medido, asignar scrollLeft=0 o 300 devolvía 320, y el paso de una página
      quedaba anulado. Se retira el anclaje SOLO en los carruseles de fichas, donde la tarjeta
      no divide el recorrido de forma exacta. El desplazamiento por gesto sigue disponible y el
      carrusel de testimonios conserva su anclaje obligatorio intacto. */

/* ── 14 DEFECTO REAL el panel móvil abierto se salía del viewport ────────────────────
   Con la lista de tipologías desplegada el panel suma 10 tipologías + 5 enlaces + CTA. El
   panel vive dentro de un Header `position: fixed` cuyo alto crece con el contenido, y ni el
   Header ni .ew-mopanel tenían límite de alto ni desplazamiento interno: medido a 907 × 540,
   el borde inferior del Header caía 326 px por debajo del viewport y el último elemento
   enfocable («Contáctanos», top 808 px) quedaba inalcanzable — al ser fijo, el scroll de la
   página no puede traerlo, y tampoco había vía de teclado. Con la lista cerrada sí cabía, así
   que el fallo era propio del estado desplegado.

   Se reutiliza el patrón del diálogo de cookies aprobado (.ew-prefs / .ew-prefs-body): tope
   de alto en `100dvh` menos la barra del Header y su aire, con desplazamiento interno. El
   relleno lateral y el inferior dejan sitio a los anillos de foco, que no se recortan. */
@media (max-width:1000px){
  .ew-page .ew-mopanel[data-open="true"] > div{
    max-height:calc(100dvh - var(--ew-mopanel-reserve, 150px));
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    padding:3px 3px 4px;
    margin:-3px -3px -4px;
  }
}



@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}}
