/* Touch edition: directional light, machined edges and scroll-linked depth. */
body{background:#c9cbc8;color:#24272a}main{background:#dddeda;box-shadow:0 0 70px #22272b0d}header{background:#e7e8e3ed;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hero{background:linear-gradient(145deg,#f0f0eb 0%,#d7d9da 65%,#b9bec1 100%);overflow:hidden}.hero:before{inset:-10%;background:radial-gradient(ellipse at 95% 48%,rgba(var(--accent-rgb),var(--glow)),transparent 55%),linear-gradient(122deg,transparent 40%,#ffffff65 40.2%,#ffffff12 63%,transparent 63.2%)}
.hero h1>span{color:#646b69}.lead{color:#505853}.film-slab{border-radius:18px;padding:8px;background:linear-gradient(125deg,#fff 0%,#b0b6b5 35%,#f7f8f5 65%,#979e9f 100%);border-bottom:5px solid #939b9c;box-shadow:0 2px 0 #70797a,0 26px 30px -18px #25333499,12px 8px 34px -22px rgba(var(--accent-rgb),.6);transform:perspective(1100px) rotateX(var(--slab-tilt,0deg));transform-origin:center 65%}.film-slab:after{border:1px solid #ffffff80}.film-play{background:linear-gradient(135deg,#ffffffee,#e5e9e4e8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.work{background:linear-gradient(135deg,#c9ccce,#b5bbbf);border-top:1px solid #fafff5;box-shadow:inset 0 14px 30px -25px #25382c88}.work .section-intro{color:#46534c}.rail{padding-top:38px;padding-bottom:44px}.project-open{border-bottom:5px solid #969f9a;background:linear-gradient(125deg,#fafcfc,#dce1e3 70%,#c9cfd3);box-shadow:0 2px 0 #758178,0 22px 23px -15px #23352b80,8px 0 25px -19px rgba(var(--accent-rgb),.4)}.rail-footer{color:#3d4942}.swipe-cue{display:flex;align-items:center;gap:9px}.swipe-track{display:inline-block;width:30px;height:14px;position:relative;border-bottom:1px solid #66766b}.swipe-track:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent);left:3px;top:1px}.motion-enabled .work:not(.has-interacted) .swipe-track:after{animation:swipe-hint 2.2s ease-in-out 3}@keyframes swipe-hint{0%,100%{transform:translateX(0)}55%{transform:translateX(19px)}}
.process{background:linear-gradient(145deg,#e4e5e4,#d3d6d7)}.steps{border-top-color:#a6afa3}details{border-bottom-color:#a6afa3}details[open]{background:linear-gradient(100deg,#ffffff45,transparent)}summary{min-height:86px}details p{color:#4d584d}.extras{background:linear-gradient(145deg,#d3d6d7,#bdc4c8)}.service-panel{background:linear-gradient(130deg,#f0f2f2,#d5dadd);border-bottom:5px solid #a3adb2;box-shadow:0 2px 0 #879196,0 18px 28px -22px #20322199,inset -20px 0 40px -25px rgba(var(--accent-rgb),var(--glow))}.service-panel p{color:#4c5848}.switches{background:#b5bdc2}.finish{background:linear-gradient(125deg,#d8dcde,#bdc4c9);position:relative;isolation:isolate}.finish:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 100% 100%,rgba(var(--accent-rgb),var(--glow)),transparent 65%)}.finish p{color:#4b5646}.micro{color:#525b53}
@media(min-width:700px) and (max-width:1180px){.hero{display:block}.hero h1{font-size:clamp(56px,7vw,76px);max-width:850px}.hero .lead{max-width:560px}.hero .film-slab{margin-top:36px}.hero .film-slab>img{aspect-ratio:16/9;object-position:center}.hero-foot{margin-top:28px}}
@media(max-width:500px){.swipe-cue{font-size:10px;gap:6px}.rail-footer>div{gap:8px}.rail-footer .arrow{width:44px;height:44px}.hero:before{background:radial-gradient(ellipse at 100% 60%,rgba(var(--accent-rgb),var(--glow)),transparent 60%),linear-gradient(122deg,transparent 35%,#ffffff55 35.2%,transparent 72%)}.film-slab{border-bottom-width:4px}}
.motion-off .film-slab{transform:none}@media(prefers-reduced-motion:reduce){.film-slab{transform:none}}

/* Process rows share one alignment grid, with no isolated highlight block. */
.process .steps{margin-top:28px;border-top:1px solid #a7adae}
.process details{background:none;border-bottom:1px solid #a7adae}
.process summary{display:grid;grid-template-columns:24px minmax(0,1fr) 32px;column-gap:14px;min-height:76px;padding:20px 0;line-height:1.35;align-items:center}
.process summary>span:first-child{font-size:11px;font-variant-numeric:tabular-nums;color:var(--accent);align-self:center}
.process summary .step-title{font-size:17px;color:#292d2f;letter-spacing:-.02em;font-weight:500}
.process summary b{margin:0;display:grid;place-items:center;width:32px;height:32px;font-size:22px;line-height:1}
.process details[open] summary{padding-bottom:10px;min-height:66px}
.process details p{margin:0 46px 0 38px;padding:0 0 24px;max-width:52ch;font-size:15px;line-height:1.65;color:#50585b}
.process h2,.extras h2,.finish h2{text-wrap:balance;overflow-wrap:break-word}
@media(max-width:500px){.process summary{grid-template-columns:20px minmax(0,1fr) 28px;column-gap:10px;padding:18px 0;min-height:72px}.process summary .step-title{font-size:16px}.process summary b{width:28px;height:28px}.process details p{margin-left:30px;margin-right:38px;font-size:14px;padding-bottom:22px}.process details[open] summary{min-height:62px}.process .steps{margin-top:26px}}
@media(max-width:360px){.process h2,.extras h2,.finish h2{font-size:29px;line-height:1.1;letter-spacing:-.045em;text-wrap:initial}}
