/* Questions → product answer → existing fitted-product 3D chapter. */
.opening-concerns{background:#182019;color:#f5f5eb;padding:145px 0 75px;min-height:100svh}
.concerns-inner{max-width:1080px}.concerns-lead{font-size:19px;color:#d0dcc7;margin-bottom:22px}
#concerns-title{font-size:clamp(38px,5.2vw,68px);line-height:1.4;letter-spacing:-.045em;margin:0 0 42px}
#concerns-title span{color:var(--lime)}
.concerns-list{list-style:none;padding:0;margin:0}.concerns-list li{border-top:1px solid #52614c;padding:24px 0}
.concerns-list h2{font-size:clamp(21px,2.4vw,31px);line-height:1.65;letter-spacing:-.025em}
.concerns-list p{font-size:16px;line-height:1.85;color:#c4d0bd;margin-top:6px}
.mobile-break{display:none}.opening-next{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px;font-weight:600;line-height:1.8;margin-top:30px;padding:17px 0;border-bottom:1px solid currentColor}
.opening-next span{font-size:25px;flex-shrink:0}.opening-concerns .opening-next{color:var(--lime)}
.opening-solution{background:#d6f77a;padding:90px 0 75px;color:#23301d;overflow:hidden}
.solution-lead{font-size:clamp(22px,2.7vw,34px);font-weight:650;line-height:1.6}
#solution-title{font-size:clamp(70px,15vw,195px);font-weight:850;line-height:1.1;letter-spacing:-.065em;margin:10px 0 36px}
.solution-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}
.solution-product{border-radius:18px;overflow:hidden;background:#bfc1bf}.solution-product img{width:100%;aspect-ratio:1/1.08;object-fit:cover;object-position:50% 75%;transform:scale(1.08)}
.solution-copy h3{font-size:clamp(25px,2.8vw,38px);line-height:1.65;letter-spacing:-.045em}
.solution-copy>p{font-size:16px;line-height:1.9;margin-top:22px}
.solution-benefits{list-style:none;padding:0;margin:25px 0 0}.solution-benefits li{padding:17px 0;border-top:1px solid #879f54}
.solution-benefits strong{display:block;font-size:20px;line-height:1.6}.solution-benefits span{display:block;font-size:16px;line-height:1.8;margin-top:5px}
.solution-copy .solution-condition{font-size:14px;line-height:1.8;color:#42542e}
.solution-demo{max-width:850px;margin:55px auto 0}.solution-demo video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;pointer-events:none}.solution-demo figcaption{font-size:16px;margin-top:16px;line-height:1.7}
@media(max-width:760px){
 .opening-concerns{padding:108px 0 48px;min-height:100svh}.concerns-lead{font-size:16px;margin-bottom:16px}#concerns-title{font-size:clamp(29px,7.5vw,44px);margin-bottom:28px}
 .concerns-list li{padding:20px 0}.concerns-list h2{font-size:20px;line-height:1.65}.concerns-list p{font-size:15px;margin-top:8px}.mobile-break{display:block}.opening-next{font-size:15px;margin-top:20px}
 .opening-solution{padding:52px 0}.solution-lead{font-size:22px}#solution-title{font-size:19vw;margin:10px 0 26px}
 .solution-layout{grid-template-columns:1fr;gap:30px}.solution-product{max-width:460px;width:100%;margin:auto}.solution-product img{aspect-ratio:1.12;object-position:50% 75%}
 .solution-copy h3{font-size:27px}.solution-copy>p{font-size:16px}.solution-benefits strong{font-size:20px}.solution-benefits span{font-size:15px}
 .solution-demo{margin-top:36px}.solution-demo video{aspect-ratio:4/3}.solution-demo figcaption{font-size:15px}
}

/* Each question uses one scene from the matching editorial triptych. */
.opening-concerns{padding-top:90px;min-height:0}
.concerns-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.concerns-list li{min-width:0;padding-top:0;border:0}
.concern-art{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:14px;margin-bottom:22px}
.concern-art img{position:absolute;top:0;left:0;width:300%;max-width:none;height:100%;object-fit:fill}
.concern-art-1 img{left:-100%}.concern-art-2 img{left:-200%}
.concerns-list h2{font-size:22px;line-height:1.7}.concerns-list p{font-size:16px}
.solution-product img{aspect-ratio:1;object-fit:contain;transform:none;object-position:center}
@media(max-width:760px){
 .opening-concerns{padding-top:52px}.concerns-list{grid-template-columns:1fr;gap:24px}
 .concerns-list li{display:grid;grid-template-columns:112px minmax(0,1fr);gap:8px 18px;padding:20px 0;border-top:1px solid #52614c}
 .concern-art{grid-column:1;grid-row:1/3;margin:0;align-self:center}.concerns-list h2,.concerns-list p{grid-column:2}
 .concerns-list h2{font-size:18px;line-height:1.7}.concerns-list p{font-size:14px;line-height:1.8;margin:0}.concerns-list .mobile-break{display:none}
 .solution-product img{aspect-ratio:1;object-fit:contain;transform:none}
}
@media(max-width:360px){.concerns-list li{grid-template-columns:85px minmax(0,1fr);gap:8px 12px}.concerns-list h2{font-size:17px}}
/* Numbered line-art cases. */
.concerns-lead,#concerns-title{font-size:clamp(38px,5.2vw,68px);line-height:1.4;letter-spacing:-.045em;font-weight:750}
.concerns-lead{margin-bottom:0;color:#f5f5eb}
.case-marker{display:flex;align-items:baseline;gap:10px;color:var(--lime);margin-bottom:14px;border-top:1px solid #6b7a5d;padding-top:16px}
.case-marker span{font-size:14px;letter-spacing:.15em;font-weight:650}.case-marker b{font-size:30px;line-height:1;font-weight:500}
.concern-art{background:#fff;border-radius:12px}.concerns-list h2{font-size:21px}
.concerns-transition{background:#182019;color:var(--lime)}
.concerns-transition-pin{min-height:70svh;padding:80px 24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:36px}
.concerns-answer{display:block;font-size:clamp(23px,3.7vw,53px);font-weight:750;line-height:1.65;letter-spacing:-.04em;transform:scale(var(--answer-scale,1));transform-origin:center}
.transition-arrow{font-size:30px}
.concerns-transition.scroll-enabled{height:200svh}.scroll-enabled .concerns-transition-pin{position:sticky;top:78px;height:calc(100svh - 78px);min-height:0;overflow:hidden}
/* Large product introduction, then three full-page benefits. */
.opening-solution{padding:70px 0;min-height:100svh}.opening-solution>.wrap{width:min(1440px,calc(100% - 96px))}
#solution-title{font-size:clamp(80px,13vw,190px);margin-bottom:32px}.solution-layout{gap:clamp(30px,5vw,80px)}
.solution-product{max-width:none}.solution-product img{width:100%;max-height:76svh;object-fit:contain;aspect-ratio:1}
.solution-copy h3{font-size:clamp(30px,3.4vw,52px);line-height:1.6}.solution-copy>p{font-size:clamp(17px,1.5vw,22px)}
.solution-book{background:#e4f1cd}.solution-book-pin{position:relative;perspective:1800px;isolation:isolate}
.benefit-page{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:clamp(28px,5vw,80px);min-height:80svh;transform-origin:left center;backface-visibility:hidden;background:#e4f1cd}
.benefit-page-0{z-index:3}.benefit-page-1{z-index:2;background:#f3f1e9}.benefit-page-2{z-index:1;background:#dce7f0}
.benefit-number{font-size:28px;line-height:1.4;margin-bottom:24px;font-variant-numeric:tabular-nums}.benefit-number span{font-size:16px;color:#637058}
.benefit-page h3{font-size:clamp(29px,3.6vw,55px);line-height:1.55;letter-spacing:-.04em;margin-bottom:24px}
.benefit-page-copy>p:last-child{font-size:clamp(17px,1.65vw,23px);line-height:1.9;max-width:650px}
.benefit-image-space{width:100%;height:100%;max-height:64svh;min-height:240px;border:1px solid #56684a26;border-radius:18px;background:#ffffff26}
.solution-book.scroll-enabled{height:430svh}.scroll-enabled .solution-book-pin{position:sticky;top:78px;height:calc(100svh - 78px);overflow:hidden}
.scroll-enabled .benefit-page{position:absolute;inset:0;min-height:0;transform:rotateY(var(--page-turn,0deg));box-shadow:15px 0 30px #14230f14}
.scroll-enabled .benefit-page::after{content:"";position:absolute;inset:0;background:#23301d;opacity:var(--page-shade,0);pointer-events:none}
@media(max-width:760px){
 .concerns-lead,#concerns-title{font-size:clamp(29px,7.5vw,44px)}
 .concerns-list li{grid-template-columns:1fr;gap:0;display:block;padding-top:0;border:0}.case-marker{margin-bottom:12px}.concern-art{width:100%;max-width:360px;margin:0 auto 20px;aspect-ratio:1.15}.concerns-list h2{font-size:22px}.concerns-list p{font-size:16px;margin-top:10px}
 .concerns-answer{font-size:clamp(18px,4.6vw,30px)}.scroll-enabled .concerns-transition-pin{top:64px;height:calc(100svh - 64px)}
 .opening-solution{padding:48px 0}.opening-solution>.wrap{width:calc(100% - 40px)}#solution-title{font-size:19vw}.solution-copy h3{font-size:clamp(27px,7.4vw,40px)}.solution-copy>p{font-size:17px}.solution-product img{max-height:none}
 .benefit-page{grid-template-columns:1fr;grid-template-rows:auto minmax(130px,1fr);gap:22px;padding:28px 24px;min-height:85svh}
 .benefit-number{font-size:24px;margin-bottom:14px}.benefit-page h3{font-size:clamp(25px,6.4vw,36px);margin-bottom:16px;line-height:1.5}.benefit-page-copy>p:last-child{font-size:16px;line-height:1.8}.benefit-image-space{min-height:130px;max-height:36svh;border-radius:12px}
 .scroll-enabled .solution-book-pin{top:64px;height:calc(100svh - 64px)}
}
@media(max-height:679px){.benefit-page{gap:14px;padding:20px 24px}.benefit-number{font-size:20px;margin-bottom:8px}.benefit-page h3{font-size:25px;margin-bottom:12px}.benefit-page-copy>p:last-child{font-size:15px;line-height:1.7}.benefit-image-space{min-height:90px}}
@media(max-width:760px) and (max-height:679px){.benefit-page{grid-template-rows:auto minmax(90px,1fr)}}
/* Individual scene windows: prevent the wide middle guitar from entering CASE 03. */
.concern-art{overflow:hidden;isolation:isolate;contain:paint}
.concern-art-0 img{width:315.077%;left:0}
.concern-art-1 img{width:271.258%;left:-90.066%}
.concern-art-2 img{width:342.475%;left:-242.475%}
.concerns-closing{text-align:center;font-size:clamp(21px,3vw,38px);line-height:1.7;font-weight:700;color:var(--lime);margin:48px auto 0;max-width:1050px;letter-spacing:-.035em}
/* Scroll-driven depth and upward reveal, replacing the book hinge. */
.solution-book-pin{perspective:none;background:#dce7f0}
.scroll-enabled .benefit-page{transform:translate3d(0,var(--page-lift,0%),0) scale(var(--page-scale,1));transform-origin:50% 40%;clip-path:inset(0 0 var(--page-clip,0%) 0 round 20px);box-shadow:0 25px 65px #14230f25;backface-visibility:visible}
.scroll-enabled .benefit-page::after{background:linear-gradient(0deg,#172511,transparent 75%);opacity:var(--page-shade,0)}
.assembly-videos-label{font-size:clamp(25px,3.2vw,42px);font-weight:700;line-height:1.5;letter-spacing:-.035em;text-align:center;margin:0 0 30px}
.installation-grid{grid-template-columns:minmax(0,1fr);max-width:900px;margin:0 auto}
.installation-card{width:100%}
.compat-heading{position:absolute;top:100px;left:0;right:0;z-index:5;text-align:center;font-size:clamp(28px,3.2vw,44px);line-height:1.4;letter-spacing:.04em;pointer-events:none}
.compat-panel{padding-top:180px}.compat-copy{text-align:center}.compat-copy h3{font-size:clamp(28px,3.6vw,52px);line-height:1.3;text-align:center}.compat-times{display:block;font-size:.7em;line-height:1.3;margin:8px 0;font-weight:400}
@media(max-width:760px){.concerns-closing{font-size:23px;margin-top:28px}.assembly-videos-label{font-size:26px;margin-bottom:24px}.compat-heading{top:84px;font-size:28px}.compat-panel{padding-top:140px}.compat-copy h3{font-size:clamp(24px,6.5vw,33px)}.compat-times{margin:4px 0}.compat-photo{width:min(72vw,34svh)}}
@media(max-height:680px) and (min-width:761px){.compat-heading{top:88px;font-size:28px}.compat-panel{padding-top:140px}}
#compatibility:not(.horizontal-enabled) .compat-heading{position:sticky;top:84px;margin:0;height:60px;margin-bottom:-60px}
/* Synchronized, keyboard-accessible chapter seek controls. */
.benefit-page-copy>p:not(.benefit-number){font-size:clamp(16px,1.5vw,21px);line-height:1.85}
.benefit-seek{display:flex;align-items:center;gap:20px;margin-top:28px;position:relative;z-index:3}
.benefit-seek input{width:100%;min-width:0;height:28px;accent-color:#26351f;cursor:pointer}
.benefit-seek output{flex-shrink:0;font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:.08em}
/* Keep the heading and the complete viewer in one pinned composition. */
.assembly-scene-pin{position:relative}
.assembly-scroll.is-scrollable .assembly-scene-pin{position:sticky;top:92px;height:calc(100svh - 110px);display:flex;flex-direction:column;gap:22px}
.assembly-scene-pin .installation-heading{margin:0;flex-shrink:0;padding:0}
.assembly-scene-pin .installation-heading h3{font-size:clamp(26px,3vw,40px);line-height:1.45}
.assembly-scroll.is-scrollable .assembly-pin{position:relative;top:auto;height:auto;min-height:0;max-height:none;flex:1;padding:24px}
.assembly-scroll.is-scrollable .assembly-layout{min-height:0}
.assembly-scroll.is-scrollable .assembly-stage{min-height:0;height:100%;max-height:none}
.assembly-scroll.is-scrollable .assembly-description{min-height:0}
.assembly-scroll.is-scrollable .assembly-help{display:none}
.assembly-scroll.is-scrollable .assembly-note{margin-top:6px}
.assembly-scroll.is-scrollable .assembly-controls{padding-top:8px;margin-top:12px;flex-shrink:0}
.compat-heading{top:130px}.compat-panel{padding-top:210px}
#compatibility .compat-heading,#compatibility .compat-copy,#compatibility .compat-copy h3,#compatibility .compat-copy p,#compatibility .compat-times,#compatibility .compat-note{color:#fff}
#compatibility:not(.horizontal-enabled) .compat-heading{top:110px}
@keyframes purchase-breathe{0%,100%{scale:1}50%{scale:1.035}}
.purchase-circle{animation:purchase-breathe 3.6s ease-in-out infinite}
.motion-paused .purchase-circle{animation:none}
#loader-percentage{display:block;text-align:center;font-size:16px;font-variant-numeric:tabular-nums;letter-spacing:.06em;margin-top:18px;color:inherit}
#loader-progress{display:block;width:100%;height:3px;margin-top:10px;appearance:none;border:0;background:#ffffff30;overflow:hidden}
#loader-progress::-webkit-progress-bar{background:#ffffff30}
#loader-progress::-webkit-progress-value{background:var(--lime);transition:width .12s linear}
#loader-progress::-moz-progress-bar{background:var(--lime)}
@media(max-width:760px){
 .assembly-scroll.is-scrollable .assembly-scene-pin{top:74px;height:calc(100svh - 86px);gap:12px}
 .assembly-scene-pin .installation-heading{display:block}
 .assembly-scene-pin .installation-heading h3{font-size:25px;line-height:1.35}
 .assembly-scene-pin .installation-heading>p{display:none}
 .assembly-scroll.is-scrollable .assembly-pin{padding:14px}
 .assembly-scroll.is-scrollable .assembly-layout{gap:10px;flex:1}
 .assembly-scroll.is-scrollable .assembly-copy h4{font-size:23px;margin-bottom:5px}
 .assembly-scroll.is-scrollable .assembly-copy h4>span{font-size:17px;margin-top:2px}
 .assembly-scroll.is-scrollable .assembly-description{font-size:14px;line-height:1.5;margin:0}
 .assembly-scroll.is-scrollable .assembly-stage{flex:1;height:auto}
 .assembly-scroll.is-scrollable .assembly-note{font-size:11px}
 .benefit-seek{margin-top:16px}
 .compat-heading{top:110px}.compat-panel{padding-top:170px}
}
@media(max-height:679px){
 .assembly-scroll.is-scrollable .assembly-scene-pin{top:68px;height:calc(100svh - 78px);gap:8px}
 .assembly-scene-pin .installation-heading h3{font-size:23px;line-height:1.25}
 .assembly-scroll.is-scrollable .assembly-pin{padding:12px}
 .assembly-scroll.is-scrollable .assembly-description{display:none}
 .assembly-scroll.is-scrollable .assembly-copy h4{font-size:21px}
 .assembly-scroll.is-scrollable .assembly-note{display:none}
 .benefit-page-copy>p:not(.benefit-number){font-size:15px;line-height:1.65}
 .compat-heading{top:108px;font-size:28px}.compat-panel{padding-top:164px}
}
@media(prefers-reduced-motion:reduce){.purchase-circle{animation:none}#loader-progress::-webkit-progress-value{transition:none}}
#loader-progress,#loader-progress::-webkit-progress-bar{background:#dce3d6}
#loader-progress::-webkit-progress-value{background:#354b29}
#loader-progress::-moz-progress-bar{background:#354b29}
/* Standalone CASE 01 replaces its former triptych crop. */
.concern-art-0 img{width:100%;height:100%;left:0;object-fit:contain}
#compatibility .compat-heading{left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:calc(100% - 48px);padding:10px 30px;background:#fff;border-radius:14px;color:var(--compat-label-color,#069bd8);line-height:1.4}
#compatibility:not(.horizontal-enabled) .compat-heading{height:auto;margin-bottom:-60px}
.footer-law{font-size:13px;letter-spacing:0;line-height:1.6}
.footer-inner{flex-wrap:wrap;gap:24px}
.loader-content video,.loader-content .loader-final{aspect-ratio:2 / 1;object-fit:contain}
@media(max-width:760px){#compatibility .compat-heading{padding:8px 24px;border-radius:12px}.footer-law{font-size:12px}}
/* Keep the entire portrait demonstration visible inside each numbered slot. */
.benefit-image-space{position:relative;overflow:hidden;display:grid;place-items:center;background:#18201608}
.benefit-image-space img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.benefit-image-space .benefit-poster{display:none}
.motion-paused .benefit-image-space .benefit-animation{display:none}
.motion-paused .benefit-image-space .benefit-poster{display:block}
@media(prefers-reduced-motion:reduce){.benefit-image-space .benefit-animation{display:none}.benefit-image-space .benefit-poster{display:block}}
/* The transparent badge and panel share an explicit vertical layout budget. */
#compatibility{--compat-badge-top:112px;--compat-badge-height:76px;--compat-badge-gap:28px}
#compatibility .compat-heading,
#compatibility:not(.horizontal-enabled) .compat-heading{position:absolute;top:var(--compat-badge-top);left:50%;right:auto;transform:translateX(-50%);width:calc(var(--compat-badge-height) * 240 / 76);height:var(--compat-badge-height);max-width:calc(100% - 48px);margin:0;padding:0;background:transparent;border-radius:0;color:transparent;line-height:0;z-index:5}
.compat-heading-cutout{display:block;width:100%;height:100%;overflow:visible;font-family:inherit}
#compatibility .compat-panel{padding-top:calc(var(--compat-badge-top) + var(--compat-badge-height) + var(--compat-badge-gap))}
#compatibility.horizontal-enabled .compat-photo{width:min(42vw,calc(100svh - 300px),620px)}
@media(max-width:760px){
 #compatibility{--compat-badge-top:96px;--compat-badge-height:60px;--compat-badge-gap:28px}
 #compatibility.horizontal-enabled .compat-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:16px}
 #compatibility.horizontal-enabled .compat-photo{width:min(72vw,calc(100svh - 460px));max-height:100%;min-width:0}
}
@media(min-width:761px) and (max-height:680px){#compatibility{--compat-badge-top:96px;--compat-badge-height:60px;--compat-badge-gap:24px}}
/* Without the pinned scene, the heading scrolls away with the first panel. */
#compatibility:not(.horizontal-enabled) .compat-panel:not(:first-child){padding-top:96px}
