/* Interaction-led refinements. Reading and native scrolling remain independent. */
.hero{--look-x:0;--look-y:0;--hero-progress:0}.hero-image{box-shadow:inset 1px 1px 0 #ffffff55;transform:translate3d(calc(var(--look-x)*-4px),calc(var(--look-y)*-3px),0);transition:transform .55s var(--ease)}.hero-image img{transform:scale(1.09) translate3d(calc(var(--look-x)*12px),calc(var(--hero-shift,0)*1px + var(--look-y)*10px),0);will-change:transform}.hero-image:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(calc(125deg + var(--look-x)*10deg),#c8dffc00 38%,#eef7ff18 50%,#c8dffc00 62%);mix-blend-mode:screen}.hero-copy{transform:translate3d(calc(var(--look-x)*-3px),calc(var(--hero-progress)*-30px),0)}.hero-foot{bottom:42px}.scroll-cue{width:auto;height:auto;display:inline-flex;align-items:center;gap:20px;margin:0;font-size:12px}.scroll-cue svg{transform:rotate(90deg);width:24px;height:24px}.hero-actions{margin-top:45px}.entry-button{overflow:hidden}.entry-button:after{content:'';position:absolute;inset:-20px;background:linear-gradient(115deg,transparent 20%,#ffffff29 45%,transparent 70%);transform:translateX(-130%);transition:transform .8s var(--ease);pointer-events:none}.entry-button:hover:after{transform:translateX(130%)}.entry-button svg{transition:transform .4s var(--ease)}.entry-button:hover svg{transform:translateX(4px)}
.product-stage{--stage-x:0;--stage-y:0;--near:0;--base-turn:7deg;background:#102c43}.stage-photo{transition:filter .85s ease,transform 1.2s var(--ease);transform:scale(1.04) translate3d(calc(var(--stage-x)*-7px),calc(var(--stage-y)*-5px),0);filter:brightness(.51) saturate(.85)}.product-stage[data-unlocked=true] .stage-photo{filter:brightness(.85) saturate(1.05)}.product-stage:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 74% 59%,#ffd39b55,transparent 57%);opacity:0;transition:opacity 1s;z-index:-1}.product-stage[data-unlocked=true]:before{opacity:1}.product-stage .preview-phone,.product-stage:hover .preview-phone,.product-stage:focus-within .preview-phone{transform:translate3d(calc(var(--stage-x)*7px),calc(var(--stage-y)*5px),0) rotate(calc(var(--base-turn) + var(--stage-x)*1.8deg)) rotateY(calc(-8deg + var(--stage-x)*6deg)) rotateX(calc(var(--stage-y)*-4deg));transition:transform .65s var(--ease),box-shadow .8s;box-shadow:0 0 0 1px #bed0df,2px 2px 0 3px #3e5060,20px 35px 40px #07131f70}.product-stage[data-preview=guest]{--base-turn:-6deg}.product-stage[data-unlocked=true] .preview-phone{box-shadow:0 0 0 1px #d8e8da,2px 2px 0 3px #647c73,20px 35px 70px #f8d5a144}.door-control{position:relative;overflow:hidden}.door-control:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 55%,#a8d5bf50,transparent 70%);opacity:0;transition:opacity .7s}.door-control:has(.is-open):before{opacity:1}.door-control button{position:relative}.door-control button:after{content:'';position:absolute;inset:-9px;border:1px solid #a5cdb9;border-radius:50%;opacity:0}.door-control button.is-open:after{animation:unlock-ring 1s var(--ease) both}.parking-row{border:0;width:100%;color:var(--ink);text-align:left;cursor:pointer}.parking-row.is-open{background:#e2f0e7}.parking-row svg{transition:transform .5s}.parking-row.is-open svg{transform:translateX(4px)}.proximity-ring{position:absolute;width:112px;height:112px;right:-8px;top:-19px;transform:rotate(-90deg);opacity:.36}.proximity-ring circle{fill:none;stroke:#c3cfd7;stroke-width:1.5}.proximity-ring #proximity-arc{stroke:#406b6f;stroke-width:2;stroke-linecap:round;stroke-dasharray:283;stroke-dashoffset:calc(283 - var(--near)*283);transition:stroke-dashoffset .75s var(--ease)}.distance{position:relative;min-height:65px;gap:6px}.distance strong{position:relative;z-index:1;font-variant-numeric:tabular-nums}.distance>span{position:relative;z-index:1;max-width:8ch;line-height:1.5}.product-stage[data-unlocked=true] .phone-guest .pill{background:#47796b}.guest-photo{position:relative}.guest-photo:after{content:'';position:absolute;inset:0;box-shadow:inset 0 -25px 22px -15px #172e4455;border-radius:inherit}.committee-preview canvas{cursor:grab;touch-action:pan-y}.committee-preview canvas.is-dragging{cursor:grabbing}.model-hint{position:absolute;top:17px;left:0;right:0;text-align:center;color:#c7d5de99;font-size:10px;pointer-events:none}.permission-preview button{min-height:37px;padding-inline:17px}.permission-preview button[aria-pressed=false]{background:#a75d5520;border-color:#dc9f9255;color:#e0b6ae}.permission-preview button:before{content:'';display:inline-block;width:5px;height:5px;margin-right:7px;border:1px solid currentColor;border-radius:50%;vertical-align:1px;background:transparent}.permission-preview button[aria-pressed=true]:before{background:currentColor}.committee-preview .permission-preview{bottom:54px}.product-stage[data-preview=committee] .preview-caption{display:none}
.story-invitation{--chapter-pan:0;--chapter-light:0;min-height:700px;align-items:center}.story-copy{align-self:flex-start;margin-top:15px}.story-copy h2{font-size:clamp(52px,7.3vw,116px)}.story-invitation>img{transform:scale(1.04) translateX(calc(var(--chapter-pan)*1px));transition:transform 1.3s var(--ease)}.story-invitation:has(a:hover)>img{transform:scale(1.04) translateX(calc(var(--chapter-pan)*1px))}.story-shade{background:linear-gradient(90deg,#0b2344a6,transparent 65%),linear-gradient(0deg,#0c203e55,transparent 60%)}.chapter-links{width:285px;margin-top:0;align-self:flex-start;padding-top:10px}.chapter-links a{font-size:18px;padding:26px 0;position:relative;border-color:#e6edf455;color:#e3e9f1;overflow:hidden}.chapter-links a:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease)}.chapter-links a:is(:hover,:focus-visible){color:#fff;padding-left:10px}.chapter-links a:is(:hover,:focus-visible):after{transform:scaleX(1)}.chapter-links a svg{transition:transform .5s var(--ease);opacity:.7}.chapter-links a:is(:hover,:focus-visible) svg{transform:translateX(4px);opacity:1}.page-footer{padding-block:25px}.contact-door{transform:rotate(-12deg);right:23%;transition:transform 1.1s var(--ease)}.contact-section:has(button:hover) .contact-door{transform:rotate(-4deg)}.contact-section:has(button:hover) .contact-door i{transform:perspective(500px) rotateY(-62deg);transition:transform 1.1s var(--ease)}
.story-overlay[open]{animation:entrance-aperture .8s var(--ease)}@keyframes entrance-aperture{from{clip-path:circle(0 at var(--entry-x,50%) var(--entry-y,50%));opacity:1}to{clip-path:circle(150vmax at var(--entry-x,50%) var(--entry-y,50%));opacity:1}}@keyframes unlock-ring{0%{opacity:.75;transform:scale(.8)}100%{opacity:0;transform:scale(1.35)}}
@media(max-width:1000px){.chapter-links{width:240px}.chapter-links a{font-size:16px}.story-invitation{min-height:610px}}
@media(max-width:700px){.hero-actions{margin-top:25px}.hero-image{top:calc(215px + clamp(48px,13.5vw,94px)*2.91)}.hero{height:calc(630px + 30vw);min-height:740px}.hero-foot{bottom:24px;left:var(--pad);right:auto;background:var(--sky);border-radius:0 25px 25px 0;margin-left:calc(var(--pad)*-1);padding:13px 20px 13px var(--pad)}.scroll-cue{font-size:11px;gap:30px;display:flex}.scroll-cue svg{width:19px;height:19px;animation:none}.hero-image img{transform:scale(1.055)}.hero-copy{transform:none}.hero-image{transform:none}.story-invitation{min-height:660px;gap:30px;align-items:stretch}.story-copy{margin-top:0}.story-copy h2{font-size:clamp(46px,12vw,64px);margin-bottom:0}.chapter-links{width:100%;max-width:100%;padding-top:0;align-self:stretch;margin-top:auto}.chapter-links a{font-size:16px;padding:20px 0}.permission-preview button{padding-inline:14px}.model-hint{top:13px}.page-footer{padding-block:22px}}
@media(max-width:370px){.hero-image{top:calc(215px + clamp(45px,15.5vw,54px)*2.91)}.hero{min-height:725px}}
@media(prefers-reduced-motion:reduce){.hero-image,.hero-image img,.hero-copy{transform:none!important}.product-stage .preview-phone,.product-stage:hover .preview-phone,.product-stage:focus-within .preview-phone{transform:none!important}.story-invitation>img,.story-invitation:has(a:hover)>img{transform:none!important}.story-overlay[open]{animation:none}.stage-photo{transform:none}.proximity-ring circle{transition:none}}
@media(max-width:700px){.product-stage .preview-phone{scale:.85}.parking-row{min-height:52px}}
@media(max-width:370px){.product-stage .preview-phone{scale:.82}}
.model-hint{left:auto;right:18px;top:18px;bottom:auto}
.permission-preview button:disabled{cursor:not-allowed;opacity:.5}
