/* Public academy learning pages and the multi-school product storefront. */
.learning-home .hero-flight{height:auto;min-height:0}
.learning-home .hero{position:relative;height:auto;min-height:0;max-height:none}
.learning-home .hero-content{padding:140px var(--gutter) 78px;max-width:820px}
.learning-home .hero h1{font-size:clamp(56px,5.5vw,88px);line-height:.98;margin:22px 0 18px}
.learning-home .hero-description{max-width:460px;font-size:19px;margin:0}
.learning-home .hero-content .button{margin-top:20px;min-height:48px}
.learning-home .hero-ghost{top:145px;font-size:clamp(100px,13vw,190px)}
.learning-home .hero-instrument{display:none}
.learning-home .hero-bottom{bottom:14px}
.learning-home .hero-shade{background:linear-gradient(90deg,#fffffff2,#ffffffbd 33%,#ffffff00 68%),linear-gradient(0deg,#fff,#ffffff00 40%)}
.learning-home .hero-visual img{object-position:62% 48%}
.learning-home .mobile-nav{max-height:calc(100dvh - 76px);overflow-y:auto}
.learning-home .desktop-nav{gap:clamp(16px,2vw,30px)}
.learning-paths{position:relative;padding:36px var(--gutter) 44px;background:#f4f6f7;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.learning-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:26px}
.learning-heading .eyebrow{font-size:12px;color:var(--red);letter-spacing:.13em}
.learning-heading h2{font-size:clamp(34px,3vw,48px);margin-top:9px}
.learning-heading>p{font-size:17px;line-height:1.45;color:#566473}
.learning-path-grid{display:grid;grid-template-columns:1.08fr 1fr 1fr;gap:18px}
.learning-path{min-width:0;padding:24px 26px 0;background:white;border:1px solid #d1d8df;border-radius:4px;display:flex;flex-direction:column;box-shadow:0 8px 25px #25374804}
.learning-path-featured{border-top:3px solid var(--red);padding-top:22px}
.path-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.path-top svg{width:29px;height:29px;color:#667784;flex-shrink:0}
.learning-path-featured .path-top svg{color:var(--red)}
.path-label{font-size:11px;letter-spacing:.12em;color:#5c6b78}
.learning-path-featured .path-label{color:var(--red)}
.path-goal{font-size:15px;line-height:1.4;color:#596774;margin-bottom:7px}
.learning-path h3{font-size:clamp(26px,2.2vw,34px);line-height:1.08;letter-spacing:-.025em;margin-bottom:12px}
.path-description{font-size:16px;line-height:1.45;color:#566473;flex:1}
.path-format{font-size:13px;line-height:1.5;color:#566473;margin:18px 0}
.path-format span{margin:0 4px;color:var(--red)}
.path-link{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--border);padding:16px 0;min-height:54px;font-size:17px}
.path-link span{color:var(--red);font-size:23px}
.path-link:hover{color:var(--red)}
.learning-path-featured .path-link{color:var(--red)}
.learning-comparison{margin-top:20px}
.learning-comparison summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:16px;min-height:44px;color:#425461;list-style:none}
.learning-comparison summary::-webkit-details-marker{display:none}
.learning-comparison summary span{font-size:22px;color:var(--red)}
.learning-comparison[open] summary span{transform:rotate(45deg)}
.learning-comparison summary:focus-visible,.learning-terms summary:focus-visible,.comparison-scroll:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.comparison-scroll{overflow-x:auto;margin-top:16px;background:white;border:1px solid var(--border)}
.learning-comparison table{width:100%;min-width:680px;border-collapse:collapse;font-size:16px}
.learning-comparison th,.learning-comparison td{text-align:left;vertical-align:top;padding:17px 20px;border-bottom:1px solid var(--border);line-height:1.4;width:25%}
.learning-comparison th{font-weight:400;color:#344955;background:#f9fafb}
.learning-comparison thead th{color:var(--red)}
.learning-comparison>p{font-size:14px;color:#566473;line-height:1.55;margin-top:16px;max-width:880px}
.learning-home .classes{padding-top:70px}
.learning-home .classes .section-top{margin-bottom:22px}
.learning-home .classes h2{font-size:clamp(38px,4vw,62px)}
.learning-catalog-hero{padding:42px var(--gutter) 0;background:linear-gradient(120deg,#fff,#f3f5f7)}
.learning-catalog-hero .eyebrow{color:var(--red);font-size:13px}
.learning-catalog-hero h1{font-size:clamp(43px,5.6vw,82px);line-height:1.03;letter-spacing:-.03em;margin:22px 0}
.learning-catalog-hero>p:not(.eyebrow),.learning-detail-hero p{max-width:740px;font-size:20px;line-height:1.5;color:#566473}
.learning-category-nav{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:35px;border-bottom:1px solid var(--border)}
.learning-category-nav a{padding:16px 0;min-height:48px;font-size:18px;border-bottom:2px solid transparent}
.learning-category-nav a[aria-current]{color:var(--red);border-bottom-color:var(--red)}
.learning-catalog{padding:35px var(--gutter) 80px}
.learning-disclosure{font-size:15px!important;line-height:1.5;color:#566473;margin-bottom:25px}
.learning-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.learning-product{border:1px solid var(--border);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.product-art{display:block;background:#eef2f5;aspect-ratio:1.6;overflow:hidden}
.product-art img{width:100%;height:100%;object-fit:cover;display:block}
.learning-product-book .product-art{padding:24px;aspect-ratio:1.35;background:linear-gradient(135deg,#edf0f3,#fafbfc)}
.learning-product-book .product-art img{object-fit:contain;filter:drop-shadow(5px 10px 8px #1a243025)}
.product-type-art{height:100%;background:#213645;color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;border-left:6px solid var(--red)}
.product-type-art span,.product-type-art small{font-size:11px;letter-spacing:.12em}
.product-type-art strong{font-size:26px;font-weight:400;line-height:1.12;overflow-wrap:anywhere}
.product-copy{padding:25px 26px 0;display:flex;flex-direction:column;flex:1}
.product-copy .eyebrow{font-size:11px;color:var(--red);letter-spacing:.1em}
.product-copy h2{font-size:31px;line-height:1.12;margin:13px 0;overflow-wrap:anywhere}
.product-copy>p:not(.eyebrow){font-size:17px;color:#566473}
.product-prices{margin:22px 0;display:grid;gap:17px}
.product-prices strong,.product-prices span,.product-prices small{display:block;font-weight:400;line-height:1.5}
.product-prices strong{font-size:24px}.product-prices span{font-size:16px;color:#566473}.product-prices small{font-size:14px;color:#566473}
.product-copy .path-link{margin-top:auto}
.product-status{margin:20px 0}
.learning-empty{grid-column:1/-1;max-width:850px;padding:38px;border:1px solid var(--border);background:#f8f9fa}
.learning-empty h2{font-size:36px;margin:12px 0 20px;line-height:1.1}
.learning-empty>p{color:#566473}
.learning-empty .inline-link{margin:20px 28px 0 0}
.learning-detail-hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:45px;padding-bottom:45px}
.learning-detail-hero:has(>div:only-child){grid-template-columns:1fr}
.learning-detail-hero h1{font-size:clamp(42px,4.5vw,68px)}
.learning-detail-cover{width:100%;height:auto;max-height:380px;object-fit:contain;border-radius:4px}
.learning-detail-hero .learning-disclosure{margin:22px 0 0}
.learning-detail-body{padding:60px var(--gutter) 85px;display:grid;grid-template-columns:1.25fr 1fr;gap:7vw;align-items:start}
.learning-detail-content h2{font-size:32px;line-height:1.15;margin:30px 0 16px}
.learning-detail-content h2:first-child{margin-top:0}
.learning-detail-content p,.learning-detail-content li{font-size:18px;line-height:1.6;color:#566473}
.learning-detail-content ul{padding-left:22px}.learning-detail-content li{margin-bottom:10px}
.learning-study-time{margin-top:18px}
.learning-terms{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:18px 0;margin-top:30px}
.learning-terms summary{cursor:pointer;font-size:18px}.learning-terms p{margin-top:18px}
.preserve-copy{white-space:pre-line;overflow-wrap:anywhere}
.learning-purchase{padding:30px;background:#f4f6f7;border:1px solid var(--border);border-top:3px solid var(--red);border-radius:4px;min-width:0}
.learning-purchase>.eyebrow{font-size:12px;color:var(--red)}
.learning-purchase h2{font-size:35px;margin:15px 0 26px}
.learning-price-option{padding:20px 0;border-top:1px solid var(--border)}
.learning-price-option h3{font-size:19px;margin-bottom:9px}.learning-price-option strong{font-size:32px;font-weight:400;line-height:1.3}
.learning-price-option p,.learning-price-option small{font-size:16px;line-height:1.5;color:#566473;margin-top:8px;display:block}
.learning-purchase .button{width:100%;margin-top:15px;gap:12px}
.learning-purchase .purchase-help{font-size:14px;line-height:1.5;color:#566473;margin-top:16px}
.learning-account-grid{padding:45px var(--gutter) 80px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.learning-account-form{padding:30px;border:1px solid var(--border);border-radius:4px}
.learning-account-form h2{font-size:34px;margin-bottom:18px}.learning-account-form p{font-size:16px;color:#566473;margin:10px 0 22px}
.learning-account-form label{display:block;margin:20px 0 8px}.learning-account-form input:not([type=hidden]){width:100%;min-height:48px;padding:10px 12px;border:1px solid #8e9ba6;border-radius:3px;font:inherit}
.learning-account-form .button{margin-top:25px;width:100%}
.learning-account-form input:focus-visible{outline:2px solid var(--red);outline-offset:2px}
@media(min-width:1700px){.learning-home .hero-content{max-width:1000px}}
@media(max-width:1100px){.learning-path-grid{gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.learning-path{padding-left:20px;padding-right:20px}.learning-path h3{font-size:28px}.learning-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.learning-home .hero-content{padding-top:120px;padding-bottom:66px;max-width:640px}.learning-home .hero-coordinates{display:none}.learning-heading{display:block}.learning-heading>p{margin-top:12px}.learning-heading .desktop-break{display:none}.learning-path-grid{grid-template-columns:1fr}.learning-path{padding:20px 22px 0}.learning-path-featured{padding-top:18px}.path-top{margin-bottom:10px}.path-description{max-width:580px}.path-format{margin:12px 0}.learning-path h3{font-size:30px}.learning-paths{padding-top:28px;padding-bottom:28px}.learning-detail-hero,.learning-detail-body{grid-template-columns:1fr}.learning-detail-hero{gap:26px}.learning-detail-cover{max-width:640px}.learning-purchase{max-width:650px;width:100%}.learning-account-grid{grid-template-columns:1fr}.learning-home .classes{padding-top:50px}}
@media(max-width:600px){.learning-home .hero-content{padding-top:110px;padding-bottom:65px}.learning-home .hero h1{font-size:clamp(46px,10.8vw,62px);margin:20px 0 16px}.learning-home .hero-description{font-size:18px;max-width:340px}.learning-home .hero-visual{opacity:.45}.learning-home .hero-bottom .hero-footnote{display:none}.learning-home .hero-bottom{gap:8px}.learning-home .motion-toggle{font-size:12px}.learning-home .hero-ghost{font-size:100px;top:100px}.learning-home .hero-content .eyebrow{font-size:10px}.learning-heading h2{font-size:34px}.learning-path-grid{gap:14px}.learning-comparison summary{font-size:15px}.learning-product-grid{grid-template-columns:1fr}.learning-catalog-hero{padding-top:28px}.learning-catalog-hero h1{font-size:44px}.learning-catalog-hero>p:not(.eyebrow){font-size:18px}.learning-category-nav{gap:15px}.learning-category-nav a{font-size:16px}.learning-catalog{padding-bottom:55px}.learning-empty{padding:24px}.learning-empty h2{font-size:30px}.learning-detail-body{padding-top:35px;gap:35px}.learning-purchase,.learning-account-form{padding:24px}.learning-account-grid{padding-top:30px}.learning-detail-body>*{min-width:0}}
@media(prefers-reduced-motion:reduce){.learning-home .hero-visual,.learning-home .hero-content,.learning-home .hero-ghost{transform:none!important;opacity:1!important}}


/* Global storefront: compact tiles reveal one shelf, matching the learner dashboard. */
.storefront{padding-top:48px;padding-bottom:48px}
.storefront-filter{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0 26px;color:#31404c}
.storefront-filter label{font-weight:600;font-size:14px}
.storefront-filter select{min-height:46px;max-width:100%;flex:0 1 440px;border:1px solid #b8c0c7;background:#fff;color:#172631;padding:10px 36px 10px 12px;font:inherit;border-radius:6px}
.storefront-filter button,.storefront-close{min-height:44px;border:1px solid #bcc5cc;background:#fff;padding:10px 16px;border-radius:6px;color:#263947;font:inherit;cursor:pointer}
.storefront-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;touch-action:pan-y}
.storefront-tile{display:flex;flex-direction:column;min-width:0;min-height:250px;padding:24px 21px 20px;text-decoration:none;border:1px solid #dce1e5;border-radius:12px;background:#fff;color:#24323e;box-shadow:0 3px 12px #15293505;transition:border-color .18s,box-shadow .18s;position:relative}
.storefront-tile:hover{border-color:#9ba9b3;box-shadow:0 8px 20px #1529350b}
.storefront-tile.is-selected{border-color:#c91d32;box-shadow:inset 4px 0 #c91d32,0 8px 24px #8520300b}
.storefront-tile-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.13em;font-weight:700;color:#647581;margin-bottom:24px}
.storefront-tile-top>span:last-child{font-size:24px;line-height:1;color:#c91d32}
.storefront-tile .path-goal{font-size:14px;color:#65737f;line-height:1.4;min-height:40px;margin:0 0 8px}
.storefront-tile h3{font-size:clamp(22px,2vw,29px);line-height:1.12;margin:0 0 14px;letter-spacing:-.025em}
.storefront-tile .path-format{font-size:12px;line-height:1.5;color:#6c7881;margin:0 0 20px}
.storefront-count{display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:#9e2032;margin-top:auto;padding-top:14px;border-top:1px solid #e5e8eb}
.storefront-help{font-size:13px;color:#63717d;margin:14px 0 28px}
.storefront-panel{background:#fff;border:1px solid #e0e4e7;border-radius:12px;padding:30px;scroll-margin-top:105px;margin-top:24px}
.storefront-panel[hidden],.storefront-close[hidden]{display:none!important}
.storefront-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.storefront-panel-heading h2{font-size:clamp(27px,3vw,39px);margin:6px 0 0}
.storefront-panel>p{color:#5b6975;font-size:16px;line-height:1.5;max-width:800px;margin-bottom:22px}
.storefront-panel .class-catalog{margin-top:24px}
.storefront-panel .course-card{background:#f8f9fa}
.storefront-panel .learning-product-grid{margin-top:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.storefront-panel .product-art{height:190px}
.product-copy h3{font-size:27px;line-height:1.15;margin:10px 0 16px}
.product-copy h3 a{color:inherit;text-decoration:none}
.product-location{font-size:13px!important;color:#667480;margin-top:6px!important}
.product-access{display:inline-block;background:#eaf5ef;color:#21603b;font-size:13px;font-weight:600;padding:7px 11px;border-radius:5px;margin:8px 0}
.storefront .learning-disclosure{margin:26px 0 12px;max-width:1000px}
.storefront-account-note{font-size:14px;line-height:1.6;color:#566674;max-width:1000px}
.storefront a:focus-visible,.storefront button:focus-visible,.storefront select:focus-visible{outline:3px solid #184e74;outline-offset:4px}
@media(max-width:1100px){.storefront-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.storefront-tile{min-height:228px}.storefront-panel .learning-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.storefront{padding-top:30px}.storefront-tiles{gap:10px}.storefront-tile{padding:16px 14px;min-height:225px}.storefront-tile h3{font-size:23px}.storefront-tile-top{margin-bottom:16px;font-size:10px}.storefront-tile .path-goal{font-size:12px;min-height:35px}.storefront-tile .path-format{font-size:11px;margin-bottom:12px}.storefront-filter{align-items:stretch}.storefront-filter label{width:100%}.storefront-filter select{width:100%;flex:1 1 100%;font-size:14px}.storefront-filter button{align-self:flex-start}.storefront-panel{padding:20px 15px;margin-top:18px}.storefront-panel-heading{align-items:flex-start;flex-wrap:wrap;gap:12px}.storefront-panel .learning-product-grid{grid-template-columns:1fr}.storefront-panel .course-card{border-radius:8px}.storefront-panel .course-main{padding:20px 14px}.storefront-panel .course-booking{padding:20px 14px}.storefront-close{font-size:13px}.storefront-help{font-size:12px}}
@media(prefers-reduced-motion:reduce){.storefront *{scroll-behavior:auto!important;transition:none!important}}
