/* Ladera · Programas de bienestar y orientador. Usa los tokens existentes de styles.css. */
.programs{background:var(--paper);color:var(--ink)}
.programs .prg-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:3rem;align-items:end;margin-bottom:3rem}
.programs .prg-head h2{font-size:clamp(2.8rem,5.6vw,5.2rem);margin:.2rem 0 0}
.programs .prg-head>p{margin:0;color:#625950;font-size:1.08rem;max-width:48ch}
.prg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.prg-card{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(24rem,34vw,32rem);padding:1.7rem;border:0;background:var(--ink);color:#fff;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;gap:.5rem}
.prg-card img{position:absolute;inset:0;z-index:-2;transition:transform .8s var(--ease)}
.prg-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(27,23,20,.05) 25%,rgba(27,23,20,.86) 100%)}
.prg-card:hover img,.prg-card:focus-visible img{transform:scale(1.04)}
.prg-n{font-size:.69rem;text-transform:uppercase;letter-spacing:.24em;font-weight:650;color:#e4c6ae}
.prg-card strong{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3vw,2.8rem);line-height:1.02;letter-spacing:-.02em}
.prg-card em{font-style:normal;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.82)}
.prg-go{margin-top:.7rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:650;border-bottom:1px solid rgba(255,255,255,.5);align-self:flex-start;padding-bottom:.2rem}
.prg-help{margin:2rem 0 0;color:#625950}
.prg-help .text-link{color:var(--ink);padding:0 0 0 .4rem}
/* clasificación en Rituales */
.journey-programs{margin:.55rem 0 0;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--copper2)!important}
/* vínculos contextuales */
.prg-link{display:block;margin-top:1rem;padding:.5rem 0;border:0;background:transparent;color:#8a624a;font-size:.74rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.prg-link.is-light{color:#fff}
.prg-link:hover{color:var(--copper)}.prg-link.is-light:hover{color:var(--copper2)}
/* diálogo */
.prg-dialog{width:min(1040px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:0;border:0;background:var(--paper);color:var(--ink);overflow:auto}
.prg-dialog::backdrop{background:rgba(17,14,12,.72);backdrop-filter:blur(3px)}
.prg-close{position:sticky;top:.8rem;float:right;margin:.8rem .8rem -3.6rem 0;z-index:5;width:44px;height:44px;border-radius:50%;border:0;background:rgba(27,23,20,.7);color:#f3eee6;font-size:1.7rem;line-height:1;cursor:pointer}
.prg-close:hover,.prg-close:focus-visible{background:var(--ink)}
.prg-wrap{display:grid;grid-template-columns:.62fr 1.38fr;min-height:30rem}
.prg-aside{background:var(--ink);color:#fff;padding:clamp(2rem,4vw,3.5rem);display:flex;flex-direction:column}
.prg-aside h2{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;font-size:clamp(2.3rem,4vw,3.8rem);margin:.3rem 0 1rem;line-height:1}
.prg-phrase{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;color:var(--copper2);margin:0 0 1.2rem}
.prg-inner{font-family:var(--serif);font-style:italic;font-size:1.3rem;margin:0;color:rgba(255,255,255,.86)}
.prg-main{padding:clamp(2rem,4vw,3.5rem)}
.prg-intent{font-family:var(--serif);font-size:1.5rem;line-height:1.25;margin:0 0 1rem}
.prg-note{color:#625950;font-size:.95rem;margin:0 0 1.6rem}
.prg-h,.prg-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:#8a624a;margin:0 0 .8rem;font-family:var(--sans);font-weight:650}
.prg-q{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.05;margin:0 0 1.6rem}
.prg-list{list-style:none;margin:0 0 1.4rem;padding:0;border-top:1px solid var(--line)}
.prg-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.prg-row-t strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.2rem}
.prg-row-t span{font-size:.82rem;color:#6d6359}
.prg-mini{border:1px solid var(--line);background:transparent;color:var(--ink);padding:.7rem 1rem;min-height:44px;font-size:.68rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.prg-mini:hover{background:var(--ink);color:#fff}
.prg-ctx{font-size:.88rem;color:#625950;margin:0 0 1.4rem}
.prg-ctx .text-link{color:var(--ink);padding:0;font-size:.72rem}
.prg-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.2rem 0}
.button-ghost-dark{background:transparent;border-color:var(--ink);color:var(--ink)}
.button-ghost-dark:hover{background:var(--ink);color:#fff}
.prg-foot{font-size:.8rem;color:#625950;margin:0}.prg-foot .text-link{color:var(--ink);padding:0}
.prg-opts{display:grid;gap:.6rem;margin-bottom:1.6rem}
.prg-opt{width:100%;text-align:left;padding:1.05rem 1.2rem;min-height:56px;border:1px solid var(--line);background:#fff;font-family:var(--serif);font-size:1.25rem;cursor:pointer;transition:.2s}
.prg-opt:hover,.prg-opt:focus-visible,.prg-opt.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.prg-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}
.prg-results{display:grid;gap:1rem;margin-bottom:1rem}
.prg-res{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.5fr);background:#fff;border:1px solid var(--line)}
.prg-res-img{position:relative;min-height:200px;background:var(--brown)}
.prg-res-img img{position:absolute;inset:0}
.prg-ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--brown),#4a3528);color:#e4c6ae;text-align:center;padding:1rem}
.prg-ph-name{font-family:var(--serif);font-size:1.3rem}
.prg-ph-note{display:none;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;border:1px dashed #e4c6ae;padding:.3rem .5rem}
.prg-preview .prg-ph-note{display:block}
.prg-res-b{padding:1.2rem 1.3rem}
.prg-res-b h4{margin:0 0 .4rem;font-family:var(--serif);font-weight:400;font-size:1.6rem;line-height:1.05}
.prg-why{margin:0 0 .8rem;color:#554b43;font-size:.92rem}
.prg-facts{display:grid;gap:.35rem;margin:0 0 .9rem}
.prg-facts div{display:grid;grid-template-columns:5.6rem 1fr;gap:.6rem;font-size:.84rem}
.prg-facts dt{color:#8a624a;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;padding-top:.15rem;font-weight:650}
.prg-facts dd{margin:0}
.prg-small{font-size:.8rem;color:#6d6359;margin:0 0 .8rem}
.prg-btns{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.prg-wa{font-size:.7rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:#8a624a;text-underline-offset:4px;padding:.8rem .3rem}
.prg-dialog .button-small{padding:.8rem 1rem;min-height:44px}
@media(max-width:900px){
 .programs .prg-head{grid-template-columns:1fr;gap:1rem}
 .prg-wrap{grid-template-columns:1fr;min-height:0}
 .prg-aside{padding:2.4rem 1.3rem 1.4rem}.prg-inner{margin-top:.2rem}
}
@media(max-width:640px){
 .prg-grid{grid-template-columns:1fr;gap:.7rem}
 .prg-card{min-height:15.5rem;padding:1.3rem}
 .prg-card strong{font-size:2.2rem}
 .prg-dialog{width:100%;max-height:100dvh;height:100dvh;max-width:none}
 .prg-res{grid-template-columns:1fr}.prg-res-img{min-height:170px}
 .prg-row{align-items:flex-start;flex-direction:column;gap:.5rem}
 .prg-main{padding:1.4rem 1.1rem 2rem}
 .prg-btns .button,.prg-btns .prg-wa{flex:1 1 100%;text-align:center}
}

.prg-card[data-program=calma] img{object-position:50% 50%}.prg-card[data-program=recuperacion] img{object-position:50% 25%}
