/* V8 geometry, editorial scroll storytelling, and a separate free orbit. */
.s45-page{--s45-orange:#ff7528;--s45-ink:#161b20;--s45-muted:#c5ccd2}
.s45-page main{padding-top:var(--header-height)}
.s45-tour{position:relative;height:680svh;background:#343a40;color:#fff;isolation:isolate}
.s45-tour-pin{position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));min-height:440px;overflow:hidden}
.s45-tour-stage{position:absolute;inset:0 0 0 31%;touch-action:pan-y;overflow:hidden;background:#343a40}
.s45-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%}
.s45-stage>img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}
.s45-stage[data-state=ready]>img,.s45-stage[data-state=ready]>.s45-loading{display:none}
.s45-tour-pin:before{content:'';position:absolute;z-index:1;inset:0 56% 0 0;background:linear-gradient(90deg,#252b30 65%,transparent);pointer-events:none}
.s45-tour-top{position:absolute;z-index:3;top:24px;left:var(--container-pad);right:var(--container-pad);display:flex;align-items:center;justify-content:space-between;gap:20px}
.s45-tour-top a{color:#f7f5f0;font-size:.76rem;text-decoration:none;min-height:36px;display:flex;align-items:center}
.s45-tour-top>a:first-child{letter-spacing:.1em;text-transform:uppercase;font:500 .67rem var(--font-mono);color:#d3d8dc}
.s45-tour-skip{border-bottom:1px solid #ffffff40}
.s45-copy{position:absolute;z-index:2;left:var(--container-pad);top:50%;width:33%;max-width:470px;transform:translateY(calc(-50% + var(--copy-y,0px)));opacity:var(--copy-opacity,1);pointer-events:none}
.s45-copy[hidden]{display:none}
.s45-copy a{pointer-events:auto}
.s45-kicker{font:600 .67rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--s45-orange);display:flex;align-items:center;gap:12px;margin-bottom:20px}
.s45-kicker:before{content:'';width:30px;height:1px;background:currentColor}
.s45-copy h1,.s45-copy h2{font:600 clamp(2.8rem,5.6vw,5.9rem)/.98 var(--font-display);letter-spacing:-.055em;color:#fff;margin:0 0 16px;text-wrap:balance}
.s45-copy h2{font-size:clamp(2.6rem,4.2vw,4.8rem)}
.s45-copy h2 .s45-unit{display:block;font-size:.31em;line-height:1.6;letter-spacing:-.01em;font-weight:500;color:#e1e5e8;margin-top:8px}
.s45-copy .s45-lede{font:500 clamp(1.1rem,1.65vw,1.5rem)/1.4 var(--font-display);max-width:21ch;color:#e5e8eb;margin-bottom:14px}
.s45-copy .s45-detail{font:400 .88rem/1.75 var(--font-sans);max-width:33ch;color:var(--s45-muted)}
.s45-copy .s45-cta{display:inline-flex;color:#fff;text-decoration:none;border-bottom:1px solid var(--s45-orange);padding:10px 0;margin-top:20px;font-size:.85rem;gap:20px}
.s45-tour-bottom{position:absolute;bottom:24px;left:var(--container-pad);right:var(--container-pad);z-index:3;display:flex;align-items:center;gap:20px}
.s45-tour-count{font:500 .65rem var(--font-mono);color:#b9c2c8;white-space:nowrap}.s45-tour-count b{font-weight:500;color:#fff}
.s45-tour-steps{display:flex;gap:6px;flex:1;max-width:420px}
.s45-tour-steps button{position:relative;width:100%;height:32px;border:0;background:transparent;cursor:pointer;color:inherit}
.s45-tour-steps button:before,.s45-tour-steps button:after{content:'';position:absolute;left:0;top:15px;height:2px;width:100%;background:#ffffff35}
.s45-tour-steps button:after{width:var(--fill,0%);background:var(--s45-orange)}
.s45-tour-scroll{font:400 .7rem var(--font-sans);color:#b9c2c8;margin-left:auto}
.s45-loading{position:absolute;bottom:16%;left:50%;transform:translateX(-50%);font-size:.73rem;color:#d3d8dc;background:#23282dcc;padding:8px 12px;border-radius:6px;white-space:nowrap}
.s45-page a:focus-visible,.s45-page button:focus-visible,.s45-free-stage:focus-visible{outline:2px solid var(--s45-orange);outline-offset:4px}
.s45-overview{background:#f7f5f0;padding:90px 0 70px}
.s45-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:start}
.s45-section-tag{font:500 .67rem var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:#805744;margin-bottom:20px}
.s45-overview h2,.s45-heading h2,.s45-specs h2,.s45-contact h2{font:600 clamp(2rem,3.6vw,3.6rem)/1.12 var(--font-display);letter-spacing:-.045em;text-wrap:balance;margin:0 0 20px}
.s45-overview-text{font-size:.98rem;line-height:1.9;max-width:58ch;color:#55534f}
.s45-applications{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;list-style:none}
.s45-applications li{border:1px solid #20252b25;border-radius:30px;padding:7px 13px;font-size:.72rem;color:#51514d}
.s45-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid #20252b25;padding-top:26px;gap:24px}
.s45-facts strong{display:block;font:600 clamp(1.5rem,2.6vw,2.4rem) var(--font-display);letter-spacing:-.04em}.s45-facts span{display:block;font-size:.77rem;color:#67635e;margin-top:3px}
.s45-explore{background:#eae8e1;padding:70px 0}
.s45-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:26px}.s45-heading h2{margin:0}.s45-heading p{max-width:42ch;font-size:.85rem;color:#5d5a56;line-height:1.8}
.s45-free-viewer{background:#343a40;border-radius:14px;overflow:hidden;border:1px solid #ffffff14}
.s45-free-stage{height:clamp(420px,65vh,720px);position:relative;overflow:hidden;touch-action:none;color:white;cursor:grab}.s45-free-stage:active{cursor:grabbing}
.s45-free-placeholder{position:absolute;inset:0;display:grid;place-content:center;color:#ddd;font-size:.8rem;pointer-events:none}.s45-free-placeholder[hidden]{display:none}
.s45-free-instruction{position:absolute;left:18px;bottom:18px;z-index:1;background:#161b20c9;border-radius:30px;font-size:.7rem;padding:8px 13px;pointer-events:none}.s45-free-stage[data-interacted=true] .s45-free-instruction{display:none}
.s45-free-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 18px;border-top:1px solid #ffffff22;flex-wrap:wrap;background:#272d32}
.s45-view-buttons,.s45-zoom-buttons{display:flex;gap:5px;flex-wrap:wrap}
.s45-free-toolbar button{border:1px solid #ffffff25;border-radius:5px;background:transparent;color:#e8ecef;min-height:42px;padding:9px 12px;font:500 .72rem var(--font-sans);cursor:pointer}
.s45-free-toolbar button:hover{background:#ffffff18}.s45-zoom-buttons button{min-width:42px}
.s45-note{font-size:.69rem;color:#6a655e;margin-top:12px;line-height:1.7}
.s45-gallery{padding:80px 0;background:#f7f5f0}
.s45-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}
.s45-photo-grid figure{margin:0}.s45-photo-grid a{display:block;position:relative;overflow:hidden;border-radius:10px;background:#deded8;aspect-ratio:4/3}
.s45-photo-grid img{width:100%;height:100%;object-fit:contain;transition:transform .35s}.s45-photo-grid a:hover img{transform:scale(1.025)}
.s45-photo-grid figcaption{font-size:.78rem;line-height:1.6;margin-top:12px;color:#55534f}
.s45-photo-grid figcaption b{display:block;font-weight:600;color:#292f34;font-size:.85rem}
.s45-photo-grid a:after{content:'↗';position:absolute;bottom:12px;right:12px;width:30px;height:30px;display:grid;place-items:center;background:#f7f5f0e6;border-radius:50%;color:#20252b}
.s45-photo-dialog{border:0;border-radius:12px;padding:16px;background:#20252b;color:#fff;max-width:min(1000px,95vw);max-height:94svh;margin:auto}.s45-photo-dialog::backdrop{background:#111c}.s45-photo-dialog img{display:block;max-height:78svh;max-width:100%;object-fit:contain;margin:0 auto}.s45-photo-dialog figcaption{font-size:.8rem;padding:12px 0 0}.s45-photo-dialog button{float:right;border:0;background:none;color:#fff;min-height:40px;min-width:60px;font-size:.8rem}
.s45-specs{background:#eeece5;padding:80px 0;scroll-margin-top:var(--header-height)}
.s45-specs .specs-table-container{border:1px solid #20252b18}.s45-specs table{background:#fff;width:100%}.s45-specs .specs-structured-table tr:nth-child(even){background:#f7f5f0}
.s45-spec-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:30px;align-items:start}.s45-configuration{border-top:1px solid #20252b25}.s45-configuration details{border-bottom:1px solid #20252b25;padding:0 2px}.s45-configuration summary{font-size:.91rem;font-weight:600;cursor:pointer;padding:20px 0}.s45-configuration ul{padding:0 0 20px 18px;font-size:.79rem;color:#56534f;line-height:1.85}.s45-configuration li+li{margin-top:8px}
.s45-spec-note{font-size:.7rem;line-height:1.8;color:#6a655e;margin-top:14px}.s45-spec-note a{color:inherit}
.s45-contact{padding:80px 0;background:#20262b;color:#f7f5f0}.s45-contact h2{max-width:20ch}.s45-contact p{max-width:49ch;color:#bfc7cd;font-size:.9rem;line-height:1.85}.s45-contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:start}.s45-service-list{list-style:none;border-top:1px solid #ffffff25}.s45-service-list li{padding:18px 0;border-bottom:1px solid #ffffff25}.s45-service-list b{font:500 1rem var(--font-display);display:block;margin-bottom:5px}.s45-service-list span{font-size:.78rem;color:#c0c8ce}.s45-contact .btn{margin-top:28px;min-height:48px}.s45-contact .s45-section-tag{color:#ff9a63}
.s45-free-viewer:fullscreen{display:flex;flex-direction:column;background:#343a40;border-radius:0}.s45-free-viewer:fullscreen .s45-free-stage{flex:1;height:auto}
.s45-tour-fallback{height:auto;min-height:800px}.s45-tour-fallback .s45-tour-pin{position:relative;top:0}
@media(max-width:960px){.s45-copy{width:35%}.s45-copy h1{font-size:3.8rem}.s45-copy h2{font-size:2.9rem}.s45-spec-layout{grid-template-columns:1fr}.s45-contact-grid{gap:4vw}}
@media(max-width:760px){
 .s45-tour{height:620svh}.s45-tour-pin{min-height:530px}.s45-tour-stage{inset:7% 0 24%;}.s45-tour-pin:before{inset:auto 0 0;height:36%;background:linear-gradient(0deg,#272e34 50%,transparent)}
 .s45-tour-top{top:12px;gap:12px}.s45-tour-top a{font-size:.65rem}.s45-tour-top>a:first-child{font-size:.56rem;letter-spacing:.06em}
 .s45-copy{left:var(--container-pad);right:var(--container-pad);top:auto;bottom:70px;width:auto;max-width:none;transform:translateY(var(--copy-y,0px))}
 .s45-kicker{font-size:.56rem;letter-spacing:.1em;gap:8px;margin-bottom:9px}.s45-kicker:before{width:18px}
 .s45-copy h1{font-size:3.1rem;line-height:.96;margin:0 0 9px}.s45-copy h2{font-size:2.65rem;line-height:1;margin-bottom:9px}.s45-copy h2 .s45-unit{display:inline;font-size:.35em;margin-left:6px;line-height:1.3}
 .s45-copy .s45-lede{font-size:1.03rem;max-width:28ch;margin-bottom:6px}.s45-copy .s45-detail{font-size:.74rem;line-height:1.7;max-width:43ch}.s45-copy .s45-cta{font-size:.75rem;padding:5px 0;margin-top:8px}
 .s45-tour-bottom{bottom:14px;gap:12px}.s45-tour-count{font-size:.56rem}.s45-tour-scroll{font-size:.59rem;white-space:nowrap}.s45-tour-steps{gap:4px}
 .s45-overview,.s45-gallery,.s45-specs,.s45-contact{padding:46px 0}.s45-explore{padding:40px 0}.s45-overview-grid,.s45-contact-grid{grid-template-columns:1fr;gap:22px}.s45-overview h2,.s45-heading h2,.s45-specs h2,.s45-contact h2{font-size:2.1rem}.s45-overview-text{font-size:.86rem;line-height:1.85}.s45-section-tag{font-size:.6rem;margin-bottom:12px}
 .s45-facts{gap:12px;margin-top:30px;padding-top:20px}.s45-facts strong{font-size:1.5rem}.s45-facts span{font-size:.65rem;max-width:13ch}.s45-applications{gap:6px;margin-top:16px}.s45-applications li{font-size:.65rem;padding:6px 10px}
 .s45-heading{display:block;margin-bottom:20px}.s45-heading p{font-size:.77rem;margin-top:12px}.s45-free-stage{height:460px}.s45-free-toolbar{padding:10px;gap:8px}.s45-view-buttons{display:grid;grid-template-columns:repeat(4,1fr);width:100%}.s45-free-toolbar button{padding:8px 7px;font-size:.63rem;min-height:42px}.s45-zoom-buttons{width:100%;display:grid;grid-template-columns:42px 1fr 42px 1fr}.s45-free-instruction{font-size:.59rem;left:10px;bottom:12px}
 .s45-photo-grid{gap:22px;grid-template-columns:1fr}.s45-photo-grid figcaption{font-size:.73rem}.s45-spec-layout{gap:24px}.s45-specs .spec-section-header{align-items:center}.s45-specs .spec-section-header h2{margin-bottom:0}.s45-specs .specs-structured-table th,.s45-specs .specs-structured-table td{font-size:.74rem;padding:12px}.s45-contact p{font-size:.83rem}.s45-service-list b{font-size:.92rem}
}
@media(max-width:370px){.s45-copy h1{font-size:2.7rem}.s45-copy h2{font-size:2.3rem}.s45-tour-scroll{display:none}.s45-copy .s45-detail{font-size:.68rem}.s45-free-stage{height:410px}}
@media(prefers-reduced-motion:reduce){.s45-tour{height:auto}.s45-tour-pin{position:relative;top:0;height:calc(100svh - var(--header-height))}.s45-tour-bottom{display:none}.s45-copy{opacity:1!important;transform:translateY(-50%)!important}.s45-tour-steps{display:none}@media(max-width:760px){.s45-copy{transform:none!important;bottom:40px}}}
.s45-overview,.s45-explore{scroll-margin-top:calc(var(--header-height) + 20px)}
.s45-tour-skip{background:#252b30bf;border-radius:5px;padding:0 10px;backdrop-filter:blur(6px)}
