:root{--ink:#16171a;--steel:#25272c;--red:#d3262e;--bone:#f3efe7;--mute:#6b6e75;--line:#dcd6c8}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Barlow',system-ui,sans-serif;color:var(--ink);background:var(--bone);font-size:1.06rem;line-height:1.65}
h1,h2,h3,h4,.disp{font-family:'Big Shoulders Display',Impact,sans-serif;font-weight:800;text-transform:uppercase;line-height:.98;letter-spacing:.01em}
.mono{font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}
.tape{height:14px;background:repeating-linear-gradient(-45deg,var(--red) 0 16px,var(--ink) 16px 32px)}
.util{background:var(--ink);color:#fff;padding:.4rem 0}
.util a{color:#fff;text-decoration:none}.util a:hover{color:#ff7a80}
.navbar{background:var(--bone);border-bottom:2px solid var(--ink)}
.navbar-brand{font-family:'Big Shoulders Display',sans-serif;font-weight:900;text-transform:uppercase;font-size:1.7rem;letter-spacing:.02em;color:var(--ink);line-height:1}
.navbar-brand small{display:block;font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:.6rem;letter-spacing:.18em;color:var(--red);margin-top:.15rem}
.navbar .nav-link{font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:500}
.navbar .nav-link:hover{color:var(--red)}
.btn-red{background:var(--red);color:#fff;border:2px solid var(--red);border-radius:2px;font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:1.2rem;padding:.55rem 1.5rem}
.btn-red:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-line{border:2px solid #fff;color:#fff;border-radius:2px;font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:1.2rem;padding:.55rem 1.5rem}
.btn-line:hover{background:#fff;color:var(--ink)}
.hero{position:relative;background:var(--ink);color:#fff;min-height:min(82vh,720px);display:flex;align-items:center;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,19,21,.82) 0%,rgba(18,19,21,.55) 50%,rgba(18,19,21,.1) 100%)}
.hero .container{position:relative;z-index:2;padding-top:3.5rem;padding-bottom:3.5rem}
.hero h1{font-size:clamp(3.4rem,9vw,7.2rem);margin:.6rem 0 1rem}
.hero h1 em{font-style:normal;color:#ff4a52}
.hero p.lead{max-width:34rem;font-size:1.25rem}
.hero .mono{background:var(--red);display:inline-block;padding:.25rem .7rem}
section{padding:5rem 0}
.sec-h{font-size:clamp(2.4rem,5vw,4rem);margin-bottom:.4rem}
.kicker{color:var(--red);font-weight:500}
.svc{background:#fff;border:2px solid var(--ink);padding:1.8rem;height:100%;position:relative;box-shadow:8px 8px 0 var(--ink)}
.svc .bi{font-size:2rem;color:var(--red)}
.svc h3{font-size:2rem;margin:.6rem 0}
.also{border-top:2px solid var(--ink);margin-top:3rem;padding-top:1.2rem}
.also span{display:inline-block;border:2px solid var(--ink);padding:.15rem .7rem;margin:.25rem .25rem 0 0;font-family:'IBM Plex Mono',monospace;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;background:#fff}
.about{background:var(--ink);color:#e9e6de}
.about h2{color:#fff}
.about .logo{background:#fff;padding:.5rem;border-radius:3px;max-width:300px;width:100%}
.stakes{display:grid;grid-template-columns:repeat(4,1fr);background:var(--red);color:#fff;padding:0}
.stakes div{padding:1.6rem 1rem;text-align:center;border-right:2px dashed rgba(255,255,255,.55)}
.stakes div:last-child{border:0}
.stakes b{display:block;font-family:'Big Shoulders Display',sans-serif;font-size:clamp(2.4rem,5vw,4rem);line-height:1;font-weight:900}
.stakes span{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gal figure{margin:0;position:relative;aspect-ratio:4/3;overflow:hidden;border:2px solid var(--ink)}
.gal img{width:100%;height:100%;object-fit:cover;display:block}
.gal figcaption{position:absolute;left:0;bottom:0;background:var(--ink);color:#fff;padding:.2rem .7rem}
.contact{background:#fff;border-top:2px solid var(--ink)}
.cbox{border:2px solid var(--ink);padding:1.6rem;background:var(--bone)}
.cbox a{color:var(--ink)}
.phone{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:clamp(2.6rem,6vw,4.2rem);color:var(--red);text-decoration:none;line-height:1}
.map{border:2px solid var(--ink);width:100%;height:320px;display:block}
footer{background:var(--ink);color:#bbb;padding:2.5rem 0;font-size:.95rem}
footer a{color:#fff}
@media(max-width:767px){section{padding:3.5rem 0}.gal{grid-template-columns:1fr 1fr;gap:10px}.stakes{grid-template-columns:1fr 1fr}.stakes div:nth-child(2){border-right:0}.stakes div:nth-child(-n+2){border-bottom:2px dashed rgba(255,255,255,.55)}.hero:after{background:rgba(18,19,21,.7)}.svc{box-shadow:5px 5px 0 var(--ink)}}
