:root{
  --red:#d71920;--red-d:#a60f15;--gold:#d9b25f;
  --ink:#0b0b0c;--ink2:#161618;--line:#e6e6e8;--bg:#fff;--soft:#f5f5f6;--mut:#6b6b73;
  --f-head:'Barlow Condensed','Arial Narrow',sans-serif;--f-body:'Inter',system-ui,sans-serif;
  --w:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:var(--f-body);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--w);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--f-head);text-transform:uppercase;line-height:1.02;letter-spacing:.01em}
.eyebrow{font-family:var(--f-head);font-weight:600;font-size:1rem;letter-spacing:.28em;text-transform:uppercase;color:var(--red)}
.sec{padding:96px 0}
.sec-head{text-align:center;max-width:720px;margin:0 auto 54px}
.sec-head h2{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;margin:10px 0 14px}
.sec-head p{color:var(--mut)}
.dark{background:var(--ink);color:#fff}
.dark .sec-head p{color:#a9a9b1}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-head);font-weight:700;font-size:1.1rem;letter-spacing:.12em;text-transform:uppercase;padding:15px 30px;border:2px solid var(--red);background:var(--red);color:#fff;cursor:pointer;transition:.25s;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.btn:hover{background:var(--red-d);border-color:var(--red-d)}
.btn.ghost{background:transparent;border-color:#fff;color:#fff}
.btn.ghost:hover{background:#fff;color:var(--ink)}
.btn.dk{background:var(--ink);border-color:var(--ink)}
.btn.dk:hover{background:var(--red);border-color:var(--red)}

/* top + header */
.topbar{background:var(--ink);color:#bdbdc6;font-size:.82rem;border-bottom:1px solid #26262a}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}
.topbar a:hover{color:#fff}
.topbar span+span,.topbar a+a{margin-left:18px}
header.nav{position:sticky;top:0;z-index:50;background:rgba(11,11,12,.97);backdrop-filter:blur(8px);border-bottom:1px solid #26262a}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:12px;color:#fff}
.brand img{height:62px;width:auto}
.brand b{font-family:var(--f-head);font-size:1.35rem;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.brand small{display:block;font-size:.66rem;letter-spacing:.3em;color:var(--gold);font-family:var(--f-body)}
nav.menu{display:flex;gap:30px;align-items:center}
nav.menu a{font-family:var(--f-head);color:#e6e6ea;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:1.02rem;position:relative}
nav.menu a:hover,nav.menu a.on{color:#fff}
nav.menu a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--red);transition:.25s}
nav.menu a:not(.btn):hover::after,nav.menu a.on::after{width:100%}
nav.menu .btn{padding:10px 22px;font-size:.95rem;color:#fff}
.burger{display:none;background:none;border:0;width:42px;height:42px;cursor:pointer}
.burger span{display:block;height:2px;background:#fff;margin:7px 8px;transition:.25s}

/* hero slider */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.slides{position:relative;min-height:clamp(520px,78vh,760px)}
.slide{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;opacity:0;visibility:hidden;transition:opacity .9s,visibility .9s}
.slide.on{opacity:1;visibility:visible}
.slide .txt{padding:0 24px 0 max(24px,calc((100vw - var(--w))/2 + 24px));position:relative;z-index:2}
.slide h1{font-size:clamp(2.6rem,6vw,5.4rem);font-weight:800;margin:14px 0 20px}
.slide h1 em{font-style:normal;color:var(--red)}
.slide p{color:#c4c4cc;max-width:520px;font-size:1.08rem;margin-bottom:30px}
.slide .cta{display:flex;gap:14px;flex-wrap:wrap}
.slide .pic{position:absolute;right:0;top:0;bottom:0;width:62%;background-size:cover;background-position:center;transform:scale(1.06);transition:transform 7s ease-out}
.slide.on .pic{transform:scale(1)}
.slide .pic::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0%,rgba(11,11,12,.55) 35%,rgba(11,11,12,0) 70%)}
.s-arrow{position:absolute;top:50%;z-index:5;width:50px;height:50px;border:1px solid #444;background:rgba(0,0,0,.5);color:#fff;font-size:1.3rem;cursor:pointer;transform:translateY(-50%);transition:.2s}
.s-arrow:hover{background:var(--red);border-color:var(--red)}
.s-arrow.prev{left:18px}.s-arrow.next{right:18px}
.dots{position:absolute;bottom:26px;left:0;right:0;display:flex;justify-content:center;gap:10px;z-index:5}
.dots button{width:34px;height:4px;border:0;background:#555;cursor:pointer;transition:.25s}
.dots button.on{background:var(--red);width:54px}

/* brand marquee */
.marquee{background:var(--soft);border-bottom:1px solid var(--line);overflow:hidden;padding:26px 0}
.track{display:flex;gap:64px;width:max-content;animation:mq 38s linear infinite}
.marquee:hover .track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.wm{font-family:var(--f-head);font-weight:800;font-size:1.9rem;text-transform:uppercase;letter-spacing:.06em;color:#8d8d95;white-space:nowrap;transition:.2s}
.wm:hover{color:var(--ink)}
.wm.i{font-style:italic}.wm.s{font-family:Georgia,serif;text-transform:none;letter-spacing:0;font-style:italic}

/* services */
.svc{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.svc div{border:1px solid var(--line);padding:30px 22px;text-align:center;transition:.25s;background:#fff}
.svc div:hover{border-color:var(--ink);transform:translateY(-6px);box-shadow:0 18px 36px rgba(0,0,0,.08)}
.svc i{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;background:var(--ink);color:#fff;font-style:normal;font-size:1.5rem;clip-path:polygon(25% 0,100% 0,75% 100%,0 100%)}
.svc h3{font-size:1.35rem;font-weight:700;margin-bottom:8px}
.svc p{font-size:.92rem;color:var(--mut)}

/* tire types */
.types{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.type{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--ink);color:#fff;display:flex;align-items:flex-end}
.type img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78;transition:.6s}
.type:hover img{transform:scale(1.08);opacity:.55}
.type::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,0) 62%)}
.type div{position:relative;z-index:2;padding:26px}
.type h3{font-size:2rem;font-weight:800}
.type p{font-size:.9rem;color:#cfcfd6;margin:6px 0 12px}
.type span{font-family:var(--f-head);letter-spacing:.16em;color:var(--red);font-weight:700;text-transform:uppercase}

/* brands grid */
.brands{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.brands a{background:#fff;display:grid;place-items:center;height:116px;padding:10px;transition:.25s}
.brands a:hover{background:var(--ink)}
.brands a:hover .wm{color:#fff}
.brands .wm{font-size:1.7rem;color:#55555d}

/* rines banner */
.rines-ban{position:relative;overflow:hidden}
.rines-ban .bg{position:absolute;inset:0;background:url(../img/crops/8.jpg) center/cover;opacity:.4}
.rines-ban .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b0b0c 20%,transparent)}
.rines-ban .wrap{position:relative;padding-top:120px;padding-bottom:120px}
.rines-ban h2{font-size:clamp(2.8rem,7vw,6rem);font-weight:800;max-width:720px;margin:12px 0 18px}
.rines-ban h2 em{font-style:normal;color:var(--red)}
.rines-ban p{max-width:520px;color:#c4c4cc;margin-bottom:30px}

/* gallery slider */
.gal{overflow:hidden;position:relative}
.gal-track{display:flex;gap:18px;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.gal-track figure{flex:0 0 calc((100% - 54px)/4);aspect-ratio:4/5;overflow:hidden;background:#000;cursor:zoom-in}
.gal-track img{width:100%;height:100%;object-fit:cover;transition:.5s}
.gal-track figure:hover img{transform:scale(1.05)}
.gal-ctrl{display:flex;justify-content:center;gap:12px;margin-top:30px}
.gal-ctrl button{width:52px;height:52px;border:1px solid #444;background:transparent;color:#fff;font-size:1.3rem;cursor:pointer;transition:.2s}
.gal-ctrl button:hover{background:var(--red);border-color:var(--red)}

/* videos */
.vids{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vid{position:relative;aspect-ratio:9/16;background:#000;overflow:hidden;cursor:pointer}
.vid.wide{aspect-ratio:16/9}
.vid img,.vid iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.vid::after{content:"▶";position:absolute;inset:0;display:grid;place-items:center;font-size:2.2rem;color:#fff;background:rgba(0,0,0,.28);transition:.25s}
.vid:hover::after{background:rgba(215,25,32,.35)}
.vid.play::after{display:none}
.vids.wide-3{grid-template-columns:repeat(3,1fr)}

/* reviews */
.rev-top{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.stars{color:#f5b400;letter-spacing:6px;font-size:2rem}
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.rev{border:1px solid var(--line);padding:28px;background:#fff}
.rev .stars{font-size:1.15rem;letter-spacing:3px}
.rev p{margin:12px 0 16px;color:#33333a}
.rev b{font-family:var(--f-head);font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase}
.revs:empty{display:none}

/* quote */
.quote-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}
.qform{background:#fff;color:var(--ink);padding:38px;border-top:5px solid var(--red)}
.qform h3{font-size:2rem;font-weight:800;margin-bottom:4px}
.qform .sub{color:var(--mut);font-size:.92rem;margin-bottom:22px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fgrid .full{grid-column:1/-1}
.qform label{display:block;font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;color:#44444b}
.qform input,.qform select,.qform textarea{width:100%;font:inherit;font-size:.95rem;padding:12px 14px;border:1px solid #d3d3d8;background:#fafafa;transition:.2s;border-radius:0}
.qform input:focus,.qform select:focus,.qform textarea:focus{outline:0;border-color:var(--ink);background:#fff}
.qform textarea{min-height:92px;resize:vertical}
.qform .acts{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.btn.wa{background:#1faa57;border-color:#1faa57}.btn.wa:hover{background:#17874a;border-color:#17874a}
.msg{margin-top:14px;font-size:.92rem;font-weight:600}
.msg.ok{color:#17874a}.msg.err{color:var(--red)}
.hp{position:absolute;left:-9999px}
.info{color:#fff}
.info h3{font-size:2rem;font-weight:800;margin-bottom:22px}
.info ul{list-style:none;display:grid;gap:18px;margin-bottom:26px}
.info li{display:flex;gap:14px}
.info li i{font-style:normal;width:42px;height:42px;flex:none;display:grid;place-items:center;background:var(--red);clip-path:polygon(25% 0,100% 0,75% 100%,0 100%)}
.info li small{display:block;color:#9b9ba4;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
.info li a:hover{color:var(--gold)}
.map{aspect-ratio:16/10;border:0;width:100%;filter:grayscale(.2)}

/* footer */
footer{background:#050506;color:#8e8e97;padding:48px 0 28px;font-size:.88rem}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
footer img{height:70px}
footer a:hover{color:#fff}
.fl{display:flex;gap:22px;flex-wrap:wrap}
.copy{text-align:center;margin-top:28px;padding-top:20px;border-top:1px solid #1c1c20;font-size:.78rem}
.wafab{position:fixed;right:20px;bottom:20px;z-index:60;width:60px;height:60px;border-radius:50%;background:#1faa57;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:.2s}
.wafab:hover{transform:scale(1.08)}
.wafab svg{width:32px;height:32px;fill:#fff}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:100;display:none;place-items:center;padding:20px}
.lb.on{display:grid}
.lb img{max-height:92vh;max-width:92vw;object-fit:contain}
.lb button{position:absolute;top:16px;right:20px;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer}

/* rines page */
.rhero{position:relative;background:#000;color:#fff;min-height:clamp(560px,86vh,820px);display:flex;align-items:center;overflow:hidden}
.rhero .bg{position:absolute;inset:0;background:url(../img/crops/28.jpg) center/cover;opacity:.55;transform:scale(1.05);animation:zoom 18s ease-in-out infinite alternate}
@keyframes zoom{to{transform:scale(1.18)}}
.rhero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 15%,rgba(0,0,0,.2) 80%)}
.rhero .wrap{position:relative;z-index:2}
.rhero h1{font-size:clamp(3.4rem,10vw,9rem);font-weight:800;line-height:.9;margin:12px 0 22px}
.rhero h1 em{font-style:normal;color:var(--red);display:block}
.rhero p{max-width:540px;color:#cfcfd6;font-size:1.1rem;margin-bottom:32px}
.stripe{background:var(--red);color:#fff;overflow:hidden;padding:14px 0}
.stripe .track{animation-duration:30s;gap:48px}
.stripe span{font-family:var(--f-head);font-weight:700;font-size:1.4rem;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.styles{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.sty{position:relative;aspect-ratio:3/4.2;overflow:hidden;color:#fff;display:flex;align-items:flex-end;border-right:1px solid #000}
.sty img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.7s;filter:grayscale(.4) brightness(.7)}
.sty:hover img{transform:scale(1.1);filter:none}
.sty::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9),transparent 60%)}
.sty div{position:relative;z-index:2;padding:30px}
.sty h3{font-size:2.4rem;font-weight:800}
.sty p{color:#cfcfd6;font-size:.92rem;margin:6px 0 12px}
.sty span{color:var(--red);font-family:var(--f-head);font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.rbrands{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rb{border:1px solid #2a2a2f;padding:36px 28px;text-align:center;transition:.25s;background:#111113}
.rb:hover{border-color:var(--red);transform:translateY(-6px)}
.rb .wm{font-size:2.4rem;color:#fff;display:block;margin-bottom:10px}
.rb p{color:#9b9ba4;font-size:.9rem}
.masonry{columns:4;column-gap:16px}
.masonry figure{break-inside:avoid;margin-bottom:16px;overflow:hidden;background:#000;cursor:zoom-in}
.masonry img{width:100%;transition:.5s}
.masonry figure:hover img{transform:scale(1.05)}
.spec{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.spec div{padding:28px 16px;border:1px solid #2a2a2f}
.spec b{display:block;font-family:var(--f-head);font-size:2.6rem;color:var(--red);line-height:1}
.spec span{color:#a9a9b1;font-size:.9rem}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}
.reveal.in{opacity:1;transform:none}

@media(max-width:1020px){
  .svc{grid-template-columns:repeat(2,1fr)}.types,.styles{grid-template-columns:repeat(2,1fr)}
  .brands{grid-template-columns:repeat(3,1fr)}.quote-grid{grid-template-columns:1fr}
  .gal-track figure{flex-basis:calc((100% - 18px)/2)}.masonry{columns:3}
  .vids,.revs,.rbrands{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .burger{display:block}
  nav.menu{position:absolute;top:78px;left:0;right:0;background:#0b0b0c;flex-direction:column;padding:26px;gap:20px;display:none;border-bottom:1px solid #26262a}
  nav.menu.open{display:flex}
  .slide{grid-template-columns:1fr;align-items:end}
  .slide .pic{width:100%;opacity:.55}
  .slide .pic::before{background:linear-gradient(0deg,var(--ink) 15%,transparent 80%)}
  .slide .txt{padding:0 24px 80px}
  .s-arrow{display:none}
  .topbar .wrap{justify-content:center;text-align:center}
  .spec{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .sec{padding:64px 0}.svc,.types,.styles,.vids,.revs,.rbrands{grid-template-columns:1fr}
  .brands{grid-template-columns:repeat(2,1fr)}.gal-track figure{flex-basis:100%}.masonry{columns:2}
  .fgrid{grid-template-columns:1fr}.qform{padding:26px}.brand b{font-size:1.1rem}.brand img{height:52px}
  .type{aspect-ratio:4/4.4}
}

/* logos */
.lg{width:132px;height:46px;object-fit:contain;display:block;opacity:.82;transition:.25s}
.lg.inv{filter:brightness(0) invert(1)}
.marquee.blk{background:#000;border-bottom:1px solid #222;padding:24px 0}
.marquee.blk .track{gap:70px;align-items:center}
.marquee.blk .lg{height:40px;width:120px}
a:hover>.lg,.lg:hover{opacity:1;transform:scale(1.08)}
.brands.dk{background:#26262a;border-color:#26262a}
.brands.dk a{background:#0b0b0c;height:120px}
.brands.dk a:hover{background:#161618}
.brands.dk .wm,.rbrands2 .wm{color:#d8d8de;font-size:1.5rem}
.rbrands2{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:#26262a;border:1px solid #26262a}
.rbrands2>*{background:#0b0b0c;display:grid;place-items:center;height:118px;padding:10px;transition:.25s}
.rbrands2>*:hover{background:#161618}
.rbrands2 .lg{width:140px;height:50px}

/* service icons */
.svc i svg{width:30px;height:30px}
.svc i{clip-path:none;border:1px solid var(--gold);border-radius:50%;width:70px;height:70px;background:radial-gradient(circle at 30% 25%,#26262a,#0b0b0c)}

/* background sliders */
.bgs{position:absolute;inset:0;overflow:hidden}
.bgs div{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s;transform:scale(1.06)}
.bgs div.on{opacity:1;animation:kb 9s ease-out forwards}
@keyframes kb{to{transform:scale(1.16)}}
.rines-ban .bgs{opacity:.5}
.rines-ban .bgs::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b0b0c 22%,transparent 80%)}
.rines-ban .wrap{z-index:2}
.rhero .bgs{opacity:.62}
.rhero .bg{display:none}
.vid.big{max-width:980px;margin:0 auto}
.vids.five{grid-template-columns:repeat(6,1fr)}
.vids.five .vid{grid-column:span 2;aspect-ratio:16/9}
.vids.five .vid:nth-child(n+4){grid-column:span 3}
.vband{padding:80px 0}
@media(max-width:820px){.rbrands2,.brands.dk{grid-template-columns:repeat(3,1fr)}.vids.five{grid-template-columns:1fr}.vids.five .vid,.vids.five .vid:nth-child(n+4){grid-column:auto}}
@media(max-width:560px){.rbrands2,.brands.dk{grid-template-columns:repeat(2,1fr)}}
.credits{font-size:.72rem;color:#666;margin-top:10px;line-height:1.5}
