/* Hallmark · macrostructure: Image-led launch · tone: restrained automotive · anchor hue: red
 * Pre-emit critique: P4 H4 E4 S4 R5 V4 */
@import url('tokens.css');
@font-face{font-family:Outfit;src:url('assets/outfit-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
*{box-sizing:border-box}
html,body{margin:0;overflow-x:clip}
body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
a,button{-webkit-tap-highlight-color:var(--color-transparent)}
a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px}
.page{width:min(100%,1600px);margin-inline:auto;padding-inline:clamp(24px,5.5vw,88px)}
.header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;flex-direction:column;line-height:1;width:max-content}
.brand-small{font-size:10px;letter-spacing:.32em;font-weight:500;margin-bottom:5px}
.brand-name{font-size:31px;letter-spacing:.06em;font-weight:750}
.brand-mark{color:var(--color-accent);padding-left:4px;font-weight:900}
.header-note{color:var(--color-muted);font-size:14px}
.hero{position:relative;isolation:isolate;min-height:520px;height:clamp(500px,64vh,700px);margin-inline:calc(-1 * clamp(24px,5.5vw,88px));background:var(--color-panel);overflow:clip}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%;z-index:-2}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--color-bg) 0%,var(--color-scrim) 26%,var(--color-transparent) 73%),linear-gradient(0deg,var(--color-bg),var(--color-transparent) 20%)}
.hero-content{padding:clamp(56px,7vh,88px) clamp(24px,5.5vw,88px);max-width:850px}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.2em;margin:0 0 28px;color:var(--color-muted)}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent)}
h1{font-family:var(--font-display);font-size:clamp(42px,5vw,76px);font-weight:550;letter-spacing:-.045em;line-height:1.08;margin:0;overflow-wrap:anywhere;min-width:0}
.accent{color:var(--color-accent)}
.hero-copy{font-size:18px;max-width:360px;line-height:1.65;margin:26px 0 30px;color:var(--color-muted);text-wrap:pretty}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:15px 24px;background:var(--color-accent);color:var(--color-button-text);font-size:15px;font-weight:650;white-space:nowrap;transition:background var(--dur-fast),transform var(--dur-fast) var(--ease-out)}
.button span{font-size:24px;line-height:1}
.button:hover{background:var(--color-accent-hover)}
.button:active{transform:translateY(2px)}
.contact{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1.15fr);gap:48px;padding:52px 0 48px}
h2{font-family:var(--font-display);font-size:clamp(25px,2.3vw,34px);font-weight:500;line-height:1.2;letter-spacing:-.025em;margin:0}
h3{font-size:14px;font-weight:550;margin:0 0 14px;color:var(--color-muted)}
address{font-style:normal;font-size:15px;line-height:1.8}
.text-link{display:inline-flex;align-items:center;gap:24px;font-size:14px;margin-top:17px;white-space:nowrap}
.text-link:hover,.email:hover,dialog a:hover{color:var(--color-accent)}
.text-link span:first-child{color:var(--color-accent)}
.email{font-size:15px;overflow-wrap:anywhere;display:inline-block}
.contact-note{font-size:14px;color:var(--color-muted);margin:11px 0}
.footer{border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:77px;color:var(--color-muted);font-size:12px}
.footer p{margin:16px 0}
.legal-links{display:flex;gap:24px}
.legal-links button{border:0;background:var(--color-transparent);padding:12px 0;font-size:12px;white-space:nowrap}
.legal-links button:hover{color:var(--color-text)}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:clip;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{position:absolute;top:12px;left:12px;z-index:10;background:var(--color-bg);padding:12px 20px}
dialog{width:min(640px,calc(100% - 32px));max-height:85dvh;padding:32px;background:var(--color-panel);color:var(--color-text);border:1px solid var(--color-border)}
dialog::backdrop{background:var(--color-scrim)}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.close{background:var(--color-transparent);border:1px solid var(--color-border);width:44px;height:44px;font-size:26px;flex-shrink:0}
.close:hover{border-color:var(--color-accent)}
dialog h3{margin-top:24px;color:var(--color-text);font-size:17px}
dialog p{font-size:15px;color:var(--color-muted);overflow-wrap:anywhere}
body:has(dialog[open]){overflow-y:hidden}
@media(min-width:1024px){.header{height:80px}}
@media(max-width:1023px){.contact{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-intro{grid-column:1/-1}.hero-shade{background:linear-gradient(90deg,var(--color-bg),var(--color-scrim) 20%,var(--color-transparent) 100%)}.hero-image{object-position:60% center}}
@media(max-width:639px){.header{height:84px}.header-note{display:none}.brand-name{font-size:26px}.brand-small{font-size:9px}.hero{height:auto;min-height:530px}.hero-content{padding-top:40px;padding-bottom:195px}.hero-image{object-position:68% bottom;object-fit:cover;opacity:.65}.hero-shade{background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-scrim) 25%,var(--color-transparent) 78%,var(--color-bg) 100%)}h1{font-size:clamp(36px,8vw,48px)}.eyebrow{margin-bottom:24px;font-size:10px}.hero-copy{font-size:16px;max-width:290px;margin-top:20px;margin-bottom:24px}.button{padding:13px 20px}.contact{grid-template-columns:minmax(0,1fr);gap:30px;padding:32px 0 36px}.contact-intro{grid-column:auto}.footer{align-items:flex-start;flex-direction:column;gap:0;padding:16px 0}.footer p{margin:0 0 4px}.legal-links{gap:24px}dialog{padding:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
