/* Public member experience. Shared ACSM brand primitives live in brand.css. */
:root{--display:clamp(3.25rem,5.7vw,5.5rem);--page-title:clamp(2.25rem,4vw,3.25rem);--font-display:var(--font);--font-body:var(--font)}
html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased}button{font-family:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}button:not(.btn){color:inherit}p{max-width:72ch}h1,h2,h3{text-wrap:balance}svg{display:block;max-width:100%}a{color:#00668F;text-underline-offset:4px}a:hover{color:var(--purple-deep)}.container{width:min(1200px,100% - 64px)}
.skip-link{position:absolute;top:-80px;left:12px;z-index:20;background:white;padding:12px;border:2px solid var(--ink)}.skip-link:focus{top:8px}main:focus{outline:none}.site-header{background:var(--ink);color:white}.header-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px 20px}.logo-link{display:inline-block;line-height:0}.header-top img{display:block;width:210px;height:auto}.utility{display:flex;align-items:center;gap:24px}.utility a{color:white;text-decoration:none;font-weight:700;font-size:var(--t-sm);padding-block:12px}.utility a:hover{color:var(--cyan)}.cart-count{background:var(--lime);color:var(--ink);padding:2px 6px;margin-left:6px;font-size:var(--t-xs)}.account-dot{width:7px;height:7px;background:var(--lime);display:inline-block;margin-right:8px}.site-nav{border-top:1px solid #ffffff26;display:flex;align-items:center;gap:28px}.site-nav a{padding:14px 0 17px;display:block;text-decoration:none;color:#fff;font-weight:500;font-size:var(--t-sm);position:relative}.site-nav a:hover{color:var(--cyan)}.site-nav a[aria-current=page]:after{position:absolute;content:"";height:3px;left:0;right:0;bottom:0;background:var(--cyan)}.site-nav .mobile-account{display:none}.site-nav .nav-give{margin-left:auto;color:var(--cyan)}.mobile-menu{display:none;background:transparent;border:1px solid #ffffff70;color:white!important;padding:10px 12px;font-size:var(--t-sm);font-weight:700;min-height:44px}.site-header :focus-visible,.site-footer :focus-visible{outline-color:var(--cyan)}
.hero{display:grid;grid-template-columns:1.15fr 1fr;min-height:580px;align-items:center;gap:40px;padding-block:64px 72px}.hero h1{font-size:var(--display);font-weight:900;line-height:.99;letter-spacing:-.055em;margin:20px 0 24px;max-width:9ch}.hero .intro{font-size:var(--t-lg);max-width:38ch;color:var(--ink-2);margin-bottom:32px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.text-link{font-weight:700;padding:12px 4px}.hero-art{position:relative;align-self:stretch;min-height:420px;display:flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;overflow:hidden}.hero-art svg{position:absolute;inset:0;width:100%;height:100%}.art-caption{position:absolute;z-index:1;text-shadow:0 1px 8px #212621;bottom:24px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:end;font-size:var(--t-xs);font-weight:700;letter-spacing:.04em}.art-caption strong{font-size:var(--t-sm);line-height:1.3;letter-spacing:0}.hero-art .art-label{position:absolute;z-index:1;left:20px;top:18px;padding:6px 8px;background:var(--ink);font-size:var(--t-xs);font-weight:700;letter-spacing:.2em}.hero-kicker{display:flex;align-items:center;gap:12px}.hero-kicker:before{content:"";width:32px;height:3px;background:var(--purple)}
.section{padding-block:64px}.section-soft{background:var(--bg-soft)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.section-head h2{margin:8px 0 0;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:900;letter-spacing:-.035em}.section-head p{max-width:40ch;color:var(--ink-2);margin:0}.home-features{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.feature-card{padding:36px;display:flex;flex-direction:column;justify-content:space-between;min-height:280px;border:1px solid var(--line)}.feature-card h3{font-size:var(--t-2xl);max-width:16ch}.feature-card p{max-width:42ch}.feature-card.dark{background:var(--ink);color:white;border-color:var(--ink)}.feature-card.dark .eyebrow{color:var(--cyan)}.feature-card .eyebrow{margin-bottom:20px}.feature-card a{align-self:start}.feature-card .big-num{font-weight:900;font-size:3.75rem;line-height:1;color:var(--purple);letter-spacing:-.06em;float:right;margin-left:20px}.explore-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:40px}.explore-card{padding-top:24px;border-top:2px solid var(--ink);display:flex;flex-direction:column;align-items:start}.explore-card .serial{font-size:var(--t-xs);color:var(--ink-3);margin-bottom:20px;font-weight:700}.explore-card p{font-size:var(--t-sm);color:var(--ink-2);flex:1}.explore-card h3{font-size:var(--t-xl)}.explore-card a{font-weight:700;min-height:44px;display:inline-flex;align-items:center}.donate-band{background:var(--ink);color:white;margin-block:16px 64px;padding:40px 48px;display:flex;gap:40px;align-items:center;justify-content:space-between}.donate-band h2{font-size:var(--t-2xl);font-weight:900}.donate-band .eyebrow{color:var(--lime);margin-bottom:12px}.donate-band p{color:#e0e4e0;max-width:55ch;margin:0}.donate-band .btn{flex-shrink:0}
.page-intro{padding-block:48px 32px}.page-intro .eyebrow{margin-bottom:12px}.page-intro h1{font-size:var(--page-title);letter-spacing:-.04em}.page-intro p{font-size:var(--t-lg);color:var(--ink-2);max-width:65ch;margin:16px 0 0}.page-body{padding-bottom:72px}.breadcrumbs{font-size:var(--t-sm);display:flex;gap:10px;margin-bottom:24px}.muted{color:var(--ink-2)}.small{font-size:var(--t-sm)}.micro{font-size:var(--t-xs)}.eyebrow{color:#00658f}.hint{color:#626762}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid>*{min-width:0}.card{box-shadow:none}.product{display:flex;flex-direction:column;align-items:start}.product .badge{margin-bottom:16px}.product h2{font-size:var(--t-xl);line-height:1.15;overflow-wrap:anywhere}.product h3{font-size:var(--t-lg)}.product p{color:var(--ink-2);font-size:var(--t-sm)}.product .card-bottom{margin-top:auto;width:100%;padding-top:20px}.product .price{font-size:var(--t-2xl);font-weight:900;letter-spacing:-.04em;margin:16px 0}.price small{font-size:var(--t-sm);font-weight:400;letter-spacing:0;color:var(--ink-2)}.price .badge{vertical-align:middle;letter-spacing:0;margin:0 0 0 4px;font-weight:700}.badge.illus{color:#626762;background:var(--bg)}.price-pair{width:100%;padding-top:20px;margin-top:auto}.price-pair .main-price{font-size:var(--t-xl);font-weight:900}.price-pair .row{margin-bottom:8px}.price-pair .badge{margin:0 0 0 6px;vertical-align:middle}.price-pair .member-line{font-size:var(--t-sm);color:var(--ink-2);margin-bottom:20px}.product ul{padding-left:18px;font-size:var(--t-sm);margin-top:8px;margin-bottom:20px}.product li{padding-bottom:8px}.product .eligible-title{font-size:var(--t-sm);font-weight:700;margin-top:4px;margin-bottom:4px}.product .eligibility{font-size:var(--t-sm);color:var(--ink-2)}.tier h2{min-height:2.35em}@media(max-width:1100px){.tier h2{min-height:0}}.check-label{display:flex;gap:10px;align-items:start;font-size:var(--t-sm);font-weight:500;line-height:1.45;cursor:pointer;margin-bottom:16px;min-height:44px}.check-label input{margin:3px 0 0;flex-shrink:0;width:17px;height:17px}.check-label .hint{display:block}.callout{background:var(--bg-soft);padding:24px;margin:28px 0;max-width:none}.callout p:last-child{margin-bottom:0}.callout.info{background:#e8f6fb}.callout h2,.callout h3{font-size:var(--t-lg)}.notice-inline{font-size:var(--t-sm);padding:12px 16px;background:#e8f6fb;margin-bottom:24px}.error{color:var(--red);font-size:var(--t-sm);font-weight:500}.success{color:#315e0a;font-weight:700;font-size:var(--t-sm)}.filter-bar{display:flex;align-items:end;gap:20px;margin:0 0 28px;padding:24px;background:var(--bg-soft);flex-wrap:wrap}.filter-bar .field{margin-bottom:0;flex:1;min-width:180px}.filter-bar .field.wide{flex:2}.tabs{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.tab{padding:10px 18px;font-size:var(--t-sm);font-weight:700;background:white;border:1px solid var(--line);min-height:44px}.tab:hover{border-color:var(--ink)}.tab[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.result-count{font-size:var(--t-sm);color:var(--ink-2);margin:0 0 20px}.chapter-card{display:flex;flex-direction:column;gap:12px;border-top:3px solid var(--line)}.chapter-card .chapter-id{font-size:var(--t-xs);letter-spacing:.12em;font-weight:700;color:var(--purple)}.chapter-card h2{font-size:var(--t-xl)}.chapter-card p{font-size:var(--t-sm);color:var(--ink-2);margin:0}.chapter-card .meeting-brief{margin-top:auto;padding-top:12px;border-top:1px solid var(--line-soft)}.chapter-card a{font-weight:700;align-self:start;display:inline-flex;align-items:center;min-height:44px}.two-column{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}.two-column>*{min-width:0}.sidebar-card{background:var(--bg-soft);padding:28px}.sidebar-card h2{font-size:var(--t-xl);margin-bottom:20px}.sidebar-card>.btn{width:100%}.dues-list{margin:0 0 24px}.dues-list div{display:flex;justify-content:space-between;gap:16px;font-size:var(--t-sm);padding:10px 0;border-bottom:1px solid var(--line)}.dues-list dt,.dues-list dd{margin:0}.dues-list dd{white-space:nowrap;text-align:right}.dues-list .badge{margin-left:4px}.chapter-heading{display:flex;align-items:center;gap:24px;margin:32px 0 24px}.chapter-heading h2{font-size:var(--t-2xl)}.meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.meta-row .badge{margin:0}.event-meta{list-style:none;padding:0!important;margin:12px 0 20px!important;width:100%}.event-meta li{display:flex;justify-content:space-between;gap:12px;font-size:var(--t-sm);padding:7px 0;border-bottom:1px solid var(--line-soft)}.event-meta li span{color:var(--ink-2)}.event-meta li strong{font-weight:500;text-align:right}.product .scope-label{font-size:var(--t-xs);font-weight:700;color:var(--purple);margin-bottom:12px}.product .event-date{font-size:var(--t-sm);font-weight:700;color:var(--ink);margin:4px 0 12px}.course-stripe{background:var(--ink);width:calc(100% + 48px);margin:-24px -24px 24px;padding:20px 24px;color:white;display:flex;align-items:center;justify-content:space-between}.course-stripe strong{font-size:var(--t-sm);font-weight:700}.course-stripe span{font-size:var(--t-xs);color:var(--cyan)}.cert-code{font-size:var(--t-sm);color:var(--purple);letter-spacing:.06em;font-weight:900;margin-bottom:12px}.cert-card h2{max-width:20ch}.cert-card .price-pair{padding-top:16px;margin-top:auto}.cert-actions{display:flex;flex-direction:column;gap:10px;width:100%}.cert-note{margin-top:32px}.recert-line{font-size:var(--t-sm);padding-block:16px;border-block:1px solid var(--line-soft);width:100%;margin-bottom:20px}.bundle-card{position:relative}.bundle-card h2{font-size:var(--t-2xl)}.bundle-lines{width:100%;list-style:none!important;padding:0!important}.bundle-lines li{display:flex;justify-content:space-between;align-items:start;gap:20px;border-bottom:1px solid var(--line-soft);padding:10px 0;font-size:var(--t-sm)}.bundle-lines .line-label{max-width:70%}.bundle-lines .line-label small{display:block;color:var(--ink-2);font-size:var(--t-xs)}.bundle-lines .line-money{white-space:nowrap;text-align:right}.bundle-lines .line-money del{color:var(--ink-3);display:block;font-size:var(--t-xs)}.bundle-savings{line-height:1.9;font-size:var(--t-sm);color:#365b13;font-weight:700;margin:4px 0 20px}.bundle-card .price{margin:4px 0 12px}.builder{margin-top:48px;padding:32px;background:var(--bg-soft)}.builder h2{font-size:var(--t-2xl)}.builder-main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;margin-top:28px}.builder-options{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}.builder-options fieldset{padding:0;border:0;margin:0}.builder-options legend{font-weight:900;font-size:var(--t-lg);margin-bottom:16px}.builder-options .check-label{margin-bottom:8px;font-size:var(--t-sm)}.builder-summary{background:white;padding:24px;align-self:start;position:sticky;top:24px}.builder-summary .price{font-size:var(--t-2xl);font-weight:900;margin-bottom:16px}.builder-summary h3{font-size:var(--t-lg)}.builder-summary .bundle-lines li{font-size:var(--t-xs)}.builder-summary .btn{width:100%}.builder-agree{margin-top:24px;grid-column:1/-1}
.cart-section{margin-bottom:28px}.cart-section h2{font-size:var(--t-lg);padding-bottom:12px;border-bottom:2px solid var(--ink)}.cart-line{padding:24px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px}.cart-line h3{font-size:var(--t-lg);margin-bottom:8px}.cart-line p{font-size:var(--t-sm);color:var(--ink-2);margin:0}.cart-line .line-total{font-size:var(--t-lg);font-weight:900;text-align:right}.cart-line .line-total .badge{display:block;margin-top:6px}.line-controls{display:flex;align-items:center;gap:12px;margin-top:16px}.quantity{display:inline-flex;align-items:center;border:1px solid var(--line)}.quantity button{background:white;border:0;width:44px;height:44px;font-size:var(--t-lg)}.quantity button:hover{background:var(--bg-soft)}.quantity span{min-width:24px;text-align:center;font-size:var(--t-sm)}.link-button{background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;padding:10px 0;font-weight:700;font-size:var(--t-sm);min-height:44px}.link-button:hover{color:var(--purple)}.totals{margin:16px 0 24px}.totals div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;font-size:var(--t-sm)}.totals dt,.totals dd{margin:0}.totals .grand-total{font-weight:900;font-size:var(--t-xl);border-top:1px solid var(--ink);margin-top:10px;padding-top:20px}.totals .grand-total dd .badge{font-size:var(--t-xs);display:block;text-align:right}.promo-form{padding-bottom:20px;border-bottom:1px solid var(--line)}.input-button{display:flex;gap:8px;align-items:stretch}.input-button input{min-width:0}.input-button button{flex-shrink:0}.promo-result{margin:8px 0 0}.empty-state{padding:64px 32px;text-align:center;background:var(--bg-soft);display:flex;align-items:center;flex-direction:column}.empty-state .empty-mark{font-size:3rem;line-height:1;margin-bottom:24px;color:var(--purple);font-weight:900}.empty-state h2{font-size:var(--t-2xl)}.empty-state p{color:var(--ink-2);max-width:48ch}.steps{display:flex;list-style:none;padding:0;margin:0 0 32px;gap:24px;border-bottom:1px solid var(--line)}.steps li{font-size:var(--t-sm);font-weight:700;padding:0 0 16px;color:var(--ink-3);position:relative}.steps li[aria-current=step]{color:var(--ink)}.steps li[aria-current=step]:after{content:"";position:absolute;height:3px;bottom:-1px;left:0;right:0;background:var(--purple)}.steps li span{font-size:var(--t-xs);display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border:1px solid var(--line);margin-right:8px}.steps li[aria-current=step] span{background:var(--ink);border-color:var(--ink);color:white}.form-card{border:1px solid var(--line);padding:32px}.form-card h2{font-size:var(--t-xl);margin-bottom:12px}.form-card>p{color:var(--ink-2);font-size:var(--t-sm);margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-grid .full{grid-column:1/-1}.field label{margin-bottom:8px}.field input,.field select{min-height:46px}.field .hint{margin:6px 0 0}.sign-divider{display:flex;gap:16px;align-items:center;font-size:var(--t-xs);color:var(--ink-2);margin:24px 0}.sign-divider:before,.sign-divider:after{content:"";height:1px;background:var(--line);flex:1}.demo-member{width:100%;font-weight:700}.account-mode{margin-bottom:24px}.payment-box{padding:24px;border:1px solid var(--line);margin:20px 0 24px;background:#fafbfa}.payment-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.payment-label strong{font-size:var(--t-sm)}.payment-label .simulated{font-size:var(--t-xs);font-weight:700;color:var(--purple)}.payment-box .field:last-child{margin-bottom:0}.payment-box .hint{font-size:var(--t-xs)}.payment-box .card-brands{font-size:var(--t-xs);font-weight:900;letter-spacing:.1em;border:1px solid var(--line);padding:4px 8px;background:white}.payment-error:empty{display:none}.payment-error{margin:12px 0}.payment-disclaimer{font-size:var(--t-xs);color:var(--ink-2);margin:16px 0 0}.receipt-panel{max-width:800px;margin-inline:auto}.success-header{background:var(--ink);color:white;padding:40px;margin-bottom:32px}.success-header .eyebrow{color:var(--lime);margin-bottom:16px}.success-header h2{font-size:var(--t-2xl)}.success-header p{color:#d9ded9;margin-bottom:0}.receipt-info{display:flex;justify-content:space-between;gap:24px;font-size:var(--t-sm);margin-bottom:24px}.receipt-info strong{display:block}.receipt-lines{list-style:none;padding:0;margin:0 0 24px}.receipt-lines li{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}.receipt-lines li span{font-size:var(--t-sm)}.receipt-lines li .badge{margin-left:6px}.receipt-lines small{display:block;color:var(--ink-2)}.next-list{padding-left:20px}.next-list li{padding-bottom:10px;font-size:var(--t-sm)}.donate-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px}.donate-story{background:var(--ink);color:white;padding:36px;align-self:start}.donate-story h2{font-size:var(--t-2xl)}.donate-story p{color:#d8ddd8}.donate-story .eyebrow{color:var(--lime);margin-bottom:24px}.donate-story .mission-line{margin-top:40px;padding-top:24px;border-top:1px solid #ffffff30;font-size:var(--t-sm)}.donation-form fieldset{border:0;padding:0;margin:0 0 24px}.donation-form legend{font-size:var(--t-lg);font-weight:700;margin-bottom:16px}.donation-amounts{display:flex;gap:8px;flex-wrap:wrap}.amount-chip{padding:10px 18px;font-size:var(--t-base);font-weight:700;border:1px solid var(--line);background:white;min-height:44px}.amount-chip[aria-pressed=true]{background:var(--cyan);border-color:var(--cyan)}.amount-chip:hover{border-color:var(--ink)}.donation-form .custom-field{margin-top:16px;max-width:250px}.form-section-title{font-size:var(--t-lg);margin:32px 0 20px;padding-top:28px;border-top:1px solid var(--line)}.donation-total{font-size:var(--t-lg);font-weight:700;margin:24px 0}.donation-total .badge{margin-left:6px}.app-shell{max-width:800px}.app-shell .steps{gap:20px}.app-shell .check-label{font-size:var(--t-base);padding:12px 0;border-bottom:1px solid var(--line-soft)}.document-list{font-size:var(--t-sm);padding-left:20px}.document-list li{padding-bottom:8px}.review-list{margin:24px 0}.review-list div{padding:16px 0;border-bottom:1px solid var(--line);font-size:var(--t-sm)}.review-list dt{font-weight:700}.review-list dd{margin:4px 0 0;color:var(--ink-2)}.dashboard-top .btn{white-space:nowrap}.dashboard-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.member-card{background:var(--ink);color:white;padding:32px}.member-card .eyebrow{color:var(--cyan);margin-bottom:20px}.member-card h2{font-size:var(--t-2xl);margin-bottom:12px}.member-card p{font-size:var(--t-sm);color:#dfe4df}.member-card .member-id{font-size:var(--t-xs);letter-spacing:.08em;padding-top:20px;margin-top:24px;border-top:1px solid #ffffff30}.dashboard-section{margin-top:36px}.dashboard-section h2{font-size:var(--t-xl);margin-bottom:24px}.dashboard-list{list-style:none;padding:0;margin:0}.dashboard-list li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.dashboard-list h3{font-size:var(--t-base);margin-bottom:6px}.dashboard-list p{font-size:var(--t-sm);color:var(--ink-2);margin:0}.progress-track{height:6px;background:var(--line-soft);margin-top:12px;width:100%;overflow:hidden}.progress-track span{height:100%;display:block;background:var(--purple)}.dashboard-course{width:100%}.dashboard-course .row{display:flex;justify-content:space-between;gap:24px}.cec-ring{width:128px;height:128px;position:relative;flex-shrink:0}.cec-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.cec-ring .ring-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1.2}.ring-value strong{font-size:var(--t-2xl);font-weight:900}.ring-value span{font-size:var(--t-xs);color:var(--ink-2)}.cert-progress{display:flex;gap:24px;align-items:center;padding-block:16px}.cert-progress h3{font-size:var(--t-lg)}.session-note{margin-top:32px;font-size:var(--t-sm);color:var(--ink-2)}.history-total{font-weight:700;white-space:nowrap}.history-total .badge{display:block;text-align:center;margin-top:4px}.receipt-toggle{font-size:var(--t-sm);margin-top:12px}.receipt-toggle summary{cursor:pointer;font-weight:700;min-height:44px;padding-block:10px}.receipt-toggle .receipt-lines li{display:block}.account-panel{max-width:560px;margin-inline:auto}
.site-footer{background:var(--ink);color:white;padding:48px 0 0}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;padding-bottom:40px}.footer-top img{width:220px;height:auto;margin-bottom:24px}.footer-top p{font-size:var(--t-sm);color:#d1d7d1}.footer-top h2{font-size:var(--t-sm);margin-bottom:16px;color:var(--cyan)}.footer-top nav a{color:#fff;font-size:var(--t-sm);display:block;text-decoration:none;padding:8px 0;min-height:38px}.footer-top nav a:hover{color:var(--cyan)}.footer-bottom{border-top:1px solid #ffffff26;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;padding-block:24px;font-size:var(--t-xs);color:#d1d7d1}.footer-bottom a{color:white}.cart-notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:8;max-width:calc(100% - 32px);background:var(--ink);color:white;padding:16px 24px;box-shadow:var(--shadow);display:none;font-size:var(--t-sm);border-top:3px solid var(--lime)}.cart-notice.visible{display:flex;align-items:center;gap:24px}.cart-notice a{color:var(--cyan);white-space:nowrap}.row{display:flex;align-items:center;justify-content:space-between;gap:16px}.no-margin{margin:0!important}[hidden]{display:none!important}
@media(min-width:1000px){.sticky-summary{position:sticky;top:24px}}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.site-nav{gap:20px}.two-column{grid-template-columns:minmax(0,1fr) 320px;gap:28px}.hero h1{font-size:clamp(3.5rem,6vw,5rem)}.builder-main{grid-template-columns:minmax(0,1fr) 260px}.donate-layout{gap:32px}.hero{gap:28px}.explore-grid{gap:20px}}
@media(max-width:800px){.two-column.chapter-cols>aside{order:-1}.site-nav .mobile-account{display:block}.container{width:calc(100% - 40px)}.header-top{padding-block:20px}.header-top img{width:170px}.utility{gap:16px}.utility .account-link{display:none}.mobile-menu{display:block}.site-nav{display:none;padding:12px 0 20px;gap:0;grid-template-columns:1fr 1fr}.site-nav.open{display:grid}.site-nav a{padding:12px}.site-nav .nav-give{margin:0}.site-nav a[aria-current=page]:after{left:12px;right:12px}.hero{grid-template-columns:1fr 0.8fr;min-height:480px;padding-block:40px;gap:20px}.hero h1{font-size:clamp(3.25rem,7vw,4.75rem)}.hero-art{min-height:360px}.hero .intro{font-size:var(--t-base)}.hero .actions{gap:8px}.hero .btn{font-size:var(--t-sm);padding:12px 16px}.art-caption{left:16px;bottom:16px;right:16px}.art-caption>span{display:none}.hero-art .art-label{left:10px;top:10px}.home-features{grid-template-columns:1fr 1fr}.feature-card{padding:24px}.feature-card h3{font-size:1.75rem}.explore-grid{grid-template-columns:1fr 1fr;gap:28px}.section-head{align-items:start;flex-direction:column;gap:16px}.two-column{grid-template-columns:1fr;gap:32px}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-main{grid-template-columns:1fr}.builder-summary{position:static}.donate-layout{grid-template-columns:1fr}.donate-story{padding:28px}.donate-story .mission-line{margin-top:24px}.footer-top{grid-template-columns:1.2fr 1fr;gap:32px}.footer-top>div{grid-column:1/-1;display:flex;gap:48px;align-items:center}.footer-top img{margin-bottom:0}.footer-top p{margin:0}.donate-band{padding:32px;gap:24px}.donate-band h2{font-size:1.75rem}.cert-card .cert-actions{flex-direction:row;flex-wrap:wrap}.cert-card .cert-actions .btn{flex:1}.app-shell .steps{gap:12px}.steps li span{display:none}}
@media(max-width:560px){.container{width:calc(100% - 40px)}.prototype-bar{font-size:var(--t-xs);padding:6px 10px}.header-top{gap:12px;padding-block:18px}.header-top img{width:145px}.utility{gap:14px}.utility a{font-size:var(--t-xs)}.mobile-menu{padding:10px;font-size:var(--t-xs)}.hero{grid-template-columns:1fr;gap:32px;padding-block:36px 40px}.hero h1{font-size:3.5rem;max-width:10ch;margin-block:16px 20px}.hero .intro{max-width:36ch;margin-bottom:24px}.hero-art{min-height:280px;height:300px;max-height:320px}.hero-art .art-caption{bottom:20px}.hero-kicker{font-size:var(--t-xs)}.hero .actions{gap:10px}.hero .btn{padding:12px 18px}.hero .text-link{padding:10px;font-size:var(--t-sm)}.section{padding-block:40px}.section-head h2{font-size:2rem}.home-features{grid-template-columns:1fr;gap:20px}.feature-card{min-height:260px}.explore-grid{grid-template-columns:1fr 1fr;gap:28px 20px;margin-top:28px}.explore-card h3{font-size:var(--t-lg)}.explore-card .serial{margin-bottom:12px}.explore-card p{font-size:var(--t-sm)}.explore-card a{font-size:var(--t-sm)}.donate-band{padding:28px;flex-direction:column;align-items:start;margin-block:8px 40px}.page-intro{padding-block:32px 28px}.page-intro h1{font-size:2.5rem;line-height:1.04}.page-intro p{font-size:var(--t-base);margin-top:16px}.page-body{padding-bottom:48px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.card{padding:24px}.product h2{font-size:1.5rem}.filter-bar{padding:20px;gap:16px}.filter-bar .field{min-width:100%;flex:auto}.filter-bar .tabs{width:100%}.tab{padding:10px 14px}.sidebar-card{padding:24px}.bundle-card h2{font-size:1.75rem}.builder{padding:24px;margin-top:32px}.builder h2{font-size:1.75rem}.builder-options{grid-template-columns:1fr;gap:24px}.builder-summary{padding:20px}.builder-main{gap:24px}.form-card{padding:24px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.steps{gap:20px}.steps li{font-size:var(--t-xs);flex:1;line-height:1.4}.app-shell .steps{gap:12px}.payment-box{padding:20px}.payment-label{align-items:start}.payment-label>div{display:flex;flex-direction:column;align-items:start;gap:6px}.receipt-panel .success-header{padding:28px}.receipt-info{flex-direction:column;gap:12px}.receipt-lines li{gap:16px}.receipt-lines li>strong{min-width:80px;text-align:right}.receipt-lines li>strong .badge{display:block;margin:4px 0 0 auto;width:max-content}.cart-line{gap:12px;grid-template-columns:minmax(0,1fr) auto}.cart-line h3{font-size:var(--t-base)}.cart-line .line-total{font-size:var(--t-base)}.cart-line .line-total .badge{font-size:var(--t-xs);padding:2px 4px}.donate-layout{gap:28px}.donate-story h2{font-size:1.75rem}.donate-story{padding:28px}.donation-amounts{gap:8px}.amount-chip{padding:10px 14px}.cert-progress{align-items:start;gap:20px;flex-direction:column}.dashboard-list li{gap:16px}.dashboard-list h3{overflow-wrap:anywhere}.dashboard-top{align-items:start}.dashboard-top .btn{padding:8px 12px}.footer-top{gap:28px 20px}.footer-top>div{display:block}.footer-top img{width:190px;margin-bottom:20px}.footer-top h2{line-height:1.4}.footer-bottom{flex-direction:column;gap:12px}.cart-notice.visible{bottom:12px;padding:12px 16px;gap:16px;min-width:calc(100% - 32px)}.cart-notice span{line-height:1.4}.cart-notice a{min-height:44px;display:flex;align-items:center}.cec-ring{width:112px;height:112px}.member-card{padding:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Membership application profile (checkout step and My ACSM) */
.membership-profile h2{margin-bottom:12px}.membership-profile h2:focus,.profile-errors:focus,#account-profile-heading:focus,.profile-section-title:focus{outline:none}
.membership-profile .form-grid .field{margin-bottom:20px}.membership-profile .form-grid .field.full{grid-column:1/-1}.membership-profile textarea{min-height:112px;resize:vertical;width:100%}
.membership-profile select,.membership-profile input{min-height:46px}.membership-profile input[type=checkbox]{min-height:0}.membership-profile input[type=file]{padding:10px 12px;background:#fff}
.profile-required{color:var(--red);font-weight:900}.profile-optional{font-weight:500;color:var(--ink-2)}
.membership-profile [aria-invalid=true]:not([type=checkbox]){border:2px solid var(--red);background:#fffafa}
.membership-profile input[type=checkbox][aria-invalid=true]{outline:2px solid var(--red);outline-offset:2px}
.membership-profile .field>.error{margin:6px 0 0;font-weight:700}.membership-profile .field>.error[hidden]{display:none}
.profile-errors{background:#fdf0ef;border:2px solid var(--red);padding:20px 24px;margin:0 0 28px}.profile-errors[hidden]{display:none}
.profile-errors h3{font-size:var(--t-lg);color:#8a1c14;margin-bottom:8px}.profile-errors p{margin-bottom:12px;font-size:var(--t-sm);color:var(--ink)}
.profile-errors ul{margin:0;padding-left:20px}.profile-errors li{margin-bottom:8px;font-size:var(--t-sm)}.profile-errors a{color:#8a1c14;font-weight:700;display:inline-block;padding-block:4px;overflow-wrap:anywhere}
.profile-progress{margin:0 0 28px}.membership-profile .profile-progress p{margin-bottom:8px;max-width:none;color:var(--ink);font-size:var(--t-sm)}
.profile-progress progress{appearance:none;-webkit-appearance:none;display:block;width:100%;height:8px;border:0;background:var(--line-soft);min-height:0}
.profile-progress progress::-webkit-progress-bar{background:var(--line-soft)}.profile-progress progress::-webkit-progress-value{background:var(--purple)}.profile-progress progress::-moz-progress-bar{background:var(--purple)}
.profile-progress ol{display:flex;flex-wrap:wrap;gap:6px 20px;list-style:none;padding:0;margin:12px 0 0}.profile-progress li{font-size:var(--t-xs);font-weight:700;color:var(--ink-2)}
.profile-progress li[aria-current=step]{color:var(--ink);box-shadow:inset 0 -3px 0 var(--purple);padding-bottom:2px}
.profile-fieldset{border:0;padding:0;margin:0 0 8px;min-width:0}.profile-fieldset legend{font-size:var(--t-xl);font-weight:900;letter-spacing:-.02em;padding:0;margin-bottom:8px;max-width:100%;overflow-wrap:anywhere}
.membership-profile .profile-fieldset>.hint{margin-bottom:20px;max-width:64ch}
.profile-file-name{font-size:var(--t-sm);margin:8px 0 0;color:var(--ink);overflow-wrap:anywhere}.profile-file-name+.link-button{padding-block:0}
.profile-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.profile-actions .btn{min-height:48px}
.membership-profile .profile-memory{margin:20px 0 0;max-width:none;font-size:var(--t-xs)}.profile-memory a,.profile-memory .link-button{font-size:var(--t-xs);min-height:0;padding:8px 0;display:inline-block}
.membership-profile .notice-inline{margin-bottom:24px}.membership-profile .notice-inline .link-button{min-height:44px;display:inline-block;padding-block:8px}
.profile-section-title{font-size:var(--t-xl);margin:0 0 8px}
.profile-review{margin:20px 0}.profile-review section{border-top:1px solid var(--line);padding:16px 0 4px}.profile-review-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.profile-review-head h3{font-size:var(--t-base);margin:0}.profile-review-head .link-button{min-height:44px;padding:8px 0}
.profile-review dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:8px 0 12px}.profile-review dl>div{padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:var(--t-sm);min-width:0}.profile-review dt{font-weight:700;color:var(--ink-2);font-size:var(--t-xs);margin-bottom:2px}.profile-review dd{margin:0;overflow-wrap:anywhere}
.profile-status-panel{background:#f3f7fb;border:1px solid #c9dff0;padding:20px 24px;margin:24px 0 8px}.profile-status-panel h2,.profile-status-panel h3{font-size:var(--t-base);margin-bottom:12px}.profile-status-panel p{font-size:var(--t-sm);margin:0 0 12px;max-width:none}.profile-status-panel p:last-child{margin-bottom:0}
.profile-payment-review{display:flex;justify-content:space-between;align-items:center;gap:12px 20px;flex-wrap:wrap;margin-bottom:16px}.profile-payment-review p{margin:0}.profile-payment-review .link-button{min-height:44px}
.profile-line-status{font-weight:700;color:#7A4A00}
.profile-receipt-status{margin:28px 0;padding:24px;border:1px solid var(--line);background:var(--bg-soft)}.profile-receipt-status h2{font-size:var(--t-lg)}.profile-receipt-status h3{font-size:var(--t-base);margin-bottom:6px}.profile-receipt-status p{font-size:var(--t-sm);max-width:none}.profile-receipt-status div+div{margin-top:16px}
.profile-account-card{margin-bottom:16px}.profile-account-card p{font-size:var(--t-sm);margin-bottom:12px}.profile-saved-details{margin-top:16px}.profile-saved-details summary{cursor:pointer;font-weight:700;font-size:var(--t-sm);min-height:44px;padding-block:10px}
.dashboard-section>.small{margin-bottom:20px}
@media(max-width:900px){.profile-review dl{grid-template-columns:1fr}}
@media(max-width:560px){.profile-progress ol{display:none}.profile-errors{padding:16px}.profile-actions .btn{width:100%}.profile-fieldset legend{font-size:var(--t-lg)}.profile-review-head{align-items:flex-start}.profile-status-panel{padding:16px}.profile-payment-review{align-items:flex-start}}
.membership-profile .notice-inline{max-width:none}
.profile-errors a{display:inline}.profile-errors .profile-tier-help{margin:12px 0 0}.profile-errors .profile-tier-help a{font-weight:700;padding:0}
/* Payment method choice and emulator hints */
.pay-method-choice{border:0;padding:0;margin:0 0 20px}
.pay-method-choice .tab{display:inline-flex;align-items:center;cursor:pointer;min-width:110px;justify-content:center}
.pay-method-choice .tab:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}
.pay-method-choice .tab:has(input:focus-visible){outline:3px solid var(--purple);outline-offset:2px}
.pay-panel[hidden]{display:none}
.test-cards{font-size:var(--t-xs);margin-top:4px;background:white;border:1px solid var(--line-soft);padding:0 14px}
.test-cards summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.test-cards ul{margin:0 0 12px;padding-left:18px}.test-cards li{padding-bottom:4px}.test-cards p{margin:0 0 8px}
.test-cards code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95em;white-space:nowrap}
[data-braintree-dropin]{min-height:120px}
/* Course catalog, course detail, course bundles and pick-your-own packs */
.course-filters .field{min-width:150px}.course-filters select{min-width:0;text-overflow:ellipsis}.course-filters .field.format{min-width:200px}.course-filters .field.wide{min-width:260px;flex-basis:100%}.filter-actions{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.pack-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;margin:-8px 0 28px;border-left:4px solid var(--purple);background:#f4effb;font-size:var(--t-sm)}.pack-strip strong{font-weight:700}.pack-strip span{color:var(--ink-2)}.pack-strip .btn{flex-shrink:0;white-space:nowrap}
.course-card h2{font-size:var(--t-lg);line-height:1.25;margin-bottom:8px}.course-link{color:inherit;text-decoration:none}.course-link:hover{text-decoration:underline;text-underline-offset:4px}.course-link:after{content:"";position:absolute;inset:0}.course-card{position:relative}.course-card form,.course-card .btn{position:relative;z-index:1}
.course-summary{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.course-card .meta-row{margin-bottom:12px}.course-card .course-stripe strong{max-width:60%}
.course-intro h1{max-width:28ch;overflow-wrap:anywhere}.course-intro p{max-width:70ch}
.topic-tags{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-wrap:wrap;gap:8px}.topic-tags a{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid var(--line);font-size:var(--t-xs);font-weight:700;text-decoration:none;color:var(--ink)}.topic-tags a:hover{border-color:var(--ink);background:var(--bg-soft)}
.course-section{margin-bottom:36px;max-width:72ch}.course-section h2{font-size:var(--t-xl);margin-bottom:16px}.course-section p{color:var(--ink-2)}
.objective-list{padding-left:20px}.objective-list li{padding-bottom:10px;color:var(--ink-2)}
.bundle-mentions{list-style:none;padding:0;margin:0}.bundle-mentions li{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid var(--line-soft)}.bundle-mentions strong{display:block}.bundle-mentions span{font-size:var(--t-sm);color:var(--ink-2)}.bundle-mentions .text-link{white-space:nowrap;font-weight:700}
.course-buy{position:sticky;top:24px}.course-buy .price-pair{padding-top:4px}.course-external{display:inline-flex;min-height:44px;align-items:center;margin-top:12px;font-weight:700}.course-buy .hint{margin:8px 0 0}
.related-courses{padding:24px 0 72px;border-top:1px solid var(--line)}.related-courses>h2{font-size:var(--t-2xl);margin:32px 0 24px}
.bundle-group{margin-bottom:56px}.bundle-group-head{margin-bottom:24px;max-width:70ch}.bundle-group-head h2{font-size:var(--t-2xl);margin:8px 0}.bundle-group-head p{margin:0}
.course-bundle-grid .bundle-card h2{font-size:var(--t-xl)}.course-bundle-grid .bundle-lines .line-label{max-width:62%}
.pack-prices{display:flex;gap:32px;margin:8px 0 12px}.pack-prices div{display:flex;flex-direction:column}.pack-prices dt{font-size:var(--t-xs);color:var(--ink-2);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.pack-prices dd{margin:0;font-size:var(--t-2xl);font-weight:900;letter-spacing:-.04em}
.pack-layout{margin-top:0;grid-template-columns:minmax(0,1fr) 340px}
.pack-list{list-style:none;padding:0;margin:0 0 24px;border-top:1px solid var(--line)}.pack-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:16px 12px;border-bottom:1px solid var(--line)}.pack-row.is-picked{background:#f1fafd;box-shadow:inset 4px 0 0 var(--cyan)}
.pack-row h2{font-size:var(--t-base);line-height:1.35;margin:4px 0 0;overflow-wrap:anywhere}.pack-row h2 a{color:inherit;text-decoration:none}.pack-row h2 a:hover{text-decoration:underline}
.pack-row-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--t-xs);color:var(--ink-2)}.pack-row-meta span:first-child{color:var(--purple);font-weight:700}
.pack-row-side{display:flex;align-items:center;gap:16px;flex-shrink:0}.pack-row-price{font-weight:700;font-size:var(--t-sm);white-space:nowrap}.pack-row .btn{min-width:96px}
.pack-progress{height:8px;background:var(--line-soft);margin:8px 0 12px;overflow:hidden}.pack-progress span{display:block;height:100%;background:var(--purple);transition:width .4s var(--ease-out,ease)}
.pack-picks{max-height:360px;overflow:auto;margin-bottom:12px}.pack-picks .line-money{display:flex;flex-direction:column;align-items:flex-end}.pack-remove{font-size:var(--t-xs);min-height:32px;padding:4px 0}.pack-clear{margin-top:8px}.pack-summary .btn{width:100%}
@media(max-width:800px){.pack-layout{grid-template-columns:1fr}.pack-summary{order:-1;position:static}.course-buy{position:static}.course-detail>aside{order:-1}}
@media(max-width:560px){.pack-strip{flex-direction:column;align-items:flex-start}.course-filters .field.wide{min-width:100%}.pack-row{flex-direction:column;align-items:stretch;gap:12px;padding:16px 8px}.pack-row-side{justify-content:space-between}.bundle-mentions li{flex-direction:column;align-items:flex-start;gap:6px}.pack-prices dd{font-size:var(--t-xl)}.related-courses>h2,.bundle-group-head h2{font-size:1.75rem}}

.footer-links{display:flex;flex-wrap:wrap;gap:24px}
