/* Top-page editorial motion. The approved hero is styled in site.css. */
.lineup-section{padding-top:70px;padding-bottom:100px}
.lineup-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:30px 0 38px}
.lineup-heading h2{font:400 clamp(58px,7.6vw,130px)/.95 var(--display);letter-spacing:-.055em}
.lineup-heading>div>p{font-size:16px;font-weight:700;margin-top:20px}
.lineup-section .vehicle-picker,.enhanced .lineup-section .vehicle-picker{display:flex;flex-direction:row;gap:30px;width:46%;max-width:530px;order:initial}
.vehicle-picker a{flex:1;position:relative;padding:16px 0;min-height:52px;border-bottom:1px solid var(--line);font:600 20px/1.2 BarlowCondensed,Arial,sans-serif;letter-spacing:.025em;color:var(--muted)}
.vehicle-picker a::after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--paper);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.vehicle-picker a[aria-current=true],.vehicle-picker a:hover{color:var(--paper)}
.vehicle-picker a[aria-current=true]::after{transform:scaleX(1)}
.lineup-section .vehicle-panel{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(250px,1fr);gap:5vw;align-items:stretch;scroll-margin-top:40px}
.lineup-section .vehicle-panel+.vehicle-panel{margin-top:100px}
.vehicle-image-frame{overflow:hidden;min-width:0;background:#22231f}
.lineup-section .vehicle-photo{height:100%;min-height:420px;aspect-ratio:1.55;object-position:60% 54%;transform:scale(var(--lineup-scale,1));transform-origin:60% 54%}
.vehicle-info{align-self:end;padding:32px 0 26px}
.vehicle-info .vehicle-brand{font:600 15px/1.2 BarlowCondensed,Arial,sans-serif;letter-spacing:.08em}
.vehicle-info h3{font:400 clamp(32px,3.8vw,70px)/1.1 var(--display);letter-spacing:-.05em;margin:15px 0 20px}
.vehicle-type{font-size:10px;color:var(--muted);letter-spacing:.035em}
.vehicle-lead{font-size:16px;line-height:1.8;font-weight:700;margin-top:50px}
.vehicle-info .underlined-link{width:100%;margin-top:25px}
.lineup-stage>.sample-caption{margin-top:22px}
.lineup-is-pinned .lineup-scroll{height:calc(min(100svh, 1000px) + 145svh)}
.lineup-is-pinned .lineup-stage{position:sticky;top:0;height:min(100svh,1000px);display:flex;flex-direction:column;padding-bottom:28px;box-sizing:border-box}
.lineup-is-pinned .lineup-heading{flex:none;padding-top:34px;padding-bottom:32px}
.lineup-is-pinned .vehicle-panels{position:relative;flex:1;min-height:0}
.lineup-is-pinned .vehicle-panel{position:absolute;inset:0;margin:0!important;visibility:hidden}
.lineup-is-pinned .vehicle-panel.is-current{visibility:visible;z-index:2}
.lineup-is-pinned .vehicle-panel.is-outgoing{visibility:visible;z-index:1}
.lineup-is-pinned .vehicle-photo{min-height:0;aspect-ratio:auto}
.lineup-is-pinned .lineup-stage>.sample-caption{flex:none}

.about-section{padding:150px 0 140px;overflow:hidden}
.about-inner{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8vw;align-items:center}
.about-photos{position:relative;min-width:0;padding:0 11% 130px 0}
.about-photos figure{margin:0;overflow:hidden}
.about-photos img{display:block;width:100%;height:100%;object-fit:cover}
.about-photo-main{height:clamp(430px,46vw,740px);transform:translateY(var(--about-main-y,0px))}
.about-photo-main img{object-position:70% 55%;transform:scale(1.05)}
.about-photo-detail{position:absolute;bottom:0;right:0;width:48%;height:clamp(230px,25vw,400px);border:10px solid var(--paper);transform:translateY(var(--about-detail-y,0px))}
.about-photo-detail img{object-position:68% 50%}
.about-copy h2{font-size:clamp(35px,4.3vw,74px);line-height:1.55;letter-spacing:.01em;margin-bottom:40px}
.about-copy h2 span{display:block;white-space:nowrap}
.page-motion-on [data-read-line]{color:rgb(var(--read-color,145) var(--read-color,145) calc(var(--read-color,145) - 4))}
.about-copy>p{font-size:14px;line-height:2.3}
.about-copy .underlined-link{margin-top:38px}

.services-section{padding-top:110px;padding-bottom:80px}
.services-section>.section-heading{margin-bottom:55px}
.service-visual{display:none}
.service-chapter{padding:0 0 75px;margin:0}
.service-inline-photo{overflow:hidden;margin-bottom:32px}
.service-inline-photo img{display:block;width:100%;height:auto;max-height:680px;aspect-ratio:1.6;object-fit:cover}
.service-copy{max-width:630px}
.service-copy h3{font-size:14px;margin:0 0 25px}
.service-copy .service-tagline{font-size:clamp(30px,3vw,54px);line-height:1.6}
.service-motion-on .service-story{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:9vw;align-items:start}
.service-motion-on .service-visual{display:block;position:sticky;top:8svh;height:80svh;max-height:830px;overflow:hidden;background:#252620}
.service-image{position:absolute;inset:0;visibility:hidden;overflow:hidden}
.service-image.is-current{visibility:visible;z-index:2}
.service-image.is-outgoing{visibility:visible;z-index:1}
.service-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 50%;transform:translateY(var(--service-y,0px)) scale(1.09)}
.service-image-count{position:absolute;z-index:3;bottom:26px;left:28px;font:400 20px/1 var(--display);text-shadow:0 1px 12px #000;letter-spacing:.04em}
.service-image-count>span+span{opacity:.5;font-size:12px}
.service-motion-on .service-chapter{min-height:88svh;max-width:none;padding:60px 0;display:flex;align-items:center;box-sizing:border-box}
.service-motion-on .service-inline-photo{display:none}
.service-motion-on .service-copy{width:100%}
.service-motion-on .service-chapter+.service-chapter{border-top:1px solid var(--line)}
.service-copy>p:not(.service-tagline){max-width:440px}

.buy-section{display:block;padding-top:0;padding-bottom:110px;border-top:0;background:var(--ink)}
.buy-photo{position:relative;height:clamp(320px,34vw,550px);overflow:hidden;margin:0 calc(-1 * var(--gutter)) 85px}
.buy-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--ink),transparent 45%)}
.buy-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 53%;transform:translateY(var(--buy-y,0px)) scale(1.1)}
.buy-content{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:center}
.buy-content h2{font-size:clamp(55px,7vw,125px)}

