/* Efecto Wale · Sistema editorial y galería · V8.9.9
   Hereda íntegramente la paleta y las tipografías de assets/css/styles.css. */
:where(.wh){--wh-ink:var(--wale-ink);--wh-muted:var(--wale-ink-soft);--wh-blue:var(--wale-blue-dark);--wh-gold:var(--wale-gold);--wh-line:var(--wale-line);--wh-paper:var(--wale-paper);--wh-surface:var(--wale-surface)}
.wh *{box-sizing:border-box}
.wh a{text-decoration-thickness:1px;text-underline-offset:4px}
.wh a:focus-visible,.wh button:focus-visible,.wh select:focus-visible,.wh input:focus-visible{outline:3px solid var(--wale-gold);outline-offset:3px}
.wh h1,.wh h2,.wh h3{letter-spacing:-.035em;text-wrap:balance}
.wh h1{max-width:14ch;font-size:clamp(2.7rem,5.6vw,5.7rem);line-height:1.05}
.wh h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.12}
.wh h3{font-size:clamp(1.2rem,1.8vw,1.55rem);line-height:1.2}
.wh p{max-width:74ch}
.wh-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;font-size:.87rem;padding:20px 0;color:var(--wh-muted)}
.wh-breadcrumbs a{color:inherit}
.wh-breadcrumbs span[aria-hidden]{color:var(--wale-line-dark)}
.wh-hero{position:relative;padding:clamp(28px,5vw,78px) 0 clamp(56px,8vw,112px);overflow:hidden;border-bottom:1px solid var(--wh-line)}
.wh-hero__grid{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(260px,.86fr);align-items:stretch;gap:clamp(20px,4vw,64px)}
.wh-hero__copy{padding-block:clamp(12px,3vw,40px)}
.wh-hero__copy>p{font-size:clamp(1.02rem,1.8vw,1.28rem);line-height:1.7;color:var(--wh-muted)}
.wh-hero__copy h1{margin:0 0 .3em}
.wh-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.wh-btn{display:inline-flex;justify-content:center;align-items:center;min-height:49px;min-width:120px;padding:10px 19px;border-radius:13px;background:var(--wh-ink);border:1px solid var(--wh-ink);color:#fff!important;font-weight:750;text-align:center;text-decoration:none;transition:background .18s ease,border-color .18s ease}
.wh-btn:hover{background:var(--wh-blue);border-color:var(--wh-blue)}
.wh-btn--outline{background:transparent;color:var(--wh-ink)!important}
.wh-btn--outline:hover{background:var(--wale-gold-pale);border-color:var(--wh-ink);color:var(--wh-ink)!important}
.wh-hero__graphic{position:relative;min-height:clamp(295px,30vw,470px);padding:clamp(22px,4vw,46px);background:var(--wale-ink);border:1px solid var(--wale-ink);border-radius:22px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.wh-hero__graphic:before{content:"";position:absolute;width:75%;aspect-ratio:1;border:2px solid var(--wale-gold);border-radius:50%;right:-25%;top:-35%;opacity:.88}
.wh-hero__graphic:after{content:"";position:absolute;width:65%;aspect-ratio:1;border:2px solid var(--wale-blue-light);border-radius:50%;right:-18%;top:10%;opacity:.5}
.wh-hero__graphic>div,.wh-hero__graphic>p{position:relative;z-index:1}
.wh-hero__mark{font-family:var(--font-display);font-size:clamp(4.8rem,10vw,9rem);font-weight:850;line-height:1;letter-spacing:-.09em;color:var(--wale-gold)}
.wh-hero__graphic p{margin:0;max-width:18ch;font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,2.2rem);line-height:1.16;color:#fff;font-weight:750}
.wh-section{padding:clamp(46px,6vw,85px) 0}
.wh-section--soft{background:var(--wale-surface-soft);border-block:1px solid var(--wh-line)}
.wh-section--dark{background:var(--wale-ink);color:#fff}
.wh-section__head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:26px}
.wh-section__head p{margin:0;color:var(--wh-muted)}
.wh-section--dark .wh-section__head p{color:var(--wale-blue-pale)}
.wh-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.wh-feature{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(22px,3vw,34px);background:var(--wale-surface);border:1.5px solid var(--wh-line);border-radius:17px}
.wh-feature--accent{background:var(--wale-blue-pale)}
.wh-feature--warm{background:var(--wale-gold-pale)}
.wh-feature h3{margin:0 0 12px}
.wh-feature p{color:var(--wh-muted);font-size:.99rem;line-height:1.65;margin-bottom:24px}
.wh-feature a{margin-top:auto;font-weight:800;color:var(--wh-blue)}
.wh-feature a:hover{color:var(--wh-ink)}
.wh-feature small{display:block;color:var(--wh-muted);font-size:.9rem;margin-top:12px}
.wh-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.wh-story{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;align-items:center;border:1px solid var(--wh-line);border-radius:16px;padding:14px;background:var(--wale-surface)}
.wh-story img{width:100%;height:140px;object-fit:cover;border-radius:10px}
.wh-story h3{font-size:clamp(1.12rem,1.8vw,1.5rem);margin:0 0 8px}
.wh-story p{margin:0 0 12px;font-size:.9rem;line-height:1.55;color:var(--wh-muted)}
.wh-story a{font-weight:750;color:var(--wh-blue)}
.wh-story--noimage{grid-template-columns:1fr;min-height:160px;padding:26px}
.wh-essay{max-width:780px;margin-inline:auto;font-size:1.05rem;line-height:1.83}
.wh-essay h2{margin:2em 0 .6em}
.wh-essay h3{margin:1.7em 0 .55em}
.wh-essay ul,.wh-essay ol{padding-left:1.4em}
.wh-essay li{margin:.5em 0}
.wh-essay blockquote{margin:1.9em 0;padding:20px 24px;background:var(--wale-blue-pale);border-left:4px solid var(--wh-blue);font-family:var(--font-display);font-size:1.4rem;line-height:1.35;font-weight:720}
.wh-essay-note{font-size:.9rem;background:var(--wale-gold-pale);border:1px solid var(--wh-line);padding:17px 20px;border-radius:12px}
.wh-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:clamp(24px,4vw,42px);border:1.5px solid var(--wh-line);border-radius:20px;background:var(--wale-blue-pale)}
.wh-cta h2{font-size:clamp(1.6rem,2.7vw,2.4rem);margin:0 0 8px}
.wh-cta p{margin:0}
.wh-cta .wh-btn{flex-shrink:0}
.wh-minor--spaced{margin-top:20px}
.wh-minor{font-size:.9rem;color:var(--wh-muted)}
/* Galería: formularios accesibles y componentes reutilizables */
.wh-gallery-intro{max-width:920px}
.wh-filter{background:var(--wale-surface);border:1px solid var(--wh-line);border-radius:20px;padding:clamp(18px,3vw,30px);margin:28px 0 22px}
.wh-filter__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.wh-field{display:flex;flex-direction:column;gap:7px}
.wh-field label{font-size:.88rem;font-weight:750}
.wh-field select,.wh-field input{min-height:48px;max-width:100%;background:#fff;border:1.5px solid var(--wale-line-dark);border-radius:10px;color:var(--wh-ink);padding:9px 12px}
.wh-filter__foot{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:17px}
.wh-filter__foot p{margin:0;font-size:.94rem;color:var(--wh-muted)}
.wh-filter__reset{background:transparent;border:0;padding:8px;color:var(--wh-blue);font-weight:750;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.wh-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.wh-photo{min-width:0;background:var(--wale-surface);border:1px solid var(--wh-line);border-radius:15px;overflow:hidden}
.wh-photo__open{display:block;border:0;background:transparent;width:100%;padding:0;cursor:zoom-in;text-align:inherit}
.wh-photo__open img{width:100%;aspect-ratio:4/3;object-fit:cover}
.wh-photo__body{padding:15px}
.wh-photo__body h3{font-size:1rem;margin:0 0 6px}
.wh-photo__body p{font-size:.84rem;color:var(--wh-muted);margin:0 0 8px}
.wh-photo__body a{font-size:.88rem;font-weight:750;color:var(--wh-blue)}
.wh-empty{border:1.5px dashed var(--wale-line-dark);background:var(--wale-surface);border-radius:18px;padding:clamp(25px,5vw,55px);text-align:center}
.wh-empty h2{font-size:clamp(1.4rem,3vw,2.25rem);margin:0 0 14px}
.wh-empty p{margin:0 auto 19px;color:var(--wh-muted)}
.wh-empty[hidden],.wh-photos[hidden]{display:none}
.wh-dialog{border:0;padding:0;width:min(940px,calc(100vw - 32px));max-width:940px;max-height:calc(100vh - 32px);border-radius:14px;background:var(--wale-surface);color:var(--wh-ink)}
.wh-dialog::backdrop{background:rgba(16,20,24,.87)}
.wh-dialog__bar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--wh-line)}
.wh-dialog__bar strong{font-size:.98rem}
.wh-dialog__close{font:inherit;background:var(--wh-ink);color:#fff;border:0;border-radius:10px;min-height:40px;padding:7px 15px;cursor:pointer}
.wh-dialog__photo{display:block;max-width:100%;max-height:calc(100vh - 225px);width:auto;height:auto;object-fit:contain;margin-inline:auto}
.wh-dialog__bottom{padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.wh-dialog__bottom p{font-size:.86rem;color:var(--wh-muted);margin:0}
.wh-dialog__bottom a{font-size:.9rem;color:var(--wh-blue);font-weight:750}
.wh-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:step}
.wh-step{padding:23px;background:var(--wale-surface);border:1px solid var(--wh-line);border-radius:16px}
.wh-step h3{margin:0 0 8px}
.wh-step p{font-size:.95rem;color:var(--wh-muted);margin:0}
@media(max-width:850px){.wh-hero__grid{grid-template-columns:minmax(0,1fr) minmax(230px,.7fr)}.wh-feature-grid,.wh-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.wh-story-grid{grid-template-columns:1fr}.wh-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.wh-hero{padding:12px 0 48px}.wh-breadcrumbs{padding:12px 0 24px}.wh-hero__grid{grid-template-columns:1fr;gap:18px}.wh-hero__copy{padding:0}.wh-hero__graphic{min-height:200px;padding:24px}.wh-hero__mark{font-size:5rem}.wh-hero__graphic p{font-size:1.35rem}.wh-feature-grid,.wh-story-grid,.wh-steps,.wh-filter__grid,.wh-photos{grid-template-columns:1fr}.wh-story{grid-template-columns:95px minmax(0,1fr);gap:12px;padding:10px}.wh-story img{height:100px}.wh-section__head{align-items:start;flex-direction:column}.wh-cta{align-items:stretch;flex-direction:column}.wh-cta .wh-btn{align-self:flex-start}.wh-filter__foot{align-items:start;flex-direction:column;gap:10px}.wh-hero__actions .wh-btn{width:100%}.wh-dialog__photo{max-height:calc(100vh - 230px)}}
@media(prefers-reduced-motion:reduce){.wh-btn{transition:none}}
