.program-about{position:relative;isolation:isolate;color:var(--ink);background:#eeefeb;scroll-margin-top:80px}
.program-stage{display:grid;grid-template-columns:minmax(210px,25fr) minmax(0,42fr) minmax(270px,33fr);grid-template-areas:"heading heading heading" "menu garment information" "footer footer footer";gap:32px 3vw;padding:54px var(--gutter) 32px;max-width:2000px;margin:auto}
.program-heading{grid-area:heading;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-bottom:30px;border-bottom:1px solid #c7cbc6}
.program-heading h2{font-family:Archivo,Switzer,sans-serif;font-size:clamp(40px,4.9vw,80px);font-weight:650;line-height:.99;letter-spacing:-.055em;max-width:16ch}
.program-heading>p{font-size:clamp(16px,1.4vw,21px);line-height:1.45;color:#435149;padding-bottom:3px}
.program-menu{grid-area:menu;align-self:center;position:relative;z-index:2}
.program-menu-title{font-size:14px;line-height:1.5;font-weight:500;margin-bottom:20px;color:#435149}
.program-menu-links{display:flex;flex-direction:column;gap:3px}
.program-menu-links a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:12px 12px 12px 0;border-bottom:1px solid #c7cbc6;font-size:clamp(15px,1.32vw,20px);line-height:1.3;letter-spacing:-.02em;transition:color .2s,background .2s}
.program-menu-links a>span{position:relative;z-index:1;transition:transform .35s var(--ease)}
.program-menu-links a svg{width:19px;height:19px;opacity:0;transform:translateX(-6px);transition:transform .3s var(--ease),opacity .3s}
.program-menu-links a[aria-selected=true]{color:#f4f3ef;background:var(--ink);border-bottom-color:var(--ink)}
.program-menu-links a[aria-selected=true]>span{transform:translateX(12px)}
.program-menu-links a[aria-selected=true] svg,.program-menu-links a:hover svg{opacity:1;transform:none}
.program-menu-links a:hover:not([aria-selected=true]){background:#e1e5de}
.program-menu-links a:focus-visible{outline-offset:3px;z-index:3}
.program-garment{grid-area:garment;position:relative;min-width:0;min-height:480px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:74px}
.program-garment::before{content:"";position:absolute;left:8%;right:8%;bottom:65px;border-top:1px solid #c7cbc6;transform:scaleX(.85)}
.program-garment-type{position:absolute;z-index:0;left:50%;top:25%;transform:translateX(-50%);font-family:Archivo,Switzer,sans-serif;font-size:clamp(55px,6.4vw,120px);font-weight:700;letter-spacing:-.06em;line-height:.87;color:#cbd1c9;white-space:nowrap;pointer-events:none}
.program-model{position:absolute;inset:-30px -12% 64px;min-height:280px;pointer-events:none}
.program-model-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:opacity .25s}
.program-model canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity .25s}
.program-model.model-ready canvas{opacity:1}
.program-model.model-ready .program-model-poster{opacity:0}
.program-garment figcaption{position:absolute;left:0;right:0;bottom:39px;text-align:center;font-size:12px;line-height:1.5;color:#435149}
.program-model-controls{position:absolute;left:0;right:0;bottom:-5px;display:flex;align-items:center;justify-content:center;gap:16px;z-index:3}
.program-model-controls button{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:12px;min-height:44px;padding:8px 0;background:transparent;border-bottom:1px solid #87968b;line-height:1.4}
.program-model-controls button[hidden]{display:none}
.program-model-controls svg{width:17px;height:17px}
.program-information{grid-area:information;align-self:center;position:relative;z-index:2;min-width:0;border-top:1px solid #8c998d;padding-top:25px}
.program-panel{scroll-margin-top:110px}
.program-panel+.program-panel{padding-top:40px;margin-top:35px;border-top:1px solid #c7cbc6}
.program-panel h3{font-size:clamp(29px,2.7vw,43px);line-height:1.05;font-weight:400;letter-spacing:-.04em;margin-bottom:23px;max-width:19ch}
.program-panel p{font-size:clamp(15px,1.12vw,18px);line-height:1.65;color:#435149;max-width:46ch;margin-top:15px}
.program-panel p.program-panel-lead{font-size:clamp(17px,1.35vw,21px);line-height:1.5;color:var(--ink);margin-bottom:20px}
.program-panel p.program-panel-note{font-size:13px;line-height:1.6;color:#435149;padding-top:17px;border-top:1px solid #c7cbc6;margin-top:25px;max-width:48ch}
.program-enhanced .program-panel{border-top:0;padding-top:0;margin-top:0}
.program-enhanced .program-information{min-height:420px}
.program-footer{grid-area:footer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:25px;border-top:1px solid #c7cbc6}
.program-footer>p{display:flex;flex-direction:column;font-size:12px;line-height:1.6;color:#435149}
.program-footer>p strong{font-weight:500;color:var(--ink);font-size:15px}
.program-footer .text-button{font-size:14px;gap:30px}
.program-footer .button{min-width:190px}
.program-copy-visual{display:inline}
.program-copy-word{--program-word-p:clamp(0,calc((var(--program-copy-p,1)*var(--program-copy-count,1) - var(--program-word-start,0))/var(--program-word-length,1)),1);display:inline-block;transform:scale(calc(.94 + var(--program-word-p)*.06));transform-origin:left 75%}
.program-copy-char{opacity:clamp(0,calc(var(--program-copy-p,1)*var(--program-copy-count,1) - var(--program-char,0)),1)}
.program-panel h3{font-size:clamp(34px,3.5vw,56px);letter-spacing:-.04em;line-height:1.02}
.program-panel h3 .program-copy-visual{display:block;transform:scale(calc(.88 + var(--program-copy-p,1)*.12));transform-origin:left center}
#program-overview h3{font-size:clamp(32px,2.8vw,44px);line-height:1.08}
.program-panel p.program-panel-lead{font-size:clamp(22px,1.9vw,30px);line-height:1.3}
.program-enhanced .program-panel.is-entering{animation:none}
@media(min-width:1001px){.program-menu{align-self:start;padding-top:clamp(60px,5vw,90px)}}
@media(min-width:1001px) and (prefers-reduced-motion:no-preference){
  .program-enhanced .program-heading{transform:translate3d(0,calc((1 - var(--program-enter,1))*22px),0)}
  .program-enhanced .program-menu{transform:translate3d(calc((1 - var(--program-enter,1))*-26px),0,0)}
  .program-enhanced .program-garment{transform:translate3d(0,calc((1 - var(--program-enter,1))*42px),0)}
  .program-enhanced .program-information{transform:translate3d(calc((1 - var(--program-enter,1))*26px),0,0)}
  .program-enhanced .program-panel.is-entering{animation:program-panel-enter .35s var(--ease) both}
  @keyframes program-panel-enter{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:none}}
}
@media(min-width:1900px){.program-stage{padding-top:70px;gap:45px 3vw}.program-garment{min-height:570px}.program-enhanced .program-information{min-height:460px}.program-panel p{font-size:19px}.program-panel p.program-panel-note{font-size:14px}}
@media(min-width:1001px) and (max-width:1180px){.program-stage{grid-template-columns:minmax(190px,25fr) minmax(0,37fr) minmax(270px,38fr);gap:30px 2vw}.program-menu-links a{font-size:15px}.program-panel p{font-size:15px}.program-heading h2{font-size:54px}.program-model{inset:-10px -18% 64px}}
@media(max-width:1000px){
  .program-about{scroll-margin-top:76px}
  .program-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"heading heading" "garment menu" "information information" "footer footer";gap:28px 32px;padding-top:38px}
  .program-heading{padding-bottom:25px;gap:24px}
  .program-heading h2{font-size:clamp(36px,5.8vw,58px)}
  .program-heading>p{font-size:15px}
  .program-garment{min-height:390px}
  .program-garment-type{font-size:clamp(65px,9vw,95px)}
  .program-model{inset:-25px -7% 64px}
  .program-menu-links a{font-size:17px}
  .program-panel{max-width:720px}
  .program-panel h3{font-size:36px;max-width:none}
  .program-panel h3 br{display:none}
  .program-panel p{font-size:17px;max-width:67ch}
  .program-enhanced .program-information{min-height:0;padding-top:25px}
  .program-footer{flex-wrap:wrap}
  .program-footer .button{min-width:165px;gap:28px}
}
@media(max-width:600px){
  .program-stage{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "garment" "menu" "information" "footer";gap:24px;padding:36px 20px 30px}
  .program-heading{display:block;padding-bottom:24px}
  .program-heading h2{font-size:clamp(32px,8.8vw,49px);line-height:1.03;letter-spacing:-.045em}
  .program-heading>p{margin-top:19px;font-size:16px;line-height:1.5}
  .program-heading>p br{display:none}
  .program-garment{min-height:365px;margin-top:-7px}
  .program-model{inset:-26px -3% 64px}
  .program-garment-type{font-size:clamp(66px,18vw,100px);top:23%}
  .program-menu-title{font-size:13px;margin-bottom:13px}
  .program-menu-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
  .program-menu-links a:first-child{grid-column:1/-1}
  .program-menu-links a{font-size:14px;min-height:50px;gap:7px;padding-block:11px}
  .program-menu-links a svg{width:15px;height:15px}
  .program-menu-links a[aria-selected=true]>span{transform:translateX(8px)}
  .program-menu-links a[aria-selected=true]{padding-right:8px}
  .program-information{padding-top:24px;margin-top:4px}
  .program-panel h3{font-size:33px;line-height:1.08;margin-bottom:20px}
  .program-panel p{font-size:16px;line-height:1.7;margin-top:15px}
  .program-panel p.program-panel-lead{font-size:19px;line-height:1.5}
  .program-panel p.program-panel-note{font-size:13px;margin-top:22px;padding-top:18px}
  .program-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:19px;padding-top:25px;margin-top:5px}
  .program-footer .text-button{justify-self:start;gap:34px}
  .program-footer .button{width:100%;min-width:0}
}
@media(max-width:355px){.program-stage{padding-inline:16px}.program-heading h2{font-size:31px}.program-garment{min-height:330px}.program-menu-links{gap:3px 8px}.program-menu-links a{font-size:13px}.program-panel h3{font-size:30px}}
@media(max-width:1000px){.program-panel h3{font-size:clamp(34px,4.9vw,48px)}.program-panel p.program-panel-lead{font-size:25px}}
@media(max-width:600px){.program-panel h3{font-size:clamp(33px,9vw,44px)}.program-panel p.program-panel-lead{font-size:24px}}
@media(prefers-reduced-motion:reduce){.program-copy-word,.program-panel h3 .program-copy-visual{transform:none}.program-copy-char{opacity:1}}
@media(prefers-reduced-motion:reduce){.program-about *{animation:none!important;transition:none!important}.program-heading,.program-menu,.program-garment,.program-information{transform:none!important}}
