/* v8: motion, engineering strip, process flow, illustrative gallery, booking */
.hero{position:relative;overflow:hidden;isolation:isolate}
.v8-fea{position:absolute;inset:0;inline-size:100%;block-size:100%;z-index:-1;opacity:.28;pointer-events:none}
.v8-eng{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:1rem;list-style:none;padding:0;margin:0}
.v8-eng li{border:1px solid var(--line);border-radius:.75rem;padding:1rem;background:var(--bg-alt)}
.v8-eng b{display:block;color:var(--teal);font-size:1.05rem;margin-block-end:.35rem}
.v8-eng svg{inline-size:2rem;block-size:2rem;color:var(--teal);margin-block-end:.5rem}
.v8-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;list-style:none;padding:0;margin:0;counter-reset:s;position:relative}
.v8-flow li{position:relative;padding:1.25rem 1rem;border-block-start:4px solid var(--steel);counter-increment:s}
.v8-flow li::before{content:counter(s,decimal-leading-zero);display:block;font-weight:700;color:var(--amber);font-size:1.4rem}
.v8-flow li::after{content:"";position:absolute;inset-block-start:-4px;inset-inline-start:0;block-size:4px;inline-size:0;background:var(--teal-lt)}
.v8-flow.in li::after{animation:v8fill 1s ease forwards}
.v8-flow.in li:nth-child(2)::after{animation-delay:.6s}.v8-flow.in li:nth-child(3)::after{animation-delay:1.2s}.v8-flow.in li:nth-child(4)::after{animation-delay:1.8s}
@keyframes v8fill{to{inline-size:100%}}
@media (max-width:48rem){.v8-flow{grid-template-columns:1fr 1fr}}
.v8-gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;list-style:none;padding:0;margin:0}
.v8-gal figure{margin:0;border:1px solid var(--line);border-radius:.75rem;overflow:hidden;background:#fff}
.v8-gal img{display:block;inline-size:100%;block-size:auto;transition:transform .6s ease}
.v8-gal figure:hover img{transform:scale(1.04)}
.v8-gal figcaption{padding:.6rem .8rem;font-size:.9rem;color:var(--navy);background:var(--gray)}
.v8-note{font-size:.85rem;color:var(--fg-mute)}
.v8-book{text-align:center}.v8-book .btn-row{justify-content:center}
.v8-rv .rv{opacity:0;transform:translateY(1.5rem);transition:opacity .7s ease,transform .7s ease}
.v8-rv .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.v8-rv .rv{opacity:1;transform:none;transition:none}.v8-flow li::after{animation:none!important;inline-size:100%}.v8-gal img{transition:none}}
.v8-fea{image-rendering:pixelated}
