/* More motion for the approved Patio; actions remain ordinary links and buttons. */
.school-site.patio-school .top-navigation #school-navigation{display:flex;align-items:flex-start;flex-wrap:wrap;gap:20px 30px;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-12px) scaleY(.96);transform-origin:90% 0;clip-path:inset(0 0 100%);transition:opacity .2s,transform .28s cubic-bezier(.2,.7,.3,1),clip-path .28s cubic-bezier(.2,.7,.3,1),visibility 0s .28s;will-change:auto}
.school-site.patio-school .top-navigation #school-navigation.open{visibility:visible;opacity:1;pointer-events:auto;transform:none;clip-path:inset(0);transition:opacity .2s,transform .3s cubic-bezier(.2,.7,.3,1),clip-path .3s cubic-bezier(.2,.7,.3,1),visibility 0s}
.school-site.patio-school #school-navigation.open>a,.school-site.patio-school #school-navigation.open>details{animation:patio-menu-arrive .35s both}
.school-site.patio-school #school-navigation.open>:nth-child(2){animation-delay:25ms}.school-site.patio-school #school-navigation.open>:nth-child(3){animation-delay:50ms}.school-site.patio-school #school-navigation.open>:nth-child(4){animation-delay:75ms}.school-site.patio-school #school-navigation.open>:nth-child(5){animation-delay:100ms}.school-site.patio-school #school-navigation.open>:nth-child(6){animation-delay:125ms}.school-site.patio-school #school-navigation.open>:nth-child(7){animation-delay:150ms}
@keyframes patio-menu-arrive{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:none}}
.patio-cascade{display:inline-block}.patio-cascade-visual{display:inline;white-space:normal}.patio-cascade-letter{display:inline-block}
.patio-cascade-word{display:inline-block;white-space:nowrap}
.patio-school #school-navigation :is(a,summary):hover .patio-cascade-letter,.patio-school #school-navigation :is(a,summary):focus-visible .patio-cascade-letter{animation:patio-letter-wave .48s ease-out both;animation-delay:calc(var(--letter-index)*13ms)}
@keyframes patio-letter-wave{0%,100%{transform:translateY(0)}45%{transform:translateY(-4px);color:#bc493b}}
.patio-menu-glyph{display:inline-block;position:relative;width:24px;height:20px;flex-shrink:0}
.patio-menu-glyph i{position:absolute;left:0;width:24px;height:2px;border-radius:2px;background:currentColor;transition:transform .3s,opacity .2s,top .3s}
.patio-menu-glyph i:first-child{top:2px}.patio-menu-glyph i:nth-child(2){top:9px}.patio-menu-glyph i:last-child{top:16px}
.patio-menu-glyph.is-open i:first-child{top:9px;transform:rotate(45deg)}.patio-menu-glyph.is-open i:nth-child(2){opacity:0;transform:scaleX(.1)}.patio-menu-glyph.is-open i:last-child{top:9px;transform:rotate(-45deg)}
.school-site.patio-school .top-navigation .school-menu{gap:12px}
.patio-school .patio-scroll-tools{position:relative;z-index:100;pointer-events:none}
.patio-school .patio-reading-progress{position:fixed;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#e5c873 0 65%,#bc493b);transform:scaleX(var(--patio-reading-progress,0));transform-origin:0 50%;z-index:105;pointer-events:none;transition:transform .08s linear}
.patio-school .patio-backtop{position:fixed;left:22px;bottom:26px;width:52px;height:52px;padding:4px;border:1px solid #b3c49d;border-radius:50%;background:#fff9e6;color:#07543e;box-shadow:0 6px 20px #053e321c;visibility:hidden;opacity:0;transform:translateY(15px);pointer-events:none;cursor:pointer;transition:opacity .25s,transform .25s,visibility 0s .25s}
.patio-school .patio-scroll-tools[data-scrolled=true] .patio-backtop{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:opacity .25s,transform .25s,visibility 0s}
.patio-backtop svg{width:100%;height:100%;fill:none}.patio-reading-track{stroke:#d8e1c5;stroke-width:1.5}.patio-reading-ring{stroke:#bc493b;stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--patio-reading-progress,0));transform:rotate(-90deg);transform-origin:20px 20px}.patio-up-arrow{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.patio-school .patio-backtop:hover{transform:translateY(-4px);background:#f3e9ba}
.patio-school .patio-accordion{position:relative;margin:0;border:0;border-bottom:1px solid #c3cfb0;border-radius:0;padding:0;min-width:0;background:transparent;transition:background .25s}
.patio-school .patio-accordion:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#bc493b;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.patio-school .patio-accordion.is-open:after{transform:scaleX(1)}
.school-site.patio-school .patio-accordion h3{font:600 22px/1.5 'Segoe UI',Arial,sans-serif;letter-spacing:0;margin:0;padding:0;color:inherit}
.patio-school .patio-accordion h3>button{display:flex;align-items:center;justify-content:space-between;gap:22px;width:100%;border:0;background:transparent;color:inherit;text-align:left;font:inherit;padding:24px 4px;cursor:pointer;min-height:65px;border-radius:6px}
.patio-school .patio-accordion h3>button:hover{color:#bc493b}
.patio-accordion-plus{position:relative;display:block;width:26px;height:26px;flex-shrink:0;transition:transform .3s}
.patio-accordion-plus i{position:absolute;left:5px;top:12px;width:16px;height:2px;border-radius:2px;background:currentColor;transition:transform .3s,opacity .3s}
.patio-accordion-plus i+i{transform:rotate(90deg)}.patio-accordion.is-open .patio-accordion-plus{transform:rotate(180deg)}.patio-accordion.is-open .patio-accordion-plus i+i{transform:rotate(90deg) scaleX(0);opacity:0}
.patio-accordion-content{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .34s cubic-bezier(.2,.7,.3,1),opacity .25s}
.patio-accordion.is-open .patio-accordion-content{grid-template-rows:1fr;opacity:1}
.patio-accordion-clip{overflow:hidden;min-height:0}.patio-accordion-body{padding:0 34px 24px 4px}
.school-site.patio-school .patio-accordion-body p{margin:0;max-width:70ch;font-size:var(--site-font-size,20px);line-height:1.7;color:#385b43}
.patio-school .patio-stepper{margin:0 0 34px;padding:0;border:0;background:none;scroll-margin-top:132px}
.patio-stepper ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;margin:0;list-style:none}
.patio-stepper li{position:relative;padding:0;margin:0;min-width:0;text-align:center}
.patio-stepper li:not(:last-child):before,.patio-stepper li:not(:last-child):after{content:'';position:absolute;top:20px;left:calc(50% + 20px);width:calc(100% - 40px);height:2px;background:#d0dbbc;pointer-events:none}
.patio-stepper li:not(:last-child):after{background:#07543e;transform:scaleX(0);transform-origin:left;transition:transform .4s}
.patio-stepper li.is-complete:after{transform:scaleX(1)}
.patio-stepper button,.patio-step-static{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;padding:0;border:0;background:none;color:#617253;font-family:inherit;min-width:0;text-align:center;border-radius:8px}
.patio-stepper button{cursor:pointer;touch-action:manipulation}.patio-stepper button:hover{color:#bc493b}
.patio-step-circle{position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid #bdcba9;border-radius:50%;background:#faf6e5;color:#657c55;font-size:20px;font-weight:600;transition:background .3s,color .3s,border-color .3s,box-shadow .3s}
.patio-step-label{font-size:16px;line-height:1.4;max-width:100%;overflow-wrap:break-word}
.patio-stepper .is-current .patio-step-circle{background:#e5c873;border-color:#d2ad48;color:#164b35;box-shadow:0 0 0 5px #e5c87333}
.patio-stepper .is-current .patio-step-label{font-weight:650;color:#164b35}
.patio-stepper .is-complete .patio-step-circle{background:#07543e;border-color:#07543e;color:white}
.patio-step-circle svg{width:24px;height:24px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.patio-step-circle svg path{stroke-dasharray:1;animation:patio-tick .35s ease-out both}
.patio-quiz-stage{animation:patio-step-enter .3s ease-out;min-width:0}
.school-site.patio-school .school-start .start-copy p{color:var(--block-ink,#385b43)}
.school-site.patio-school .school-start .start-copy .eyebrow,.school-site.patio-school .school-start .start-copy .school-contact{color:var(--block-ink,#07543e)}
@keyframes patio-step-enter{from{opacity:.45;transform:translateX(16px)}to{opacity:1;transform:none}}
.patio-school .patio-success-mark{display:block;width:86px;height:86px;border:0;border-radius:50%;background:#e5edcf;color:#07543e;margin-bottom:24px;animation:patio-success-in .45s ease-out}
.patio-success-mark svg{display:block;width:100%;height:100%;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.patio-success-mark circle{stroke:#a8bf8d;stroke-width:1.3}.patio-success-mark path{stroke-dasharray:1;animation:patio-tick .55s .15s ease-out both}
@keyframes patio-tick{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes patio-success-in{from{opacity:.3;transform:scale(.75) rotate(-12deg)}to{opacity:1;transform:none}}
.patio-submit-spinner{display:inline-block;width:20px;height:20px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;flex-shrink:0;animation:patio-spinner .7s linear infinite}.patio-submit-spinner[hidden]{display:none}
@keyframes patio-spinner{to{transform:rotate(360deg)}}
.patio-school .account-switch button{position:relative;transition:background .25s,color .25s}
.patio-school .account-switch button:after{content:'';position:absolute;bottom:4px;left:15%;right:15%;height:2px;border-radius:2px;background:#bc493b;transform:scaleX(0);transition:transform .3s}
.patio-school .account-switch button[aria-pressed=true]:after{transform:scaleX(1)}
.patio-school .account-description{animation:patio-role-in .3s ease-out}
@keyframes patio-role-in{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}
.patio-school .journal-filters button{position:relative;transition:background .25s,color .25s,box-shadow .25s}
.patio-school .journal-filters button[aria-pressed=true]{box-shadow:inset 0 -3px 0 #e5c873}
.patio-school [data-patio-effect=journal-filter] .story-card{animation:patio-story-in .32s ease-out both}
.patio-school [data-patio-effect=journal-filter] .story-card:nth-child(2){animation-delay:60ms}
@keyframes patio-story-in{from{opacity:.5;transform:translateY(9px)}to{opacity:1;transform:none}}
.patio-school .payment-currency-options label{transition:background .25s,border-color .25s,box-shadow .25s}
.patio-school .payment-currency-options label.selected{box-shadow:inset 0 -3px 0 #e5c873}
@media(max-width:850px){.school-site.patio-school .top-navigation #school-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.school-site.patio-school .top-navigation .school-menu{gap:0}.patio-menu-word{display:none}}
@media(max-width:850px){.patio-school .patio-stepper{scroll-margin-top:162px}}
@media(max-width:650px){
 .patio-school .patio-backtop{left:14px;bottom:20px;width:46px;height:46px}
 .school-site.patio-school .patio-accordion h3{font-size:20px;line-height:1.5}.patio-school .patio-accordion h3>button{gap:16px;padding:21px 3px}.patio-accordion-body{padding-right:12px}
 .patio-stepper{margin-bottom:28px}.patio-step-circle{width:36px;height:36px;font-size:18px}.patio-stepper li:not(:last-child):before,.patio-stepper li:not(:last-child):after{top:18px;left:calc(50% + 18px);width:calc(100% - 36px)}.patio-step-label{font-size:15px;line-height:1.4}
}
@media(prefers-reduced-motion:reduce){
 .patio-school *,.patio-school *:before,.patio-school *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .patio-school .patio-cascade-letter{transform:none!important}.patio-school .patio-backtop{transform:none!important}
 .patio-step-circle svg path,.patio-success-mark path{stroke-dashoffset:0}
 .patio-school .patio-submit-spinner{animation:none!important;border-style:dotted}
}
