/* ALTR programs, program detail, checkout and confirmation. Only what altr.css does not already cover. */

.altr .prg-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.altr .prg-stack{display:flex;flex-direction:column;gap:24px}
.altr .prg-stack-l{gap:32px}
.altr .prg-h1{max-width:15ch;font-size:clamp(42px,7vw,100px)}
.altr .prg-h1s{font-size:clamp(40px,5.4vw,68px);margin-bottom:0}
.altr .prg-state{padding:clamp(36px,6vw,80px) 0 clamp(48px,6vw,96px)}
.altr .prg-state .prg-h1s,.altr .prg-fullgrid .prg-h1s{font-size:clamp(44px,6.4vw,92px)}
.altr .prg-panel-h{font-size:clamp(30px,3.4vw,46px);margin-bottom:32px}

/* steps (how a program works, what happens next) */
.altr .prg-step{border-top:2px solid #212221;padding-top:24px;position:relative;display:flex;flex-direction:column;gap:12px}
.altr .prg-dot{position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:#bdd753;border:2px solid #212221}

/* program cards */
.altr .prg-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.altr .prg-card-title{font-weight:300;font-size:clamp(32px,4vw,56px);line-height:1.05;letter-spacing:-.035em}
.altr .prg-card-title a{text-decoration:none;color:inherit}
.altr .prg-card-title a:hover{text-decoration:underline;text-decoration-color:#bdd753;text-underline-offset:8px;text-decoration-thickness:2px}
.altr .prg-card-copy{display:flex;flex-direction:column;gap:14px}
.altr .prg-card-tag{color:#212221;font-size:clamp(20px,2vw,26px);line-height:1.35}
.altr .prg-card-foot{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:flex-end;justify-content:space-between}
.altr .prg-card-date{font-weight:300;font-size:clamp(26px,2.8vw,38px);letter-spacing:-.025em;line-height:1.15}
.altr .prg-portrait{object-fit:cover;border-style:solid;border-color:#464a4e;width:72px;height:72px}
.altr .pwide[hidden]{display:none}
.altr .prg-chips{display:flex;flex-wrap:wrap;gap:8px}
.altr .prg-chips .chip::before{display:none}
.altr .prg-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.altr .prg-filters .btn.is-on{background:#212221;color:#fefffa}
.altr .pwide .prg-vh{position:absolute}

/* program hero facts bar */
.altr .prg-factbar{margin-top:44px;border-radius:8px;padding:clamp(20px,3vw,32px) clamp(20px,3vw,40px);display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px 32px}
.altr .prg-factbar dd{margin:0;font-weight:500}
.altr .prg-factbar dt{color:#c8cbc2}

/* practitioners */
.altr .prg-more{margin-top:clamp(56px,7vw,96px)}
.altr .prg-photo-img{width:100%;height:100%;object-fit:cover}
.altr .prg-photo-ph{display:flex;flex-direction:column;align-items:center;gap:14px}
.altr .prg-years{display:grid;grid-template-columns:auto 1fr;gap:24px 40px;align-items:center;padding:24px 0;border-top:1px solid #464a4e;border-bottom:1px solid #464a4e}
.altr .prg-years-n{font-weight:200;font-size:clamp(44px,5vw,72px);line-height:1;letter-spacing:-.04em}
.altr .prg-quote{margin:0;border-left:4px solid #bdd753;padding-left:24px}
.altr .prg-bio{color:#d5d8cd}
.altr .prg-bio p+p{margin-top:1em}

/* phases */
.altr .prg-phases{display:flex;flex-direction:column}
.altr .prg-phases li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px 16px;padding:22px 0;border-top:1px solid #cfd3c2}
.altr .prg-phase-n{font-weight:200;font-size:36px;line-height:1;letter-spacing:-.03em;color:#8f8e8e}
.altr .prg-leave{display:flex;flex-direction:column;gap:22px}
.altr .prg-leave li{display:flex;gap:16px}

/* about carousel: without JS the cards scroll sideways; JS adds is-js and takes over */
.altr .ab:not(.is-js){overflow-x:auto}
.altr .prg-ab-body{display:flex;flex-direction:column;gap:20px}
.altr .ab-card .label{color:#212221}
.altr .c2 .label{color:#c8cbc2}
.altr .c4 .label{color:#d5d8cd}
.altr .ab-card .small p+p{margin-top:.8em}
.altr .ab-ctrl[hidden]{display:none}

/* chairs: held chairs are outlined in blue, taken chairs are filled */
.altr .chair.held{color:#3680fe}
.altr .chair.held .fl{fill:none}
.altr .chair.held svg{stroke-dasharray:5 3}

/* checkout */
.altr .prg-checkout{padding:clamp(36px,6vw,80px) 0 clamp(48px,6vw,96px)}
.altr .prg-narrow{max-width:720px}
.altr .prg-checkout .wrap.prg-narrow{max-width:720px}
.altr .prg-checkout .prg-h1s{margin-bottom:32px}
.altr .prg-summary{border:1.5px solid #212221;border-radius:8px;padding:24px;background:#f1f3e6;display:flex;flex-direction:column;gap:6px;margin-bottom:28px}
.altr .prg-choose{border:0;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:12px}
.altr .prg-choose legend{font-size:15px;font-weight:500;padding:0;margin-bottom:12px}
.altr .prg-hold{margin-bottom:24px;padding:12px 16px;border-left:3px solid #bdd753;background:#fefffa}
.altr .prg-err{color:#8a2a1a;font-weight:500}
.altr .inp[aria-invalid="true"]{border-color:#8a2a1a}
.altr .prg-msg{min-height:1.5em}
.altr .prg-msg.is-error{color:#8a2a1a;font-weight:500}
.altr .prg-pay{min-height:58px;font-size:17px}
.altr .prg-pay:disabled{opacity:.7;cursor:progress}
.altr .prg-paynote{padding-top:16px;border-top:1px solid #dfe2d3}
.altr .check-wrap{display:flex;flex-direction:column;gap:6px}
.altr .prg-fullgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,80px);align-items:center;padding:clamp(4px,3vw,40px) 0 clamp(24px,3vw,48px)}
.altr .prg-checkout:has(.prg-fullgrid) .wrap{max-width:1240px}
.altr .prg-wl{margin-top:8px}
.altr .prg-wl.is-done .field,.altr .prg-wl.is-done .check,.altr .prg-wl.is-done button{display:none}
.altr .prg-wl .form-msg{font-weight:500}

/* confirmation */
.altr .prg-confirmed{padding:clamp(40px,6vw,88px) 0 clamp(56px,7vw,112px)}
.altr .prg-reserved{border:1.5px dashed #8f8e8e;border-radius:8px;padding:32px;display:flex;gap:28px;align-items:center;background:#f1f3e6}

@media (max-width:900px){
	.altr .prg-fullgrid{grid-template-columns:minmax(0,1fr)}
	.altr .prg-years{grid-template-columns:minmax(0,1fr);gap:8px}
	.altr .prg-reserved{padding:24px;gap:20px}
}

@media (prefers-reduced-motion:reduce){
	.altr .ab-track{transition:none}
}