.work-row,.journal-row{position:relative;border-top:0}
.work-row::before,.journal-row::before{content:'';position:absolute;inset:0 0 auto;height:1px;background:var(--line);transform-origin:left}
.page-motion-on .work-row.is-waiting::before,.page-motion-on .journal-row.is-waiting::before{transform:scaleX(0)}
.page-motion-on .work-row.is-visible::before,.page-motion-on .journal-row.is-visible::before{transform:scaleX(1);transition:transform .9s var(--ease)}
.work-row .work-thumb{display:block;width:125px;height:110px;overflow:hidden}
.work-row .work-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}
.work-row:hover .work-thumb img,.work-row:focus-visible .work-thumb img{transform:scale(1.07)}
.work-row>span:last-child,.journal-row>span:last-child{transition:transform .3s var(--ease)}
.work-row:hover>span:last-child,.journal-row:hover>span:last-child{transform:translateX(5px)}
.faq-answer{overflow:hidden}
.faq-answer p{font-size:13px;line-height:2.2;padding:0 32px 26px 0;color:#50504a}
.faq-list summary>span::after{transition:transform .25s}

.contact-section{position:relative;isolation:isolate;min-height:720px;display:flex;align-items:center;padding-top:120px;padding-bottom:80px;background:var(--ink);overflow:hidden}
.contact-backdrop{position:absolute;inset:0;z-index:-1;overflow:hidden;clip-path:inset(var(--contact-inset,0px));}
.contact-backdrop img{display:block;width:100%;height:100%;object-fit:cover;object-position:65% 56%;transform:scale(var(--contact-scale,1.02))}
.contact-backdrop::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c0e0cdc,#0c0e0c55 85%),linear-gradient(0deg,#151513,transparent 60%)}
.contact-foreground{width:100%;position:relative}
.contact-section h2{font-size:clamp(40px,5.2vw,88px);line-height:1.5}
.contact-content{margin-top:45px}
.contact-area{border-color:#ffffff40}

@media(min-width:1600px){.vehicle-info .vehicle-lead{font-size:20px}.about-copy>p,.faq-answer p{font-size:16px}.lineup-heading>div>p{font-size:20px}}
@media(min-width:768px) and (max-width:1050px){.lineup-section .vehicle-panel{grid-template-columns:minmax(0,1.7fr) minmax(215px,1fr);gap:30px}.vehicle-info h3{font-size:32px}.vehicle-lead{font-size:13px;margin-top:28px}.about-inner{gap:5vw}.about-photos{padding-bottom:90px}.about-photo-main{height:470px}.about-photo-detail{height:220px}.about-copy>p{font-size:12px}.about-copy h2{font-size:32px}.work-row .work-thumb{width:90px;height:90px}}
@media(max-width:767px){
  .lineup-section{padding-top:35px;padding-bottom:70px}
  .lineup-heading{display:block;padding:20px 0 30px}
  .lineup-heading h2{font-size:56px}
  .lineup-heading>div>p{font-size:18px;margin-top:20px}
  .lineup-section .vehicle-picker,.enhanced .lineup-section .vehicle-picker{width:100%;max-width:none;gap:22px;margin-top:24px}
  .vehicle-picker a{font-size:17px;min-height:48px;padding:16px 0}
  .lineup-section .vehicle-panel{display:block}
  .lineup-section .vehicle-panel+.vehicle-panel{margin-top:55px}
  .lineup-section .vehicle-photo{min-height:0;aspect-ratio:1.6;height:auto;object-position:50% 50%}
  .vehicle-info{padding:23px 0 0}
  .vehicle-info .vehicle-brand{font-size:12px}
  .vehicle-info h3{font-size:38px;margin:10px 0 12px}
  .vehicle-type{font-size:9px}
  .vehicle-lead{font-size:14px;margin-top:20px}
  .vehicle-info .underlined-link{width:auto;min-width:200px;margin-top:12px}
  .lineup-stage>.sample-caption{margin-top:35px}
  .about-section{padding:65px 0 75px}
  .about-inner{display:flex;flex-direction:column;gap:45px}
  .about-photos{width:100%;padding:0 12% 75px 0;box-sizing:border-box}
  .about-photo-main{height:100vw;max-height:530px}
  .about-photo-detail{height:55vw;max-height:290px;width:48%;border-width:6px}
  .about-copy{width:100%}
  .about-copy h2{font-size:38px;margin-bottom:25px}
  .about-copy>p{font-size:12px;line-height:2.3}
  .about-copy .underlined-link{margin-top:26px}
  .services-section{padding-top:70px;padding-bottom:30px}
  .services-section>.section-heading{margin-bottom:40px}
  .service-inline-photo{margin-bottom:26px}
  .service-inline-photo img{aspect-ratio:1.15}
  .service-chapter{padding-bottom:55px}
  .service-copy .service-tagline{font-size:29px}
  .service-copy h3{font-size:13px;margin-bottom:15px}
  .buy-section{padding-top:0;padding-bottom:65px}
  .buy-photo{height:70vw;max-height:420px;margin-bottom:35px}
  .buy-content{display:block}
  .buy-content h2{font-size:58px}
  .work-row .work-thumb{width:80px;height:85px}
  .faq-answer p{font-size:12px;padding-right:15px}
  .contact-section{min-height:670px;padding-top:85px;padding-bottom:45px}
  .contact-section h2{font-size:35px}
  .contact-backdrop img{object-position:68% 50%}
  .contact-backdrop::after{background:linear-gradient(0deg,#151513,#15151350 85%),linear-gradient(90deg,#10120fbb,#10120f55)}
  .contact-content{margin-top:30px}
}
@media(prefers-reduced-motion:reduce){.page-motion-on [data-read-line]{color:var(--ink)}.about-photo-main,.about-photo-detail,.buy-photo img,.contact-backdrop img,.vehicle-photo{transform:none!important}.contact-backdrop{clip-path:none!important}.work-row::before,.journal-row::before{transform:none!important}.work-thumb img,.faq-list summary>span::after,.vehicle-picker a::after{transition:none!important}}
.motion-paused .about-photo-main,.motion-paused .about-photo-detail,.motion-paused .buy-photo img,.motion-paused .contact-backdrop img{transform:none}
.motion-paused .contact-backdrop{clip-path:none}
.motion-paused [data-read-line]{color:var(--ink)}
.motion-paused .work-thumb img,.motion-paused .faq-list summary>span::after,.motion-paused .vehicle-picker a::after{transition:none}
.motion-paused .reveal{opacity:1!important;transform:none!important;transition:none!important}

.lineup-is-pinned .vehicle-panel,.lineup-is-pinned .vehicle-image-frame{min-height:0}
.lineup-is-pinned .vehicle-panel.is-outgoing .vehicle-info{visibility:hidden}

/* v0.10: larger typography and directional, scroll-led changes. */
.motion-title{overflow:hidden;padding-block:.08em;margin-block:-.08em}
.title-letter{display:inline-block}
.page-motion-on .motion-title:not(.title-entered) .title-letter{transform:translateY(115%)}
.page-motion-on .title-entered .title-letter{animation:title-arrive .85s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--letter)*45ms)}
@keyframes title-arrive{from{transform:translateY(115%) rotate(5deg)}to{transform:translateY(0) rotate(0)}}
.marque-ribbon{overflow:hidden;padding:40px 0 70px;background:var(--ink);color:var(--paper)}
.marque-track{display:flex;justify-content:center;flex-wrap:wrap;gap:2vw 5vw;font:400 clamp(40px,7vw,135px)/1.15 var(--display);letter-spacing:-.065em}
.marque-track span:nth-child(2){color:transparent;-webkit-text-stroke:1px #9d9c93}
.page-motion-on .marque-track{width:max-content;flex-wrap:nowrap;justify-content:flex-start;gap:7vw;font-size:clamp(80px,13vw,250px);transform:translateX(var(--marque-x,4vw));will-change:transform}
.page-motion-on .buy-photo{clip-path:inset(0 var(--buy-inset,18%));}
.page-motion-on .buy-photo img{transform:translateY(var(--buy-y,0px)) scale(var(--buy-scale,1.22))}
.buy-photo{height:clamp(360px,48vw,760px)}
@media(max-width:767px){.marque-ribbon{padding:5px 0 40px}.page-motion-on .marque-track{font-size:24vw;gap:10vw}.buy-photo{height:85vw;max-height:480px}}
.motion-paused .title-letter{animation:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.title-letter{animation:none!important;transform:none!important}.marque-track{transform:none!important}.buy-photo{clip-path:none!important}}

/* The rear view bridges the paper ABOUT and charcoal SERVICE sections. */
.about-section{padding-bottom:40px}
.car-bridge{position:relative;isolation:isolate;margin:0;height:clamp(290px,43vw,680px);background:linear-gradient(to bottom,var(--paper) 0 46%,var(--ink) 46% 100%);overflow:hidden;scroll-margin-top:35px}
.car-cutout{position:absolute;display:block;width:min(84vw,1350px);height:auto;right:6%;top:50%;transform:translateY(-50%);filter:drop-shadow(0 18px 15px #00000035)}
.page-motion-on .car-cutout{transform:translate(var(--cutout-x,0px),calc(-50% + var(--cutout-y,0px)))}
@media(max-width:767px){.about-section{padding-bottom:28px}.car-bridge{height:58vw;min-height:215px;max-height:420px;background:linear-gradient(to bottom,var(--paper) 0 43%,var(--ink) 43% 100%)}.car-cutout{width:96%;right:2%;filter:drop-shadow(0 9px 8px #00000030)}.car-bridge+.services-section{padding-top:40px}}
.motion-paused .car-cutout{transform:translateY(-50%)}
@media(prefers-reduced-motion:reduce){.car-cutout{transform:translateY(-50%)!important}}
