/* Interaction edition: physical motion, pointer feedback and scroll-controlled box. */
.hero-story{height:calc(100svh + 650px);position:relative}.hero-story>.hero{position:sticky;top:0;height:calc(100svh - 104px);min-height:660px;max-height:1000px;padding-block:48px 95px;grid-template-columns:43% 57%;overflow:visible}.hero-copy{position:relative;z-index:2}.hero-copy h1{transition:color .3s}.interactive-visual{align-self:center;position:relative;margin-left:-5px}.scene-stage{position:relative;height:clamp(440px,64vh,670px);width:100%;border-radius:5px;isolation:isolate;touch-action:pan-y;cursor:grab;overflow:hidden;background:radial-gradient(ellipse at 50% 55%,#ece5d9 0%,#f5f3ee 67%)}.scene-stage:active{cursor:grabbing}.scene-stage canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;opacity:0;transition:opacity .65s;touch-action:pan-y}.scene-stage[data-ready=true] canvas{opacity:1}.scene-fallback{position:absolute;inset:0;transition:opacity .5s!important;pointer-events:none}.scene-stage[data-ready=true] .scene-fallback{opacity:0}.scene-watermark{position:absolute;left:8%;top:17%;font-size:clamp(120px,17vw,240px);line-height:1;font-family:Georgia,serif;font-weight:700;letter-spacing:-.09em;color:#e8e2d7;z-index:0;user-select:none}.scene-topline{position:absolute;inset:15px 17px auto;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.3px;color:#786c59;pointer-events:none;z-index:3;gap:12px}.scene-state{white-space:nowrap}.scene-instruction{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:9px;align-items:center;font-size:12px;color:#736855;white-space:nowrap;pointer-events:none;z-index:3}.gesture-icon{font-size:22px;line-height:1}.scene-controls{display:flex;align-items:center;gap:12px;padding:13px 15px 0;position:relative;z-index:5}.scene-controls button{border:1px solid #c7beae;background:#f5f3eea6;border-radius:50px;font-size:13px;padding:9px 16px;transition:background .25s,box-shadow .25s;min-height:42px}.scene-controls button:hover{background:#e7dfd1;box-shadow:0 4px 13px #6a4c1a12}.scene-controls button:disabled{cursor:default;opacity:.5}.scene-controls button span{padding-left:13px}.scene-controls small{margin-left:auto;font-size:11px;color:#7d7569}.interactive-visual figcaption{justify-content:center;font-size:14px;letter-spacing:2px;margin-top:7px}.scroll-cue{position:absolute;bottom:34px;left:0;right:0;display:flex;align-items:center;gap:12px;color:#8b7d68;font-size:11px;letter-spacing:1px}.scroll-cue-line{width:28px;height:1px;background:#9f896c}.scroll-progress{height:1px;flex:1;margin-left:15px;background:linear-gradient(to right,#9a7955 calc(var(--story-progress,0)*100%),#dfd9ce 0)}
.product-option{transform-style:preserve-3d;position:relative;overflow:hidden;will-change:transform;transition:background .3s,box-shadow .3s,padding .3s;isolation:isolate}.product-option::after,.material-study::after,.steps li::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),#ffffff85,transparent 65%);opacity:0;transition:opacity .35s;z-index:-1}.product-option:hover::after,.material-study:hover::after,.steps li:hover::after{opacity:1}.product-option:hover{box-shadow:0 14px 30px #49391912}.material-study{position:relative;isolation:isolate;transform-style:preserve-3d;will-change:transform;box-shadow:0 20px 45px #47371500;transition:box-shadow .3s}.material-study:hover{box-shadow:0 20px 45px #47371513}.material-study svg{transform:translateZ(20px);transition:filter .4s}.material-study:hover svg{filter:drop-shadow(0 14px 6px #63441f24)}.steps li{position:relative;isolation:isolate;transform-style:preserve-3d;will-change:transform}.steps li::after{inset:-15px}.step-number{display:inline-block;transition:transform .5s,color .5s}.steps li:hover .step-number{transform:translateY(-7px);color:#735133}.text-link span,.nav-contact span{display:inline-block;transition:transform .35s}.text-link:hover span,.nav-contact:hover span{transform:translate(3px,-3px)}.threeui-cta{will-change:transform;transition:box-shadow .4s,background .4s}.threeui-cta:hover{box-shadow:0 12px 26px #2e27182b}.light-cta:hover{box-shadow:0 10px 24px #0003}.phone-number{transition:color .35s}.phone-number:hover{color:#e3bd88}.phone-number>span{transition:transform .4s}.phone-number:hover>span{transform:translate(6px,-6px)}
.motion-ready .reveal-item{opacity:0;transform:translateY(32px);transition:opacity .8s,transform .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal-item.is-visible{opacity:1;transform:translateY(0)}.scene-stage .scene-fallback{max-height:none;object-fit:contain;mix-blend-mode:multiply}
@media(min-width:761px) and (max-height:720px){.hero-story>.hero{min-height:590px;padding-block:25px 65px}.scene-stage{height:420px}.hero-copy h1{font-size:48px}.hero-description{margin-bottom:18px}.hero-note{margin-top:18px}.scroll-cue{bottom:18px}}
@media(max-width:1000px) and (min-width:761px){.hero-story>.hero{grid-template-columns:44% 56%}.scene-controls{flex-wrap:wrap}.scene-controls small{width:100%;margin:0;text-align:center}.scene-stage{height:450px}.scene-topline{font-size:8px}.hero-copy h1{font-size:43px}.hero-actions{flex-wrap:wrap;gap:8px 20px}}
@media(max-width:760px){.hero-story{height:auto}.hero-story>.hero{height:auto;min-height:0;max-height:none;position:relative;grid-template-columns:1fr;padding-block:35px 60px;gap:16px}.interactive-visual{margin:0 -10px}.scene-stage{height:390px}.scene-watermark{font-size:160px;left:10%;top:16%}.scene-topline{font-size:8px;inset:12px 12px auto;letter-spacing:.6px}.scene-controls{flex-wrap:wrap;justify-content:center;padding-top:5px;gap:9px}.scene-controls small{font-size:10px;width:100%;text-align:center;margin:2px 0 0}.scene-controls button{font-size:14px;padding:8px 18px}.interactive-visual figcaption{font-size:12px;padding-top:10px;letter-spacing:1px}.scroll-cue{bottom:20px;font-size:10px}.scene-instruction{font-size:11px;bottom:5px}.hero-description{margin-bottom:22px}.hero-note{margin-top:20px}.material-study,.product-option,.steps li{will-change:auto}.hero-copy h1{font-size:46px}}
@media(max-width:370px){.scene-stage{height:330px}.hero-copy h1{font-size:41px}}
@media(prefers-reduced-motion:reduce){.hero-story{height:auto}.hero-story>.hero{position:relative;height:auto;min-height:650px}.scene-stage canvas{transition:none}.motion-ready .reveal-item{opacity:1;transform:none}.scroll-cue{display:none}.product-option,.material-study,.steps li,.threeui-cta{transform:none!important}.scene-stage{cursor:default}}
