/* Readability, navigation restraint and shared interaction treatments. */
body:has(#home){overflow-x:clip}
a>svg:not(.nav-chevron),a>[aria-hidden="true"],.text-link>svg,.text-link>[aria-hidden="true"],.mega-arrow{display:none!important}
#root a [aria-hidden="true"],#root .button>svg,#root .button>[aria-hidden="true"]{display:none!important}
#header.core-mega-header .mega-link-body small{font-size:14px;line-height:1.65}
#header.core-mega-header .mega-kicker,#header.core-mega-header .mega-aside .mega-kicker{font-size:14px;letter-spacing:.08em}
#header.core-mega-header .mega-overview,#header.core-mega-header .mega-shortcut>span{font-size:14px}
#header.core-mega-header .mega-path:hover .mega-link-body,#header.core-mega-header .mega-path:focus-visible .mega-link-body{transform:translateX(5px)}
#header.core-mega-header .mega-link-body{transition:transform .28s ease}
body.fresh-classes #main .class-library{background:#fff!important;color:#000!important;border-block:1px solid #80797340}
body.fresh-classes #main .library-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:28px;margin-bottom:36px}
body.fresh-classes #main .library-heading>p{font-size:17px!important;line-height:1.75;max-width:430px;margin:0}
body.fresh-classes #main .library-tools{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:center;border:0;padding-bottom:25px}
body.fresh-classes #main .class-filters{display:flex;gap:6px;padding:7px;background:#80797314;border:1px solid #80797345;align-items:stretch;flex-wrap:wrap}
body.fresh-classes #main .class-filters button{flex:1;padding:15px 12px;min-height:52px;background:transparent;color:#000!important;font-size:15px!important;border:1px solid transparent!important;transition:background .25s,color .25s,box-shadow .25s,transform .25s}
body.fresh-classes #main .class-filters button:after{display:none}
body.fresh-classes #main .class-filters button[aria-selected=true]{background:#807973!important;color:#fff!important;box-shadow:0 4px 12px #0001}
body.fresh-classes #main .class-filters button:hover{background:#80797326;transform:translateY(-2px)}
body.fresh-classes #main .filter-count{color:inherit!important;opacity:.8;font-size:14px!important}
body.fresh-classes #main .class-search{width:100%;min-width:0;padding:15px 0;color:#000}
body.fresh-classes #main .class-search input{color:#000!important;font-size:16px!important}
body.fresh-classes #main .library-status{border-top:1px solid #80797350;padding-block:18px;min-height:65px}
body.fresh-classes #main .library-status>p,body.fresh-classes #main .clear-filters{font-size:14px!important;color:#514c48!important}
body.fresh-classes #main .class-entry{color:#000!important;border-color:#80797350!important}
body.fresh-classes #main .class-entry summary{padding:25px 18px;transition:background .25s,padding .3s}
body.fresh-classes #main .class-entry summary h3{color:#000!important}
body.fresh-classes #main .class-entry summary:hover,body.fresh-classes #main .class-entry[open] summary{background:#80797312!important;padding-left:24px}
body.fresh-classes #main .class-discipline{color:#514c48!important;font-size:14px!important}
body.fresh-classes #main .class-index{color:#807973!important}
body.fresh-classes #main .entry-body{padding:20px 24px 30px 88px;color:#000!important;background:#8079730c}
body.fresh-classes #main .entry-body p,body.fresh-classes #main .class-notes{font-size:16px!important;line-height:1.75;color:#000!important}
body.fresh-classes #main .expand-icon:before,body.fresh-classes #main .expand-icon:after{background:#807973!important}
body.fresh-classes #main .directory-more{color:#000!important;font-size:15px!important;padding-inline:18px!important}
body.membership-pages #main .mp-pack-result{background:#807973!important;color:#fff!important}
body.membership-pages #main .mp-pack-result :is(p,dt,dd,.eyebrow){color:#fff!important}
body.membership-pages #main .mp-pack-result dl>div{border-color:#ffffff60!important}
body.membership-pages #main .mp-pack-result .button{color:#000!important;background:#fff!important;border-color:#fff!important}
body.membership-pages #main .mp-family-options button[aria-pressed=true]{background:#807973!important;color:#fff!important;border-color:#807973!important}
body.membership-pages #main .mp-pack-result .mp-checkout-instruction{font-size:14px!important;line-height:1.75}
body.membership-pages #main .mp-pack-result .mp-pack-total span{font-size:16px!important;color:#fff!important;opacity:1}
body.membership-pages #main .mp-pack-result :is(dt,dd){font-size:16px!important}
body.membership-pages #main .mp-perks-table td{font-size:16px!important;color:#fff!important;line-height:1.65}
body.membership-pages #main .mp-perks-table tbody th{font-size:16px!important;line-height:1.65}
body.membership-pages #main .mp-perks-table th,body.membership-pages #main .mp-perks-table td{padding-block:23px}
#main :is([role=tab],button[aria-pressed],button[aria-expanded],summary){transition:background-color .25s,color .25s,box-shadow .25s,transform .25s}
@media(hover:hover){#main :is([role=tab],button[aria-pressed],button[aria-expanded]):hover{box-shadow:inset 0 -3px #807973;transform:translateY(-2px)}#main details>summary:hover{box-shadow:inset 0 -2px #807973}}
#main :is([role=tab],button[aria-pressed],button[aria-expanded],summary):focus-visible{outline:2px solid #807973;outline-offset:4px}
#main details[open]>:not(summary){animation:core-disclose .35s cubic-bezier(.16,1,.3,1)}
@keyframes core-disclose{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){body.fresh-classes #main .library-tools{grid-template-columns:1fr}body.fresh-classes #main .library-heading{grid-template-columns:1fr}body.fresh-classes #main .class-search{max-width:none}body.fresh-classes #main .class-filters button{flex:1 1 100px}body.fresh-classes #main .entry-body{padding-left:24px}}
@media(max-width:700px){body.fresh-classes #main .class-entry summary{grid-template-columns:28px minmax(0,1fr) 20px;gap:12px;padding-inline:5px}body.fresh-classes #main .class-entry summary h3{font-size:28px}body.fresh-classes #main .class-discipline{display:none}body.fresh-classes #main .class-entry summary:hover{padding-left:10px}body.fresh-classes #main .entry-body{padding:18px 12px 26px}body.fresh-classes #main .class-filters button{font-size:14px!important;padding:12px 8px}body.membership-pages #main .mp-perks-table td,body.membership-pages #main .mp-perks-table tbody th{font-size:14px!important}body.membership-pages #main .mp-perks-table thead th:first-child{width:42%}body.membership-pages #main .mp-perks-table thead th{font-size:24px}}
@media(max-width:700px){#root .hero{overflow:clip}#root .hero-buttons{width:100%;flex-wrap:wrap;justify-content:center}#root .tt-days{overflow-x:auto;grid-template-columns:repeat(7,minmax(76px,1fr));scroll-snap-type:x proximity;scrollbar-width:thin;overscroll-behavior-x:contain}#root .tt-days button{scroll-snap-align:start}#root .mp-welcome-layout{grid-template-columns:minmax(0,1fr)}#root .mp-welcome-ticket,#root .mp-welcome-photo{min-width:0;max-width:100%}}
@media(prefers-reduced-motion:reduce){#main :is([role=tab],button[aria-pressed],button[aria-expanded],summary),#header.core-mega-header .mega-link-body{transition:none!important;transform:none!important}#main details[open]>:not(summary){animation:none!important}}
