/* Premium Motors owner-approved typography, 23 September 2026.
   Add licensed webfont files or the owner's font-service embed before launch.
   Local fonts are used only if already installed; Inter is an explicit fallback. */
@font-face{font-family:'PM Neue Haas';src:local('Neue Haas Grotesk Display Pro 55 Roman'),local('NeueHaasGroteskDisplayPro-55Roman'),local('Neue Haas Grotesk Display Pro');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'PM Neue Haas';src:local('Neue Haas Grotesk Display Pro 65 Medium'),local('NeueHaasGroteskDisplayPro-65Medium');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'PM Neue Haas';src:local('Neue Haas Grotesk Display Pro 75 Bold'),local('NeueHaasGroteskDisplayPro-75Bold');font-style:normal;font-weight:600 800;font-display:swap}
:root{--f-display:'PM Neue Haas','Neue Haas Grotesk','Inter',Arial,sans-serif;--f-accent:var(--f-display);--f-body:'Inter',Arial,sans-serif}
body,input,select,textarea,button{font-family:var(--f-body)}
h1,h2,h3,h4,h5,h6,.studio-caption strong,.cm-model,.icard .model,.ev-name,.pillar .t,.manifesto blockquote,.etile-t{font-family:var(--f-display);font-style:normal}
h1 em,h2 em,.manifesto blockquote em{font-family:var(--f-display);font-style:normal}
p,li,.info-label,.info-val,.cm-color,.cm-price,.icard .price,.specs,.meta,.caption,.eyebrow,.contents,.contact-grid,.studio-copy p,.studio-selector,.studio-navigation{font-family:var(--f-body)}
.info-val,.cm-price,.icard .price{font-weight:500}
/* The logo is artwork, not typeset text: do not substitute any brand font into it. */
.skip-link{position:fixed;left:20px;top:-90px;z-index:9999;background:#fff;color:#111;padding:15px 22px;border:1px solid #111}.skip-link:focus{top:12px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,video:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.inventory-directory-link{font-size:12px;text-align:right;margin:0 0 20px}.inventory-directory-link a{border-bottom:1px solid currentColor;padding-bottom:5px}
.inventory-search svg{display:block;flex:none}.ic svg,.ico svg{display:block;flex:none}
.inventory-directory-link{display:flex;justify-content:flex-end;margin:0 0 28px;text-align:left}
.inventory-directory-link>a{position:relative;display:flex;align-items:center;gap:40px;overflow:hidden;padding:18px 20px 18px 26px;border:1px solid #ffffff40;border-radius:14px;background:linear-gradient(135deg,#383838,#151515 70%);color:#fff;box-shadow:inset 0 1px 0 #ffffff40,0 5px 0 #080808,0 14px 28px #0002;font:500 15px var(--f-body);transition:box-shadow .3s,translate .3s}
.inventory-directory-link small{display:block;font-size:8px;font-weight:400;letter-spacing:.18em;color:#bbb;margin-bottom:8px}
.directory-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff45;border-radius:50%;background:linear-gradient(145deg,#ffffff20,#ffffff05);flex:none}.directory-arrow svg{width:20px;height:20px;transition:transform .3s}
.inventory-directory-link>a:hover{box-shadow:inset 0 1px 0 #ffffff55,0 5px 0 #080808,0 18px 38px #0004;translate:0 -2px}.inventory-directory-link>a:hover svg{transform:translate(2px,-2px)}.inventory-directory-link>a:active{translate:0 2px;box-shadow:inset 0 1px 0 #ffffff40,0 2px 0 #080808,0 6px 14px #0002}
html[data-theme=dark] .inventory-directory-link>a{border-color:#777;background:linear-gradient(135deg,#f8f8f8,#bfbfbf);color:#111;box-shadow:inset 0 1px 0 #fff,0 5px 0 #777,0 15px 28px #0006}html[data-theme=dark] .inventory-directory-link small{color:#555}html[data-theme=dark] .directory-arrow{border-color:#999;background:#ffffff60}
@media(max-width:600px){.inventory-directory-link>a{width:100%;justify-content:space-between;padding:16px 20px}}
@media(prefers-reduced-motion:reduce){.inventory-directory-link>a,.directory-arrow svg{transition:none}.inventory-directory-link>a:hover,.inventory-directory-link>a:active{translate:none}}
@media(hover:none){.icard{transform:none!important}.icard .ph img{transform:none!important}.btn,.hdr-call{transform:none!important}}
@media(max-width:600px){.daily-photo-controls button{min-width:44px;min-height:44px}.card-gallery-controls button,.car-modal-close,.gallery-nav button{min-width:44px;min-height:44px}.theme-toggle{min-width:40px;min-height:40px}}
:root{overflow-wrap:break-word}
@media(max-width:760px){
 html,body{max-width:100%;overflow-x:clip}
 #invGrid,.vehicle-site .journal-grid{grid-template-columns:minmax(0,1fr)!important}
 .icard,.collection-car,.vehicle-details>section{min-width:0;max-width:100%}
 .icard .top-row{display:block!important}.icard .model{font-size:25px!important;min-height:0!important}
 .icard .body{padding:22px 18px!important}.icard .price{max-width:none!important;white-space:normal!important}
 .car-modal{padding:0!important;align-items:stretch!important}
 .car-modal-panel{display:block!important;width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;overflow-x:hidden;position:relative;border-radius:0!important}
 .car-modal-close{position:sticky!important;display:block;top:12px!important;margin:12px 12px -54px auto!important}
 .cm-media,.cm-body{width:100%;min-width:0}.cm-body{padding:24px 18px!important}
 .cm-main{width:100%;aspect-ratio:3/2!important}.cm-thumbs{max-width:100%;overflow-x:auto!important}
 .cm-model{font-size:30px!important;overflow-wrap:break-word}.cm-cta{grid-template-columns:minmax(0,1fr)!important}.cm-cta .btn{min-height:46px;font-size:11px!important;white-space:normal}
 .info-row{display:grid!important;grid-template-columns:20px minmax(0,.85fr) minmax(0,1.15fr);gap:8px!important}.info-val{max-width:none!important;text-align:right}
 .vehicle-site main{padding:26px 18px!important}.vehicle-site .vehicle-intro{display:block}.vehicle-site .vehicle-details{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}.vehicle-price{min-width:0!important}
 .collection-tabs{flex-wrap:wrap}.car-bottom{flex-wrap:wrap}.collection-thumbs{min-width:0}.collection-thumbs>span{white-space:normal;font-size:7px}
 .vehicle-site .collection-car .card-copy{padding:22px 18px!important}.vehicle-site .collection-car h3{font-size:25px!important;min-height:0!important}
 .vehicle-gallery{grid-template-columns:minmax(0,1fr)!important}.vehicle-lightbox{max-width:100vw;box-sizing:border-box}
 .icard,.icard .ph,.icard .body,.icard .thumbs,.journal-card{transform:none!important;translate:none!important;will-change:auto!important}
 #streaks,.ring{display:none!important}.hero-bg video{transform:none!important;will-change:auto!important}
 .car-modal,.car-modal *,.icard,.icard *{backdrop-filter:none!important}
}
/* Never obscure a newly selected photo with a long fade. */
.cm-main img{animation:none!important}
/* Show the complete photograph, including on devices with sticky hover states. */
.icard .ph img,.icard:hover .ph img,.vehicle-site .journal-card .card-image img,.vehicle-site .journal-card.depth-active .card-image img{object-fit:contain!important;object-position:center!important;transform:none!important;filter:none!important}
.icard .ph,.vehicle-site .collection-car .card-image{aspect-ratio:3/2;overflow:hidden}
@media(max-width:760px){
 .icard .ph{margin:0!important;border-radius:12px 12px 0 0!important}
 .vehicle-intro h1{font-size:clamp(28px,8vw,38px)!important;overflow-wrap:break-word}
 .photo-open{min-width:0;max-width:100%;padding:0}.photo-open img{max-width:100%;object-fit:contain}
 .vehicle-site .vehicle-price{width:100%;max-width:100%}.vehicle-site .vehicle-details>section{padding:22px 18px}
 .collection-toolbar input,.collection-toolbar select,.collection-controls select,.inventory-search input{font-size:16px!important}
 .icard .specs span,.car-facts>span{overflow-wrap:break-word!important;line-height:1.6}
 .icard .cta a,.collection-contact a{min-height:44px;display:flex;align-items:center;justify-content:center}
 .hero-bg,.hero-bg video{transform:none!important}
 .inventory-tools{display:flex!important;flex-wrap:wrap;gap:12px!important}
 .inventory-search{width:100%!important;max-width:none!important;flex:1 1 100%!important}
 .inventory-search input{width:100%;min-width:0}.collection-controls label{min-width:0}
}
@media(max-width:380px){.collection-controls{grid-template-columns:minmax(0,1fr)!important}.collection-controls label:nth-child(3){grid-column:auto!important}.collection-toolbar{grid-template-columns:minmax(0,1fr)}.collection-toolbar label+label{border-left:0;border-top:1px solid var(--line)}}
