/* One duration selector, configured for the two programs with variable length. */
.program-duration-selector { padding: 55px 0 70px; scroll-margin-top: 90px; }
.program-duration-selector .duration-container { width: min(1160px, calc(100% - 80px)); }
.duration-heading { text-align: center; margin-bottom: 44px; }
.duration-heading h2 { margin: 12px 0 19px; color: #f8f3ec; font: 500 68px/1.1 'Cormorant Garamond',Georgia,serif; text-shadow: 0 2px 18px #0005; }
.duration-heading > p { color: #d6dfea; font: 400 23px/1.4 'Cormorant Garamond',Georgia,serif; }
.duration-heading .program-gold-divider { width: min(430px, 80%); }
.duration-options { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: 88px; max-width: 1088px; min-width: 0; margin: 0 auto; padding: 0; border: 0; }
.duration-sr-only,.duration-radio { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.program-duration-selector .duration-card { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; min-width: 0; min-height: 400px; padding: 25px 32px 30px; border: 1px solid #bedff5b3; border-radius: 20px; background: linear-gradient(145deg,#04162bfa,#091f35f5); box-shadow: 0 15px 45px #0004,inset 0 1px 15px #ffffff14,0 0 15px #a6d9ff24; text-align: center; }
.duration-card::before { content: ''; position: absolute; inset: -2px; border-radius: inherit; z-index: -1; background: url('program-frost.svg') center / 100% 100%; opacity: .9; pointer-events: none; }
.duration-card::after { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: url('duration-frost.svg') center / 100% 100% no-repeat; opacity: .75; pointer-events: none; }
.duration-card-select { position: absolute; inset: 0; border-radius: inherit; z-index: 1; cursor: pointer; }
.duration-selected-indicator { position: absolute; top: 12px; right: 17px; color: #ffe4a6; font: 500 12px/1.3 Manrope,sans-serif; opacity: 0; padding: 5px 9px; border: 1px solid #e9bd7380; border-radius: 999px; background: #071a2c; }
.duration-radio:checked + .duration-card-select .duration-selected-indicator { opacity: 1; }
.duration-card:has(.duration-radio:checked) { border-color: #f4cf82; box-shadow: 0 0 0 1px #e9bd7370,0 0 25px #e9bd7333,inset 0 1px 15px #ffffff14; }
.duration-card:has(.duration-radio:focus-visible) { outline: 3px solid #f6d79a; outline-offset: 6px; }
.duration-icon-ornament { position: relative; display: flex; justify-content: center; align-items: center; width: min(290px,100%); height: 74px; flex-shrink: 0; margin: 0 0 2px; color: #e9bd73; pointer-events: none; }
.duration-icon-ornament::before,.duration-icon-ornament::after { content: ''; position: absolute; width: calc(50% - 44px); height: 42px; background: url('duration-curl.svg') center / 100% 100% no-repeat; }
.duration-icon-ornament::before { left: 0; }
.duration-icon-ornament::after { right: 0; transform: scaleX(-1); }
.duration-icon-circle { display: flex; align-items: center; justify-content: center; width: 74px; height: 74px; border: 1px solid #e9bd73; border-radius: 50%; box-shadow: 0 0 12px #e9bd733b,inset 0 0 10px #e9bd731f; }
.duration-icon-circle > img,.duration-icon-circle > .line-icon { width: 40px; height: 40px; stroke-width: 1.2; }
.program-duration-selector .duration-card h3 { margin: 0 0 8px; font: 500 54px/1.05 'Cormorant Garamond',Georgia,serif; color: #fbf1dd; pointer-events: none; }
.program-duration-selector .duration-card > p { max-width: 385px; margin: 0; color: #e1e5eb; font: 400 21px/1.3 'Cormorant Garamond',Georgia,serif; pointer-events: none; }
.duration-card-divider { display: flex; align-items: center; justify-content: center; gap: 8px; width: min(225px,85%); margin: auto 0 15px; padding-top: 17px; color: #e9bd73; font-size: 16px; line-height: 1; pointer-events: none; }
.duration-card-divider span { flex: 1; height: 1px; background: linear-gradient(90deg,transparent,#e9bd73a6); }
.duration-card-divider span:last-child { transform: rotate(180deg); }
.program-duration-selector .duration-card .duration-card-button { position: relative; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: min(326px,100%); min-height: 61px; margin: 0; padding: 11px 22px; gap: 25px; border: 1px solid #e9bd73; border-radius: 999px; background: linear-gradient(130deg,#10253b,#031322 70%); box-shadow: 0 0 14px #e9bd7329,inset 0 1px 4px #c6eaff40; color: #fff6e9; font: 500 24px/1.25 'Cormorant Garamond',Georgia,serif; }
.duration-card-button > span { color: #e9bd73; font: 400 26px/1 Georgia,serif; }
.duration-central-divider { position: absolute; left: 50%; top: 8px; bottom: 8px; width: 1px; background: linear-gradient(transparent,#e9bd738c 12%,#e9bd738c 88%,transparent); pointer-events: none; }
.duration-central-divider img { position: absolute; top: 50%; left: 50%; width: 28px; max-width: none; height: 38px; padding-block: 5px; transform: translate(-50%,-50%); background: #061a2c; }
.duration-options:not([data-option-count="2"]) .duration-central-divider { display: none; }
.duration-options:not([data-option-count="2"]) { gap: 28px; }
@media (prefers-reduced-motion:no-preference) {
 .duration-card,.duration-icon-circle,.duration-card-button,.duration-card-button > span { transition: transform .3s ease,border-color .3s ease,box-shadow .3s ease; }
 .duration-selected-indicator { transition: opacity .25s ease; }
 .program-duration-selector.duration-pending .duration-heading > *,.program-duration-selector.duration-pending .duration-card,.program-duration-selector.duration-pending .duration-central-divider { opacity: 0; transform: translateY(24px); transition: opacity .8s ease,transform .8s ease; }
 .program-duration-selector.duration-pending.is-revealed .duration-heading > *,.program-duration-selector.duration-pending.is-revealed .duration-card,.program-duration-selector.duration-pending.is-revealed .duration-central-divider { opacity: 1; transform: none; }
 .program-duration-selector.is-revealed .duration-heading h2 { transition-delay: .08s; }
 .program-duration-selector.is-revealed .duration-heading p { transition-delay: .14s; }
 .program-duration-selector.is-revealed .duration-card { transition-delay: .2s; }
 .program-duration-selector.is-revealed .duration-central-divider { transition-delay: .3s; }
 @media (hover:hover) {
  .program-duration-selector .duration-card:hover { transform: translateY(-5px); border-color: #e2f1ff; box-shadow: 0 15px 40px #0005,0 0 22px #e9bd7338; }
  .duration-card:hover .duration-icon-circle { box-shadow: 0 0 18px #e9bd7360; }
  .duration-card-button:hover > span { transform: translateX(4px); }
 }
}
@media (max-width:1199px) {
 .program-duration-selector .duration-container { width: calc(100% - 64px); }
 .duration-heading h2 { font-size: 58px; }
 .duration-heading > p { font-size: 21px; }
 .duration-options { gap: 48px; }
 .program-duration-selector .duration-card { padding: 24px 24px 28px; }
 .program-duration-selector .duration-card h3 { font-size: 49px; }
 .program-duration-selector .duration-card > p { font-size: 20px; }
 .program-duration-selector .duration-card .duration-card-button { font-size: 22px; gap: 18px; padding-inline: 16px; }
}
@media (max-width:850px) {
 .duration-options { max-width: 520px; grid-template-columns: minmax(0,1fr); gap: 28px; }
 .duration-central-divider { display: none; }
}
@media (max-width:767px) {
 .program-duration-selector { padding: 35px 0 45px; }
 .program-duration-selector .duration-container { width: calc(100% - 36px); }
 .duration-heading { margin-bottom: 30px; }
 .duration-heading h2 { font-size: 43px; margin-block: 13px 16px; }
 .duration-heading > p { font-family: Manrope,sans-serif; font-size: 16px; line-height: 1.55; }
 .program-duration-selector .duration-card { min-height: 355px; padding: 28px 23px 26px; }
 .duration-icon-ornament,.duration-icon-circle { height: 62px; }
 .duration-icon-circle { width: 62px; }
 .duration-icon-circle > img,.duration-icon-circle > .line-icon { width: 34px; height: 34px; }
 .duration-icon-ornament { width: 260px; max-width: 100%; margin-bottom: 8px; }
 .program-duration-selector .duration-card h3 { font-size: 46px; }
 .program-duration-selector .duration-card > p { font-family: Manrope,sans-serif; font-size: 16px; line-height: 1.55; }
 .duration-card-divider { padding-top: 19px; }
 .program-duration-selector .duration-card .duration-card-button { width: 100%; font-size: 22px; min-height: 57px; box-shadow: 0 0 9px #e9bd731a; }
 .duration-selected-indicator { top: 9px; right: 12px; font-size: 10px; padding: 3px 7px; }
 .duration-card::after { opacity: .55; }
}
@media (prefers-reduced-motion:reduce) {
 .program-duration-selector *, .program-duration-selector *::before,.program-duration-selector *::after { animation: none !important; transition: none !important; }
}
