/* Concept 04: continuous environment, compact catalog, membership selector. */
.world{z-index:-1;background:#1a1a1a;height:var(--tour-height,100svh);bottom:auto}
.panorama-fallback,.panorama-canvas,.outside-view{position:absolute;inset:0;width:100%;height:100%;display:block}
.panorama-fallback{object-fit:cover;object-position:15% 50%}
.panorama-canvas{opacity:0}
.panorama-canvas.is-ready{opacity:1}
.motion-notice{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 14px;max-width:560px;margin:22px auto 0;padding:12px 18px;border:1px solid #ffffff40;border-radius:16px;background:#1a1a1ade;font-size:14px;color:#eee}
.motion-notice button{min-height:44px;color:var(--orange);font-size:15px;font-weight:600;padding:10px 0}
.outside-view{transform-origin:64% 55%}
.outside-view img{width:100%;height:100%;object-fit:cover;object-position:60% center;display:block}
.world-shade{background:linear-gradient(180deg,#10101070,transparent 35%,#10101026 85%,#10101060),linear-gradient(90deg,#10101082,transparent 85%);z-index:2}
.hero h1,.section-copy h2,.pricing-heading h2,.closing h2{ text-shadow:0 3px 28px #0005 }
.hero-content p,.hero-kicker{ text-shadow:0 2px 15px #000c }
.hero-topline{padding-top:46px}
.hero-content{padding-bottom:80px}
.hero-bottom{background:linear-gradient(transparent,#16161650);border-radius:24px}
.hero-facts>div>span,.hero-reassurance{color:#eee}
.entrance{min-height:1060px;padding-top:140px;padding-bottom:90px}
.entrance .section-copy{max-width:620px;padding:30px 0}
.entrance .section-copy p{color:#f2f2f2;text-shadow:0 2px 15px #000}
.feature-strip article{background:#1a1a1ad6;border-color:#ffffff40}
.exercises{padding:96px 0;min-height:900px;display:flex;align-items:center}
.exercises .split-layout{grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.exercises .section-copy{text-align:left;margin:0;max-width:420px}
.exercises h2{font-size:clamp(42px,4.3vw,62px);line-height:1.1}
.exercises .section-copy p{font-size:19px;line-height:1.7;color:#eee;text-shadow:0 2px 16px #000}
.catalog-caption{justify-content:flex-start;flex-wrap:wrap;font-size:15px;color:#eee}
.catalog-caption strong{font-size:25px}
.exercise-browser{padding:24px;background:#1a1a1ade;box-shadow:0 18px 50px #0002;border-color:#ffffff45;border-radius:24px}
.browser-title{margin-bottom:20px}
.browser-title h3{font-size:25px}
.search-field{padding:14px 16px;background:#262626e6;border-radius:12px}
.search-field input{font-size:16px}
.filter-list{gap:7px;margin:18px 0 20px}
.filter-list button{font-size:14px;padding:9px 15px;background:#1a1a1a80}
.exercise-results{grid-template-columns:1fr;gap:8px;min-height:280px}
.exercise-card{display:grid;grid-template-columns:94px minmax(0,1fr);position:relative;border-radius:14px;text-align:left;background:#262626e8;align-items:stretch}
.exercise-card:hover{transform:none;background:#303030f0}
.exercise-card-image{height:88px;width:94px;align-self:stretch}
.exercise-card-info{min-height:88px;padding:12px 34px 12px 16px;justify-content:center;gap:5px}
.exercise-card-info strong{font-size:16px;font-weight:600;line-height:1.4}
.exercise-card-info>span{font-size:14px;color:#ccc}
.exercise-card-info:after{content:'↗';position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:18px;padding:0;color:var(--orange)}
.catalog-skeleton{min-height:96px}
.catalog-skeleton .exercise-card-info{padding-right:16px}
.catalog-pagination{margin-top:20px;gap:16px;justify-content:space-between}
.catalog-pagination button{font-size:14px;padding:10px 14px;background:#26262680}
.exercise-count{font-size:13px;margin:14px 0 0}
.browser-footer{display:none}

.pricing{min-height:1120px;padding:126px 0 112px}
.pricing>.wrap{max-width:1300px}
.pricing-heading{display:flex;align-items:flex-end;justify-content:space-between;text-align:left;gap:36px;margin-bottom:40px}
.pricing-heading h2{font-size:clamp(48px,5vw,72px);margin-bottom:18px}
.pricing-heading p{font-size:20px;line-height:1.6;color:#eee;margin-bottom:0;text-shadow:0 2px 14px #000}
.billing-control{align-items:flex-start;flex-shrink:0;padding-bottom:4px}
.billing-control>span{color:#eee}
.billing-switch{background:#262626e8;border-color:#ffffff50}
.membership{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start}
.plan-choices{display:flex;flex-direction:column;gap:12px}
.plan-choice{position:relative;display:flex;align-items:center;gap:20px;text-align:left;padding:27px 24px;min-height:132px;background:#1a1a1ac9;border:1px solid #ffffff50;border-radius:20px;transition:border-color .18s,background-color .18s}
.plan-choice:hover{background:#262626ee}
.plan-choice.is-selected{border-color:var(--orange);background:#262626ee;box-shadow:inset 3px 0 var(--orange)}
.choice-heading{display:flex;flex-direction:column;gap:6px;min-width:0}
.choice-heading strong{font-size:25px;letter-spacing:-.03em;line-height:1.2}
.choice-heading>span{font-size:14px;line-height:1.5;color:#ccc}
.choice-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;font-size:25px;line-height:1.2;font-weight:600;white-space:nowrap;letter-spacing:-.04em}
.choice-price small{font-size:13px;letter-spacing:0;color:#ccc;font-weight:400;line-height:1.6}
.plan-choice>svg{width:19px;height:19px;color:var(--orange)}
.membership-detail{padding:34px 38px 28px;border:1px solid #ffffff4d;border-radius:24px;background:#1a1a1ade;min-width:0}
.membership-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.membership-top>.eyebrow{font-size:14px;color:#ddd;max-width:260px}
.membership-emblem{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border-radius:14px;border:1px solid #ff66005a;background:#ff660018;color:var(--orange)}
.membership-detail h3{font-size:36px;font-weight:600;line-height:1.15;letter-spacing:-.045em;margin:20px 0 16px;min-height:2.3em}
.membership-detail>p:not(.membership-caption){font-size:17px;color:#ccc;line-height:1.65;margin:0;min-height:56px}
.selected-plan-price{display:flex;align-items:baseline;gap:12px;margin:24px 0 10px}
.selected-plan-price strong{font-size:64px;line-height:1.1;letter-spacing:-.06em;font-weight:600}
.selected-plan-price strong>span{font-size:30px;margin-left:4px;vertical-align:top;line-height:1.8}
.selected-plan-price>span{font-size:15px;color:#ccc}
.membership-detail>.selected-billing{font-size:14px!important;min-height:48px!important}
.membership-detail ul{display:grid;grid-template-columns:1fr 1fr;gap:15px 20px;list-style:none;padding:26px 0;margin:20px 0 8px;border-top:1px solid #ffffff28;min-height:166px;align-content:start}
.membership-detail li{position:relative;font-size:15px;line-height:1.55;padding-left:20px;color:#eee}
.membership-detail li:before{content:'✓';position:absolute;left:0;color:var(--orange)}
.membership-detail>.button{width:100%;justify-content:space-between}
.membership-caption{font-size:13px;text-align:center;color:#bbb;line-height:1.5;margin:16px 0 0}
.pricing-demo-note{color:#eee;justify-content:flex-start;margin-top:26px;font-size:14px;text-shadow:0 2px 10px #000}
.faq{background:#1a1a1a22;border-color:#ffffff28;padding:106px 0}
.faq-layout{grid-template-columns:.95fr 1.05fr;gap:56px}
.faq-layout>div:first-child{padding:26px 0;text-shadow:0 2px 18px #000}
.faq h2{font-size:clamp(42px,4vw,60px)}
.faq-layout>div>p{color:#eee}
.faq-list{background:#1a1a1ade;border:1px solid #ffffff40;border-radius:24px;padding:4px 28px}
.faq details:last-child{border-bottom:0}
.faq summary{font-size:18px;gap:16px;padding:23px 0}
.faq details>div>p{font-size:16px;color:#ddd}
.closing{background:transparent;padding:104px 0 120px}
.closing .eyebrow{color:#eee}
.footer{background:#1a1a1ab5;border-color:#ffffff40}
.footer-columns a,.footer-columns button,.footer-concept p,.footer-bottom,.footer-bottom button,.footer-top p{color:#ddd}
@media(max-width:1100px){.exercises .split-layout{gap:32px;grid-template-columns:.75fr 1.25fr}.exercise-browser{padding:24px}.pricing-heading{align-items:flex-start}.plan-choice{padding:24px 20px;gap:12px}.choice-price{font-size:23px}.plan-choice>svg{display:none}.membership{gap:20px}.membership-detail{padding:30px}.membership-detail ul{grid-template-columns:1fr;min-height:260px;gap:13px}.membership-detail>p:not(.membership-caption){min-height:82px}}
@media(max-width:850px){.exercises .split-layout{grid-template-columns:1fr;gap:36px}.exercises{min-height:0;padding:100px 0}.exercises .section-copy{max-width:640px}.exercises h2{font-size:56px}.exercise-browser{max-width:680px;justify-self:center;width:100%}.pricing-heading{flex-direction:column;gap:28px}.membership{grid-template-columns:1fr}.plan-choices{flex-direction:row;gap:12px}.plan-choice{flex:1;min-width:0;min-height:150px;flex-direction:column;align-items:flex-start;padding:22px 20px;gap:16px}.choice-price{margin:0;align-items:flex-start;font-size:26px}.choice-heading>span{display:none}.membership-detail ul{grid-template-columns:1fr 1fr;min-height:166px}.membership-detail>p:not(.membership-caption){min-height:56px}.pricing{min-height:0;padding:100px 0}.faq-layout{grid-template-columns:1fr;gap:32px}.faq h2{font-size:54px}.faq-layout>div:first-child{padding:0}.entrance{min-height:1120px}.membership-detail{max-width:none}}
@media(max-width:600px){
  .world-shade{background:linear-gradient(180deg,#1118,transparent 36%,#1112 72%,#1116),linear-gradient(90deg,#1118,#1112)}
  .hero-topline{padding-top:44px}.hero-content{padding-bottom:70px}.hero h1{font-size:clamp(42px,10.6vw,64px)}
  .outside-view img{object-position:61% center}.entrance{min-height:0;padding:92px 0 80px}.entrance .section-copy{padding:0}.feature-strip{margin-top:52px}.feature-strip article{padding:26px;background:#1a1a1ad6}
  .exercises{padding:96px 0}.exercises .split-layout{gap:32px}.exercises h2{font-size:clamp(40px,10vw,58px)}.exercises .section-copy p{font-size:18px}.catalog-caption{font-size:14px}.catalog-caption strong{font-size:25px}
  .exercise-browser{padding:24px 18px}.browser-title h3{font-size:23px}.filter-list button{font-size:14px;padding-inline:14px}.exercise-results{min-height:292px;grid-template-columns:1fr;gap:10px}.exercise-card{grid-template-columns:78px minmax(0,1fr)}.exercise-card-image{width:78px;height:92px;min-height:100%}.exercise-card-info{min-height:92px;padding:12px 29px 12px 12px}.exercise-card-info strong{font-size:15px;line-height:1.4}.exercise-card-info>span{font-size:13px}.exercise-card-info:after{font-size:17px;right:10px}.catalog-pagination{gap:8px;margin-top:18px}.catalog-pagination button{font-size:13px;padding-inline:12px}.catalog-pagination>span{font-size:13px}.exercise-count{font-size:13px}.browser-footer{font-size:13px}
  .pricing{padding:94px 0}.pricing-heading{margin-bottom:28px;gap:26px}.pricing-heading h2{font-size:clamp(44px,11vw,62px)}.pricing-heading p{font-size:18px}.pricing-heading p br{display:none}.billing-control{gap:12px}.billing-control>span{font-size:14px}.billing-switch button{font-size:15px}
  .membership{gap:16px}.plan-choices{gap:8px}.plan-choice{min-height:120px;padding:16px 12px;gap:16px;border-radius:15px}.plan-choice.is-selected{box-shadow:inset 0 -3px var(--orange)}.choice-heading strong{font-size:19px}.choice-price{font-size:22px;letter-spacing:-.04em}.choice-price small{font-size:12px}.membership-detail{padding:26px 24px;border-radius:22px}.membership-detail h3{font-size:32px}.membership-top>.eyebrow{font-size:13px}.membership-emblem{width:40px;height:40px}.membership-detail>p:not(.membership-caption){font-size:16px;min-height:82px}.selected-plan-price strong{font-size:60px}.selected-plan-price>span{font-size:14px}.membership-detail ul{grid-template-columns:1fr;min-height:252px;gap:14px;padding-block:24px}.membership-detail li{font-size:16px}.membership-caption{font-size:13px}.pricing-demo-note{font-size:14px}
  .faq{padding:80px 0;background:#1a1a1a12}.faq h2{font-size:clamp(42px,11vw,60px)}.faq-list{padding:4px 20px;border-radius:22px}.faq summary{font-size:17px;padding-block:22px}.faq details>div>p{font-size:16px;padding-right:0}.closing{padding:80px 0 100px}.footer{background:#1a1a1ac9}
}
@media(max-width:370px){.exercise-browser{padding-inline:14px}.exercise-card-info strong{font-size:15px}.exercise-card-image{height:98px}.catalog-pagination button{font-size:12px;padding-inline:8px}.catalog-pagination>span{font-size:12px}.choice-price{font-size:20px}.plan-choice{padding-inline:10px}.membership-detail{padding:26px 20px}.membership-detail h3{font-size:30px}.membership-detail>p:not(.membership-caption){min-height:104px}.membership-detail ul{min-height:280px}}
body.motion-reduced .outside-view{transform:none!important}
@media print{.world{display:none}.pricing,.faq,.closing,.footer{background:#fff;color:#111}.plan-choice,.membership-detail,.exercise-browser,.faq-list{background:#fff;color:#111;border-color:#aaa;box-shadow:none}.membership-detail li,.membership-detail>p,.choice-price small,.choice-heading>span{color:#333}}

/* Entry 06: physical door leaves, natural scrolling, balanced mobile controls. */
.entry-building{position:absolute;width:100%;height:100%;transform-origin:50% 45.33%}
.entry-building .entry-facade{width:100%;height:100%;display:block;object-fit:fill;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 0,39.41388% 23.80446%,39.41388% 66.84378%,60.64593% 66.84378%,60.64593% 23.80446%,39.41388% 23.80446%,0 0)}
.entry-portal{position:absolute;left:39.41388%;top:23.80446%;width:21.23206%;height:43.03932%;perspective:1400px;perspective-origin:50% 50%}
.entry-leaf{position:absolute;top:0;width:50.1%;height:100%;overflow:hidden;backface-visibility:hidden;background:#151515}
.entry-leaf:before{content:'';position:absolute;width:941.97183%;height:232.34568%;top:-55.30864%;background:url('assets/entrance-v6.webp') center/100% 100% no-repeat}
.entry-leaf-left{left:0;transform-origin:left center}
.entry-leaf-right{right:0;transform-origin:right center}
.entry-leaf-left:before{left:-371.26761%}
.entry-leaf-right:before{left:-471.26761%}
.outside-view{transform:none!important;transform-origin:50% 50%}
.entry-runway{display:none;height:110svh;min-height:650px;pointer-events:none}
body.entry-enhanced .entry-runway{display:block}
.hero{min-height:max(880px,100svh)}
.text-link,.login-link,.back-top{padding:12px 20px;border:1px solid #ffffff80;border-radius:999px;background:#1a1a1aeb;color:#fff;justify-content:center;box-shadow:0 4px 18px #0002}
.text-link:hover,.login-link:hover,.back-top:hover{background:#333;border-color:#fff}
.text-link svg{color:currentColor}
.button-row{gap:16px}
.hero-bottom{background:#1a1a1ade;border:1px solid #ffffff35;padding-top:18px;border-radius:24px}
.hero-facts>div>span{color:#e0e0e0}
.hero-facts>div{min-width:0}
.entrance .section-copy,.exercises .section-copy,.faq-layout>div:first-child{background:#1a1a1ae3;border:1px solid #ffffff35;border-radius:24px;padding:30px;box-shadow:0 14px 40px #0002}
.entrance .section-copy p,.exercises .section-copy p,.faq-layout>div:first-child>p{color:#f3f3f3;text-shadow:none}
.exercises .section-copy{max-width:460px}
.exercise-browser,.membership-detail,.faq-list{background:#1a1a1af2}
.feature-strip article{background:#1a1a1af2}
.feature-strip article>svg{width:52px;height:52px;padding:12px;background:#ff660018;border:1px solid #ff660035;border-radius:16px;color:var(--orange)}
.feature-strip .feature-index{opacity:.7}
.filter-list button{border-color:#ffffff60;background:#262626f5;color:#f3f3f3;min-height:46px;line-height:1.3}
.filter-list button:hover{background:#383838;border-color:#ffffffb3}
.filter-list button.is-active{background:var(--orange);border-color:var(--orange);color:#1a1a1a}
.membership-detail li:before{content:none}
.membership-detail li{padding-left:0;display:flex;align-items:flex-start;gap:10px}
.membership-detail li svg{width:19px;height:19px;margin-top:2px;color:var(--orange)}
.exercise-card-info:after{content:none}
.exercise-card-info>.card-arrow{position:absolute;right:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--orange)}
svg{stroke-width:1.9}
.plan-choice>svg,.membership-emblem svg{width:24px;height:24px}
.catalog-pagination button,.instruction-navigation button,#exercise-play{border:1px solid #ffffff55;background:#262626;color:white;border-radius:12px}
.catalog-pagination svg,.instruction-navigation svg{width:18px;height:18px}
.catalog-pagination button,#exercise-play{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.footer-social{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.footer-social a{min-height:44px;padding:8px 14px;border:1px solid #ffffff55;border-radius:12px;font-size:14px}
.price-retry{display:inline-flex;padding:10px 16px;min-height:44px;border:1px solid #ffffff70;border-radius:12px;margin-top:14px;font-size:15px}
@media(max-width:850px){.entrance .section-copy,.exercises .section-copy{max-width:none}.exercises .split-layout{gap:24px}.nav.is-open{background:#1a1a1afc}.entry-runway{height:85svh;min-height:500px}}
@media(max-width:600px){
  .hero-bottom{width:calc(100% - 2 * var(--gutter));padding-inline:18px}
  .hero-facts{grid-template-columns:1fr 1fr;gap:18px 12px}
  .hero-facts>div{padding:0;border:0;text-align:left}
  .hero-facts>div:last-child{grid-column:1/-1;display:block;padding-top:16px;border-top:1px solid #ffffff30}
  .hero-facts strong{font-size:22px}.hero-facts>div>span{font-size:14px}
  .hero-content p{padding-inline:4px}.hero-reassurance{align-items:flex-start;text-align:left;line-height:1.5}
  .hero-reassurance svg{margin-top:2px}
  .entrance .section-copy,.exercises .section-copy,.faq-layout>div:first-child{padding:24px;border-radius:22px}
  .entrance h2{font-size:clamp(40px,10vw,56px)}
  .filter-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
  .filter-list button{grid-column:span 2;padding:12px 4px;font-size:14px;min-width:0;text-align:center;justify-content:center}
  .filter-list button:nth-child(n+4){grid-column:span 3}
  .login-link{padding:9px 13px}.button-row{gap:12px}.hero .text-link{font-size:16px}
  .catalog-pagination button{font-size:13px;padding:10px 8px}.catalog-pagination button svg{width:15px;height:15px}
}
body.motion-reduced .entry-runway{height:0;min-height:0}
.scroll-invitation{padding:10px 18px;border:1px solid #ffffff70;border-radius:999px;background:#262626d9}
.scroll-invitation .scroll-icon{border:0;width:22px;height:24px}
.footer #motion-toggle,.footer-bottom button,.dialog-switch{border:1px solid #ffffff60;border-radius:12px;padding:10px 16px;min-height:44px;background:#262626e6;color:#fff;margin-top:10px}
.motion-notice button{border:1px solid #ff660080;border-radius:10px;padding:9px 14px;background:#262626}
.legacy-anchor{display:block;height:0;scroll-margin-top:calc(var(--header-height) + 24px)}
