.academy02 .ac-auditorium{padding:48px 0 58px;text-align:center;background:linear-gradient(180deg,#f5f8fb 0%,#fff 80%)}
.academy02 .ac-auditorium .ac-label{font-size:13px;letter-spacing:.09em;margin-bottom:16px}
.academy02 .ac-auditorium h1{font-size:clamp(48px,6.3vw,86px);letter-spacing:-.055em;line-height:1.02}
.academy02 .ac-auditorium-lead{font-size:clamp(25px,3vw,38px);font-weight:600;letter-spacing:-.035em;line-height:1.2;margin:14px 0 0;color:#153f66}
.academy02 .ac-auditorium-copy{max-width:690px;margin:18px auto 30px;font-size:18px;line-height:1.55;color:#526272}
.academy02 .ac-auditorium-stage{position:relative;overflow:hidden;border-radius:12px;background:#eaf0f6;box-shadow:0 22px 64px #10294318;isolation:isolate}
.academy02 .ac-auditorium-stage>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:50% 45%}
.academy02 .ac-auditorium-entry{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;width:min(460px,calc(100% - 32px));padding:22px 24px;border-radius:8px;background:#fffffff0;backdrop-filter:blur(22px);box-shadow:0 10px 36px #071e3933;color:#172f46}
.academy02 .ac-auditorium-kicker{font-size:11px;font-weight:600;letter-spacing:.1em}
.academy02 .ac-auditorium-entry .ac-button{font-size:17px;min-height:50px;padding:13px 28px;border-radius:7px}
.academy02 .ac-download-size{font-size:12px;line-height:1.5;color:#43596d;margin:0}
.academy02 .ac-card .ac-download-size{font-size:12px;margin:12px 0 0}
.academy02 .ac-auditorium-foot{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:20px 0 0;font-size:15px;color:#526272}
.academy02 .ac-auditorium-foot .ac-link{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
@media(max-width:700px){.academy02 .ac-auditorium{padding-top:30px}.academy02 .ac-auditorium .ac-wrap{width:calc(100% - 32px)}.academy02 .ac-auditorium-copy{font-size:16px;margin-bottom:22px}.academy02 .ac-auditorium-stage>img{aspect-ratio:4/5;object-position:50% 35%}.academy02 .ac-auditorium-entry{bottom:12px;padding:18px 14px}.academy02 .ac-auditorium-foot{flex-direction:column;gap:8px;font-size:14px}.ac-auditorium-toolbar{padding:8px 14px;font-size:13px}}

/* Keep the entry and download size visible before the large preview. */
.academy02 .ac-auditorium-entry{position:static;transform:none;margin:0 auto 26px;background:transparent;box-shadow:none;backdrop-filter:none;padding:0;width:min(520px,100%)}
/* The interactive player lives in the Academy page, in place of the preview. */
.academy02 .ac-auditorium-stage{scroll-margin-top:110px}
.academy02 .ac-auditorium-stage>img[hidden]{display:none}
.academy02 .ac-auditorium-stage.is-playing{height:clamp(560px,78vh,850px)}
.academy02 .ac-auditorium-stage>iframe{display:block;width:100%;height:100%;border:0;background:#fff}
@media(max-width:700px){.academy02 .ac-auditorium-stage.is-playing{height:clamp(600px,82svh,800px)}.academy02 .ac-auditorium-stage{scroll-margin-top:104px}}

/* A frosted launch layer gives the lesson one clear starting point. */
.academy02 .ac-auditorium-stage .ac-auditorium-entry{position:absolute;inset:0;z-index:2;transform:none;width:100%;height:100%;margin:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;background:linear-gradient(135deg,#f8fbff55,#dce8f433);backdrop-filter:blur(7px) saturate(1.12);-webkit-backdrop-filter:blur(7px) saturate(1.12);box-shadow:none;border-radius:0;color:#102f4e}
.academy02 .ac-auditorium-stage .ac-auditorium-kicker{font-size:12px;letter-spacing:.12em}
.academy02 .ac-auditorium-stage .ac-auditorium-entry .ac-button{min-height:62px;padding:18px 36px;font-size:20px;border-radius:10px;box-shadow:0 10px 35px #16477626}
.academy02 .ac-auditorium-stage .ac-download-size{color:#102f4e;font-size:13px;font-weight:500;max-width:400px;text-wrap:balance}
.academy02 .ac-auditorium-stage.is-playing .ac-auditorium-entry{display:none}
@media(max-width:700px){.academy02 .ac-auditorium-stage .ac-auditorium-entry{padding:20px;gap:14px}.academy02 .ac-auditorium-stage .ac-download-size{font-size:12px;max-width:270px}.academy02 .ac-auditorium-stage .ac-auditorium-entry .ac-button{font-size:18px;padding:16px 28px;min-height:56px}}

.academy02 .ac-spatial-intro{max-width:510px;text-align:center;padding:0 12px 8px}
.academy02 .ac-spatial-intro h2{font-size:clamp(24px,2.8vw,36px);line-height:1.15;letter-spacing:-.035em;color:#102f4e;text-wrap:balance}
.academy02 .ac-spatial-intro p{font-size:17px;line-height:1.5;margin-top:14px;color:#193b58;text-wrap:balance}
@media(max-width:700px){.academy02 .ac-spatial-intro{padding-inline:0}.academy02 .ac-spatial-intro h2{font-size:26px}.academy02 .ac-spatial-intro p{font-size:15px;line-height:1.5;margin-top:12px}}

/* One Academy heading, without repeated page labels. */
body:has(.ac-auditorium) .store-product-navigation__title{display:none}
body:has(.ac-auditorium) .store-product-navigation__links{margin-left:auto}
.academy02 .ac-auditorium{padding-top:38px}
@media(max-width:700px){.academy02 .ac-auditorium{padding-top:28px}}

.academy02 .ac-auditorium>.ac-wrap>.ac-label{color:#0071ce;font-size:17px;letter-spacing:.01em;font-weight:600;margin-bottom:15px}
.academy02 .ac-spatial-intro{max-width:570px}

.academy02 .ac-hardware-strip{margin-top:46px;text-align:left}
.academy02 .ac-hardware-strip>h2{font-size:clamp(26px,3vw,36px);line-height:1.2;margin-bottom:24px}
.academy02 .ac-hardware-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.academy02 .ac-hardware-grid .hardware-option{display:flex;flex-direction:column;min-width:0;padding:24px;background:#f3f6f9;border-radius:10px;gap:14px}
.academy02 .ac-hardware-grid .hardware-image{display:flex;align-items:center;justify-content:center;height:170px}
.academy02 .ac-hardware-grid .hardware-image img{width:100%;height:100%;object-fit:contain}
.academy02 .ac-hardware-grid .hardware-heading h3{font-size:23px;line-height:1.2;margin-bottom:6px}
.academy02 .ac-hardware-grid .hardware-heading span{font-size:14px;color:#526272}
.academy02 .ac-hardware-grid .hardware-option>p{font-size:17px;line-height:1.5;color:#354b60}
.academy02 .ac-hardware-grid .hardware-link{margin-top:auto;padding-top:3px;font-size:15px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.academy02 .ac-hardware-grid{grid-template-columns:1fr;gap:16px}.academy02 .ac-hardware-strip{margin-top:30px}.academy02 .ac-hardware-grid .hardware-option{padding:22px}.academy02 .ac-hardware-grid .hardware-image{height:155px}}

/* Inverted glass cover. */
.academy02 .ac-auditorium-stage .ac-auditorium-entry{background:#10243de0;color:#fff;backdrop-filter:blur(7px) saturate(.85);-webkit-backdrop-filter:blur(7px) saturate(.85)}
.academy02 .ac-auditorium-stage .ac-spatial-intro h2,.academy02 .ac-auditorium-stage .ac-spatial-intro p,.academy02 .ac-auditorium-stage .ac-download-size{color:#fff}
.academy02 .ac-auditorium-stage .ac-auditorium-entry .ac-button{background:#fff;color:#102f4e;border-color:#fff;box-shadow:0 10px 35px #00000033}
.academy02 .ac-auditorium-stage .ac-auditorium-entry .ac-button:hover{background:#e6edf5;border-color:#e6edf5}

/* A wide, shallower stage on desktop keeps the lesson integrated with the page. */
@media(min-width:701px){
 .academy02 .ac-auditorium-stage,.academy02 .ac-auditorium-stage.is-playing{width:100vw;max-width:none;left:50%;transform:translateX(-50%);height:clamp(506px,69vh,713px);border-radius:0;box-shadow:none}
 .academy02 .ac-auditorium-stage>img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
}

/* Compact hardware tiles keep the device choices easy to scan. */
.academy02 .ac-hardware-strip{margin-top:30px}
.academy02 .ac-hardware-strip>h2{margin-bottom:18px}
.academy02 .ac-hardware-grid .hardware-option{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px 16px;padding:20px;align-content:start}
.academy02 .ac-hardware-grid .hardware-image{height:85px;align-self:center}
.academy02 .ac-hardware-grid .hardware-heading{align-self:center}
.academy02 .ac-hardware-grid .hardware-heading h3{font-size:21px;margin-bottom:5px}
.academy02 .ac-hardware-grid .hardware-heading span{font-size:13px;line-height:1.35}
.academy02 .ac-hardware-grid .hardware-option>p{grid-column:1/-1;font-size:16px;line-height:1.45}
.academy02 .ac-hardware-grid .hardware-link{grid-column:1/-1;margin-top:0;padding-top:2px;font-size:14px}
@media(max-width:1100px){.academy02 .ac-hardware-grid{gap:16px}.academy02 .ac-hardware-grid .hardware-option{grid-template-columns:85px minmax(0,1fr);padding:17px;gap:10px 12px}}
@media(max-width:700px){.academy02 .ac-hardware-grid .hardware-option{grid-template-columns:100px minmax(0,1fr);padding:18px}.academy02 .ac-hardware-grid .hardware-image{height:85px}}

.academy02 .ac-auditorium{background:#fff}

.academy02 .ac-closing{background:#f7f8fa}

/* Approved cover glass settings. */
.academy02 .ac-auditorium-stage .ac-auditorium-entry{background: linear-gradient(135deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0) 58%), rgba(255, 244, 214, 0.23); backdrop-filter: blur(4px) saturate(114%) brightness(90%) contrast(78%); border: 0px solid rgba(11, 20, 56, 0.59); border-radius: 0px; box-shadow: rgba(0, 0, 0, 0) 0px 0px 3px inset; -webkit-backdrop-filter: blur(4px) saturate(114%) brightness(90%) contrast(78%);}
.academy02 .ac-auditorium-stage .ac-auditorium-entry h2,.academy02 .ac-auditorium-stage .ac-auditorium-entry p{color:#ffffff}
.academy02 .ac-auditorium-stage .ac-auditorium-entry .ac-button{background:#ffffff;border-color:#ffffff;color:#102f4e}

/* Keep the page position when the preview is replaced by the player. */
body:has(.ac-auditorium){overflow-anchor:none}

@media(max-width:700px){.academy02 .ac-auditorium-stage,.academy02 .ac-auditorium-stage.is-playing{width:100vw;max-width:none;left:50%;transform:translateX(-50%);border-radius:0;box-shadow:none}}


/* A frozen spatial frame rotates behind the existing launch glass. */
.academy02 .ac-auditorium-stage.has-preview:not(.is-playing){height:clamp(506px,69vh,713px)}
.academy02 .ac-auditorium-stage>iframe{position:absolute;inset:0;z-index:0}
.academy02 .ac-auditorium-stage.has-preview:not(.is-playing)>iframe{opacity:0;pointer-events:none;transition:opacity .45s ease}
.academy02 .ac-auditorium-stage.has-preview.preview-ready:not(.is-playing)>iframe{opacity:1}
.academy02 .ac-auditorium-stage.has-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.academy02 .ac-auditorium-stage.has-preview.preview-ready>img{visibility:hidden}
@media(max-width:700px){.academy02 .ac-auditorium-stage.has-preview:not(.is-playing){height:clamp(600px,82svh,800px)}}
@media(prefers-reduced-motion:reduce){.academy02 .ac-auditorium-stage.has-preview>iframe{transition:none}}

.academy02 .ac-glass-config{margin:26px 0;text-align:left;border:1px solid #dce4ed;border-radius:8px;background:#f7f9fb;color:#16344f;font-size:14px}
.academy02 .ac-glass-config>summary{padding:16px 20px;cursor:pointer;font-size:17px;font-weight:600}
.academy02 .ac-glass-config-body{padding:0 20px 20px}
.academy02 .ac-glass-config-body>p{margin-bottom:20px;font-size:14px;color:#526272}
.academy02 .ac-glass-config-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 24px}
.academy02 .ac-glass-field{display:grid;grid-template-columns:1fr auto;gap:6px 8px;font-size:13px;min-width:0}
.academy02 .ac-glass-field output{font-size:12px;font-variant-numeric:tabular-nums;color:#526272}
.academy02 .ac-glass-field input{grid-column:1/-1;width:100%;accent-color:#1f639c;cursor:pointer;min-height:28px}
.academy02 .ac-glass-field input[type=color]{height:32px;padding:2px;border:1px solid #c4d0dc;background:#fff;border-radius:4px}
.academy02 .ac-glass-config-actions{display:flex;gap:18px;margin-top:22px}
.academy02 .ac-glass-config-actions button{font:600 14px/1.4 Arial,sans-serif;padding:8px 14px;border:1px solid #b5c7d8;background:#fff;color:#173c60;border-radius:5px;cursor:pointer}
.academy02 .ac-glass-css{width:100%;height:230px;resize:vertical;margin-top:16px;padding:14px;border:1px solid #b5c7d8;border-radius:5px;background:#fff;color:#10243d;font:12px/1.5 monospace;text-align:left}
.academy02 .ac-glass-css[hidden]{display:none}
@media(max-width:900px){.academy02 .ac-glass-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:450px){.academy02 .ac-glass-config-grid{grid-template-columns:1fr;gap:15px}.academy02 .ac-glass-config-body{padding:0 16px 16px}}

/* White text on the launch glass. */
.academy02 .ac-auditorium-stage .ac-auditorium-entry{color:#ffffff}

/* Keep the embedded player usable on phones in landscape orientation. */
@media(max-height:500px) and (max-width:1023px){
 .academy02 .ac-auditorium-stage,.academy02 .ac-auditorium-stage.is-playing,.academy02 .ac-auditorium-stage.has-preview:not(.is-playing){height:max(260px,calc(100svh - 100px))}
}

/* Render the real start scene instead of a separately captured poster. */
.academy02 .ac-auditorium-stage:not(.is-playing){min-height:clamp(506px,69vh,713px);background:linear-gradient(#fff,#eaf0f6)}
.academy02 .ac-auditorium-stage[aria-busy="true"]:not(.is-playing)::after{content:"";position:absolute;z-index:3;bottom:20px;left:calc(50% - 10px);width:20px;height:20px;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:ac-start-loading .8s linear infinite;pointer-events:none}
@keyframes ac-start-loading{to{transform:rotate(360deg)}}
@media(max-width:700px){.academy02 .ac-auditorium-stage:not(.is-playing){min-height:clamp(600px,82svh,800px)}}
@media(prefers-reduced-motion:reduce){.academy02 .ac-auditorium-stage[aria-busy="true"]::after{animation:none}}

/* The host state owns the launch cover, including after backgrounding and errors. */
.academy02 .ac-auditorium-entry[hidden]{display:none!important}
.academy02 .ac-auditorium-stage.is-playing>iframe{opacity:1!important;pointer-events:auto!important}
.academy02 .ac-auditorium-stage[data-rxr-state="loading"]{background:#fff}
@media(max-width:700px){
 .academy02 .ac-auditorium-stage,.academy02 .ac-auditorium-stage.is-playing,.academy02 .ac-auditorium-stage.has-preview:not(.is-playing),.academy02 .ac-auditorium-stage:not(.is-playing){height:clamp(430px,calc(100svh - 102px),800px);min-height:0}
 .academy02 .ac-auditorium-stage .ac-spatial-intro p{font-size:15px;line-height:1.45}
}
@media(max-height:500px) and (max-width:1023px){
 .academy02 .ac-auditorium-stage,.academy02 .ac-auditorium-stage.is-playing,.academy02 .ac-auditorium-stage.has-preview:not(.is-playing),.academy02 .ac-auditorium-stage:not(.is-playing){height:max(260px,calc(100svh - 100px));min-height:0}
}

/* The support launcher must not cover playback controls on small screens. */
@media(max-width:1023px){body:has(.ac-auditorium-stage.is-playing) .woot-widget-bubble{display:none!important}}

/* Full-window fallback for mobile browsers without reliable native fullscreen. */
html.rxr-expanded-page,html.rxr-expanded-page body{overflow:hidden!important;overscroll-behavior:none}
html.rxr-expanded-page .academy02 .ac-auditorium-stage.rxr-expanded{position:fixed!important;inset:0!important;left:0!important;top:0!important;width:100%!important;height:100dvh!important;min-height:0!important;max-height:none!important;margin:0!important;transform:none!important;border-radius:0!important;z-index:2147483000!important}
html.rxr-expanded-page .woot-widget-bubble{display:none!important}
