:root{--iron:#1c1f22;--iron-2:#2a2f34;--molten:#f0611a;--molten-d:#c94a0c;--galv:#c9cfd4;--zinc:#eef0f1;--text:#24282c;--muted:#5f676e;--line:#d8dde1}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:400 17px/1.6 'IBM Plex Sans',system-ui,sans-serif;color:var(--text);background:var(--zinc);padding-bottom:64px}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:'Big Shoulders Display',Impact,sans-serif;font-weight:900;line-height:.95;letter-spacing:.01em;margin:0 0 .4em;text-transform:uppercase}
h2{font-size:clamp(2.2rem,5vw,3.4rem)}
h3{font-size:1.45rem;font-weight:800;line-height:1.05}
.wrap{width:min(1160px,92vw);margin:0 auto}
.tag{display:inline-block;font:600 .78rem/1 'IBM Plex Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--molten);margin:0 0 1rem}
.tag--dark{color:var(--molten-d)}

/* header */
.top{position:sticky;top:0;z-index:20;background:var(--iron);color:#fff;border-bottom:3px solid var(--molten)}
.top__inner{display:flex;align-items:center;gap:1.5rem;height:64px}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.logo__bar{width:10px;height:34px;background:var(--molten);transform:skewX(-14deg)}
.logo__txt{font:900 1.65rem/1 'Big Shoulders Display',sans-serif;letter-spacing:.04em}
.logo__txt em{font-style:normal;font-weight:700;color:var(--galv);margin-left:.35rem;letter-spacing:.02em}
.top__nav{display:flex;gap:1.4rem;margin-left:auto;font-size:.92rem}
.top__nav a{text-decoration:none;color:var(--galv)}
.top__nav a:hover{color:#fff}
.pill{background:var(--molten);color:#fff;text-decoration:none;font-weight:600;padding:.5rem .95rem;border-radius:3px;white-space:nowrap}
.pill:hover{background:var(--molten-d)}

/* hero */
.hero{position:relative;min-height:min(88vh,760px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--iron)}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 50%;opacity:.62}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,22,25,.92) 0%,rgba(20,22,25,.6) 50%,rgba(20,22,25,.1) 100%)}
.hero__content{position:relative;z-index:1;padding:5rem 0 4.5rem}
.hero h1{font-size:clamp(3.3rem,10vw,7rem);margin-bottom:.3em}
.hero h1 span{color:var(--molten)}
.hero__lede{max-width:34rem;font-size:1.12rem;color:#e3e7ea;margin:0 0 1.8rem}
.hero__btns{display:flex;flex-wrap:wrap;gap:.8rem}
.btn{display:inline-flex;align-items:center;gap:.55rem;background:var(--molten);color:#fff;text-decoration:none;font-weight:600;padding:.95rem 1.4rem;border-radius:3px;border:2px solid var(--molten)}
.btn svg{width:20px;height:20px;fill:currentColor}
.btn:hover{background:var(--molten-d);border-color:var(--molten-d)}
.btn--line{background:transparent;border-color:rgba(255,255,255,.7)}
.btn--line:hover{background:#fff;color:var(--iron);border-color:#fff}

/* strip */
.strip{background:var(--molten);color:#fff;overflow:hidden;white-space:nowrap}
.strip__track{display:inline-flex;gap:2.4rem;padding:.85rem 0;font:800 1.2rem/1 'Big Shoulders Display',sans-serif;text-transform:uppercase;letter-spacing:.06em;animation:slide 38s linear infinite}
.strip__track span::before{content:"■";font-size:.6em;margin-right:.9rem;vertical-align:middle;opacity:.6}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.strip__track{animation:none;flex-wrap:wrap;white-space:normal;padding-left:4vw}}

/* splits */
.split{padding:5.5rem 0}
.split--rev{background:#fff}
.split__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:3.5rem;align-items:center}
.split--rev .split__grid{grid-template-columns:.8fr 1.2fr}
.split--rev .split__img{order:2}
.split__img{margin:0;position:relative}
.split__img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.split__img::before{content:"";position:absolute;left:-14px;top:-14px;width:38%;height:38%;border-left:6px solid var(--molten);border-top:6px solid var(--molten)}
.split__img--tall img{aspect-ratio:1/1;object-position:50% 40%}
.split__text p{color:var(--muted);max-width:32rem}
.ticks{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.ticks li{background:#fff;border:1px solid var(--line);border-left:5px solid var(--molten);padding:.7rem .9rem;font-weight:600}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.4rem}
.cards article{background:var(--zinc);padding:1.3rem 1.2rem;border-top:4px solid var(--iron)}
.cards p{margin:0;font-size:.95rem}

/* corrugated band */
.iron{color:#fff;background:
  repeating-linear-gradient(90deg,#2a2f34 0 14px,#33393f 14px 22px,#2a2f34 22px 36px);padding:4.5rem 0;border-top:6px solid var(--molten)}
.iron__inner{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
.iron h2{margin:0}
.iron h2 span{color:var(--molten)}
.iron p{font-size:1.1rem;color:var(--galv);margin:0}
.iron a{color:#fff;font-weight:600}

/* reviews */
.said{padding:5rem 0}
.said__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.said blockquote{margin:0;background:#fff;padding:1.6rem;border:1px solid var(--line);position:relative}
.said blockquote::before{content:"★★★★★";display:block;color:var(--molten);letter-spacing:.15em;margin-bottom:.6rem}
.said blockquote p{margin:0;font-size:1.08rem;font-weight:500}

/* visit */
.visit{background:#fff;padding:5rem 0}
.visit__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem}
.hours{border-collapse:collapse;width:100%;margin:1.2rem 0 1.6rem}
.hours caption{text-align:left;font-weight:600;color:var(--molten-d);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;padding-bottom:.4rem}
.hours th,.hours td{padding:.6rem 0;border-bottom:1px solid var(--line);text-align:left;font-weight:500}
.hours td{text-align:right}
.contact{list-style:none;margin:0;padding:0}
.contact li{display:flex;gap:1rem;padding:.35rem 0}
.contact span{width:4.5rem;color:var(--muted)}
.contact a{font-weight:600;text-decoration:none;color:var(--iron);word-break:break-all}
.contact a:hover{color:var(--molten-d)}
.visit__map iframe{width:100%;height:100%;min-height:380px;border:0;filter:grayscale(.35)}

/* footer */
.foot{background:var(--iron);color:var(--galv);padding:3rem 0 2rem;font-size:.92rem}
.logo__txt--foot{color:#fff;display:block;margin-bottom:.8rem}
.foot a{color:#fff}
.foot__fine{font-size:.8rem;opacity:.7;margin-top:1.5rem}

/* mobile call bar */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1fr;background:var(--iron);border-top:3px solid var(--molten)}
.callbar a{display:flex;align-items:center;justify-content:center;height:58px;color:#fff;text-decoration:none;font-weight:600}
.callbar a:first-child{background:var(--molten)}

/* reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}

@media (min-width:900px){body{padding-bottom:0}.callbar{display:none}}
@media (max-width:899px){
  .top__nav{display:none}.pill{margin-left:auto}
  .split{padding:3.5rem 0}
  .split__grid,.split--rev .split__grid,.iron__inner,.visit__grid{grid-template-columns:1fr;gap:2rem}
  .split--rev .split__img{order:0}
  .split__img--tall img{aspect-ratio:4/3}
  .said__grid{grid-template-columns:1fr}
  .hero__content{padding:4rem 0 3rem}
}
@media (max-width:520px){
  body{font-size:16px}
  .logo__txt{font-size:1.4rem}.logo__txt em{display:none}
  .ticks,.cards{grid-template-columns:1fr}
  .btn{width:100%;justify-content:center}
}
