/* Entry and layout fixes. Kept after the section styles intentionally. */
html.is-entering,html.is-entering body{overflow:hidden}
.loader{display:none;animation:none;background:transparent;pointer-events:none;isolation:isolate}
.is-entering .loader{display:grid;pointer-events:auto}
.entry-panel{position:absolute;left:0;width:100%;height:50.1%;background:#000;z-index:-1;transition:transform 1.1s cubic-bezier(.7,0,.13,1) .25s}
.entry-panel--top{top:0}.entry-panel--bottom{bottom:0}
.load-inner{position:relative;width:min(640px,82vw);transition:opacity .3s,filter .3s,transform .3s}
.entry-kicker{font:9px 'Geist Mono',monospace;letter-spacing:.25em;color:#8a8a87;margin-bottom:25px}
.entry-brand{font-family:'Archivo',Arial,sans-serif;font-variation-settings:'wdth' 62,'wght' 900;font-size:clamp(46px,9vw,108px);line-height:1;letter-spacing:-.05em}
.entry-brand>span{display:block;font:9px 'Geist Mono',monospace;color:#8a8a87;letter-spacing:.16em;margin-top:17px}
.entry-progress{height:1px;background:#262626;margin:40px 0 16px;overflow:hidden}
.entry-progress i{display:block;background:#f2f2f0;width:100%;height:100%;transform:scaleX(0);transform-origin:left}
.load-foot{font-size:8px;letter-spacing:.05em}
.entry-light{position:absolute;left:0;top:50%;height:2px;width:100%;background:#f2f2f0;box-shadow:0 0 30px #ffffff66;transform:scaleX(0);opacity:0;transition:transform .55s cubic-bezier(.7,0,.13,1),opacity .3s .65s}
.is-revealing .load-inner{opacity:0;filter:blur(8px);transform:translateY(-12px)}
.is-revealing .entry-light{transform:scaleX(1);opacity:1}
.is-revealing .entry-panel--top{transform:translateY(-101%)}
.is-revealing .entry-panel--bottom{transform:translateY(101%)}
.is-entering:not(.is-revealing) .nav,.is-entering:not(.is-revealing) .hero-word,.is-entering:not(.is-revealing) .hero-meta,.is-entering:not(.is-revealing) .hud,.is-entering:not(.is-revealing) .hero-spec,.is-entering:not(.is-revealing) .hero-car{visibility:hidden}
.is-revealing .hero-car{animation:car-light-on 1.2s cubic-bezier(.16,1,.3,1) both}
.is-revealing .hero-word{animation:type-reveal 1s cubic-bezier(.16,1,.3,1) .25s both}
.is-revealing .nav,.is-revealing .hero-meta,.is-revealing .hud,.is-revealing .hero-spec{animation:chrome-in .7s ease-out .5s both}
@keyframes car-light-on{from{opacity:0;filter:brightness(.08) blur(5px)}to{opacity:1;filter:brightness(.95) blur(0)}}
@keyframes type-reveal{from{clip-path:inset(100% 0 -20% 0);opacity:0}to{clip-path:inset(-20% 0 -20% 0);opacity:1}}
@keyframes chrome-in{from{opacity:0}to{opacity:1}}
.chapter-copy{top:23%;max-width:300px}.chapter-copy p{font-size:10px;line-height:1.7;padding:6px 8px;background:#000;display:table}.chapter-copy>.eyebrow{display:table;background:#000;padding:2px 8px}
.hero-word{line-height:1;top:33%;letter-spacing:-.055em;max-width:calc(100% - 2 * var(--gut));overflow:visible}
.asset-missing{visibility:hidden}.car-unavailable .spot{display:none}
@media(max-width:760px){.chapter-copy{top:25%;max-width:240px}.chapter-copy p{font-size:9px}.hero-word{top:39%}.entry-brand{font-size:13.5vw}.entry-kicker{font-size:8px}.entry-brand>span{font-size:7px}.load-foot{font-size:6px}.entry-progress{margin-top:30px}}
@media(prefers-reduced-motion:reduce){html.is-entering,html.is-entering body{overflow:auto}.loader{display:none!important}.nav,.hero-word,.hero-meta,.hud,.hero-spec,.hero-car{visibility:visible!important;animation:none!important}}

/* Service photography: full card framing, no hero crop transforms. */
.detail-img.service-photo{background:#101010;isolation:isolate}
.detail-img.service-photo img{position:absolute;inset:0;width:100%;max-width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.86);transform:none;transition:filter .5s,transform .8s}
.detail-item:hover .service-photo img{filter:brightness(1);transform:scale(1.035)}
.service-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(#0009,transparent 26%,transparent 80%,#0004);pointer-events:none}
.detail-img.service-photo>span{z-index:1;left:18px;right:18px;top:18px;color:#f2f2f0;text-shadow:0 1px 8px #000;font-size:8px;letter-spacing:.06em}
@media(prefers-reduced-motion:reduce){.detail-item:hover .service-photo img{transform:none}}
