.checker-opening{position:fixed;inset:0;z-index:5;overflow:hidden;pointer-events:none}
.checker-canvas{position:absolute;left:50%;top:50%;width:1440px;height:1024px;transform:translate(-50%,-50%) scale(var(--checker-scale,1));transform-origin:center}
.checker-white{opacity:.7}
.checker-tile{position:absolute;clip-path:inset(100% 0 0 0)}
.checker-tile img{display:block;max-width:none}
.checker-black{clip-path:inset(var(--black-reveal,100%) 0 0 0)}
.checker-white{clip-path:inset(var(--white-reveal,100%) 0 var(--white-covered,0%) 0)}
.checker-cover{opacity:1;visibility:hidden;clip-path:inset(var(--cover-reveal,100%) 0 0 0)}
.cover-started .checker-cover{visibility:visible}
/* The same moving boundary removes white below the black reveal.
   No white remains behind the black SVG's antialiased perimeter. */
.cover-complete .checker-white{visibility:hidden}
.chapter-images{position:fixed;inset:0 50px 0 48px;z-index:6;overflow:hidden;pointer-events:none}
.chapter-image{position:absolute;top:101px;height:600px;margin:0;visibility:hidden;transform:translateY(calc(100vh - 101px))}
.image-1{left:0;width:calc(100% * 479 / 1439)}
.image-2{left:calc(100% * 479 / 1439);width:calc(100% * 480 / 1439)}
.image-3{left:calc(100% * 959 / 1439);width:calc(100% * 480 / 1439)}
.chapter-image img{display:block;width:100%;height:100%;object-fit:contain}
.chapter-image{overflow:hidden}
.highlight-plane{position:absolute;left:0;top:0;height:600px;transform:scale(var(--highlight-scale,1));transform-origin:top left;pointer-events:none}
.highlight-plane>.archive-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.archive-highlight{position:absolute;clip-path:inset(100% 0 0 0)}
.chapter-image .archive-highlight img{width:auto;height:auto;max-width:none;object-fit:initial}
@media(max-width:700px){.chapter-images{left:20px;right:20px}}

.checker-ending{position:fixed;inset:0;z-index:11;overflow:hidden;pointer-events:none;visibility:hidden}

.chapter-car-entry{position:fixed;inset:0;z-index:12;overflow:hidden;pointer-events:none;visibility:hidden}
.cadillac-rig{position:absolute;left:0;top:0;width:1085px;height:243px;transform-origin:top left}
.ferrari-body-crop{position:absolute;inset:0;overflow:hidden}
.cadillac-body{position:absolute;display:block;max-width:none;width:1616.65px;height:907.2648px;left:-265.825px;top:-366.2496px}
/* Rotate circular windows of the original Ferrari artwork around each axle. */
.cadillac-wheel{position:absolute;display:block;width:140px;height:140px;border-radius:50%;background-image:url('assets/chapter02/hero-ferrari-sf26.png');background-size:1616.65px 907.2648px;background-repeat:no-repeat;transform-origin:50% 50%}
.cadillac-front-wheel{left:181px;top:95px;background-position:-446.825px -461.2496px}
.cadillac-rear-wheel{left:859px;top:95px;background-position:-1124.825px -461.2496px}

