.store-carousel { min-width: 0; }
.store-faq { padding-block: 0 64px; }
.store-faq h2 { font-size: clamp(24px,3vw,34px); margin-bottom: 24px; }
.store-faq details { border-top: 1px solid #bcc4b2; padding: 18px 0; }
.store-faq summary { cursor: pointer; font-weight: 600; line-height: 1.7; }
.store-faq p { max-width: 850px; line-height: 1.9; color: #50634d; }
.store-paths { padding-block: 78px 10px; }
.store-paths h2 { margin: 12px 0 30px; font-size: clamp(32px,4vw,50px); }
.store-paths > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.store-paths a { position: relative; overflow: hidden; display: grid; gap: 14px; min-height: 230px; padding: clamp(26px,3vw,42px); border: 1px solid #b9c5ad; border-radius: 18px; color: #173b29; text-decoration: none; background: linear-gradient(145deg,#fffdf4e8,#eef2e4); box-shadow: 0 16px 38px #31482c12; transition: transform .35s ease,box-shadow .35s ease; }
.store-paths a:last-child { color: #fff; border-color: #a9cc8e; background: linear-gradient(135deg,#729e59,#376f48 58%,#173f2e); box-shadow: inset 0 1px #ffffff75,0 18px 38px #21452e30; }
.store-paths a::after { content:''; position:absolute; width:180px; aspect-ratio:1; right:-60px; top:-80px; border:1px solid currentColor; border-radius:50%; opacity:.14; box-shadow:0 0 0 25px currentColor,0 0 0 52px currentColor; }
.store-paths a:hover { transform: translateY(-6px); box-shadow: 0 22px 48px #31482c25; }
.store-paths a:focus-visible { outline:3px solid #b78545; outline-offset:5px; }
.store-paths span { position:relative; z-index:1; font-size:13px; letter-spacing:.13em; }
.store-paths strong { position:relative; z-index:1; max-width:430px; font-size:clamp(23px,2.4vw,32px); line-height:1.5; }
.store-paths i { position:relative; z-index:1; align-self:end; font-style:normal; font-weight:700; }
.courses-hero { padding-block: clamp(70px,10vw,130px); position:relative; overflow:hidden; }
.courses-hero::before { content:'x²'; position:absolute; right:4%; top:2%; font-family:Georgia,serif; font-size:clamp(130px,24vw,330px); line-height:1; color:#94b27424; transform:rotate(-8deg); pointer-events:none; }
.courses-hero h1 { position:relative; max-width:880px; margin:18px 0 25px; font-size:clamp(48px,7vw,92px); letter-spacing:-.055em; line-height:1.16; }
.courses-hero > p:not(.eyebrow) { position:relative; max-width:720px; font-size:clamp(19px,2vw,26px); line-height:1.85; color:#50634d; }
.courses-hero .button { position:relative; margin-top:20px; }
.course-catalog { padding-block:75px 95px; border-top:1px solid #c2c9b9; }
.course-catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; margin-top:22px; }
.course-catalog-card { min-width:0; border-bottom:1px solid #b8bbaa; padding-bottom:28px; }
.course-catalog-card[hidden] { display:none; }
.course-catalog-card > a { display:flex; flex-direction:column; height:100%; overflow:hidden; color:#17271d; text-decoration:none; background:#faf7ed; border:1px solid #d1d3c6; transition:transform .3s ease,box-shadow .3s ease; }
.course-catalog-card > a:hover { transform:translateY(-5px); box-shadow:0 18px 35px #263e291c; }
.course-catalog-card > a:focus-visible { outline:3px solid #b78545; outline-offset:5px; }
.course-catalog-card .store-media { width:100%; aspect-ratio:16/9; min-height:0; overflow:hidden; background:transparent; }
.course-catalog-card .store-media img { display:block; width:100%; height:100%; object-fit:cover; }
.course-catalog-card > a > div:last-child { padding:28px; display:flex; flex-direction:column; }
.course-catalog-card h3 { margin:10px 0; font-size:clamp(22px,2.4vw,30px); line-height:1.5; }
.course-catalog-card p:not(.eyebrow) { color:#62705d; line-height:1.75; }
.course-catalog-card span { margin-top:auto; color:#8c642e; font-size:14px; }
.course-catalog-card strong { margin-top:12px; color:#27523a; }
.course-count { font-size:13px; color:#68735e; }
.course-clip-buttons { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0 20px; }
.course-clip-buttons button { border:1px solid #a5b69a; border-radius:12px; padding:11px 16px; min-height:44px; background:#faf8f0; color:#24442f; font:inherit; font-size:15px; line-height:1.5; text-align:left; cursor:pointer; transition:background .2s,color .2s,box-shadow .2s; }
.course-clip-buttons button:hover { background:#e6efdb; }
.course-clip-buttons button[aria-pressed="true"] { background:#426442; border-color:#c2dc9e; color:#fff; box-shadow:0 0 0 1px #c2dc9e55; }
.course-clip-buttons button:focus-visible { outline:3px solid #b78545; outline-offset:3px; }
.course-clip-current { color:#f8f7ec; font-weight:700; margin:0 0 12px; }
.course-breadcrumb { padding-top:22px; display:flex; gap:10px; color:#64705e; font-size:14px; }
.course-breadcrumb a { color:#27523a; }
.course-detail-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,4vw,60px); align-items:center; padding-block:24px 32px; }
.course-detail-hero h1 { font-size:clamp(28px,3vw,42px); line-height:1.35; letter-spacing:-.04em; margin:10px 0 14px; }
.course-detail-cover { width:100%; max-width:440px; justify-self:end; }
.course-detail-hero > div:first-child > p:not(.eyebrow) { color:#576955; font-size:18px; line-height:1.85; }
.course-detail-cover { position:relative; padding:18px; border:1px solid #ffffffd6; border-radius:22px; background:linear-gradient(140deg,#e7f4d48c,#adcf8559,#ffffff9c); box-shadow:inset 1px 1px 1px #fff,5px 8px 0 #dfe8d0,18px 25px 45px #283e2824; transform:rotate(1.5deg); }
.course-detail-cover .store-media { border-radius:11px; aspect-ratio:16/9; background:#517e56; }
.course-detail-status { margin-top:18px; display:flex; align-items:center; flex-wrap:wrap; gap:18px; }
.course-detail-status span { padding:11px 20px; border:1px solid #a6b69b; border-radius:5px; background:#e7eddf; color:#49613b; }
.course-detail-status a { color:#1f5438; font-weight:700; }
.course-preview-section { padding-block:24px 55px; color:#f8f7ec; background:radial-gradient(circle at 80% 10%,#5c835254,transparent 34%),linear-gradient(145deg,#173d2b,#0e251a); }
.course-preview-section h2 { color:#fff; margin:6px 0 12px; font-size:clamp(24px,2.2vw,30px); }
.course-preview-section .eyebrow { margin:0; }
.course-preview-section .course-clip-buttons { margin:14px 0; }
.course-preview-section .wrap > p:not(.eyebrow):not(.course-preview-note) { max-width:680px; color:#dce7d7; font-size:18px; line-height:1.8; }
.course-video-frame,.course-video-placeholder { margin-top:38px; width:min(100%,1040px); aspect-ratio:16/9; border:1px solid #ffffff5c; border-radius:18px; overflow:hidden; background:#09170f; box-shadow:0 28px 70px #0006,0 0 0 8px #ffffff0a; }
.course-video-frame iframe { width:100%; height:100%; border:0; display:block; }
.course-video-placeholder { display:grid; place-content:center; justify-items:center; text-align:center; background:radial-gradient(circle at 50% 45%,#4e744a,#173829 48%,#0a1b12); }
.course-video-placeholder > span { display:grid; place-items:center; width:78px; aspect-ratio:1; padding-left:6px; border:1px solid #ffffffc9; border-radius:50%; color:#fff; font-size:27px; box-shadow:0 0 35px #b9e4915e; }
.course-video-placeholder strong { margin-top:22px; font-size:clamp(22px,3vw,34px); }
.course-video-placeholder p { margin:8px 0 0; color:#d5e2d0; }
.course-preview-note { max-width:850px; margin-top:24px; color:#aebfac; font-size:14px; line-height:1.8; }
.course-detail-next { padding-block:80px 100px; }
.course-detail-next h2 { font-size:clamp(30px,4vw,44px); }
.course-detail-next > div { display:flex; align-items:center; flex-wrap:wrap; gap:22px; }
@media(max-width:900px){
  .course-detail-hero { grid-template-columns:1fr; }
}
@media(max-width:620px){
  .store-paths { padding-top:55px; }
  .store-paths > div,.course-catalog-grid { grid-template-columns:1fr; }
  .store-paths a { min-height:200px; }
  .course-catalog { padding-block:55px 70px; }
  .course-catalog-card > a > div:last-child { padding:22px; }
  .course-detail-hero { padding-block:20px 24px; gap:20px; }
  .course-detail-cover { max-width:280px; justify-self:center; padding:10px; }
  .course-preview-section { padding-block:22px 40px; }
  .course-video-placeholder { padding:25px; }
}
@media(prefers-reduced-motion:reduce){
  .store-paths a,.course-catalog-card > a { transition:none; transform:none; }
}
.store-hero .store-feature {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid #ffffffc9;
  border-right-color: #b1c49e70;
  border-bottom-color: #f7ffe8e6;
  border-radius: 22px;
  color: #183c2b;
  background: linear-gradient(140deg, #fffffff0 0%, #e7f1d842 28%, #c4e3a14d 63%, #edf6df8c 100%);
  -webkit-backdrop-filter: blur(22px) saturate(115%);
  backdrop-filter: blur(22px) saturate(115%);
  box-shadow: inset 1px 1px 1px #ffffffed, inset -1px -1px 2px #ffffffa6, 1px 2px 0 #d2dfbbbf, 2px 4px 0 #f7ffedb3, 3px 5px 1px #92a87b59, 8px 18px 28px #35482d1f;
  transition: transform .5s cubic-bezier(.4,0,.2,1);
}
.store-hero .store-feature:hover { transform: rotate(0deg) translateY(-4px); }
.store-hero .store-feature:focus-visible { outline: 3px solid #365e24; outline-offset: 8px; }
.store-hero .store-feature h2 { color: #183c2b; }
.store-hero .store-feature > * { position: relative; z-index: 1; }
.store-hero .store-feature-label { color: #345128; }
.store-hero .store-feature > div:last-child { border-top-color: #537c4740; }
.store-hero .store-feature > .store-slide-image { background: #ffffff40; border-radius: 12px; overflow: hidden; box-shadow: 0 1px 0 #ffffffc9; }
.store-hero .store-feature::before {
  content: ''; position: absolute; inset: 0; border-radius: inherit;
  pointer-events: none; z-index: 0; opacity: .16;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23grain)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");
}
.store-hero .store-feature::after {
  content: ''; position: absolute; inset: -15%; pointer-events: none; z-index: 0;
  background: radial-gradient(ellipse at 24% 83%, #e8ff90b3 0%, #c2e98959 21%, transparent 48%), radial-gradient(ellipse at 82% 27%, #ffffffcc 0%, #e8f6c952 23%, transparent 52%);
  animation: store-glass-reflection 9s cubic-bezier(.4,0,.2,1) infinite alternate;
}
@keyframes store-glass-reflection {
  0% { transform: translate(-8%, 6%) scale(1); opacity: .55; }
  50% { transform: translate(3%, -2%) scale(1.06); opacity: .95; }
  100% { transform: translate(10%, -8%) scale(1); opacity: .7; }
}
.store-slides { display: grid; }
.store-slide { grid-area: 1 / 1; min-width: 0; }
.store-slide[hidden], .store-school-filters[hidden], .store-empty[hidden] { display: none; }
.store-feature > .store-slide-image { border: 0; padding: 0; margin: 0; aspect-ratio: 16 / 9; background: #183528; }
.store-slide-image img { width: 100%; height: 100%; object-fit: contain; }
.store-slide > div:last-child { min-height: 175px; }
.store-carousel-controls { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 40px; }
.store-carousel-controls button, .store-school-filters button { font: inherit; cursor: pointer; border: 1px solid #a4b09c; background: transparent; color: #24442f; border-radius: 4px; padding: 9px 14px; min-height: 44px; transition: background .18s, transform .18s; }
.store-carousel-controls button[aria-pressed=true], .store-school-filters button[aria-pressed=true] { background: #24442f; color: #fff9ea; }
.store-carousel-controls button:hover, .store-school-filters button:hover { transform: translateY(-2px); }
.store-carousel-controls button:focus-visible, .store-school-filters button:focus-visible { outline: 3px solid #b78545; outline-offset: 4px; }
.store-school-filters { display: flex; flex-wrap: wrap; gap: 10px; border-left: 3px solid #b78545; padding-left: 16px; margin-top: 20px; }
.store-empty { padding: 35px 24px; background: #e7eddf; border: 1px dashed #a4b09c; color: #24442f; }
.store-empty a { color:inherit; font-weight:700; text-underline-offset:4px; }
.store-band {
  position: relative; overflow: hidden; isolation: isolate;
  background: linear-gradient(125deg, #9bbd84cc, #628b4ec9 46%, #789e5fc4 78%, #aac98bc7);
  -webkit-backdrop-filter: blur(22px) saturate(115%);
  backdrop-filter: blur(22px) saturate(115%);
  border-top: 1px solid #f5ffe7cc; border-bottom: 1px solid #f2ffded9;
  box-shadow: inset 0 1px 1px #ffffff80, inset 0 -1px 2px #d4edb580, 0 3px 0 #97b58270, 0 9px 20px #35482d1a;
  color: #fff; gap: clamp(14px,2.5vw,36px); letter-spacing: .04em;
  font-size: clamp(20px,2.2vw,30px); font-weight: 700;
  text-shadow: 0 0 7px #ffffff80, 0 0 20px #efffdc66, 0 1px 3px #244c3280;
}
.store-band > * { position: relative; z-index: 1; }
.store-band i { color: #fff; }
.store-band::before {
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .14;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23grain)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");
}
.store-band-visible > * { animation: store-band-reveal .4s cubic-bezier(.2,0,0,1) both; }
.store-band-visible > :nth-child(2) { animation-delay: .1s; }
.store-band-visible > :nth-child(3) { animation-delay: .2s; }
.store-band-visible > :nth-child(4) { animation-delay: .3s; }
.store-band-visible > :nth-child(5) { animation-delay: .4s; }
.store-band-visible::after { content: ''; position: absolute; inset: -20%; z-index: 0; background: radial-gradient(ellipse at 25% 80%, #d3f18b80, transparent 48%), radial-gradient(ellipse at 80% 15%, #e9f9d36b, transparent 42%); pointer-events: none; animation: store-glass-reflection 9s cubic-bezier(.4,0,.2,1) infinite alternate; }
@keyframes store-band-reveal { from { opacity: .25; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes store-band-light { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
@media (max-width: 620px) {
  .store-slide > div:last-child { min-height: 190px; }
  .store-carousel-controls { margin-top: 24px; gap: 5px; }
  .store-carousel-controls button { padding-inline: 10px; }
  .store-band { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px 8px; padding: 28px 14px; text-align: center; font-size: clamp(17px,4.6vw,22px); }
  .store-band > :nth-child(4), .store-band > :nth-child(5) { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .store-band-visible > *, .store-band-visible::after { animation: none; }
  .store-carousel-controls button, .store-school-filters button { transition: none; transform: none; }
}
