@font-face {
  font-family:'Cormorant Garamond'; font-style:normal; font-weight:300 600; font-display:swap;
  src:url('/assets/fonts/cormorant-garamond-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:'Cormorant Garamond'; font-style:normal; font-weight:300 600; font-display:swap;
  src:url('/assets/fonts/cormorant-garamond-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Cada contexto tiene su propia composición; solo se comparten pigmentos y trazo. */
body.pw-case-design footer .pw-artist-credit {
  display:inline-block; margin-top:6px; padding-block:4px;
  color:#fff !important; text-decoration:underline !important;
  text-underline-offset:4px; text-decoration-thickness:1px !important;
}
body.pw-case-design footer .pw-artist-credit:focus-visible { outline-color:#fff !important; }
body.pw-case-design {
  --pw-case-paper:linear-gradient(#f4e5d1f2,#f1dfc5f2),var(--pw-texture);
  --pw-case-ivory:linear-gradient(#fff1dff2,#f9ead6f2),var(--pw-texture);
  --pw-case-navy:linear-gradient(#142e50eb,#173451eb),var(--pw-texture);
  --pw-case-ochre:linear-gradient(#e7a744ed,#dca044ed),var(--pw-texture);
  --pw-case-orange:linear-gradient(#db7926ed,#d38732ed),var(--pw-texture);
  --pw-case-frame:0 0 4px 1px #ffffffa6,inset 0 0 3px #ffffffb3;
  --pw-case-line:0 0 4px 1px #ffffff99;
  overflow-x:clip;
}
body.pw-case-design main :is(h1,h2,h3,h4,h5,h6),
body.pw-case-design main :is(.artist-date,.artist-thanks) {
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-weight:500 !important; letter-spacing:-.018em !important;
}
/* Veladura continua: incluso el pigmento más oscuro queda detrás de una zona legible. */
body.pw-case-design::before {
  background-image:linear-gradient(180deg,#f4e5d2ed,#f0dfc7ed),var(--pw-texture) !important;
  background-size:cover !important;
}
/* Los textos se leen siempre en líneas horizontales, también en rótulos estrechos. */
body.pw-case-design :is(h1,h2,h3,h4,h5,h6,p,li,label,summary,button,input,select,textarea,a,span,em,strong,small,aside,blockquote,figcaption,th,td),
body.pw-case-design main :is(.hero,.hero-copy,.service-hero-copy,.process-heading,.faq-heading,.service-row,.steps article,.page-content,.page-side) {
  writing-mode:horizontal-tb !important; text-orientation:mixed !important;
  transform:none !important; rotate:0deg !important;
}
body.pw-case-design main :is(h1,h2,h3,h4,p,li,summary,label,form,section,div) { min-width:0; }
body.pw-case-design main :is(h1,h2,h3,h4,p,summary) {
  word-break:normal; overflow-wrap:normal; white-space:normal; text-shadow:none !important;
}
body.pw-case-design main em { font-style:normal !important; }
body.pw-case-design :is(a,button,summary,input,textarea,select):focus-visible {
  outline:3px solid #20568c !important; outline-offset:5px; border-radius:0 !important;
}
/* La cabecera conserva el lienzo, con sus cuatro esquinas rectas. */
body.pw-case-design :is(.header,.site-header) {
  border-radius:0 !important; clip-path:none !important; -webkit-clip-path:none !important;
  mask:none !important; -webkit-mask:none !important; overflow:visible !important;
}
body.pw-case-design :is(.header,.site-header)::before,
body.pw-case-design :is(.header,.site-header)::after {
  content:none !important; display:none !important; border-radius:0 !important;
  clip-path:none !important; -webkit-clip-path:none !important;
  mask:none !important; -webkit-mask:none !important;
}

/* 1. Portada: composición abierta sobre la ilustración, sin caja ni ornamentos. */
body.pw-case-design.page-home main .hero {
  display:block !important; width:100%; max-width:none; min-height:680px;
  padding:clamp(64px,7vw,110px) clamp(24px,8vw,120px) 80px !important;
  isolation:isolate; overflow:visible !important;
}
body.pw-case-design.page-home main .hero::before {
  content:'' !important; display:block !important; position:absolute; inset:0; z-index:-1;
  background-image:linear-gradient(90deg,#f3e5d1f5 0%,#f3e5d1ef 64%,#f3e5d140 88%,#f3e5d120 100%),url('/assets/painting-hero.webp?v=20261022-2') !important;
  background-size:cover !important; background-position:center right !important;
  border:0 !important; border-radius:0 !important; -webkit-mask:none !important; mask:none !important;
}
body.pw-case-design.page-home main .hero-copy {
  display:block !important; width:min(680px,65%) !important; max-width:100%;
  padding:0 !important; margin:0 !important; background:none !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important;
}
body.pw-case-design.page-home main .hero-copy::before,
body.pw-case-design.page-home main .hero-copy::after { content:none !important; display:none !important; }
/* Escritorio amplio: el velo sigue el ancho del texto, no el del monitor. */
@media(min-width:1600px) {
  body.pw-case-design.page-home main .hero::before {
    background-image:linear-gradient(90deg,
      #f3e5d1f5 0px,
      #f3e5d1ed max(800px,calc(100vw - clamp(1100px,70vw,2000px) + 160px)),
      #f3e5d180 max(960px,calc(100vw - clamp(1100px,70vw,2000px) + 400px)),
      #f3e5d100 max(1120px,calc(100vw - clamp(1100px,70vw,2000px) + 700px))
    ),url('/assets/painting-hero.webp?v=20261022-2') !important;
    background-size:100% 100%,clamp(1100px,70vw,2000px) auto !important;
    background-position:left top,right center !important;
    background-repeat:no-repeat !important;
  }
}
@media(min-width:2400px) {
  body.pw-case-design.page-home main .hero { min-height:760px; }
}
body.pw-case-design.page-home main .hero h1 {
  max-width:none; margin:0 0 28px; font-size:clamp(44px,5.4vw,84px) !important;
  line-height:1.04; letter-spacing:-.045em; color:#192e49 !important; text-wrap:pretty;
}
body.pw-case-design.page-home main .hero h1 em { color:#82452c !important; }
body.pw-case-design.page-home main .hero-lead { max-width:640px; color:#302c28 !important; font-size:18px; line-height:1.75; }
body.pw-case-design.page-home main .hero .kicker { color:#563d2f !important; }
body.pw-case-design.page-home main .hero-actions { display:flex; flex-wrap:wrap; gap:20px 28px; align-items:center; }
body.pw-case-design main .hero-actions .text-link {
  display:inline-flex; align-items:center; gap:12px; padding:12px 0 !important;
  color:#193f6a !important; background:transparent !important; background-image:none !important;
  border:0 !important; border-bottom:2px solid #193f6a !important; border-radius:0 !important;
}
body.pw-case-design main .hero-actions .text-link span { color:#193f6a !important; }
body.pw-case-design main .manifesto h2 em { color:#82452c !important; }
body.pw-case-design main .manifesto {
  position:relative; isolation:isolate; max-width:1280px; margin:0 auto;
  padding-block:80px !important; overflow:visible !important;
}
/* La pintura del hero se prolonga como una veladura irregular hacia el manifiesto. */
body.pw-case-design.page-home main .manifesto::before {
  content:''; display:block; position:absolute; z-index:-1; pointer-events:none;
  top:-1px; left:50%; width:100vw; height:clamp(120px,15vw,210px); transform:translateX(-50%);
  background-image:
    linear-gradient(180deg,#f4e5d100 0%,#f4e5d155 42%,#f4e5d2f0 100%),
    radial-gradient(ellipse at 77% 0%,#b64e2780 0%,#c8753d44 28%,transparent 58%),
    radial-gradient(ellipse at 57% 0%,#234a7380 0%,#536d7540 30%,transparent 62%),
    url('/assets/painting-hero.webp?v=20261022-2'),var(--pw-texture);
  background-size:100% 100%,100% 100%,100% 100%,min(100vw,1600px) auto,cover;
  background-position:center,center,center,65% 62%,center;
  background-repeat:no-repeat; opacity:.82;
}

/* Acciones: color explícito en el enlace, su texto y su flecha. */
body.pw-case-design main a.button,
body.pw-case-design main button.button,
body.pw-case-design .header a.nav-cta {
  display:inline-flex; align-items:center; justify-content:space-between; gap:18px;
  max-width:100%; padding:14px 18px !important;
  background-image:var(--pw-case-navy) !important; background-size:cover !important;
  color:#fff !important; border:2px solid #ffffff !important; border-radius:0 !important;
  box-shadow:var(--pw-case-frame) !important; white-space:normal;
}
body.pw-case-design main .button span,
body.pw-case-design .header .nav-cta span { color:#fff !important; }
body.pw-case-design main .button span {
  flex-shrink:0; display:grid; place-items:center; width:30px; height:30px;
  color:#192e49 !important; background-image:var(--pw-case-ochre) !important;
  background-size:cover; border-radius:0 !important;
}
body.pw-case-design main .button:hover,
body.pw-case-design .header .nav-cta:hover { filter:brightness(1.1); }
body.pw-case-design main .button:disabled { opacity:.65; cursor:wait; }

/* 2. Servicios: un cuadro de sección con planos grandes y una retícula propia. */
body.pw-case-design main .pw-services-composition {
  position:relative; isolation:isolate; width:100% !important; max-width:none !important;
  margin:0 !important; padding:80px clamp(24px,6vw,96px) 96px !important;
  background-image:var(--pw-case-paper) !important; background-size:cover !important;
  border:0 !important; border-radius:0 !important; overflow:visible !important;
}
body.pw-case-design main .pw-services-composition::before,
body.pw-case-design main .pw-services-composition::after { content:none !important; display:none !important; }
body.pw-case-design main .pw-services-composition > :is(.pw-services-ochre,.pw-services-navy,.pw-services-axis) {
  display:block; position:absolute; pointer-events:none; margin:0; padding:0; border-radius:0 !important;
}
body.pw-case-design main .pw-services-ochre {
  left:0; right:38%; top:0; bottom:48px; z-index:-1;
  background-image:var(--pw-case-orange); background-size:cover;
  border-left:2px solid #ffffff !important; border-right:2px solid #ffffff !important;
  border-top:0 !important; border-bottom:2px solid #ffffff !important;
  box-shadow:0 3px 5px -2px #ffffffc7 !important;
}
body.pw-case-design main .pw-services-navy {
  left:58%; right:0; top:230px; bottom:0; z-index:-1;
  background-image:var(--pw-case-navy); background-size:cover;
  border-left:2px solid #ffffff !important; border-right:2px solid #ffffff !important;
  border-top:2px solid #ffffff !important; border-bottom:0 !important;
  box-shadow:0 -3px 5px -2px #ffffffc7 !important;
}
body.pw-case-design main .pw-services-axis { inset:0; z-index:0; }
body.pw-case-design main .pw-services-axis::after {
  content:''; position:absolute; background:#ffffff; box-shadow:var(--pw-case-line);
}
body.pw-case-design main .pw-services-axis::after { top:0; bottom:0; left:58%; width:2px; }
body.pw-case-design main .pw-services-intro {
  position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  gap:48px; align-items:end; width:100%; max-width:1280px;
  margin:0 auto 52px !important; padding:36px 40px !important;
  background-image:var(--pw-case-ivory) !important; background-size:cover !important;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame) !important;
}
/* El controlador antiguo puede añadir .gaudi-surface: la pintura nunca tapa contenido. */
body.pw-case-design main .pw-services-composition > :is(.pw-services-ochre,.pw-services-navy) { z-index:0 !important; }
body.pw-case-design main .pw-services-composition > .pw-services-axis { z-index:1 !important; }
body.pw-case-design main .pw-services-composition > :is(.pw-services-intro,.service-list) { position:relative; z-index:10 !important; }
body.pw-case-design main .pw-services-intro > :is(div,p) { transform:none !important; rotate:0deg !important; }
body.pw-case-design main .pw-services-intro :is(h2,em) { color:#192e49 !important; }
body.pw-case-design main .pw-services-intro :is(p,.kicker) { color:#302c28 !important; }
body.pw-case-design main .pw-services-intro h2 { font-size:clamp(38px,4vw,58px); line-height:1.1; }
body.pw-case-design main .pw-services-intro > p { max-width:580px; margin:0; font-size:17px; line-height:1.75; }
body.pw-case-design main .service-list {
  position:relative; z-index:2; width:100%; max-width:1280px; margin:0 auto;
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:36px !important;
}
body.pw-case-design main a.pw-service-tile {
  position:relative; isolation:isolate; display:grid !important;
  grid-template-columns:minmax(0,220px) minmax(0,1fr); grid-template-rows:auto 1fr;
  align-items:start; gap:14px 24px; min-width:0; min-height:250px;
  margin:0 !important; padding:28px 28px 48px !important;
  color:#192e49 !important; background-image:var(--pw-case-paper) !important; background-size:cover !important;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame) !important;
  overflow:visible !important; perspective:none !important;
}
body.pw-case-design main a.pw-service-tile::before {
  content:'' !important; display:block !important; position:absolute !important;
  inset:0 auto 0 0 !important; width:8px !important; height:auto !important; z-index:0;
  background-image:var(--pw-case-navy) !important; background-size:cover !important;
  border:0 !important; border-radius:0 !important; opacity:1 !important;
  -webkit-mask:none !important; mask:none !important; filter:none !important;
  clip-path:none !important; transform:none !important;
}
body.pw-case-design main a.pw-service-tile[data-pw-kind="reach"]::before {
  inset:0 0 auto !important; width:auto !important; height:8px !important;
  background-image:var(--pw-case-ochre) !important;
}
body.pw-case-design main a.pw-service-tile[data-pw-kind="care"]::before {
  inset:auto 0 0 !important; width:auto !important; height:8px !important;
  background-image:var(--pw-case-orange) !important;
}
body.pw-case-design main a.pw-service-tile::after { content:none !important; display:none !important; }
body.pw-case-design main .pw-service-tile > :not(.pw-service-axis) { position:relative; z-index:2; }
body.pw-case-design main .pw-service-tile .service-visual {
  grid-column:1 !important; grid-row:1 / 3 !important; align-self:center;
  width:100% !important; max-width:220px; height:auto !important; min-width:0; aspect-ratio:3 / 2;
  background-size:contain !important; background-position:center !important; background-repeat:no-repeat !important;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame) !important;
  -webkit-mask:none !important; mask:none !important; transform:none !important;
}
body.pw-case-design main .pw-service-tile .service-title {
  grid-column:2 !important; grid-row:1 !important; min-width:0; align-self:start;
  margin:0; padding:0; font-size:clamp(23px,2vw,28px); line-height:1.2; color:#192e49 !important;
}
body.pw-case-design main .pw-service-tile .service-desc {
  grid-column:2 !important; grid-row:2 !important; padding:0 0 20px;
  color:#302c28 !important; font-size:15px; line-height:1.75;
}
body.pw-case-design main .pw-service-tile .row-arrow {
  position:absolute !important; right:22px; bottom:20px; top:auto; z-index:2;
  display:grid; place-items:center; width:36px; height:36px; padding:0;
  color:#fff !important; background-image:var(--pw-case-navy); background-size:cover;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame);
}
body.pw-case-design main .pw-service-axis { position:absolute !important; pointer-events:none; inset:0; z-index:1; }
body.pw-case-design main .pw-service-axis::before,
body.pw-case-design main .pw-service-axis::after { content:''; position:absolute; background:#ffffff; box-shadow:var(--pw-case-line); }
body.pw-case-design main .pw-service-axis::before { content:none !important; display:none !important; }
body.pw-case-design main .pw-service-axis::after { top:-20px; bottom:-20px; right:16px; width:2px; }
/* Evita que el eje vertical y la línea inferior formen una cruz en cada tarjeta. */
body.pw-case-design main .pw-service-axis::after { content:none !important; display:none !important; }
@media(min-width:1101px) {
  /* El intervalo incluye los dos bordes de 2px; se solapan 2px para cerrar la unión. */
  /* En escritorio, la ilustración apaisada encabeza cada tarjeta con más espacio. */
  body.pw-case-design main .service-list { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:34px 28px !important; }
  body.pw-case-design main a.pw-service-tile {
    grid-template-columns:minmax(0,1fr) 40px; grid-template-rows:auto auto auto;
    min-height:0; padding:22px 22px 48px !important; gap:14px 12px;
  }
  body.pw-case-design main .pw-service-tile .service-visual {
    grid-column:1 / -1 !important; grid-row:1 !important; width:100% !important; max-width:none;
    aspect-ratio:3 / 2; margin:0 0 4px;
  }
  body.pw-case-design main .pw-service-tile .service-title { grid-column:1 / -1 !important; grid-row:2 !important; font-size:25px; }
  body.pw-case-design main .pw-service-tile .service-desc { grid-column:1 / -1 !important; grid-row:3 !important; padding-bottom:16px; }
}

/* 3. Proceso: el eje une los cuatro pasos; no hay cajas en el título lateral. */
body.pw-case-design main .process {
  display:grid !important; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:72px;
  width:100%; max-width:1440px; margin:0 auto; padding:100px clamp(24px,6vw,80px) !important;
}
body.pw-case-design main .process-heading { align-self:center; }
body.pw-case-design main .process-heading h2 { font-size:clamp(40px,4.5vw,58px); line-height:1.1; color:#192e49 !important; }
body.pw-case-design main .process-heading > p:last-child { color:#302c28 !important; font-size:17px; }
body.pw-case-design main .steps { display:grid; gap:28px !important; margin:0; min-width:0; }
body.pw-case-design main .steps::before {
  content:'' !important; display:block !important; position:absolute; left:46px; top:22px; bottom:22px;
  width:2px !important; background:#ffffff !important; box-shadow:var(--pw-case-line);
  -webkit-mask:none !important; mask:none !important; transform:none !important; z-index:0;
}
body.pw-case-design main article.pw-process-step {
  position:relative; isolation:isolate; display:grid; grid-template-columns:44px minmax(0,1fr); gap:20px;
  padding:28px 32px 36px 24px !important; margin:0; min-width:0;
  background-image:var(--pw-case-ivory) !important; background-size:cover !important;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame) !important;
  perspective:none !important;
}
body.pw-case-design main article.pw-process-step::before,
body.pw-case-design main article.pw-process-step::after { content:none !important; display:none !important; }
body.pw-case-design main article.pw-process-step > span {
  display:grid; place-items:center; width:44px !important; height:44px !important; padding:0 !important;
  color:#fff !important; background-image:var(--pw-case-navy) !important; background-size:cover !important;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame) !important;
}
body.pw-case-design main article.pw-process-step h3 { color:#192e49 !important; font-size:25px; line-height:1.2; }
body.pw-case-design main article.pw-process-step p { color:#302c28 !important; font-size:16px; line-height:1.7; }
body.pw-case-design main .pw-step-axis { position:absolute !important; left:24px; right:-18px; bottom:14px; height:2px; pointer-events:none; background:#ffffff; box-shadow:var(--pw-case-line); border-radius:0 !important; }

/* 4. Preguntas: el contorno y los dos ejes siguen la altura del acordeón real. */
body.pw-case-design main .faq-section {
  display:grid !important; grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr); gap:64px;
  max-width:1440px; margin:0 auto; padding:80px clamp(24px,6vw,80px) 100px !important;
}
body.pw-case-design main .faq-heading h2 { font-size:clamp(40px,4.5vw,58px); line-height:1.12; color:#192e49 !important; }
body.pw-case-design main .faq-heading h2 em { color:#82452c !important; }
body.pw-case-design main .faq-heading p { color:#302c28 !important; font-size:17px; }
body.pw-case-design main .faq-list { display:grid !important; gap:28px; padding:0 !important; border:0 !important; align-content:start; }
body.pw-case-design main .pw-faq-panel {
  position:relative; isolation:isolate; min-width:0; padding:0 28px 26px; margin:0;
  background-image:var(--pw-case-paper); background-size:cover;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame);
}
body.pw-case-design main .pw-faq-panel > details.faq-item {
  position:relative; z-index:2; padding:0 !important; margin:0; border:0 !important;
  background:transparent !important; border-radius:0 !important;
}
body.pw-case-design main .pw-faq-panel summary {
  min-height:96px; display:flex; align-items:center; padding:24px 58px 24px 0 !important;
  color:#192e49 !important; font-size:17px; line-height:1.5;
}
body.pw-case-design main .pw-faq-panel summary::after {
  content:'＋'; position:absolute; right:0; top:calc(50% - 17px); display:grid; place-items:center;
  width:34px; height:34px; color:#fff !important;
  background-image:var(--pw-case-navy) !important; background-size:cover !important;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame);
}
body.pw-case-design main .pw-faq-panel details[open] > summary::after { content:'−'; }
body.pw-case-design main .pw-faq-answer { overflow:hidden; }
body.pw-case-design main .pw-faq-answer-inner { padding:0 52px 12px 0; }
body.pw-case-design main .pw-faq-answer p { margin:0 0 16px; padding:0 !important; color:#302c28 !important; font-size:16px; line-height:1.8; }
body.pw-case-design main .pw-faq-answer p:last-child { margin-bottom:0; }
body.pw-case-design main .pw-faq-axis { position:absolute; inset:0; pointer-events:none; z-index:1; }
body.pw-case-design main .pw-faq-axis::before,
body.pw-case-design main .pw-faq-axis::after { content:''; position:absolute; background:#ffffff; box-shadow:var(--pw-case-line); }
body.pw-case-design main .pw-faq-axis::before { height:2px; left:-12px; right:-18px; bottom:14px; }
body.pw-case-design main .pw-faq-axis::after { width:2px; right:45px; top:-18px; bottom:-18px; }
/* Evita la cruz en el extremo inferior derecho de cada pregunta. */
body.pw-case-design main .pw-faq-axis::after { content:none !important; display:none !important; }

/* 5. Cabecera de servicio: texto libre y una ilustración grande, nunca dentro de una card. */
body.pw-case-design.page-service main .service-page-hero {
  display:grid !important; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:56px;
  width:100%; max-width:1500px; margin:0 auto;
  padding:80px clamp(24px,6vw,96px) !important; align-items:center;
}
body.pw-case-design.page-service main .service-hero-copy {
  width:100%; min-width:0; padding:0 !important; margin:0;
  background:none !important; border:0 !important; box-shadow:none !important;
}
body.pw-case-design.page-service main .service-hero-copy::before,
body.pw-case-design.page-service main .service-hero-copy::after { content:none !important; display:none !important; }
body.pw-case-design.page-service main .service-page-hero h1 { font-size:clamp(42px,5vw,76px); line-height:1.06; color:#192e49 !important; }
body.pw-case-design.page-service main .service-page-hero .lead { color:#302c28 !important; font-size:18px; line-height:1.75; }
body.pw-case-design.page-service main .service-hero-image {
  width:100% !important; max-width:660px; min-height:0 !important; margin:0; aspect-ratio:3 / 2;
  background-size:contain !important; background-position:center !important; background-repeat:no-repeat !important;
  border:0 !important; border-radius:0 !important; -webkit-mask:none !important; mask:none !important;
  box-shadow:none !important; transform:none !important; rotate:0deg !important; clip-path:none !important;
}
/* La ilustración de APIs es 4:3; se conserva su proporción nativa. */
body.pw-case-design.page-service main .service-hero-image.photo-2 { aspect-ratio:1066 / 800; }
body.pw-case-design.page-service main .page-body {
  display:grid; grid-template-columns:minmax(160px,.3fr) minmax(0,1fr); gap:48px;
  max-width:1500px; margin:0 auto; padding:32px clamp(24px,6vw,96px) 72px !important;
}
body.pw-case-design.page-service main section.pw-detail-panel {
  position:relative; padding:32px 36px !important; margin:0 0 36px;
  background-image:var(--pw-case-ivory) !important; background-size:cover !important;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame) !important;
}
body.pw-case-design.page-service main section.pw-detail-panel h2 { color:#192e49 !important; font-size:34px; line-height:1.2; }
body.pw-case-design.page-service main section.pw-detail-panel :is(p,li) { color:#302c28 !important; font-size:16px; line-height:1.85; }
body.pw-case-design.page-service main .page-content li::before { border-radius:0 !important; transform:none !important; background:#845020; }

body.pw-case-design.page-contact main .page-hero h1 em { color:#82452c !important; }

/* 6. Contacto: la superficie protege todos los campos, sin ejes que crucen los datos. */
body.pw-case-design.page-contact main .page-hero,
body.pw-case-design.page-legal main .page-hero { display:block; padding:64px clamp(24px,8vw,120px) 36px !important; }
body.pw-case-design.page-contact main .page-hero h1,
body.pw-case-design.page-legal main .page-hero h1 { max-width:1000px; font-size:clamp(40px,5vw,72px); line-height:1.08; }
body.pw-case-design.page-contact main .page-body {
  display:grid; grid-template-columns:minmax(220px,.4fr) minmax(0,1fr); gap:64px;
  max-width:1440px; margin:0 auto; padding:40px clamp(24px,6vw,80px) 88px !important;
}
body.pw-case-design.page-contact main .page-content { padding:0 !important; }
body.pw-case-design.page-contact main form.pw-contact-paper {
  width:100%; position:relative; padding:36px 40px 44px !important;
  background-image:var(--pw-case-ivory) !important; background-size:cover !important;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame) !important;
}
body.pw-case-design.page-contact main .pw-contact-paper :is(.field,label,.notice,.check,.success) { color:#302c28 !important; }
body.pw-case-design.page-contact main .pw-contact-paper .field { min-width:0; }
body.pw-case-design.page-contact main .pw-contact-paper :is(input:not([type=checkbox]),select,textarea) {
  width:100%; max-width:100%; min-width:0; padding:12px 14px; font-size:16px; color:#192e49 !important;
  background-image:var(--pw-case-paper) !important; background-size:cover !important;
  border:1px solid #385b7e !important; border-radius:0 !important;
}
body.pw-case-design.page-contact main .pw-contact-paper textarea { resize:vertical; min-height:150px; }
body.pw-case-design.page-contact main .pw-contact-paper .check { display:grid; grid-template-columns:20px minmax(0,1fr); gap:12px; }
body.pw-case-design.page-contact main .pw-contact-paper .check input {
  appearance:none; display:grid; place-items:center; width:20px; height:20px; padding:0; margin:3px 0 0;
  background-image:var(--pw-case-paper); background-size:cover;
  border:1px solid #385b7e !important; border-radius:0 !important;
}
body.pw-case-design.page-contact main .pw-contact-paper .check input:checked { background-image:var(--pw-case-navy); }
body.pw-case-design.page-contact main .pw-contact-paper .check input:checked::before { content:'✓'; color:#fff; font-size:15px; }
body.pw-case-design.page-contact main .pw-contact-paper a { color:#193f6a !important; }
body.pw-case-design.page-contact main .pw-contact-paper .button { justify-self:start; color:#fff !important; }
body.pw-case-design.page-contact main .pw-contact-paper .notice { padding:14px 0; font-size:13px; line-height:1.7; }

/* 7. Legales: una hoja de lectura; no se enmarca cada párrafo como si fuera un servicio. */
body.pw-case-design.page-legal main .page-body { display:block; max-width:1160px; margin:0 auto; padding:32px clamp(24px,6vw,80px) 80px !important; }
body.pw-case-design.page-legal main .page-side { position:static; margin:0 0 24px; }
body.pw-case-design.page-legal main .page-content {
  padding:36px 44px !important; background-image:var(--pw-case-ivory) !important; background-size:cover !important;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame) !important;
}
body.pw-case-design.page-legal main .page-content section { padding:0 !important; margin-bottom:32px; background:none !important; border:0 !important; box-shadow:none !important; }
body.pw-case-design.page-legal main .page-content :is(p,li) { color:#302c28 !important; font-size:16px; line-height:1.85; }
body.pw-case-design.page-legal main .page-content h2 { color:#192e49 !important; font-size:30px; }
body.pw-case-design main .page-content a:not(.button) { color:#193f6a !important; overflow-wrap:anywhere; }

/* 8. Dos cierres distintos: banda nocturna en portada y llamada clara en el servicio. */
body.pw-case-design main .pw-home-contact {
  position:relative; isolation:isolate; display:flex; align-items:center; justify-content:space-between; gap:40px;
  width:calc(100% - 2 * clamp(24px,6vw,80px)) !important; max-width:1280px;
  margin:44px auto 80px !important; padding:56px 64px !important;
  background-image:var(--pw-case-navy) !important; background-size:cover !important;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame) !important;
}
body.pw-case-design main .pw-home-contact::before {
  content:'' !important; display:block !important; position:absolute; left:-18px; top:-2px; bottom:-2px; right:auto; width:16px; z-index:-1;
  box-sizing:border-box; background-image:var(--pw-case-ochre) !important; background-size:cover;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame) !important;
  transform:none !important; clip-path:none !important; -webkit-clip-path:none !important;
  -webkit-mask:none !important; mask:none !important; filter:none !important;
}
body.pw-case-design main .pw-home-contact :is(h2,p,.kicker,em) { color:#fff !important; }
body.pw-case-design main .pw-home-contact a.button { color:#192e49 !important; background-image:var(--pw-case-ivory) !important; }
body.pw-case-design main .pw-home-contact .button span { color:#192e49 !important; }
body.pw-case-design main .pw-home-contact :focus-visible { outline-color:#fff !important; }
body.pw-case-design main .pw-service-contact {
  position:relative; display:flex; align-items:center; justify-content:space-between; gap:32px;
  width:calc(100% - 2 * clamp(24px,6vw,80px)) !important; max-width:1280px;
  margin:24px auto 72px !important; padding:36px 44px !important;
  background-image:var(--pw-case-paper) !important; background-size:cover !important;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame) !important;
}
body.pw-case-design main .pw-service-contact :is(h2,p,.kicker,em) { color:#192e49 !important; }
body.pw-case-design main .pw-service-contact a.button { color:#fff !important; background-image:var(--pw-case-navy) !important; }
body.pw-case-design main .pw-service-contact .button span { color:#192e49 !important; }
body.pw-case-design main .pw-service-contact h2 { font-size:clamp(30px,3.5vw,44px); }

/* La marca y la navegación conservan una jerarquía sencilla. */
body.pw-case-design .pw-language a { border-radius:0 !important; color:#192e49 !important; }
body.pw-case-design .pw-language a[aria-current="true"] {
  color:#fff !important; background-image:var(--pw-case-navy) !important; background-size:cover;
}
body.pw-case-design .header .logo img { filter:brightness(0) saturate(100%) invert(14%) sepia(24%) saturate(1250%) hue-rotate(176deg) brightness(89%) contrast(102%) !important; }
body.pw-case-design footer .footer-logo img { filter:brightness(0) invert(1) !important; }
body.pw-case-design footer::before { -webkit-mask:none !important; mask:none !important; filter:none !important; }
body.pw-case-design footer :is(a,p,small) { color:#fff !important; }

/* Cabecera: el propio cuadro reparte el ocre y el azul para dar contraste local. */
body.pw-case-design > header.header {
  border:2px solid #fff !important; border-radius:0 !important; overflow:visible !important;
  background-image:url('/assets/pw-color-header-20261022.png?v=20261022-17') !important;
  background-size:cover !important; background-repeat:no-repeat !important;
  background-position:center bottom !important;
  box-shadow:0 3px 10px #18283f26 !important;
}
body.pw-case-design > header.header :is(nav a,.pw-language a,.menu-toggle) {
  color:#fff !important; text-shadow:0 1px 2px #10274770;
}
body.pw-case-design > header.header .logo img { filter:brightness(0) invert(1) !important; }
body.pw-case-design > header.header .pw-language a[aria-current="true"] {
  color:#192e49 !important; background:#fff !important; text-shadow:none;
  border:1px solid #fff !important;
}
body.pw-case-design > header.header .nav-cta {
  color:#fff !important; background-color:#142e50 !important; background-image:var(--pw-case-navy) !important;
  background-size:cover !important; border:2px solid #fff !important;
  box-shadow:0 0 5px 1px #ffffffa6,inset 0 0 3px #ffffffb3 !important;
  border-radius:0 !important; text-shadow:0 1px 2px #08172c;
}
body.pw-case-design > header.header .nav-cta::before,
body.pw-case-design > header.header .nav-cta::after { content:none !important; display:none !important; }
body.pw-case-design > header.header .nav-cta span {
  display:grid !important; place-items:center !important; flex:0 0 30px !important;
  width:30px !important; height:30px !important; margin:0 !important; padding:0 !important;
  color:#192e49 !important; background:#e7a744 !important; border:1px solid #fff !important;
  border-radius:0 !important; line-height:1 !important; text-align:center !important; text-shadow:none;
}
/* La página del artista solo usa pintura digital nueva en cabecera y contenido. */
@media(min-width:701px) and (max-width:1100px) {
  body.pw-case-design > header.header nav {
    padding:10px 16px; border:2px solid #fff !important; border-radius:0 !important;
    background-image:var(--pw-case-navy) !important; box-shadow:var(--pw-case-frame) !important;
  }
  body.pw-case-design > header.header nav a { color:#fff !important; }
}

/* Pie: conservar los pigmentos originales del cuadro nocturno, sin veladura azul. */
body.pw-case-design > footer {
  width:100% !important; max-width:none !important; margin:0 !important; box-sizing:border-box;
  border-radius:0 !important; background:transparent !important; clip-path:none !important;
  -webkit-clip-path:none !important; mask:none !important; -webkit-mask:none !important;
}
body.pw-case-design > footer::before {
  content:'' !important; display:block !important; position:absolute !important; inset:0 !important;
  border-radius:0 !important; clip-path:none !important; -webkit-clip-path:none !important;
  mask:none !important; -webkit-mask:none !important; transform:none !important;
  background-image:var(--pw-night) !important; background-size:cover !important;
  background-position:center bottom !important; opacity:1 !important;
}
body.pw-case-design > footer > * {
  border-radius:0 !important; clip-path:none !important; -webkit-clip-path:none !important;
  transform:none !important; rotate:0deg !important;
}
body.pw-case-design > footer .pw-artist-credit {
  color:#fff !important; text-decoration:underline !important;
  text-underline-offset:4px; text-decoration-thickness:1px !important;
}
@media(max-width:700px) {
  body.pw-case-design > header.header {
    background-image:url('/assets/pw-color-header-20261022.png?v=20261022-17') !important;
    background-size:cover !important; background-position:center bottom !important;
  }
  body.pw-case-design > header.header .logo img { filter:brightness(0) invert(1) !important; }
  body.pw-case-design > header.header :is(.logo,.menu-toggle) { color:#fff !important; }
  body.pw-case-design > header.header nav {
    padding:18px 22px; background-image:var(--pw-case-navy) !important;
    border:2px solid #fff !important; box-shadow:var(--pw-case-frame) !important;
  }
  body.pw-case-design > header.header nav a { color:#fff !important; }
}

/* El ancho decide el orden de lectura de cada contexto, no el estrechamiento de su texto. */
@media(max-width:1100px) {
  body.pw-case-design.page-home main .hero { min-height:0; padding-block:64px 72px !important; }
  body.pw-case-design.page-home main .hero-copy { width:100% !important; max-width:760px; }
  body.pw-case-design.page-home main .hero::before {
    background-image:linear-gradient(#f3e5d1ed,#f3e5d1ed),url('/assets/painting-hero.webp?v=20261022-2') !important;
  }
  body.pw-case-design main .pw-services-intro { display:block; }
  body.pw-case-design main .pw-services-intro > p { margin-top:24px; max-width:760px; }
  body.pw-case-design main .service-list { grid-template-columns:1fr !important; }
  body.pw-case-design main a.pw-service-tile { grid-template-columns:minmax(0,220px) minmax(0,1fr); min-height:244px; }
  body.pw-case-design main .pw-service-tile .service-title { font-size:28px; }
  body.pw-case-design main .pw-service-tile .service-desc { font-size:16px; }
}
@media(max-width:1050px) {
  body.pw-case-design main .process,body.pw-case-design main .faq-section { display:block !important; }
  body.pw-case-design main .steps { margin-top:36px; }
  body.pw-case-design main .faq-heading { margin-bottom:36px; }
  body.pw-case-design.page-service main .service-page-hero { grid-template-columns:minmax(0,1fr); gap:32px; }
  body.pw-case-design.page-service main .service-hero-image { width:min(100%,560px) !important; justify-self:center; }
  body.pw-case-design.page-service main .page-body,body.pw-case-design.page-contact main .page-body { display:block; }
  body.pw-case-design main .page-side { position:static; margin-bottom:28px; }
  body.pw-case-design main .pw-home-contact,body.pw-case-design main .pw-service-contact { flex-direction:column; align-items:flex-start; }
}
@media(max-width:700px) {
  body.pw-case-design.page-home main .hero { padding:44px 24px 56px !important; }
  body.pw-case-design.page-home main .hero h1 { font-size:clamp(40px,9.2vw,60px) !important; line-height:1.08; }
  body.pw-case-design.page-home main .hero-lead { font-size:17px; }
  body.pw-case-design main .hero-actions { gap:18px 24px; }
  body.pw-case-design main .pw-services-composition { padding:48px 24px 60px !important; }
  body.pw-case-design main .pw-services-intro { padding:26px 24px !important; margin-bottom:32px !important; }
  body.pw-case-design main .pw-services-intro h2 { font-size:38px; }
  body.pw-case-design main .pw-services-navy { left:36%; top:280px; }
  body.pw-case-design main .pw-services-axis::after { left:36%; }
  body.pw-case-design main a.pw-service-tile { grid-template-columns:minmax(0,190px) minmax(0,1fr); padding:24px 24px 46px !important; gap:14px 20px; }
  body.pw-case-design main .pw-service-tile .service-visual { width:100% !important; max-width:190px; height:auto !important; aspect-ratio:3 / 2; }
  body.pw-case-design main .pw-service-tile .service-title { font-size:25px; }
  body.pw-case-design main .process,body.pw-case-design main .faq-section { padding:64px 24px !important; }
  body.pw-case-design main .process-heading h2,body.pw-case-design main .faq-heading h2 { font-size:42px; }
  body.pw-case-design main article.pw-process-step { padding:24px 24px 34px 20px !important; gap:16px; }
  body.pw-case-design main .steps::before { left:42px; }
  body.pw-case-design main .pw-faq-panel { padding:0 22px 26px; }
  body.pw-case-design main .pw-faq-panel summary { font-size:16px; }
  body.pw-case-design main .pw-faq-axis::after { right:39px; }
  body.pw-case-design.page-service main .service-page-hero { padding:48px 24px !important; }
  body.pw-case-design.page-service main .service-page-hero h1 { font-size:clamp(var(--pw-title-min,40px),8.5vw,56px); }
  body.pw-case-design.page-service main .page-body { padding:24px 24px 48px !important; }
  body.pw-case-design.page-service main section.pw-detail-panel { padding:26px 24px !important; }
  body.pw-case-design.page-service main section.pw-detail-panel h2 { font-size:30px; }
  body.pw-case-design.page-contact main .page-body { padding:24px 24px 60px !important; }
  body.pw-case-design.page-contact main form.pw-contact-paper { padding:26px 22px 32px !important; }
  body.pw-case-design.page-contact main .pw-contact-paper .button { width:100%; }
  body.pw-case-design.page-legal main .page-body { padding:24px 24px 60px !important; }
  body.pw-case-design.page-legal main .page-content { padding:28px 24px !important; }
  body.pw-case-design main .pw-home-contact,body.pw-case-design main .pw-service-contact { padding:34px 28px !important; gap:28px; }
  body.pw-case-design main .pw-home-contact h2 { font-size:clamp(36px,9vw,48px); }
}
@media(max-width:480px) {
  body.pw-case-design main a.pw-service-tile { grid-template-columns:minmax(0,1fr); gap:20px; }
  body.pw-case-design main .pw-service-tile .service-visual {
    grid-column:1 !important; grid-row:1 !important; width:100% !important; max-width:none; height:auto !important; aspect-ratio:3 / 2;
    background-size:contain !important;
  }
  body.pw-case-design main .pw-service-tile .service-title { grid-column:1 !important; grid-row:2 !important; padding-right:0; }
  body.pw-case-design main .pw-service-tile .service-desc { grid-column:1 !important; grid-row:3 !important; padding-bottom:24px; }
  body.pw-case-design main article.pw-process-step { grid-template-columns:36px minmax(0,1fr); gap:12px; padding:22px 20px 32px 16px !important; }
  body.pw-case-design main article.pw-process-step > span { width:36px !important; height:36px !important; }
  body.pw-case-design main article.pw-process-step h3 { font-size:23px; }
  body.pw-case-design main .steps::before { left:36px; }
  body.pw-case-design main .pw-faq-answer-inner { padding-right:40px; }
}

/* Portada: tres cuadros de sección unidos por un mismo eje vertical. */
body.pw-case-design main .pw-home-sequence {
  --pw-section-spine:58%;
  position:relative; width:100%; isolation:isolate;
}
body.pw-case-design main .pw-home-sequence > :is(.pw-services-composition,.pw-process-composition,.pw-questions-composition) {
  position:relative !important; isolation:isolate; display:block !important;
  width:100% !important; max-width:none !important; margin:0 !important;
  border:2px solid #ffffff !important; border-radius:0 !important;
  box-shadow:var(--pw-case-frame) !important; overflow:visible !important;
}
body.pw-case-design main .pw-home-sequence > :is(.pw-process-composition,.pw-questions-composition) {
  border-top-width:0 !important;
}
/* La transición entre servicios y proceso queda abierta, sin una regla transversal. */
body.pw-case-design main .pw-home-sequence > .pw-services-composition {
  border-bottom-width:0 !important;
}
body.pw-case-design main .pw-home-sequence .pw-services-navy { left:var(--pw-section-spine); }
body.pw-case-design main .pw-home-sequence .pw-services-axis::after { left:var(--pw-section-spine); }

/* Proceso: cuadro marfil con un plano azul bajo los pasos. */
body.pw-case-design main .pw-process-composition {
  padding:88px clamp(24px,6vw,80px) !important;
  background-image:var(--pw-case-paper) !important; background-size:cover !important;
}
body.pw-case-design main .pw-process-content {
  position:relative; z-index:10 !important; max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:72px;
}
body.pw-case-design main .pw-process-content > .process-heading {
  padding:28px; background-image:var(--pw-case-ochre); background-size:cover;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame);
}
body.pw-case-design main .pw-process-content > .process-heading .kicker { color:#192e49 !important; }
body.pw-case-design main .pw-process-plane {
  position:absolute !important; display:block; pointer-events:none;
  top:0; bottom:0; left:var(--pw-section-spine); right:0; z-index:0 !important;
  background-image:var(--pw-case-navy); background-size:cover;
  border-radius:0 !important;
}

/* Preguntas: otro cuadro completo, con su plano ocre y una cara clara para el título. */
body.pw-case-design main .pw-questions-composition {
  padding:80px clamp(24px,6vw,80px) 96px !important;
  background-image:var(--pw-case-paper) !important; background-size:cover !important;
}
body.pw-case-design main .pw-questions-content {
  position:relative; z-index:10 !important; max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr); gap:64px;
}
body.pw-case-design main .pw-questions-content > .faq-heading {
  padding:28px; align-self:start;
  background-image:var(--pw-case-ivory); background-size:cover;
  border:2px solid #ffffff !important; border-radius:0 !important; box-shadow:var(--pw-case-frame);
}
body.pw-case-design main .pw-questions-content > .faq-heading h2 { font-size:clamp(36px,3.6vw,48px); }
body.pw-case-design main .pw-questions-ochre {
  position:absolute !important; display:block; pointer-events:none;
  left:0; right:calc(100% - var(--pw-section-spine)); top:0; bottom:0; z-index:0 !important;
  background-image:var(--pw-case-ochre); background-size:cover; border-radius:0 !important;
}
body.pw-case-design main .pw-questions-navy {
  position:absolute !important; display:block; pointer-events:none;
  left:var(--pw-section-spine); right:0; bottom:0; height:96px; z-index:0 !important;
  background-image:var(--pw-case-navy); background-size:cover; border-radius:0 !important;
}
body.pw-case-design main :is(.pw-process-section-axis,.pw-questions-section-axis) {
  position:absolute !important; display:block; pointer-events:none;
  inset:0; z-index:1 !important; border-radius:0 !important;
}
body.pw-case-design main :is(.pw-process-section-axis,.pw-questions-section-axis)::before,
body.pw-case-design main :is(.pw-process-section-axis,.pw-questions-section-axis)::after {
  content:''; position:absolute; background:#ffffff; box-shadow:var(--pw-case-line);
}
body.pw-case-design main :is(.pw-process-section-axis,.pw-questions-section-axis)::after {
  width:2px; left:var(--pw-section-spine); top:0; bottom:0;
}
body.pw-case-design main .pw-process-section-axis::before { content:none !important; display:none !important; }
body.pw-case-design main .pw-questions-section-axis::before { height:2px; bottom:96px; left:0; right:0; }
@media(max-width:1050px) {
  body.pw-case-design main .pw-process-content,
  body.pw-case-design main .pw-questions-content { display:block; }
  body.pw-case-design main .pw-process-plane { top:340px; }
  body.pw-case-design main .pw-process-content > .process-heading { max-width:580px; }
}
@media(max-width:700px) {
  body.pw-case-design main .pw-home-sequence { --pw-section-spine:36%; }
  body.pw-case-design main .pw-process-composition { padding:64px 24px !important; }
  body.pw-case-design main .pw-process-content > .process-heading { padding:24px; }
  body.pw-case-design main .pw-process-content > .process-heading h2 { font-size:38px; }
  body.pw-case-design main .pw-process-plane { top:390px; }
  body.pw-case-design main .pw-questions-composition { padding:56px 24px 64px !important; }
  body.pw-case-design main .pw-questions-content > .faq-heading { padding:24px; }
  body.pw-case-design main .pw-questions-content > .faq-heading h2 { font-size:38px; }
}
