:root {
  --blue:#2460ed; --blue-deep:#174dce; --ink:#193253; --muted:#77869d;
  --line:#dce5f2; --paper:#f5f8fe; --ease:cubic-bezier(.22,1,.36,1);
  --spring:cubic-bezier(.2,.8,.2,1.08);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:105px; scrollbar-gutter:stable; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
h1,h2,h3,p { margin:0; } p { line-height:1.9; }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button { font:inherit; border:0; cursor:pointer; } a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; } svg { flex-shrink:0; }
a:focus-visible,button:focus-visible { outline:3px solid #ebae46; outline-offset:5px; }
::selection { background:#d0e1ff; color:#1448b7; }
.shell { width:min(1320px,calc(100% - 100px)); margin-inline:auto; }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--blue); font:600 10px/1.5 Arial,sans-serif; letter-spacing:2px; }
.eyebrow:before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; flex-shrink:0; }
.pill { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:52px; padding:0 24px; border-radius:50px; background:var(--blue); color:#fff; font-size:13px; font-weight:600; isolation:isolate; overflow:hidden; transition:box-shadow .35s,transform .5s var(--ease); -webkit-font-smoothing:auto; text-rendering:geometricPrecision; }
.pill:before { content:""; position:absolute; inset:0; z-index:-1; background:var(--blue-deep); clip-path:circle(0% at 50% 110%); transition:clip-path .65s var(--ease); }
.pill:hover:before { clip-path:circle(140% at 50% 110%); }
.pill:hover { box-shadow:0 12px 30px #2460ed24; }
.pill:active { scale:.97; } .pill svg { width:17px; height:17px; transition:transform .5s var(--ease); }
.pill:hover svg { transform:translate(3px,-3px); }
.pill.secondary { background:#fff; border:1px solid var(--line); color:var(--ink); }
.pill.secondary:before { background:#eaf1ff; }
.text-link { display:inline-flex; align-items:center; gap:12px; font-size:13px; background:none; padding:0; color:var(--ink); }
.text-link span { display:grid; place-items:center; width:34px; height:34px; border:1px solid #c9d7eb; border-radius:50%; transition:transform .4s var(--ease),background .4s; }
.text-link:hover span { transform:translate(3px,-2px); background:white; }
.skip { position:fixed; z-index:100; top:8px; left:8px; background:white; padding:12px; transform:translateY(-160%); }
.skip:focus { transform:none; }
.site-header { position:fixed; top:18px; left:0; right:0; z-index:30; pointer-events:none; }
.nav-bar { display:flex; align-items:center; justify-content:space-between; gap:24px; height:72px; padding:0 24px; border:1px solid #fff; border-radius:20px; background:#ffffffc9; backdrop-filter:blur(22px); box-shadow:0 8px 28px #4b6a9605; pointer-events:auto; transition:height .55s var(--ease),box-shadow .5s,background .5s; }
.site-header.compact .nav-bar { height:62px; background:#fffffff2; box-shadow:0 8px 35px #3a5b8910; }
.brand { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.brand img { width:35px; height:35px; object-fit:contain; }
.brand b { display:block; font-size:20px; letter-spacing:1px; }
.brand small { display:block; margin-top:3px; font:8px Arial,sans-serif; letter-spacing:2px; }
.nav-links { display:flex; gap:30px; font-size:12px; }
.nav-links a { position:relative; padding:10px 0; transition:color .3s; }
.nav-links a:after { content:""; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease); }
.nav-links a:hover,.nav-links a.active { color:var(--blue); }
.nav-links a:hover:after,.nav-links a.active:after { transform:scaleX(1); }
.nav-bar .pill { min-height:39px; font-size:11px; padding-inline:19px; }
.page-progress { position:fixed; z-index:40; top:0; left:0; right:0; height:2px; background:var(--blue); transform:scaleX(0); transform-origin:left; pointer-events:none; }
/* One physical story, driven by the visitor's own scroll. */
.journey { position:relative; height:290svh; }
.journey-sticky { position:sticky; top:0; height:100svh; min-height:620px; overflow:hidden; background:#f5f8fe; isolation:isolate; }
.journey-glow { position:absolute; width:85%; height:130%; right:-18%; top:-25%; background:radial-gradient(ellipse,#dce8ff 0%,#e9f1ff88 38%,transparent 67%); pointer-events:none; }
.scene-grain { position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(#1b4f970f .65px,transparent .65px); background-size:5px 5px; opacity:.33; }
.hero-word { position:absolute; z-index:-1; bottom:40px; left:50%; transform:translateX(-50%); font:900 clamp(130px,20vw,310px)/.9 Arial,sans-serif; letter-spacing:-.085em; white-space:nowrap; color:#e6edf9; pointer-events:none; user-select:none; }
.hero-inner { display:grid; grid-template-columns:1fr 1fr; align-items:center; height:100%; gap:12px; padding-top:105px; padding-bottom:117px; }
.scene-copy { position:relative; min-height:410px; z-index:5; }
.copy-layer { position:absolute; inset:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:25px; }
.copy-layer:not(.copy-intro) { opacity:0; visibility:hidden; pointer-events:none; }
.copy-layer h1,.copy-layer h2 { font-size:clamp(47px,5vw,76px); font-weight:900; line-height:1.24; letter-spacing:-3px; }
.copy-layer em { color:var(--blue); font-style:normal; }
.headline-line { display:block; overflow:hidden; padding-bottom:.09em; margin-bottom:-.09em; }
.headline-line>span,.headline-line>em { display:block; }
.motion-ready .headline-line>span,.motion-ready .headline-line>em { animation:headline-in 1.15s var(--ease) both; }
.motion-ready .headline-line>em { animation-delay:.12s; }
.copy-layer p { font-size:13px; color:#76869e; max-width:370px; }
.hero-actions { display:flex; gap:24px; align-items:center; margin-top:3px; }
.copy-note { font-size:10px!important; letter-spacing:1.2px; color:#8a9ab2!important; }
.copy-step { color:var(--blue); font:600 10px Arial,sans-serif; letter-spacing:2.4px; }
.mini-benefits { display:flex; gap:10px; flex-wrap:wrap; }
.mini-benefits span { padding:10px 13px; border:1px solid white; border-radius:8px; background:#ffffffb3; font-size:11px; }
.mini-benefits span:before { content:'✓'; margin-right:6px; color:var(--blue); }
.object-stage { position:relative; height:min(550px,64svh); min-height:400px; isolation:isolate; perspective:1400px; --box:235px; --half:117.5px; }
.stage-halo { position:absolute; inset:5% -5%; border-radius:50%; background:radial-gradient(ellipse,#e0ebff70 0%,#ffffff91 45%,transparent 71%); }
.stage-orbit { position:absolute; border:1px solid #c6d8f48a; border-radius:50%; pointer-events:none; }
.orbit-outer { width:94%; height:87%; left:3%; top:7%; transform:rotate(-22deg) scaleX(.92); }
.orbit-inner { width:79%; height:72%; left:10.5%; top:14.5%; border-style:dashed; border-color:#c3d7f460; transform:rotate(22deg); }
.stage-ticket { position:absolute; top:0; left:4%; z-index:4; display:flex; align-items:center; gap:10px; padding:11px 15px 11px 10px; border:1px solid white; border-radius:15px; background:#ffffffce; box-shadow:0 12px 40px #5c82b40c; transform:rotate(-4deg); }
.stage-ticket svg { width:34px; height:34px; transform:rotate(-90deg); }
.stage-ticket circle { fill:none; stroke:#e4ebf8; stroke-width:1.4; }
.stage-ticket .ticket-progress { stroke:var(--blue); stroke-dasharray:1; stroke-dashoffset:1; stroke-linecap:round; }
.stage-ticket small { display:block; color:#8c9db5; font:7px Arial,sans-serif; letter-spacing:1.5px; margin-bottom:5px; }
.stage-ticket b { font-size:10px; font-weight:500; }
.stage-ticket>i { font-style:normal; font-size:17px; color:var(--blue); margin-left:13px; }
.scene-floor { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; z-index:1; }
.floor-ring { fill:none; stroke:#c0d3f1; stroke-width:1; }
.floor-route { fill:none; stroke:#3975f6; stroke-width:2; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; }
.stage-platform { position:absolute; top:70%; left:10%; width:80%; height:21%; border:1px solid #fff; border-radius:50%; background:linear-gradient(160deg,#fff8,#dfeafc99); box-shadow:0 10px 0 -1px #d8e5f58c,0 30px 40px -20px #80a2d54a; }
.floor-disc { position:absolute; z-index:2; width:67%; height:80px; left:17%; top:72%; border-radius:50%; background:radial-gradient(ellipse,#6d92d04d,transparent 70%); filter:blur(9px); }
/* A shallow cardboard carton with four hinged flaps. */
.object-stage { --carton-size:var(--box); --carton-height:calc(var(--box)*.76); --carton-depth:calc(var(--box)*.82); --carton-z:calc(var(--box)*.41); }
.object-tilt { position:absolute; inset:0; z-index:3; transform-style:preserve-3d; will-change:transform; }
.parcel-assembly { --box:calc(var(--carton-size)*2); --half:calc(var(--box)*.5); --carton-height:calc(var(--box)*.76); --carton-depth:calc(var(--box)*.82); --carton-z:calc(var(--box)*.41); position:absolute; left:50%; top:56%; width:var(--box); height:var(--carton-height); transform:translate(-50%,-50%) scale(.5); transform-style:preserve-3d; will-change:transform; }
.parcel { position:relative; width:100%; height:100%; transform-style:preserve-3d; transform:rotateX(-22deg) rotateY(-28deg); }
.face { position:absolute; inset:0; backface-visibility:hidden; border:1px solid #d6ba9355; }
.face.front { transform:translateZ(var(--carton-z)); display:flex; flex-direction:column; justify-content:space-between; padding:calc(var(--box)*.095); background:linear-gradient(115deg,#f4e6ce,#e8d0ac); color:#4c607d; }
.face.front:after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.15; background:repeating-linear-gradient(0deg,transparent 0 3px,#b8956025 3px 4px); }
.face.back { transform:rotateY(180deg) translateZ(var(--carton-z)); background:#ddc39c; }
.face.right,.face.left,.face.inside-left,.face.inside-right { inset:auto; left:50%; top:0; width:var(--carton-depth); height:100%; }
.face.right { transform:translateX(-50%) rotateY(90deg) translateZ(var(--half)); background:linear-gradient(115deg,#dfc398,#cfac7b); }
.face.left { transform:translateX(-50%) rotateY(-90deg) translateZ(var(--half)); background:#e7ceaa; }
.face.bottom,.face.inside-floor { inset:auto; left:0; top:50%; width:100%; height:var(--carton-depth); }
.face.bottom { transform:translateY(-50%) rotateX(-90deg) translateZ(calc(var(--carton-height)*.5)); background:#c6a879; }
.face.inside { background:linear-gradient(#c8ab7f,#e2c9a2); }
.face.inside-back { transform:translateZ(calc(1px - var(--carton-z))); }
.face.inside-left { transform:translateX(-50%) rotateY(90deg) translateZ(calc(1px - var(--half))); }
.face.inside-right { transform:translateX(-50%) rotateY(-90deg) translateZ(calc(1px - var(--half))); }
.face.inside-floor { transform:translateY(-50%) rotateX(90deg) translateZ(calc(1px - var(--carton-height)*.5)); background:#d2b68a; }
.carton-brand { display:flex; align-items:center; gap:calc(var(--box)*.033); font-size:calc(var(--box)*.054); font-weight:700; color:#2c5cba; }
.carton-brand img { width:calc(var(--box)*.108); height:calc(var(--box)*.108); object-fit:contain; }
.carton-brand small { display:block; margin-top:3px; font:500 calc(var(--box)*.023)/1 Arial,sans-serif; letter-spacing:.8px; }
.carton-message { font-size:calc(var(--box)*.103); line-height:1.35; letter-spacing:-.5px; font-weight:650; color:#465b78; }
.carton-footer { display:flex; align-items:center; justify-content:space-between; font-size:calc(var(--box)*.033); color:#8b7a64; }
.carton-footer b { color:#52617b; font-size:calc(var(--box)*.064); font-weight:500; }
.carton-handle { position:absolute; width:27%; height:6%; left:36.5%; top:12%; border-radius:50px; background:#967c5799; border-bottom:1px solid #ffefcf; box-shadow:inset 0 2px 3px #7d603824; }
.carton-sticker { position:absolute; bottom:12%; left:15%; right:12%; padding:calc(var(--box)*.065); background:#fffaf0; border:1px solid #fff9; box-shadow:1px 3px 3px #94744612; transform:rotate(-4deg); }
.carton-sticker>span { display:block; color:var(--blue); font:700 calc(var(--box)*.031) Arial,sans-serif; letter-spacing:1px; }
.carton-sticker b { display:block; margin-block:9px; color:#697b93; font-size:calc(var(--box)*.052); font-weight:500; line-height:1.5; }
.carton-barcode { display:block; width:72%; height:calc(var(--box)*.066); opacity:.5; background:repeating-linear-gradient(90deg,#647896 0 1px,transparent 1px 3px,#647896 3px 5px,transparent 5px 6px); }
.carton-sticker small { display:block; margin-top:5px; font:calc(var(--box)*.018) Arial,sans-serif; color:#8e9cae; letter-spacing:.5px; }
.carton-flap { position:absolute; left:0; top:-.4px; width:100%; height:calc(var(--carton-depth)*.5); transform-origin:50% 0; backface-visibility:visible; border:1px solid #d6bb935e; background:linear-gradient(#e7cc9f,#f1dfbd); box-shadow:inset 0 1px 0 #fff4; }
.flap-back { transform:translateZ(calc(-1*var(--carton-z))) rotateX(205deg); }
.flap-front { transform:translateZ(var(--carton-z)) rotateX(-205deg); }
.flap-left,.flap-right { left:calc((var(--box) - var(--carton-depth))*.5); top:1.2px; width:var(--carton-depth); height:var(--half); background:linear-gradient(#dcc08f,#efdab5); }
.flap-left { transform:translateX(calc(-1*var(--half))) rotateY(90deg) rotateX(205deg); }
.flap-right { transform:translateX(var(--half)) rotateY(90deg) rotateX(-205deg); }
.flap-front>span { display:block; margin:12% 8%; color:#a28a68; font:calc(var(--box)*.027) Arial,sans-serif; letter-spacing:1.5px; text-align:center; }
.carton-seal { position:absolute; top:calc((var(--carton-height) - var(--carton-depth))*.5); left:39%; width:22%; height:var(--carton-depth); transform:translateY(calc(var(--carton-height)*-.5 - 1.8px)) rotateX(90deg); background:linear-gradient(90deg,#6799ee,#467ce2); border-inline:1px dashed #afd1ff; clip-path:inset(0 0 100% 0); }
.carton-seal span { position:absolute; inset:10px 0; display:flex; align-items:center; justify-content:center; writing-mode:vertical-rl; font-size:calc(var(--box)*.031); letter-spacing:3px; color:#f6f9ff; }
.carton-front-tape { position:absolute; left:39%; top:0; width:22%; height:13%; opacity:0; background:linear-gradient(#5888df,#4476cb); border-inline:1px dashed #9dbbed; }
/* Standalone objects replace the old flat icon tiles. */
.packing-item { position:absolute; z-index:5; width:calc(var(--box)*.59); will-change:transform,opacity; transform-origin:center; }
.packing-item svg { display:block; width:100%; height:auto; overflow:visible; }
.item-label { position:absolute; bottom:-8px; left:50%; transform:translateX(-50%); white-space:nowrap; padding:5px 10px; border:1px solid #fff9; border-radius:50px; background:#ffffffb3; font-size:9px; letter-spacing:.3px; color:#8090a6; }
.item-sofa { left:-3%; top:22%; width:calc(var(--box)*.66); }
.item-lamp { right:0; top:17%; width:calc(var(--box)*.46); }
.item-case { left:13%; bottom:-1%; width:calc(var(--box)*.43); }
.stage-caption { position:absolute; z-index:3; right:2%; bottom:4%; font-size:8px; letter-spacing:1px; color:#7894b8; }
.journey-truck { position:absolute; z-index:4; width:110%; max-width:110%; left:-5%; top:23%; height:auto; opacity:0; transform:translateX(140px); filter:drop-shadow(0 25px 17px #2d588b22); will-change:transform,opacity; }
.destination { position:absolute; z-index:5; top:16%; left:50%; transform:translate(-50%,20px); opacity:0; display:flex; align-items:center; gap:8px; white-space:nowrap; padding:10px 16px; border:1px solid #fff; border-radius:30px; background:#fffffff0; font-size:10px; }
.destination i { width:6px; height:6px; background:var(--blue); border-radius:50%; }
.scene-bottom { position:absolute; z-index:6; bottom:28px; left:0; right:0; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.scroll-cue { display:flex; align-items:center; gap:13px; color:#7f91ab; font-size:10px; }
.scroll-cue .mouse { display:grid; place-items:center; width:27px; height:40px; border:1px solid #c1d1e8; border-radius:20px; font-size:16px; color:var(--blue); }
.scene-steps { display:flex; gap:8px; border:1px solid #fff; border-radius:50px; padding:4px; background:#ffffff70; }
.scene-steps button { position:relative; display:flex; gap:9px; align-items:center; color:#91a0b7; background:transparent; padding:12px 19px; border-radius:50px; font-size:10px; transition:background .4s,color .4s,box-shadow .4s; }
.scene-steps button b { font:10px Arial,sans-serif; }
.scene-steps button[aria-current=step] { color:var(--blue); background:white; box-shadow:0 3px 8px #496da50a; }
.scene-counter { display:flex; gap:15px; align-items:center; }.scene-page { font:10px Arial,sans-serif; letter-spacing:2px; color:#7390b7; }
.scene-meter { width:65px; height:2px; background:#dce6f5; }.scene-meter i { display:block; width:100%; height:100%; background:var(--blue); transform:scaleX(0); transform-origin:left; }
/* Editorial pause. */
.intro-section { padding:100px 0; background:#fff; }
.intro-top { display:grid; grid-template-columns:1fr 2fr; gap:40px; align-items:start; }.intro-top .eyebrow { margin-top:13px; }
.manifesto { font-size:clamp(28px,3.25vw,46px); font-weight:700; line-height:1.75; letter-spacing:-1.5px; }
.manifesto .word { color:#cdd7e7; background:linear-gradient(90deg,var(--ink) 50%,#cdd7e7 50%); background-size:200% 100%; background-position:100% 0; background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; transition:background-position .75s var(--ease); }
.manifesto .word.lit { background-position:0 0; }.manifesto .word.accent { background-image:linear-gradient(90deg,var(--blue) 50%,#cdd7e7 50%); }
.trust-row { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; margin-top:65px; padding-top:30px; border-top:1px solid var(--line); }
.trust-item { display:flex; align-items:center; gap:16px; }.trust-number { font:11px Arial,sans-serif; color:#9eafc5; }
.trust-item b { display:block; font-size:13px; font-weight:600; }.trust-item p { font-size:10px; color:var(--muted); margin-top:7px; }
/* The vehicle selector is a small, tactile showroom. */
.fleet-section { padding:105px 0 100px; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:38px; }
.section-head .eyebrow { margin-bottom:20px; }.section-head h2 { font-size:clamp(30px,3.4vw,48px); line-height:1.4; letter-spacing:-1.8px; }
.section-head>p { max-width:270px; font-size:12px; color:var(--muted); }
.fleet-tabs { position:relative; display:flex; width:max-content; max-width:100%; gap:5px; padding:6px; margin-bottom:26px; background:#e8effa; border:1px solid #e4ebf7; border-radius:50px; isolation:isolate; }
.fleet-tab { position:relative; z-index:1; min-width:118px; padding:13px 23px; background:transparent; border-radius:50px; font-size:12px; color:#8493ab; transition:color .3s; }
.fleet-tab[aria-selected=true] { color:var(--blue); }
.fleet-tab-indicator { position:absolute; z-index:0; top:6px; left:0; height:calc(100% - 12px); width:118px; border-radius:50px; background:white; box-shadow:0 4px 12px #547bac10; transition:transform .6s var(--spring),width .6s var(--ease); }
.fleet-display { display:grid; grid-template-columns:1.3fr 1fr; border:1px solid white; border-radius:30px; overflow:hidden; min-height:465px; background:#edf3fd; box-shadow:0 25px 75px -50px #5b80b375; }
.fleet-visual { position:relative; min-width:0; overflow:hidden; isolation:isolate; cursor:grab; touch-action:pan-y; user-select:none; background:radial-gradient(ellipse at 45% 60%,#d7e5fc,transparent 65%); }
.fleet-visual.dragging { cursor:grabbing; }.fleet-watermark { position:absolute; z-index:-1; top:26px; left:34px; color:#fff9; font:900 155px/1 Arial,sans-serif; letter-spacing:-12px; }
.fleet-model-label { position:absolute; right:28px; top:30px; color:#93a9c8; font:8px Arial,sans-serif; letter-spacing:1.4px; }
.fleet-horizon { position:absolute; z-index:-1; width:100%; height:1px; background:linear-gradient(90deg,transparent,#c8d9f1,transparent); top:72%; }
.fleet-orbit { position:absolute; width:83%; height:105px; bottom:66px; left:8.5%; border:1px solid #ccdafa; border-radius:50%; background:#d4e2f840; transform:rotate(-7deg); }
.fleet-car { position:absolute; width:86%; height:255px; left:7%; top:19%; object-fit:contain; opacity:0; pointer-events:none; filter:drop-shadow(0 25px 15px #20446c1b); }
.fleet-car.active { opacity:1; }.drag-hint { position:absolute; bottom:24px; left:30px; display:flex; align-items:center; gap:10px; font-size:9px; letter-spacing:.8px; color:#869dbf; }
.drag-hint:before { content:'↔'; font-size:21px; }.fleet-pagination { position:absolute; bottom:30px; right:26px; display:flex; align-items:center; gap:9px; font:8px Arial,sans-serif; color:#809abc; }
.fleet-pagination i { width:55px; height:2px; background:#cbd9ed; }.fleet-pagination b { display:block; width:25%; height:100%; background:var(--blue); transition:transform .6s var(--ease); }
.fleet-cursor { position:absolute; z-index:4; left:0; top:0; width:68px; height:68px; margin:-34px 0 0 -34px; display:grid; place-items:center; border:1px solid white; border-radius:50%; background:#ffffffa0; backdrop-filter:blur(8px); color:var(--blue); font-size:25px; pointer-events:none; opacity:0; transition:opacity .2s,scale .4s var(--ease); }
.dragging .fleet-cursor { scale:.84; }
.fleet-info { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:50px 46px 45px; min-width:0; }
.fleet-kicker { color:#829ec4; font:10px Arial,sans-serif; letter-spacing:2px; margin-bottom:17px; }
.fleet-info h3 { font-size:44px; letter-spacing:-2px; margin-bottom:12px; }.fleet-info>p { font-size:12px; color:#7b8da8; }
.fleet-perks { display:flex; gap:29px; margin-block:30px; width:100%; }.fleet-perks>div+div { border-left:1px solid #cfdef3; padding-left:29px; }
.fleet-perks strong { font:500 31px Arial,sans-serif; color:var(--blue); }.fleet-perks small { font-size:11px; margin-left:4px; }
.fleet-perks span { display:block; color:#8293ad; font-size:10px; margin-top:9px; }.fleet-actions { width:100%; display:flex; align-items:center; justify-content:space-between; gap:15px; }
.fleet-arrows { display:flex; gap:8px; }.round { display:grid; place-items:center; width:37px; height:37px; background:#ffffff70; border:1px solid #cddbf0; border-radius:50%; color:#6486b8; transition:background .25s,transform .35s var(--ease); }
.round:hover { background:white; transform:scale(1.07); }.round:active { transform:scale(.93); }
.fleet-note { font-size:10px; color:#91a2bb; margin-top:20px; }
/* Photography stays bright; the words have their own quiet space. */
.care-section { padding:30px 0 100px; }
.care-editorial { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:60px; }
.care-story { padding:15px 0; }.care-story h2 { font-size:clamp(38px,4.6vw,66px); line-height:1.35; letter-spacing:-2px; margin-block:25px; }
.underline-accent { position:relative; color:var(--blue); }.underline-accent:after { content:""; position:absolute; left:-4px; right:0; bottom:-5px; height:10px; border-top:2px solid var(--blue); border-radius:50%; transform:rotate(-7deg); }
.care-story>p { font-size:13px; color:#8492a7; }.care-story .care-statement { margin-top:20px; color:#4f6584; }
.care-signature { display:flex; align-items:center; gap:25px; margin-top:35px; color:#8498b5; font-size:10px; }
.care-signature i { font-size:24px; font-style:normal; color:var(--blue); }
.care-photo-wrap { position:relative; height:540px; border-radius:25px; overflow:hidden; background:#e4edf9; clip-path:inset(4% 3% round 25px); }
.care-photo { width:100%; height:113%; object-fit:cover; object-position:54% center; will-change:transform; }
.photo-caption { position:absolute; bottom:20px; left:20px; right:20px; padding:18px 20px; background:#fffffff0; backdrop-filter:blur(12px); border:1px solid white; border-radius:14px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.photo-caption>span { display:flex; align-items:center; gap:7px; color:#8194ae; font:8px Arial,sans-serif; letter-spacing:1px; }
.photo-caption i { width:5px; height:5px; border-radius:50%; background:var(--blue); }.photo-caption b { color:#496486; font-size:11px; font-weight:500; }
.photo-corner { position:absolute; right:20px; top:20px; display:grid; place-items:center; width:41px; height:41px; border:1px solid #ffffffaa; border-radius:50%; background:#ffffff36; color:white; font-size:22px; }
.care-details { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:48px; }
.care-detail { border-top:1px solid var(--line); padding-top:25px; display:flex; gap:23px; }.care-detail>span { font:11px Arial,sans-serif; padding-top:4px; color:var(--blue); }
.care-detail h3 { font-size:15px; margin-bottom:10px; }.care-detail p { color:var(--muted); font-size:11px; }
/* An interactive route rather than four passive paragraphs. */
.process-section { padding:95px 0; background:white; }
.move-experience { margin-top:40px; border:1px solid #e2eaf7; border-radius:24px; overflow:hidden; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; }
.process-step { position:relative; display:grid; grid-template-columns:35px 1fr; column-gap:12px; padding:26px 21px; background:white; text-align:left; color:#8b9bb1; transition:background .4s,color .4s; }
.process-step+.process-step { border-left:1px solid #e8eef8; }.process-step:after { content:""; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .6s var(--ease); }
.process-step[aria-selected=true] { background:#f6f9ff; color:var(--ink); }.process-step[aria-selected=true]:after { transform:scaleX(1); }
.step-dot { grid-row:1/3; align-self:center; display:grid; place-items:center; width:32px; height:32px; border:1px solid #d7e2f4; border-radius:50%; color:#8da4c6; font:10px Arial,sans-serif; transition:background .4s,color .4s,transform .5s var(--spring); }
.process-step[aria-selected=true] .step-dot { background:var(--blue); color:white; border-color:var(--blue); transform:scale(1.05); }
.step-title { font-size:12px; font-weight:600; line-height:1.5; }.step-desc { font-size:9px; margin-top:5px; color:#96a5bb; }.step-arrow { position:absolute; right:16px; top:20px; font-size:15px; color:var(--blue); opacity:0; transform:translate(-4px,4px); transition:opacity .4s,transform .4s; }
.process-step:hover .step-arrow,.process-step[aria-selected=true] .step-arrow { opacity:1; transform:none; }
.process-display { display:grid; grid-template-columns:1.2fr 1fr; min-height:375px; background:linear-gradient(110deg,#eff5ff,#f7faff); }
.route-studio { position:relative; min-width:0; height:360px; padding:30px 8px 3px; isolation:isolate; }
.studio-top { position:absolute; z-index:2; top:21px; left:25px; right:22px; display:flex; align-items:center; justify-content:space-between; gap:15px; }
.studio-title { position:static; color:#8ca4c4; font:7px Arial,sans-serif; letter-spacing:1.4px; }
.route-status { display:flex; gap:6px; align-items:center; color:#839bbd; font-size:8px; white-space:nowrap; }
.route-status i { width:4px; height:4px; border-radius:50%; background:var(--blue); }
.route-map { display:block; width:100%; height:100%; min-height:0; overflow:visible; }
.route-road-edge { stroke:#dce8f6; stroke-width:24; stroke-linecap:round; }
.route-road { stroke:#fff; stroke-width:21; stroke-linecap:round; }
.route-ink { stroke:#82a9ea; stroke-width:1.7; stroke-dasharray:1; stroke-dashoffset:1; stroke-linecap:round; }
.house-label { font-size:14px; letter-spacing:1px; fill:#91a0af; }.house-label-new { fill:#7294ba; }
.house-destination { opacity:.64; }.arrival-window,.arrival-mark,.route-parcels { opacity:0; }
.route-vehicle-position { opacity:0; }.route-vehicle-image { pointer-events:none; }
.process-scroll-note { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:38px; padding:10px 22px; background:#f7faff; border-top:1px solid #e4edf9; color:#8ca0be; font-size:9px; }
.process-scroll-note>span { display:flex; align-items:center; gap:9px; }.process-scroll-note>span>b { color:var(--blue); font-weight:400; font-size:13px; }
.process-progress { display:flex; align-items:center; gap:13px; font:8px Arial,sans-serif; letter-spacing:1px; }
.process-progress>i { display:block; width:64px; height:2px; background:#dce7f7; }.process-progress>i>b { display:block; width:100%; height:100%; background:var(--blue); transform:scaleX(0); transform-origin:left; }
.process-panel-copy { padding:50px 45px 45px 25px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.process-panel-copy .eyebrow { font-size:8px; letter-spacing:1.6px; }.process-panel-copy h3 { font-size:34px; line-height:1.4; letter-spacing:-1px; margin:20px 0 16px; }
.process-panel-copy>p { font-size:12px; color:#8595ac; max-width:320px; min-height:46px; }.process-checks { display:flex; gap:15px; flex-wrap:wrap; margin-top:18px; font-size:10px; color:#7189ad; }.process-checks span:before { content:'✓'; margin-right:6px; color:var(--blue); }
.process-panel-copy .text-link { margin-top:23px; font-size:11px; }.process-panel-copy .text-link span { width:28px; height:28px; }
.faq { display:grid; grid-template-columns:1fr 1.35fr; gap:75px; padding-top:85px; margin-top:85px; border-top:1px solid var(--line); }
.faq h2 { font-size:31px; line-height:1.5; letter-spacing:-1px; margin-block:20px; }.faq-intro p { font-size:12px; color:var(--muted); margin-bottom:23px; }
.faq-list { display:flex; flex-direction:column; }.faq-item { border-bottom:1px solid var(--line); }
.faq-question { display:flex; align-items:center; justify-content:space-between; width:100%; gap:20px; text-align:left; padding:24px 0; color:var(--ink); background:none; font-size:13px; }
.faq-question span:last-child { display:grid; place-items:center; width:28px; height:28px; border:1px solid #e5ecf7; border-radius:50%; color:#81a0c8; font-size:18px; transition:transform .5s var(--ease),background .5s,color .5s; }
.faq-question[aria-expanded=true] { color:var(--blue); }.faq-question[aria-expanded=true] span:last-child { transform:rotate(45deg); background:var(--blue); color:white; border-color:var(--blue); }
.faq-answer { display:grid; grid-template-rows:0fr; visibility:hidden; transition:grid-template-rows .6s var(--ease),visibility .6s; }.faq-answer.open { grid-template-rows:1fr; visibility:visible; }.faq-answer>div { overflow:hidden; }.faq-answer p { font-size:12px; color:var(--muted); padding-bottom:25px; }
.finale { position:relative; isolation:isolate; overflow:hidden; padding:105px 0 75px; background:radial-gradient(ellipse at 50% 100%,#d0e2ff 0%,transparent 63%),#eff5ff; text-align:center; }
.finale .eyebrow { justify-content:center; }.finale h2 { font-size:clamp(40px,5.7vw,80px); line-height:1.35; letter-spacing:-3px; margin:28px 0 23px; }.finale h2 em { color:var(--blue); font-style:normal; }
.finale>p { font-size:12px; color:#8497b4; }.finale .pill { margin-top:30px; padding-inline:30px; }
.finale-track { display:flex; align-items:center; justify-content:center; position:relative; height:100px; margin-top:30px; }.finale-track:before { content:""; position:absolute; left:0; right:0; top:72%; height:1px; background:#bad0ee; }
.finale-truck { position:relative; z-index:2; width:135px; height:auto; filter:drop-shadow(0 9px 8px #5478ae22); will-change:transform; }
.finale-word { position:absolute; z-index:-1; left:0; right:0; bottom:-30px; font:900 clamp(100px,19vw,280px)/1 Arial,sans-serif; letter-spacing:-.07em; color:#e1ecfc; white-space:nowrap; }
.site-footer { padding:48px 0 25px; background:white; }.footer-main { display:flex; align-items:center; justify-content:space-between; gap:35px; }.footer-main p { font-size:11px; color:var(--muted); margin-top:11px; }
.footer-phone { text-align:right; }.footer-phone a { font:25px Arial,sans-serif; letter-spacing:1px; }.footer-bottom { display:flex; justify-content:space-between; gap:20px; font-size:9px; line-height:2; color:#9ba8bb; border-top:1px solid var(--line); padding-top:20px; margin-top:37px; }.footer-bottom a:hover { color:var(--blue); }
.mobile-book { display:none; }.reveal { opacity:1; transform:none; }
.motion-ready .reveal { opacity:0; transform:translateY(32px); transition:opacity .9s var(--ease),transform 1.1s var(--ease); }.motion-ready .reveal.is-visible { opacity:1; transform:none; }
dialog { width:min(440px,calc(100% - 36px)); max-height:calc(100svh - 40px); padding:0; border:1px solid white; border-radius:25px; background:#fff; color:var(--ink); box-shadow:0 30px 100px #29497429; }
dialog::backdrop { background:#6a87b33b; backdrop-filter:blur(12px); }dialog[open] { animation:dialog-in .55s var(--ease) both; }dialog.closing { animation:dialog-out .22s ease-in both; }dialog.closing::backdrop { animation:fade-out .22s both; }
.dialog-head { display:flex; align-items:center; justify-content:space-between; padding:23px 25px; border-bottom:1px solid #edf2fa; }.dialog-head h2 { font-size:15px; }.close { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; font-size:22px; color:#8398b8; background:#eff5ff; transition:transform .4s var(--ease); }.close:hover { transform:rotate(90deg); }
.dialog-body { padding:26px; text-align:center; }.dialog-body strong { font-size:19px; }.dialog-body img { width:205px; height:205px; margin:22px auto; padding:7px; object-fit:contain; border:1px solid #e7eef9; border-radius:14px; }.dialog-body p { font-size:11px; color:#8799b4; margin-bottom:20px; }.dialog-body .pill { width:100%; }
.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@keyframes headline-in { from { transform:translateY(110%) rotate(2deg); } to { transform:translateY(0) rotate(0); } }
@keyframes dialog-in { from { opacity:0; transform:translateY(24px) scale(.96); } to { opacity:1; transform:none; } }
@keyframes dialog-out { to { opacity:0; transform:translateY(14px) scale(.97); } }@keyframes fade-out { to { opacity:0; } }
@media(min-width:1600px) { .hero-inner { gap:65px; }.object-stage { --box:260px; --half:130px; }.copy-layer h1,.copy-layer h2 { font-size:80px; } }
@media(max-width:1100px) {
 .shell { width:calc(100% - 56px); }.nav-links { gap:21px; }.copy-layer h1,.copy-layer h2 { font-size:49px; letter-spacing:-2px; }.scene-copy { min-height:370px; }
 .object-stage { --box:190px; --half:95px; min-height:370px; }.face.front { padding:20px; }.stage-ticket { scale:.9; transform-origin:left top; }.hero-actions { gap:13px; }.hero-actions .pill { padding-inline:18px; }.text-link { font-size:11px; }
 .fleet-info { padding:40px 27px; }.fleet-info h3 { font-size:38px; }.fleet-perks { gap:22px; }.fleet-perks>div+div { padding-left:22px; }.fleet-car { height:220px; top:22%; }.fleet-display { min-height:425px; }.fleet-model-label { font-size:7px; right:18px; }.fleet-pagination { display:none; }
 .care-editorial { gap:35px; }.care-photo-wrap { height:460px; }.photo-caption { display:block; padding:15px; }.photo-caption b { display:block; margin-top:7px; }.care-details { gap:25px; }
 .process-step { padding:25px 12px; grid-template-columns:28px 1fr; gap:8px; }.step-dot { width:27px; height:27px; font-size:9px; }.step-title { font-size:11px; }.step-arrow { right:10px; top:9px; font-size:12px; }.step-desc { font-size:8px; }.process-panel-copy { padding:40px 30px 35px 10px; }.process-panel-copy h3 { font-size:30px; }.faq { gap:40px; }
}
@media(max-width:760px) {
 html { scroll-padding-top:85px; }.shell { width:calc(100% - 36px); }.site-header { top:10px; }.nav-bar,.site-header.compact .nav-bar { height:57px; padding:0 14px; border-radius:15px; gap:12px; }.brand img { width:28px; height:28px; }.brand b { font-size:17px; }.brand small { font-size:7px; }.nav-links { display:none; }.nav-bar .pill { min-height:34px; padding-inline:14px; font-size:10px; gap:13px; }
 .journey { height:235svh; }.journey-sticky { min-height:660px; }.hero-inner { display:flex; flex-direction:column; justify-content:center; padding-top:91px; padding-bottom:80px; gap:8px; }.scene-copy { width:100%; min-height:242px; flex-shrink:0; }.copy-layer { gap:17px; }.copy-layer h1,.copy-layer h2 { font-size:clamp(40px,8vw,54px); letter-spacing:-1.8px; line-height:1.21; }.copy-layer .eyebrow { font-size:8px; letter-spacing:1.5px; }.copy-layer p { font-size:11px; max-width:100%; }.copy-layer p br { display:none; }.hero-actions { gap:20px; margin-top:0; }.hero-actions .pill { min-height:42px; font-size:11px; }.copy-note { display:none; }.copy-step { font-size:9px; letter-spacing:2px; }.mini-benefits span { font-size:10px; padding:8px 10px; }
 .object-stage { width:min(430px,100%); height:clamp(240px,32svh,320px); min-height:240px; --box:150px; --half:75px; flex-shrink:0; }.stage-ticket { top:-3px; left:0; scale:.76; }.stage-orbit { opacity:.7; }.orbit-outer { width:80%; left:10%; height:92%; top:0; }.stage-platform { width:78%; left:11%; top:73%; height:20%; }.floor-disc { height:50px; top:76%; }.parcel-assembly { top:56%; }.face.front { padding:15px; }.face.right { padding:17px; }
 .stage-caption { font-size:6px; bottom:0; right:3%; }.journey-truck { width:91%; max-width:91%; left:5%; top:21%; max-height:205px; object-fit:contain; }.destination { top:12%; font-size:8px; padding:7px 10px; }
 .hero-word { font-size:23vw; bottom:60px; }.scene-bottom { bottom:20px; gap:12px; }.scroll-cue { font-size:8px; gap:8px; }.scroll-cue .mouse { width:20px; height:31px; font-size:12px; }.scene-steps { gap:0; padding:3px; }.scene-steps button { font-size:8px; gap:5px; padding:9px 10px; }.scene-steps button b { font-size:8px; }.scene-counter { display:none; }
 .intro-section { padding:55px 0; }.intro-top { grid-template-columns:1fr; gap:22px; }.intro-top .eyebrow { margin-top:0; font-size:9px; }.manifesto { font-size:clamp(23px,5.8vw,31px); line-height:1.8; letter-spacing:-.8px; }.trust-row { grid-template-columns:1fr 1fr; gap:27px 15px; margin-top:35px; padding-top:25px; }.trust-item { gap:10px; }.trust-item b { font-size:12px; }.trust-item p { font-size:9px; margin-top:5px; }.trust-number { font-size:9px; }
 .fleet-section { padding:60px 0; }.section-head { display:block; margin-bottom:26px; }.section-head h2 { font-size:31px; letter-spacing:-1.2px; }.section-head>p { font-size:11px; max-width:100%; margin-top:17px; }.section-head .eyebrow { font-size:9px; margin-bottom:15px; }.section-head>.pill { margin-top:20px; min-height:43px; font-size:11px; }
 .fleet-tabs { width:100%; gap:3px; padding:5px; margin-bottom:18px; }.fleet-tab { flex:1; min-width:0; padding:11px 4px; font-size:11px; }.fleet-tab-indicator { top:5px; height:calc(100% - 10px); width:calc((100% - 19px)/4); transform:translateX(5px); }
 .fleet-display { grid-template-columns:1fr; border-radius:23px; }.fleet-visual { height:255px; }.fleet-watermark { font-size:117px; top:20px; left:23px; }.fleet-model-label { top:24px; right:20px; font-size:6px; }.fleet-car { height:175px; width:83%; left:8.5%; top:34px; }.fleet-orbit { height:53px; bottom:39px; width:77%; left:11.5%; }.drag-hint { left:23px; bottom:12px; font-size:8px; }.fleet-cursor { display:none; }.fleet-info { padding:17px 26px 28px; }.fleet-kicker { font-size:8px; margin-bottom:10px; }.fleet-info h3 { font-size:32px; margin-bottom:10px; letter-spacing:-1px; }.fleet-info>p { font-size:11px; }.fleet-perks { margin-block:23px; gap:30px; }.fleet-perks strong { font-size:27px; }.fleet-actions .pill { min-height:44px; font-size:11px; }.fleet-note { font-size:9px; }
 .care-section { padding:8px 0 60px; }.care-editorial { grid-template-columns:1fr; gap:27px; }.care-story { padding:0; }.care-story h2 { font-size:40px; margin-block:21px; }.care-story>p { font-size:12px; }.care-story .care-statement { margin-top:14px; }.care-signature { margin-top:21px; }.care-photo-wrap { height:400px; border-radius:19px; }.photo-caption { display:flex; left:13px; right:13px; bottom:13px; padding:15px; gap:8px; }.photo-caption>span { font-size:6px; }.photo-caption b { font-size:9px; margin:0; }.care-details { grid-template-columns:1fr; gap:22px; margin-top:29px; }.care-detail { padding-top:21px; gap:20px; }.care-detail h3 { font-size:14px; }.care-detail p { font-size:11px; }
 .process-section { padding:55px 0; }.move-experience { margin-top:28px; border-radius:19px; }.process-grid { grid-template-columns:1fr 1fr; }.process-step { grid-template-columns:30px 1fr; padding:21px 15px; gap:8px; }.process-step:nth-child(3) { border-left:0; }.process-step:nth-child(n+3) { border-top:1px solid #e8eef8; }.step-title { font-size:11px; }.step-desc { font-size:8px; }.step-arrow { right:11px; top:9px; }.process-display { grid-template-columns:1fr; }.route-studio { height:250px; padding:10px 5px 0; }.route-map { min-height:0; }.studio-title { top:19px; left:20px; font-size:6px; }.process-panel-copy { padding:27px 25px 30px; }.process-panel-copy h3 { font-size:29px; margin:15px 0 12px; }.process-panel-copy>p { font-size:11px; max-width:100%; min-height:42px; }.process-checks { margin-top:15px; font-size:9px; }.process-panel-copy .text-link { margin-top:20px; }
 .faq { grid-template-columns:1fr; gap:25px; margin-top:50px; padding-top:45px; }.faq h2 { font-size:28px; }.faq-intro p { font-size:11px; }.faq-question { font-size:12px; padding:20px 0; gap:14px; }.faq-question span:last-child { flex-shrink:0; }.faq-answer p { font-size:11px; }
 .finale { padding:64px 18px 40px; }.finale .eyebrow { font-size:8px; letter-spacing:1.5px; }.finale h2 { font-size:clamp(33px,8.4vw,47px); letter-spacing:-1.5px; margin:25px 0 19px; }.finale>p { font-size:10px; }.finale .pill { min-height:48px; font-size:12px; margin-top:25px; }.finale-track { height:80px; }.finale-truck { width:100px; }.finale-word { bottom:0; font-size:22vw; }
 .site-footer { padding:35px 0 100px; }.footer-main { flex-direction:column; align-items:flex-start; gap:25px; }.footer-phone { text-align:left; }.footer-phone a { font-size:23px; }.footer-bottom { display:block; padding-top:19px; margin-top:26px; }.footer-bottom>span { display:block; margin-bottom:5px; }
 .mobile-book { display:flex; align-items:center; position:fixed; z-index:20; left:12px; right:12px; bottom:max(10px,env(safe-area-inset-bottom)); padding:7px; gap:10px; border:1px solid white; border-radius:50px; background:#fffffff0; backdrop-filter:blur(15px); box-shadow:0 5px 35px #21436612; transform:translateY(140%); opacity:0; visibility:hidden; transition:transform .65s var(--ease),opacity .35s,visibility .65s; }.mobile-book.show { transform:none; opacity:1; visibility:visible; }.mobile-book a { flex:1; text-align:center; font-size:11px; }.mobile-book .pill { flex:2; min-height:40px; font-size:11px; }
 .dialog-body { padding:23px; }.dialog-body strong { font-size:17px; }.dialog-body img { width:185px; height:185px; }
}
@media(max-height:730px) and (min-width:761px) { .journey-sticky { min-height:560px; }.hero-inner { padding-top:85px; padding-bottom:80px; }.scene-copy { min-height:325px; }.copy-layer { gap:18px; }.copy-layer h1,.copy-layer h2 { font-size:48px; }.object-stage { height:375px; min-height:350px; --box:180px; --half:90px; }.stage-ticket { scale:.85; }.scene-bottom { bottom:18px; } }
@media(max-height:680px) and (max-width:760px) { .journey-sticky { min-height:570px; }.hero-inner { padding-top:84px; padding-bottom:62px; gap:0; }.scene-copy { min-height:225px; }.copy-layer { gap:14px; }.copy-layer h1,.copy-layer h2 { font-size:38px; }.object-stage { height:200px; min-height:200px; --box:123px; --half:61.5px; }.face.front { padding:12px; }.stage-ticket { scale:.63; }.scene-bottom { bottom:16px; }.hero-word { bottom:48px; }.journey-truck { max-height:165px; }.stage-caption { display:none; } }
@media(max-width:380px) { .scene-steps button { padding-inline:7px; }.scroll-cue { font-size:7px; }.scene-bottom { gap:7px; }.fleet-info { padding-inline:22px; }.fleet-actions .pill { padding-inline:18px; gap:16px; }.photo-caption { display:block; }.photo-caption b { margin-top:7px; }.step-title { font-size:10px; }.process-step { padding-inline:10px; gap:6px; }.care-photo-wrap { height:350px; } }
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }*,*:before,*:after { animation:none!important; transition:none!important; }
 .journey { height:auto; }.journey-sticky { position:relative; }.scene-steps,.scene-counter,.packing-item { display:none; }.stage-ticket { transform:none; }
 .manifesto .word { background:none; -webkit-text-fill-color:var(--ink); }.manifesto .word.accent { -webkit-text-fill-color:var(--blue); }.motion-ready .reveal { opacity:1; transform:none; }
 .floor-route { stroke-dashoffset:0; }.care-photo-wrap { clip-path:none; }.fleet-cursor { display:none; }
}

@media(max-width:1100px) { .item-label { font-size:8px; padding:4px 8px; }.carton-sticker b { margin-block:6px; } }
@media(max-width:760px) { .item-sofa { left:-1%; top:18%; }.item-lamp { right:1%; top:17%; }.item-case { left:14%; bottom:-2%; }.item-label { font-size:7px; padding:3px 7px; bottom:-7px; }.carton-sticker b { margin-block:5px; }.carton-brand small { letter-spacing:.3px; }.flap-front>span { letter-spacing:.5px; }.carton-seal span { letter-spacing:1.5px; } }
@media(max-height:680px) and (max-width:760px) { .item-label { font-size:6px; padding:2px 5px; }.carton-sticker small { display:none; } }

/* Four-step chapter: native scroll controls one pinned scene. */
.process-section { padding:0 0 95px; }
.process-sticky { padding:80px 0 0; }
.process-sticky .section-head { margin-bottom:25px; }.process-sticky .move-experience { margin-top:0; }
.process-sticky .process-display { grid-template-columns:1.35fr 1fr; min-height:340px; }
.process-sticky .process-panel-copy { padding:29px 35px 29px 22px; }
.scroll-scenes .process-scroll { height:315svh; }
.scroll-scenes .process-sticky { position:sticky; top:var(--process-pin-top,0px); height:auto; min-height:100svh; padding:94px 0 24px; display:flex; align-items:center; }
.finale-track { overflow:hidden; }.finale-truck { transform:none; }
@media(min-width:761px) and (max-height:820px) {
 .process-sticky .section-head { margin-bottom:20px; }.process-sticky .section-head h2 { font-size:35px; line-height:1.35; }.process-sticky .section-head .eyebrow { margin-bottom:12px; }
 .process-sticky .process-step { padding-block:20px; }.process-sticky .process-display { min-height:290px; }.process-sticky .route-studio { height:300px; }
 .process-sticky .process-panel-copy { padding-block:22px; }.process-sticky .process-panel-copy h3 { font-size:29px; margin-block:14px; }.process-sticky .process-panel-copy .text-link { margin-top:16px; }.process-scroll-note { min-height:32px; padding-block:7px; }
}
@media(min-width:761px) and (max-height:720px) {
 .process-sticky .section-head h2 { font-size:31px; }.process-sticky .process-display { min-height:260px; }.process-sticky .route-studio { height:270px; }.process-sticky .process-panel-copy { padding-block:15px; }.process-sticky .process-panel-copy h3 { font-size:26px; }.process-sticky .process-checks { display:none; }
}
@media(max-width:1100px) { .studio-title { font-size:6px; letter-spacing:.9px; }.route-status { font-size:7px; }.studio-top { left:18px; right:15px; gap:8px; } }
@media(max-width:760px) {
 .process-section { padding:0 0 55px; }.process-sticky { padding-top:55px; }.scroll-scenes .process-scroll { height:300svh; }.scroll-scenes .process-sticky { height:auto; min-height:100svh; padding:83px 0 89px; }
 .process-sticky .section-head { margin-bottom:17px; }.process-sticky .section-head h2 { font-size:29px; line-height:1.35; }.process-sticky .section-head .eyebrow { font-size:8px; margin-bottom:10px; }.process-sticky .section-head>.pill { display:none; }
 .process-sticky .process-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.process-sticky .process-step { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:13px 3px 11px; text-align:center; }
 .process-sticky .process-step:nth-child(n+3) { border-top:0; }.process-sticky .process-step+.process-step { border-left:1px solid #e8eef8; }
 .process-sticky .step-dot { width:24px; height:24px; font-size:8px; }.process-sticky .step-title { font-size:9px; white-space:nowrap; }.process-sticky .step-desc,.process-sticky .step-arrow { display:none; }
 .process-sticky .process-display { grid-template-columns:1fr; min-height:0; }.process-sticky .route-studio { height:205px; padding:23px 0 0; }.studio-top { top:13px; left:17px; right:15px; }.studio-title { font-size:5px; }.route-status { font-size:6px; }
 .process-sticky .process-panel-copy { padding:14px 24px 20px; }.process-sticky .process-panel-copy .eyebrow { font-size:7px; letter-spacing:1px; }.process-sticky .process-panel-copy h3 { font-size:23px; margin:10px 0 9px; line-height:1.4; }.process-sticky #process-title br { display:none; }.process-sticky .process-panel-copy>p { font-size:10px; line-height:1.85; min-height:38px; }.process-sticky .process-checks { display:none; }.process-sticky .process-panel-copy .text-link { font-size:10px; margin-top:13px; }.process-sticky .process-panel-copy .text-link span { width:25px; height:25px; }
 .process-scroll-note { min-height:30px; padding:8px 15px; font-size:7px; gap:10px; }.process-progress { font-size:7px; gap:8px; }.process-progress>i { width:36px; }
}
@media(max-width:760px) and (max-height:760px) {
 .scroll-scenes .process-sticky { padding-top:78px; padding-bottom:82px; }.process-sticky .section-head { margin-bottom:13px; }.process-sticky .section-head h2 { font-size:26px; }.process-sticky .section-head .eyebrow { margin-bottom:7px; }.process-sticky .process-step { padding-block:10px; }.process-sticky .route-studio { height:160px; padding-top:20px; }.process-sticky .process-panel-copy { padding:9px 20px 14px; }.process-sticky .process-panel-copy h3 { font-size:21px; margin-block:7px; }.process-sticky .process-panel-copy .text-link { margin-top:9px; }
}
@media(max-width:380px) { .process-sticky .step-title { font-size:8px; }.process-sticky .process-panel-copy h3 { font-size:21px; } }
@media(prefers-reduced-motion:reduce) { .process-scroll-note>span:first-child>b { display:none; } }

/* Render the carton at 2x physical size, then reduce the complete 3D assembly.
   This gives its printing a denser backing layer without changing the animation geometry. */
.parcel-assembly .face.front { padding:calc(var(--box)*.095); }
.parcel-assembly .face { border-width:2px; }
.parcel-assembly .carton-brand { font-weight:750; }
.parcel-assembly .carton-brand small { margin-top:6px; letter-spacing:1.6px; }
.parcel-assembly .carton-message { font-weight:700; letter-spacing:-1px; }
.parcel-assembly .carton-sticker { border-width:2px; box-shadow:2px 6px 6px #94744612; }
.parcel-assembly .carton-sticker b { margin-block:calc(var(--box)*.038); }
.parcel-assembly .carton-sticker>span { letter-spacing:2px; }
.parcel-assembly .carton-sticker small { margin-top:10px; letter-spacing:1px; }
.parcel-assembly .carton-barcode { background:repeating-linear-gradient(90deg,#647896 0 2px,transparent 2px 6px,#647896 6px 10px,transparent 10px 12px); }
.parcel-assembly .carton-seal span { inset:20px 0; letter-spacing:6px; }
.parcel-assembly .flap-front>span { letter-spacing:3px; }
.parcel-assembly .carton-flap { border-width:2px; }
.route-lane { stroke:#bbcee7; stroke-width:1.5; stroke-dasharray:5 10; stroke-linecap:round; }
.route-ink { stroke:#6c9fe9; stroke-width:3; }
/* A short window still gets the full scroll story. Taller content can pin at its lower edge. */
@media(min-width:761px) and (max-height:650px) {
 .scroll-scenes .process-sticky { padding:86px 0 16px; }
 .process-sticky .section-head { margin-bottom:12px; }
 .process-sticky .section-head .eyebrow { display:none; }
 .process-sticky .section-head h2 { font-size:26px; }
 .process-sticky .process-step { padding-block:13px; }
 .process-sticky .process-display { min-height:225px; }
 .process-sticky .route-studio { height:225px; padding-top:30px; }
 .process-sticky .process-panel-copy { padding-block:13px; }
 .process-sticky .process-panel-copy h3 { font-size:24px; margin-block:11px; }
 .process-sticky .process-panel-copy>p { font-size:11px; }
}
@media(max-width:760px) and (max-height:650px) {
 .scroll-scenes .process-sticky { padding:77px 0 77px; }
 .process-sticky .section-head { margin-bottom:10px; }
 .process-sticky .section-head .eyebrow,.process-sticky .process-panel-copy .eyebrow { display:none; }
 .process-sticky .section-head h2 { font-size:24px; }
 .process-sticky .process-step { padding-block:8px; gap:5px; }
 .process-sticky .step-dot { width:21px; height:21px; }
 .process-sticky .route-studio { height:137px; padding-top:19px; }
 .process-sticky .process-panel-copy { padding:5px 18px 12px; }
 .process-sticky .process-panel-copy h3 { font-size:20px; margin:5px 0 7px; }
 .process-sticky .process-panel-copy .text-link { margin-top:7px; }
 .process-sticky .process-panel-copy .text-link span { width:22px; height:22px; }
 .process-scroll-note { min-height:28px; padding-block:7px; }
}
/* The last mile: a bounded road, four milestones and a small, quiet neighbourhood. */
.finale-track { --truck-width:clamp(110px,10.5vw,158px); --route-inset:100px; height:222px; margin-top:39px; align-items:flex-end; padding-bottom:49px; isolation:isolate; }
.finale-track:before { display:none; }
.finale-truck { width:var(--truck-width); max-width:var(--truck-width); height:auto; flex:none; z-index:3; filter:drop-shadow(0 5px 4px #5478ae20); }
.finale-scenery { position:absolute; z-index:0; bottom:49px; left:0; width:100%; height:153px; pointer-events:none; }
.finale-road { position:absolute; left:var(--route-inset); right:var(--route-inset); bottom:43px; height:12px; border-block:1px solid #c9daf2; border-radius:20px; background:#f9fcff; }
.finale-road:before { content:""; position:absolute; left:0; right:0; height:1px; top:4px; background:repeating-linear-gradient(90deg,#b1c9eb 0 6px,transparent 6px 15px); }
.finale-road-fill { position:absolute; inset:4px 0; background:#598aef; border-radius:5px; transform:scaleX(0); transform-origin:left; }
.finale-stops { position:absolute; z-index:1; left:var(--route-inset); right:var(--route-inset); bottom:44px; height:10px; display:flex; justify-content:space-between; }
.finale-stop { position:relative; width:0; height:10px; color:#859cbc; }
.finale-stop>i { position:absolute; left:-5px; width:10px; height:10px; border-radius:50%; border:2px solid #b4cbea; background:#f4f8ff; transition:background .35s,border-color .35s,box-shadow .35s; }
.finale-stop>b { position:absolute; top:25px; left:0; width:110px; transform:translateX(-50%); font-size:10px; font-weight:500; letter-spacing:1px; transition:color .35s; }
.finale-stop.is-passed { color:#4777c7; }
.finale-stop.is-passed>i { border-color:#598aef; background:#598aef; box-shadow:0 0 0 4px #5c8ff014; }
.finale-stop em { display:inline-block; position:absolute; margin-left:4px; font-style:normal; opacity:0; transform:translateY(4px); transition:opacity .4s,transform .5s var(--ease); }
.finale-stop.is-passed em { opacity:1; transform:none; }
.finale-journey-label { position:absolute; z-index:2; top:0; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:9px; padding:9px 14px; border:1px solid #fff; border-radius:30px; color:#7490b8; background:#ffffffbf; white-space:nowrap; font-size:10px; }
.finale-journey-label>i { width:5px; height:5px; background:#74a0e4; border-radius:50%; }
.finale-journey-count { border-left:1px solid #d8e4f5; padding-left:9px; font:8px Arial,sans-serif; letter-spacing:1px; color:#8098bc; }
.finale-motion-lines { position:absolute; z-index:2; width:25px; height:28px; left:50%; bottom:69px; margin-left:calc(var(--truck-width)*-.5 - 31px); opacity:0; }
.finale-motion-lines i { display:block; height:1px; margin:6px 0; background:linear-gradient(90deg,transparent,#80a7e2); }
.finale-motion-lines i:nth-child(2) { width:34px; margin-left:-9px; }
.finale-motion-lines i:nth-child(3) { width:17px; margin-left:8px; }
.finale-home-window { transition:fill .6s; }
.has-arrived .finale-home-window { fill:#f4d69b; }
.has-arrived .finale-journey-label>i { background:#72ac98; }
@media(max-width:760px) {
 .finale-track { --truck-width:100px; height:180px; margin-top:32px; padding-bottom:45px; }
 .finale-scenery { height:107px; width:165%; max-width:none; left:-32.5%; bottom:45px; }
 .finale-road { bottom:39px; }.finale-stops { bottom:40px; }
 .finale-stop>b { font-size:8px; letter-spacing:0; width:66px; top:23px; }
 .finale-stop em { margin-left:1px; font-size:8px; }
 .finale-journey-label { padding:8px 11px; font-size:9px; gap:7px; }
 .finale-journey-count { font-size:7px; }
 .finale-motion-lines { bottom:61px; }
}
@media(prefers-reduced-motion:reduce) { .finale-motion-lines { display:none; } }
