
  .ew-pagehead{padding:calc(var(--hdr) + 40px) 0 8px;}
  .ew-crumbs{display:flex; align-items:center; gap:9px; font-size:14px; color:var(--muted); margin-bottom:18px; flex-wrap:wrap;}
  .ew-crumbs a{color:var(--muted);} .ew-crumbs a:hover{color:var(--primary);}
  .ew-crumbs span[aria-current]{color:var(--heading); font-weight:600;} .ew-crumbs .sep{opacity:0.5;}
  /* hero search */
  .ew-searchbar{display:grid; grid-template-columns:1.4fr 1fr auto; gap:10px; align-items:end; margin-top:26px; padding:18px; background:var(--surface); border:1px solid var(--rule); border-radius:var(--rc); box-shadow:0 10px 30px -14px rgba(18,37,33,0.22);}
  .ew-searchbar .ew-field label{font-size:12.5px; font-weight:600; color:var(--heading); margin-bottom:6px; display:block;}
  .ew-searchbar input,.ew-searchbar select{font:inherit; font-size:15px; color:var(--heading); background:var(--surface); border:1px solid var(--rule-strong); border-radius:var(--r); padding:11px 13px; min-height:48px; width:100%;}
  .ew-searchbar input:focus,.ew-searchbar select:focus{outline:none; border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%, transparent);}
  .ew-toolbar2{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:8px;}
  .ew-count{font-size:14.5px; color:var(--muted);}
  .ew-chiprow{display:flex; gap:8px; flex-wrap:wrap; margin-top:20px;}
  .ew-chip{font:inherit; font-size:14px; font-weight:600; padding:9px 16px; min-height:42px; border:1px solid var(--rule-strong); border-radius:999px; background:var(--surface); color:var(--heading); cursor:pointer; transition:border-color 140ms var(--ease), background 140ms var(--ease), color 140ms var(--ease);}
  .ew-chip:hover{border-color:var(--primary);}
  .ew-chip[aria-pressed="true"]{border-color:var(--primary); background:var(--primary); color:#fff;}
  .ew-tgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2.2vw,28px); margin-top:30px;}
  .ew-tcard2{display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--rule); border-radius:var(--rc); overflow:hidden;}
  .ew-tcard2-media{position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--paper-2); cursor:pointer; border:0; padding:0; display:block; width:100%;}
  .ew-tcard2-media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 400ms var(--ease);}
  @media (hover:hover){ .ew-tcard2-media:hover img{transform:scale(1.05);} }
  .ew-tcard2-tag{position:absolute; top:10px; left:10px; font-size:11.5px; font-weight:700; padding:4px 9px; border-radius:2px; background:var(--ink); color:var(--on-ink);}
  .ew-tcard2-body{display:flex; flex-direction:column; gap:7px; padding:16px 18px 18px; flex:1;}
  .ew-tcard2-cat{font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:var(--muted);}
  .ew-tcard2-name{font-size:17px; font-weight:600; line-height:1.25; letter-spacing:-0.01em; color:var(--heading);}
  .ew-tcard2-name a{color:inherit;} .ew-tcard2-name a:hover{color:var(--primary);}
  .ew-tcard2-meta{display:flex; flex-wrap:wrap; gap:12px; font-size:13.5px; color:var(--paragraph);}
  .ew-tcard2-meta .m{display:inline-flex; align-items:center; gap:6px;} .ew-tcard2-meta svg{color:var(--primary);}
  .ew-tcard2-foot{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:12px; border-top:1px solid var(--rule);}
  .ew-tcard2-price{font-size:18px; font-weight:700; color:var(--heading); font-variant-numeric:tabular-nums;}
  .ew-tcard2-price small{display:block; font-size:11px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:0.04em;}
  .ew-tcard2-price.consult{font-size:15px; color:var(--primary);}
  .ew-tcard2-price small:empty{display:none;}
  /* detail */
  .ew-td{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:clamp(28px,3.5vw,52px); align-items:start;}
  .ew-td-main{aspect-ratio:16/10; overflow:hidden; background:var(--paper-2); box-shadow:inset 0 0 0 1px var(--rule);}
  .ew-td-main img{width:100%; height:100%; object-fit:cover; display:block;}
  .ew-td-thumbs{display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:8px;}
  .ew-td-thumb{aspect-ratio:4/3; overflow:hidden; border:1px solid var(--rule); padding:0; cursor:pointer; border-radius:2px; background:var(--paper-2);}
  .ew-td-thumb[aria-current="true"]{border-color:var(--primary); box-shadow:0 0 0 1px var(--primary);}
  .ew-td-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
  .ew-td-aside{border:1px solid var(--rule); border-radius:var(--rc); padding:24px; position:sticky; top:calc(var(--hdr) + 16px);}
  .ew-td-price{font-size:28px; font-weight:700; letter-spacing:-0.025em; color:var(--heading); font-variant-numeric:tabular-nums;}
  .ew-td-price small{font-size:12px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:0.04em; display:block;}
  .ew-td-price.consult{font-size:20px; color:var(--primary);}
  .ew-td-facts{display:flex; flex-direction:column; gap:10px; margin:18px 0;}
  .ew-td-fact{display:flex; align-items:center; gap:10px; font-size:14.5px; color:var(--paragraph);}
  .ew-td-fact svg{color:var(--primary); flex:none;}
  .ew-td-section{margin-top:clamp(32px,4vw,48px);}
  .ew-td-section h2{font-size:21px; font-weight:700; letter-spacing:-0.02em; color:var(--heading); border-top:2px solid var(--heading); padding-top:16px; margin-bottom:14px;}
  .ew-td-section p{font-size:16px; line-height:1.7; color:var(--paragraph); max-width:68ch; margin-top:10px;}
  .ew-incl{display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; margin-top:6px;}
  .ew-incl li{font-size:15px; color:var(--paragraph); padding:7px 0; border-bottom:1px solid var(--rule); display:flex; align-items:center; gap:9px; list-style:none;}
  .ew-incl li svg{color:var(--primary); flex:none;}
  @media (max-width:960px){ .ew-tgrid{grid-template-columns:repeat(2,1fr);} .ew-td{grid-template-columns:1fr;} .ew-td-aside{position:static;} .ew-incl{grid-template-columns:1fr;} }
  @media (max-width:820px){ .ew-searchbar{grid-template-columns:1fr;} }
  @media (max-width:560px){ .ew-tgrid{grid-template-columns:1fr;} }
  .ew-svc-mini{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(28px,3vw,44px); margin-top:44px;}
  .ew-svc-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(40px,4vw,60px) clamp(32px,3.5vw,56px);}
  .ew-galprev{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:34px;}
  .ew-galprev-item{position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--paper-2); box-shadow:inset 0 0 0 1px var(--rule);}
  .ew-galprev-item img{width:100%; height:100%; object-fit:cover; display:block;}
  .ew-galprev-cap{position:absolute; left:0; right:0; bottom:0; padding:16px 12px 10px; font-size:12.5px; font-weight:500; color:#fff; background:linear-gradient(to top,rgba(13,27,24,0.7),transparent);}
  .ew-gal{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:8px;}
  .ew-gal-item{position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--paper-2); box-shadow:inset 0 0 0 1px var(--rule);}
  .ew-gal-item img{width:100%; height:100%; object-fit:cover; display:block;}
  .ew-gal-cap{position:absolute; left:0; right:0; bottom:0; padding:18px 14px 10px; font-size:13px; font-weight:500; color:#fff; background:linear-gradient(to top,rgba(13,27,24,0.72),transparent);}
  .ew-typerow{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2vw,22px); margin-top:38px;}
  .ew-typecard{position:relative; aspect-ratio:16/10; overflow:hidden; border-radius:var(--rc); background:var(--paper-2); border:0; padding:0; cursor:pointer; display:block; box-shadow:inset 0 0 0 1px var(--rule);}
  .ew-typecard img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 500ms var(--ease);}
  @media (hover:hover){ .ew-typecard:hover img{transform:scale(1.05);} }
  .ew-typecard-label{position:absolute; left:0; right:0; bottom:0; padding:24px 16px 14px; text-align:left; background:linear-gradient(to top,rgba(13,27,24,0.82),transparent);}
  .ew-typecard-label b{display:block; font-size:18px; font-weight:700; color:#fff;} .ew-typecard-label span{font-size:12.5px; color:rgba(255,255,255,0.82);}
  .ew-finalcta{background:var(--ink); color:var(--on-ink); text-align:center;}
  .ew-finalcta h2{color:var(--on-ink);} .ew-finalcta p{color:var(--on-ink-soft); max-width:52ch; margin:14px auto 0; font-size:clamp(16.5px,1.25vw,18px); line-height:1.6;}
  .ew-values{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,3vw,40px); margin-top:44px; border-top:2px solid var(--heading); padding-top:34px;}
  .ew-value h3{font-size:19px; font-weight:600; color:var(--heading); letter-spacing:-0.01em; margin-bottom:9px;}
  .ew-value p{font-size:16px; line-height:1.6; color:var(--paragraph);}
  .ew-value .ew-num{font-size:22px; display:block; margin-bottom:12px;}
  .ew-team{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,3vw,40px); margin-top:44px;}
  .ew-team-fig{aspect-ratio:4/5; overflow:hidden; background:var(--paper-2); box-shadow:inset 0 0 0 1px var(--rule);}
  .ew-team-fig img{width:100%; height:100%; object-fit:cover; display:block; object-position:center 25%;}
  .ew-team h3{font-size:18px; font-weight:600; color:var(--heading); margin-top:16px;}
  .ew-team p{font-size:14.5px; color:var(--paragraph); margin-top:4px;}
  .ew-mv{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,3vw,48px); margin-top:44px;}
  .ew-mv-card{border-top:2px solid var(--primary); padding-top:20px;}
  .ew-mv-card h3{font-size:22px; font-weight:700; color:var(--heading); letter-spacing:-0.02em; margin-bottom:12px;}
  .ew-mv-card p{font-size:16.5px; line-height:1.65; color:var(--paragraph); max-width:44ch;}
  .ew-pager{display:flex; align-items:center; justify-content:center; gap:8px; margin-top:36px; flex-wrap:wrap;}
  .ew-pager button{font:inherit; font-size:14px; min-width:42px; height:42px; padding:0 12px; border:1px solid var(--rule-strong); border-radius:var(--r); background:var(--surface); color:var(--heading); cursor:pointer;}
  .ew-pager button:hover:not([disabled]){border-color:var(--primary); color:var(--primary);}
  .ew-pager button[aria-current="true"]{background:var(--primary); border-color:var(--primary); color:#fff;}
  .ew-pager button[disabled]{opacity:0.4; cursor:default;}
  .ew-iq{margin-top:18px; display:flex; flex-direction:column; gap:12px;}
  .ew-iq-row{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
  .ew-iq label{font-size:12.5px; font-weight:600; color:var(--heading); margin-bottom:5px; display:block;}
  .ew-iq input,.ew-iq textarea{font:inherit; font-size:14.5px; color:var(--heading); background:var(--surface); border:1px solid var(--rule-strong); border-radius:var(--r); padding:10px 12px; min-height:44px; width:100%;}
  .ew-iq input:focus,.ew-iq textarea:focus{outline:none; border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%, transparent);}
  .ew-iq-err{margin:2px 0 0; padding:10px 12px; border:1px solid #D9A7A2; background:#FBEDEC; border-radius:var(--r);}
  .ew-iq-err div{font-size:13px; line-height:1.45; color:#8A2A24;}
  .ew-td-status{display:inline-block; font-size:12px; font-weight:700; padding:4px 10px; border-radius:2px; background:var(--paper-2); color:var(--heading);}
  .ew-td-status.on_request{background:#F3E9C8; color:#6B5B10;} .ew-td-status.unavailable{background:#F1D9D6; color:#8A2A24;}
  @media (max-width:900px){ .ew-values,.ew-team,.ew-svc-mini{grid-template-columns:1fr 1fr;} .ew-galprev,.ew-gal,.ew-typerow{grid-template-columns:1fr 1fr;} }
  @media (max-width:820px){ .ew-mv{grid-template-columns:1fr;} .ew-svc-grid{grid-template-columns:1fr;} }
  @media (max-width:560px){ .ew-values,.ew-team,.ew-svc-mini,.ew-gal,.ew-typerow{grid-template-columns:1fr;} }

  /* ===== Editorial parity refinements (from Informativa/Catálogo finals) ===== */
  .ew-pagehead{padding:clamp(34px,3.6vw,52px) 0 8px;}
  section:has(> .ew-wrap.ew-doc){padding-top:clamp(34px,3.6vw,52px) !important;}
  .ew-pagehead .ew-h1{max-width:calc(var(--maxw) * 0.75);}
  .ew-pagehead .ew-lead{max-width:calc(var(--maxw) * 0.75);}
  .ew-about--pagehead .ew-about-media{aspect-ratio:3/2;}
  .ew-mv-card{background:var(--surface); border:1px solid var(--rule); border-top:3px solid var(--primary); border-radius:var(--r); padding:clamp(24px,2.4vw,32px);}
  .ew-process--5{grid-template-columns:repeat(5,1fr);}
  .ew-process--4{grid-template-columns:repeat(4,1fr);}
  .ew-btn--onink-ghost{background:transparent; color:var(--on-ink); border-color:var(--rule-ink);}
  .ew-btn--onink-ghost:hover{color:var(--on-ink); border-color:var(--on-ink); background:rgba(241,244,236,0.08);}
  .ew-finalcta{background:var(--primary); color:var(--on-ink); text-align:center;}
  .ew-finalcta h2{color:var(--on-ink);} .ew-finalcta p{color:rgba(241,244,236,0.92); max-width:52ch; margin:14px auto 0; font-size:clamp(16.5px,1.25vw,18px); line-height:1.6;}
  .ew-gal{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
  .ew-gal-item{position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--paper-2); box-shadow:inset 0 0 0 1px var(--rule); border:0; padding:0; cursor:zoom-in; display:block; width:100%;}
  .ew-gal-item img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 400ms var(--ease);}
  @media (hover:hover){ .ew-gal-item:hover img{transform:scale(1.05);} }
  .ew-gal-cap{position:absolute; left:0; right:0; bottom:0; padding:20px 16px 12px; font-size:13.5px; font-weight:500; color:#fff; background:linear-gradient(to top,rgba(13,27,24,0.72),transparent); text-align:left;}
  .ew-lightbox{position:fixed; inset:0; z-index:210; background:rgba(13,27,24,0.86); display:flex; align-items:center; justify-content:center; padding:24px;}
  .ew-lightbox img{max-width:min(1100px,92vw); max-height:86vh; object-fit:contain; box-shadow:0 24px 64px -18px rgba(0,0,0,0.6);}
  .ew-lightbox-close{position:absolute; top:18px; right:18px; width:46px; height:46px; border-radius:999px; border:1px solid var(--rule-ink); background:transparent; color:var(--on-ink); cursor:pointer; display:flex; align-items:center; justify-content:center;}
  .ew-lightbox-nav{position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:999px; border:1px solid var(--rule-ink); background:rgba(18,37,33,0.4); color:var(--on-ink); cursor:pointer; display:flex; align-items:center; justify-content:center;}
  .ew-lightbox-nav.prev{left:18px;} .ew-lightbox-nav.next{right:18px;}
  .ew-lightbox-cap{position:absolute; left:50%; bottom:20px; transform:translateX(-50%); max-width:min(760px,88vw); text-align:center; font-size:14.5px; font-weight:500; line-height:1.45; color:var(--on-ink); background:rgba(13,27,24,0.74); border:1px solid var(--rule-ink); border-radius:var(--r); padding:9px 16px;}
  @media (max-width:1000px){
    .ew-pagehead .ew-h1,.ew-pagehead .ew-lead{max-width:100%;}
    .ew-process--5{grid-template-columns:repeat(3,1fr);}
    .ew-process--4{grid-template-columns:repeat(2,1fr);}
    .ew-cform-card{padding:26px !important;}
    /* Tablet: fields full-width so Mensaje shares the same left/right bounds and spans both columns */
    .ew-cform-card .ew-field{align-items:stretch;}
    .ew-cform-card .ew-label,.ew-cform-card .ew-input{width:100%;}
  }
  @media (max-width:560px){
    /* Mobile: fields ~95% of container, tighter padding to preserve space */
    .ew-cform-card{padding:20px !important;}
    .ew-cform-card .ew-field{align-items:center;}
    .ew-cform-card .ew-label,.ew-cform-card .ew-input{width:95%;}
  }
  @media (max-width:900px){ .ew-gal{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .ew-process--5{grid-template-columns:repeat(2,1fr);} .ew-gal{grid-template-columns:1fr;} }
  @media (max-width:380px){ .ew-process--5,.ew-process--4{grid-template-columns:1fr;} }

  /* ===== Tarea: buscador hero full-width, cards de tipo con icono, variantes de servicio, video, disponibilidad ===== */
  @media (min-width:821px){
    .ew-hero-figure{grid-row:1 / 3;}
    .ew-hero-act{grid-column:1 / -1; grid-row:3; align-self:start; margin-top:clamp(20px,2.4vw,34px);}
  }
  .ew-typegrid{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2vw,22px); margin-top:38px;}
  .ew-typecard2{display:flex; align-items:center; gap:18px; padding:24px 26px; background:var(--surface); border:1px solid var(--rule); border-radius:var(--rc); color:var(--heading); transition:border-color 160ms var(--ease), transform 160ms var(--ease);}
  .ew-typecard2:hover{border-color:var(--primary); color:var(--heading);}
  .ew-typecard2-ic{flex:none; width:54px; height:54px; display:flex; align-items:center; justify-content:center; border:1.5px solid var(--primary); border-radius:var(--rc); color:var(--primary);}
  .ew-typecard2-body{display:flex; flex-direction:column; gap:3px; flex:1; min-width:0;}
  .ew-typecard2-name{font-size:19px; font-weight:600; line-height:1.2; letter-spacing:-0.01em;}
  .ew-typecard2-count{font-size:13.5px; color:var(--muted);}
  .ew-typecard2-go{flex:none; color:var(--muted); transition:transform 160ms var(--ease), color 160ms var(--ease);}
  .ew-typecard2:hover .ew-typecard2-go{color:var(--primary); transform:translateX(3px);}
  @media (max-width:1000px){ .ew-typegrid{grid-template-columns:1fr;} }
  .ew-svc-iconwrap{display:flex; align-items:center; justify-content:center; aspect-ratio:3/2; border-radius:var(--rc); background:var(--primary-tint); box-shadow:inset 0 0 0 1px var(--rule); color:var(--primary);}
  .ew-svc--plain .ew-svc-bar{margin-top:0;}
  .ew-tcard2-status{position:absolute; top:10px; right:10px; font-size:11px; font-weight:700; padding:4px 9px; border-radius:2px;}
  .ew-tcard2-status.on_request{background:#F3E9C8; color:#6B5B10;}
  .ew-tcard2-status.unavailable{background:#F1D9D6; color:#8A2A24;}
  .ew-vid-frame{position:relative; aspect-ratio:16/9; border-radius:var(--rc); overflow:hidden; background:#000; box-shadow:inset 0 0 0 1px var(--rule);}
  .ew-vid-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
  .ew-vid-poster{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; width:100%; aspect-ratio:16/9; border:0; padding:0; cursor:pointer; border-radius:var(--rc); overflow:hidden; background-size:cover; background-position:center; box-shadow:inset 0 0 0 1px var(--rule);}
  .ew-vid-poster::before{content:''; position:absolute; inset:0; background:rgba(13,27,24,0.42); transition:background 160ms var(--ease);}
  .ew-vid-poster:hover::before{background:rgba(13,27,24,0.55);}
  .ew-vid-play{position:relative; width:66px; height:66px; border-radius:999px; background:var(--surface); color:var(--primary); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px -8px rgba(0,0,0,0.5);}
  .ew-vid-note{position:relative; font-size:13px; font-weight:600; color:#fff; background:rgba(13,27,24,0.5); padding:6px 12px; border-radius:2px;}
