@font-face{font-family:"Anton";src:url(fonts/anton-400-sub.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
/* L113 layout: the hero is a full-width before/after slider of one driveway; heavy condensed type on black and safety orange */
:root{
  --black:#0e0f10;
  --coal:#1a1c1e;
  --white:#f7f7f5;
  --grey:#b9bcbf;
  --orange:#ff6a13;      /* safety orange */
  --orange-ink:#0e0f10;
  --head:"Anton","Impact","Haettenschweiler",sans-serif;
  --body:"Inter",ui-sans-serif,system-ui,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--body);font-size:17px;line-height:1.55}
.wrap{max-width:1240px;margin:0 auto;padding-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px))}
.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:16px}
.logo{font-family:var(--head);font-size:28px;letter-spacing:.01em;line-height:1;text-transform:uppercase}
.logo b{color:var(--orange);font-weight:400}
.nav{display:flex;gap:26px;font-weight:600;font-size:15px}
.call{display:flex;align-items:center;gap:16px;font-weight:600}
.btn{display:inline-block;background:var(--orange);color:var(--orange-ink);font-family:var(--head);font-size:20px;letter-spacing:.03em;text-transform:uppercase;padding:12px 22px;line-height:1}
.hero{position:relative}
.ba{position:relative;aspect-ratio:16/9;max-height:78vh;width:100%;overflow:hidden;background:var(--coal);--pos:50%}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba .after{clip-path:inset(0 0 0 var(--pos))}
.ba .handle{position:absolute;top:0;bottom:0;left:var(--pos);width:4px;margin-left:-2px;background:var(--orange);pointer-events:none}
.ba .handle::after{content:"";position:absolute;top:50%;left:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 6px rgba(14,15,16,.35)}
.ba .handle::before{content:"\2039\00a0\203A";position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-55%);color:var(--orange-ink);font-family:var(--body);font-weight:600;font-size:24px;white-space:nowrap}
.ba input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ba input:focus-visible+.handle{outline:3px solid var(--white);outline-offset:2px}
.tag{position:absolute;top:18px;font-family:var(--head);font-size:22px;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;background:rgba(14,15,16,.78);pointer-events:none}
.tag.b{left:18px}.tag.a{right:18px;color:var(--orange)}
.say{position:absolute;left:0;right:0;bottom:0;pointer-events:none;background:linear-gradient(0deg,rgba(14,15,16,.92) 0%,rgba(14,15,16,0) 100%);padding-block:90px 34px}
.say .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
h1{font-family:var(--head);font-weight:400;font-size:clamp(52px,6.6vw,104px);line-height:.9;letter-spacing:.005em;text-transform:uppercase;margin:0}
h1 span{color:var(--orange)}
.say p{margin:0;max-width:34ch;font-size:18px;color:var(--white)}
.say .btn{pointer-events:none;margin-top:14px}
.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:4px solid var(--orange)}
.strip div{padding:28px 24px 32px;border-right:1px solid #2a2d30}
.strip div:last-child{border-right:0}
.strip h2{font-family:var(--head);font-weight:400;font-size:30px;text-transform:uppercase;letter-spacing:.01em;margin:0 0 6px}
.strip p{margin:0;color:var(--grey);font-size:16px}
.crew{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;background:var(--coal)}
.crew img{width:100%;height:100%;object-fit:cover;display:block;min-height:320px}
.crew .txt{padding:56px max(24px,4vw);display:flex;flex-direction:column;justify-content:center;gap:16px}
.crew h2{font-family:var(--head);font-weight:400;font-size:clamp(38px,4.4vw,60px);line-height:.95;text-transform:uppercase;margin:0}
.crew h2 span{color:var(--orange)}
.crew ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.crew li{padding-left:22px;position:relative;color:var(--grey)}
.crew li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:10px;background:var(--orange)}
.foot{padding-block:22px;font-size:14px;color:var(--grey);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
@media (max-width:900px){
  .nav{display:none}
  .ba{aspect-ratio:4/3;max-height:none}
  .say{position:static;background:var(--black);padding-block:22px 28px}
  .strip{grid-template-columns:1fr 1fr}
  .strip div:nth-child(2){border-right:0}
  .strip div:nth-child(-n+2){border-bottom:1px solid #2a2d30}
  .crew{grid-template-columns:1fr}
  .crew .txt{padding:40px 20px}
}
@media (max-width:520px){
  .call .num{display:none}
  .logo{font-size:24px}
  .btn{font-size:18px;padding:10px 16px}
  .tag{font-size:17px;top:10px}
  .tag.b{left:10px}.tag.a{right:10px}
  .ba .handle::after{width:44px;height:44px;margin:-22px 0 0 -22px}
  .strip div{padding:22px 18px 26px}
  .strip h2{font-size:24px}
}
