.swm-3d-section{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 45%,#1a1a1a 0,#080808 46%,#020202 78%);min-height:650px;display:grid;place-items:center;border-bottom:1px solid var(--line)}
.swm-3d-section:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.4px);background-size:86px 86px;opacity:.16;mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent)}
.swm-3d-inner{position:relative;z-index:1;width:min(1180px,calc(100% - 36px));display:grid;place-items:center;text-align:center;padding:85px 0}
.swm-3d-copy{position:relative;z-index:3;margin-bottom:-22px}.swm-3d-copy .eyebrow{color:#cfcfcf}.swm-3d-copy h2{font-size:clamp(38px,5vw,74px);line-height:.92;margin:12px 0 0;text-transform:uppercase;letter-spacing:-2px}
.swm-3d-stage{--rx:-8deg;--ry:10deg;position:relative;width:min(850px,92vw);aspect-ratio:2.35/1;perspective:1100px;display:grid;place-items:center;isolation:isolate}
.swm-3d-logo{position:absolute;width:88%;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry)) translateY(10px);transition:transform .2s ease-out;will-change:transform;animation:swm-logo-enter 1.15s cubic-bezier(.2,.8,.2,1) both}
.swm-3d-layer{position:absolute;inset:0;width:100%;height:auto;transform:translate3d(var(--dx),var(--dy),var(--dz));filter:brightness(.26);opacity:.96;pointer-events:none}
.swm-3d-layer--front{position:relative;z-index:20;filter:drop-shadow(0 28px 24px rgba(0,0,0,.72));transform:translateZ(12px)}
.swm-3d-shadow{position:absolute;left:19%;right:19%;bottom:8%;height:10%;border-radius:50%;background:rgba(0,0,0,.82);filter:blur(19px);transform:rotate(-3deg);animation:swm-shadow-enter 1.2s ease both}
.swm-3d-hint{margin-top:-20px;color:#777;font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
@keyframes swm-logo-enter{0%{opacity:0;transform:rotateX(-26deg) rotateY(42deg) translate3d(0,80px,-240px) scale(.72)}100%{opacity:1;transform:rotateX(var(--rx)) rotateY(var(--ry)) translateY(10px) scale(1)}}
@keyframes swm-shadow-enter{0%{opacity:0;transform:scale(.45)}100%{opacity:1;transform:scale(1) rotate(-3deg)}}
@media(max-width:700px){.swm-3d-section{min-height:510px}.swm-3d-inner{padding:60px 0}.swm-3d-copy{margin-bottom:12px}.swm-3d-stage{width:105vw;aspect-ratio:2.15/1}.swm-3d-logo{width:92%}.swm-3d-hint{margin-top:0}}
@media(prefers-reduced-motion:reduce){.swm-3d-logo,.swm-3d-shadow{animation:none!important;transition:none!important}.swm-3d-stage{--rx:-5deg!important;--ry:7deg!important}}
.hero--interactive{align-items:stretch}.hero--interactive .hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);align-items:center;gap:38px;min-height:690px}.hero--interactive .hero-content{padding:100px 0 80px;max-width:780px}.hero-3d-wrap{display:grid;place-items:center;align-content:center;min-width:0}.hero-3d-stage{position:relative;width:min(620px,46vw);aspect-ratio:1.8/1;perspective:950px;display:grid;place-items:center;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.hero-3d-stage.is-spinning{cursor:grabbing}.hero-3d-object{position:relative;width:92%;transform-style:preserve-3d;will-change:transform;animation:hero-logo-arrive 1s cubic-bezier(.2,.8,.2,1) both}.hero-3d-slice,.hero-3d-face,.hero-3d-bevel{position:absolute;inset:0;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none}.hero-3d-slice{transform:translateZ(var(--z));filter:brightness(var(--edge-shade)) contrast(1.2);opacity:1}.hero-3d-bevel{filter:brightness(.7) drop-shadow(0 0 1px rgba(255,255,255,.65));backface-visibility:hidden}.hero-3d-bevel--front{transform:translateZ(63px)}.hero-3d-bevel--back{transform:rotateY(180deg) translateZ(63px)}.hero-3d-face--front{position:relative;transform:translateZ(66px);filter:drop-shadow(0 25px 22px rgba(0,0,0,.72));backface-visibility:hidden}.hero-3d-face--back{transform:rotateY(180deg) translateZ(66px);filter:brightness(.48);backface-visibility:hidden}.hero-3d-shadow{position:absolute;width:68%;height:12%;left:16%;bottom:5%;border-radius:50%;background:rgba(0,0,0,.9);filter:blur(17px);pointer-events:none}.hero-3d-hint{margin-top:6px;color:#888;font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase}.hero-3d-stage:focus-visible{outline:2px solid #fff;outline-offset:6px;border-radius:18px}@keyframes hero-logo-arrive{0%{opacity:0;transform:rotateX(-20deg) rotateY(110deg) translate3d(80px,35px,-180px) scale(.72)}100%{opacity:1}}
@media(max-width:1050px){.hero--interactive .hero-inner{grid-template-columns:1fr minmax(330px,.72fr);gap:8px}.hero-3d-stage{width:min(440px,40vw)}}
@media(max-width:800px){.hero--interactive .hero-inner{grid-template-columns:1fr;min-height:0;padding:92px 0 50px}.hero--interactive .hero-content{padding:0;max-width:680px}.hero-3d-wrap{margin-top:25px}.hero-3d-stage{width:min(590px,92vw)}.hero-3d-hint{margin-top:-4px}}
@media(prefers-reduced-motion:reduce){.hero-3d-object{animation:none}}
.hero-3d-canvas{position:absolute;inset:0}.hero-3d-canvas canvas{display:block;width:100%;height:100%}