/* Mirror the complete rig around its tyre contact line, in the same coordinates. */
.cadillac-rig{--floor-line:238px;--reflection-height:214.2px}
.cadillac-reflection{position:absolute;left:0;top:var(--floor-line);width:1085px;height:var(--reflection-height);overflow:hidden;opacity:0;pointer-events:none;mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.85) 16%,rgba(0,0,0,.4) 42%,rgba(0,0,0,.08) 70%,transparent 95%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.85) 16%,rgba(0,0,0,.4) 42%,rgba(0,0,0,.08) 70%,transparent 95%)}
.cadillac-reflected-layers{position:absolute;left:0;top:0;width:1085px;height:243px;transform-origin:top left;transform:translateY(var(--reflection-height)) scaleY(-.9);filter:url(#cadillac-floor-softness)}

.reflection-filter-defs{position:absolute;pointer-events:none}

/* Reveal above the alpha-derived upper contour of the car, using native
   rig coordinates so the silhouette remains aligned at every screen size. */
.cadillac-body{position:relative;z-index:2}
.cadillac-wheel{z-index:3}
.cadillac-reflection{z-index:1}
.cadillac-copy{position:absolute;left:0;top:-205px;width:1100px;height:448px;mask-image:url("assets/chapter02/ferrari-contour-reveal.svg"),linear-gradient(#fff,#fff);-webkit-mask-image:url("assets/chapter02/ferrari-contour-reveal.svg"),linear-gradient(#fff,#fff);mask-size:100% 100%,100% 0%;-webkit-mask-size:100% 100%,100% 0%;mask-position:top left;-webkit-mask-position:top left;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;overflow:hidden;z-index:0;visibility:hidden;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#fff}
.cadillac-copy-motion{position:absolute;inset:0;transform:translateY(220px)}
.cadillac-copy p{position:absolute;margin:0;line-height:normal;letter-spacing:-10.24px;white-space:nowrap}
.cadillac-moving{left:42px;top:0;font-size:96px;font-weight:400;font-style:italic}
.cadillac-moving span{font-size:128px;font-weight:300}
.cadillac-surface{left:36px;top:115px;font-size:128px;font-weight:700}
.cadillac-for{left:957px;top:118px;font-size:128px;font-weight:300;font-style:italic}

.cadillac-vehicle{position:absolute;inset:0;width:1085px;height:243px;z-index:2;mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}
.cadillac-identity{left:700px;top:115px;font-size:128px;font-weight:700;visibility:hidden;transform:translateY(220px)}

.cadillac-composition{position:absolute;inset:0;width:1085px;height:243px}
.cadillac-folds{position:absolute;inset:0;visibility:hidden;pointer-events:none}
.cadillac-fold-slice{position:absolute;left:-24px;width:1100px;overflow:hidden;transform-origin:center top;backface-visibility:hidden}
.cadillac-fold-content{position:absolute;left:24px;width:1085px;height:243px}
.cadillac-through-copy{position:absolute;left:0;top:0;width:1085px;height:243px;transform:translateY(-57px);z-index:0;opacity:0;visibility:hidden;color:#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.cadillac-through-copy p{position:absolute;margin:0;line-height:79px;white-space:nowrap}
.through-word{left:32px;top:46px;font-size:96px;letter-spacing:-3.84px;font-weight:300;font-style:italic}
.through-color{left:32px;top:210px;font-size:128px;letter-spacing:-5.12px;font-weight:700}
.through-amp{left:407px;top:222px;width:82px;text-align:center;font-size:96px;letter-spacing:-3.84px;font-weight:300;font-style:italic}
.through-graphics{left:557px;top:210px;font-size:128px;letter-spacing:-5.12px;font-weight:700}

.cadillac-through-word{position:absolute;inset:0;z-index:1;color:#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.cadillac-through-word p{position:absolute;margin:0;line-height:79px;white-space:nowrap}
/* The word remains behind the car even while the vehicle is dimmed. */
.cadillac-through-word{z-index:0;mask-image:url('assets/chapter02/ferrari-contour-reveal.svg');-webkit-mask-image:url('assets/chapter02/ferrari-contour-reveal.svg');mask-size:1100px 448px;-webkit-mask-size:1100px 448px;mask-position:0 -205px;-webkit-mask-position:0 -205px;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}
.cadillac-through-word{mask-image:url('assets/chapter02/ferrari-contour-reveal.svg'),linear-gradient(#fff,#fff);-webkit-mask-image:url('assets/chapter02/ferrari-contour-reveal.svg'),linear-gradient(#fff,#fff);mask-size:1100px 448px,100% 0%;-webkit-mask-size:1100px 448px,100% 0%;mask-position:0 -205px,0 0;-webkit-mask-position:0 -205px,0 0}

/* Group 49 masks sit above the live type and do not move the parked layout. */
.opening-type-wipe{position:absolute;inset:0;z-index:20;pointer-events:none;visibility:hidden}
.opening-type-mask{position:absolute;background:transparent;transform-origin:0% 50%;will-change:transform}
.opening-type-white{background:#fff}

/* Four distinct type entries; side-view exit uses opaque upward-turning shutter slices. */
.cadillac-for{visibility:hidden}
.cadillac-folds{width:1100px;height:457px;z-index:2}
