* { margin: 0; padding: 0; box-sizing: border-box; }
:root { --black:#050505; --panel:#0c0c0c; --red:#e21b23; --white:#f6f6f4; --muted:#9a9a9a; --line:rgba(255,255,255,.11); }
html { scroll-behavior:smooth; }
body { font-family:"Inter",Arial,sans-serif; background:var(--black); color:var(--white); line-height:1.55; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
img { width:100%; display:block; }

.navbar { height:86px; padding:0 5.5%; display:flex; align-items:center; justify-content:space-between; position:fixed; width:100%; top:0; z-index:50; background:rgba(5,5,5,.78); backdrop-filter:blur(18px); border-bottom:1px solid var(--line); }
.brand img { width:185px; height:68px; object-fit:contain; object-position:left center; }
nav { display:flex; gap:34px; align-items:center; }
nav a { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1.8px; color:#d9d9d9; transition:.25s; }
nav a:hover { color:var(--red); }
.nav-call { border:1px solid var(--red); padding:11px 20px; text-transform:uppercase; font-size:11px; letter-spacing:1.5px; font-weight:800; transition:.25s; }
.nav-call:hover { background:var(--red); }
.menu-btn { display:none; background:none; border:0; width:40px; cursor:pointer; }
.menu-btn span { display:block; height:2px; background:#fff; margin:7px 0; }

.hero { min-height:100vh; display:flex; align-items:center; position:relative; background:url("images/hero-background.png") center/cover no-repeat; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 38%,rgba(0,0,0,.28) 75%,rgba(0,0,0,.18)); }
.hero-content { position:relative; z-index:2; width:min(800px,88%); margin-left:8%; padding-top:70px; }
.eyebrow,.section-label { color:var(--red); font-size:11px; letter-spacing:3px; font-weight:800; text-transform:uppercase; }
.hero h1 { font-family:"Bebas Neue",sans-serif; font-size:clamp(76px,11vw,156px); line-height:.82; letter-spacing:2px; margin:23px 0 27px; }
.hero h1 span,h2 span { color:var(--red); }
.hero-text { max-width:550px; color:#d1d1d1; font-size:17px; margin-bottom:32px; }
.hero-buttons,.contact-buttons { display:flex; gap:12px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; gap:25px; padding:15px 22px; text-transform:uppercase; font-size:11px; font-weight:800; letter-spacing:1.3px; transition:.25s; }
.btn-primary { background:var(--red); border:1px solid var(--red); }
.btn-primary:hover { background:#bd1017; border-color:#bd1017; transform:translateY(-2px); }
.btn-outline { border:1px solid rgba(255,255,255,.48); background:rgba(0,0,0,.14); }
.btn-outline:hover { border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-2px); }
.hero-location { margin-top:31px; color:#bdbdbd; font-size:12px; letter-spacing:.5px; }
.dot { display:inline-block; width:8px; height:8px; background:#39d353; border-radius:50%; margin-right:9px; box-shadow:0 0 12px rgba(57,211,83,.5); }
.hero-bottom-line { position:absolute; z-index:2; bottom:27px; left:5.5%; right:5.5%; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.25); padding-top:13px; color:#a6a6a6; font-size:9px; letter-spacing:4px; font-weight:700; }

.cuts-section { padding:120px 5.5% 130px; background:#070707; }
.section-head { max-width:1650px; margin:0 auto 43px; display:flex; justify-content:space-between; align-items:end; gap:30px; }
h2 { font-family:"Bebas Neue",sans-serif; font-size:clamp(58px,7vw,108px); line-height:.88; letter-spacing:1px; margin-top:12px; }
.section-note { color:#858585; text-align:right; font-size:12px; text-transform:uppercase; letter-spacing:2px; line-height:1.8; }
.cuts-grid { max-width:1650px; margin:0 auto; display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.cut-card { min-width:0; }
.cut-image { aspect-ratio:1.12/1; overflow:hidden; background:#111; border:1px solid rgba(255,255,255,.09); }
.cut-image img { height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.cut-card:hover .cut-image img { transform:scale(1.07); }
.cut-meta { min-height:58px; display:grid; grid-template-columns:35px 1fr 24px; align-items:center; gap:8px; border-bottom:1px solid var(--line); }
.cut-meta span:first-child { color:#666; font-size:9px; letter-spacing:1px; }
.cut-meta h3 { font-size:10px; letter-spacing:1.5px; font-weight:800; }
.cut-arrow { color:var(--red); font-size:17px; text-align:right; }

.shop-section { padding:120px 5.5%; background:#0b0b0b; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.shop-layout { max-width:1650px; margin:0 auto; display:grid; grid-template-columns:minmax(310px,.7fr) minmax(0,1.65fr); gap:70px; align-items:center; }
.shop-copy { padding:15px 0; }
.shop-copy h2 { margin:15px 0 28px; font-size:clamp(58px,6vw,96px); }
.shop-copy>p:not(.section-label) { color:#a9a9a9; max-width:500px; font-size:14px; }
.text-link { display:inline-flex; gap:28px; align-items:center; margin-top:30px; color:#fff; font-size:11px; font-weight:800; letter-spacing:2px; border-bottom:1px solid var(--red); padding-bottom:10px; }
.text-link span { color:var(--red); font-size:17px; }
.shop-features { display:grid; grid-template-columns:repeat(3,1fr); margin-top:70px; border-top:1px solid var(--line); }
.shop-features div { padding:18px 12px 0 0; border-right:1px solid var(--line); }
.shop-features div:last-child { border-right:0; padding-left:15px; }
.shop-features strong { display:block; color:var(--red); font-size:9px; letter-spacing:2px; margin-bottom:12px; }
.shop-features span { color:#ddd; font-size:9px; letter-spacing:1.2px; font-weight:700; line-height:1.6; }
.shop-image-wrap { position:relative; min-height:560px; overflow:hidden; border:1px solid rgba(255,255,255,.13); background:#111; }
.shop-image-wrap img { height:100%; min-height:560px; object-fit:cover; object-position:center; transition:transform .8s ease; }
.shop-image-wrap:hover img { transform:scale(1.025); }
.image-caption { position:absolute; left:0; right:0; bottom:0; display:flex; justify-content:space-between; gap:20px; padding:17px 20px; background:linear-gradient(transparent,rgba(0,0,0,.9)); padding-top:55px; font-size:9px; letter-spacing:2px; font-weight:800; }
.image-caption span:last-child { color:#bbb; }

.contact-section { padding:120px 5.5% 100px; background:#050505; }
.contact-heading { max-width:1650px; margin:0 auto 50px; }
.contact-heading h2 { margin:15px 0 20px; }
.contact-heading>p:last-child { max-width:540px; color:#969696; font-size:14px; }
.contact-grid { max-width:1650px; margin:0 auto; display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:stretch; }
.contact-info { display:flex; flex-direction:column; justify-content:center; gap:34px; }
.info-row { border-top:1px solid var(--line); padding-top:18px; }
.info-row small { color:var(--red); font-size:9px; font-weight:800; letter-spacing:2px; }
.info-row p { margin-top:8px; color:#ddd; font-size:15px; }
.info-row a:hover { color:var(--red); }
.map-card { min-height:430px; position:relative; border:1px solid var(--line); overflow:hidden; background:#111; }
.map-card iframe { width:100%; height:100%; min-height:430px; border:0; filter:grayscale(.85) contrast(1.05) brightness(.8); }
.map-label { position:absolute; z-index:2; left:18px; top:18px; background:rgba(5,5,5,.9); border-left:3px solid var(--red); padding:11px 14px; font-size:9px; font-weight:800; letter-spacing:1.7px; pointer-events:none; }

footer { padding:34px 5.5%; display:flex; align-items:center; justify-content:space-between; gap:20px; background:#030303; border-top:1px solid var(--line); color:#777; font-size:10px; letter-spacing:.5px; }
footer img { width:145px; height:52px; object-fit:contain; object-position:left center; }
footer a:hover { color:#fff; }

@media (max-width:1100px) {
  nav { gap:22px; }
  .cuts-grid { grid-template-columns:repeat(3,1fr); row-gap:25px; }
  .shop-layout,.contact-grid { grid-template-columns:1fr; }
  .shop-image-wrap { min-height:520px; }
  .shop-image-wrap img { min-height:520px; }
}
@media (max-width:760px) {
  .navbar { height:74px; padding:0 5%; }
  .brand img { width:150px; height:58px; }
  .nav-call { padding:9px 13px; font-size:9px; }
  .menu-btn { display:block; order:3; margin-left:10px; }
  nav { position:absolute; top:74px; left:0; width:100%; padding:22px 5%; background:rgba(5,5,5,.98); display:none; flex-direction:column; align-items:flex-start; gap:18px; border-bottom:1px solid var(--line); }
  nav.open { display:flex; }
  .hero-content { margin-left:7%; width:86%; padding-top:70px; }
  .hero h1 { font-size:clamp(66px,18vw,105px); }
  .hero-text { font-size:14px; }
  .hero-bottom-line { left:5%; right:5%; font-size:7px; letter-spacing:2px; }
  .section-head { align-items:flex-start; flex-direction:column; }
  .section-note { text-align:left; }
  .cuts-section,.shop-section,.contact-section { padding:85px 5%; }
  .cuts-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .cut-meta { grid-template-columns:25px 1fr 20px; }
  .shop-layout { gap:45px; }
  .shop-features { margin-top:50px; }
  .shop-image-wrap,.shop-image-wrap img { min-height:420px; }
  .contact-grid { gap:45px; }
  footer { flex-direction:column; text-align:center; }
  footer img { object-position:center; }
}
@media (max-width:470px) {
  .nav-call { display:none; }
  .brand img { width:140px; }
  .cuts-grid { grid-template-columns:1fr; }
  .cut-image { aspect-ratio:1.35/1; }
  .shop-features span { font-size:8px; }
  .image-caption { flex-direction:column; gap:5px; }
}


/* Pricing */
.pricing-section { padding:120px 5.5%; background:#070707; border-top:1px solid var(--line); }
.pricing-layout { max-width:1650px; margin:0 auto; display:grid; grid-template-columns:.75fr 1.25fr; gap:90px; align-items:start; }
.pricing-heading h2 { margin:15px 0 25px; }
.pricing-heading>p:last-child { max-width:440px; color:#969696; font-size:14px; }
.pricing-list { border-top:1px solid var(--line); }
.price-row { min-height:54px; display:flex; align-items:center; justify-content:space-between; gap:25px; padding:13px 0; border-bottom:1px solid var(--line); }
.price-row span { color:#ddd; font-size:11px; font-weight:700; letter-spacing:1.2px; }
.price-row strong { color:var(--red); font-size:15px; letter-spacing:.5px; }

/* Opening hours */
.hours-section { padding:120px 5.5%; background:#0b0b0b; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hours-layout { max-width:1650px; margin:0 auto; display:grid; grid-template-columns:.75fr 1.25fr; gap:90px; align-items:center; }
.hours-intro { max-width:450px; color:#969696; font-size:14px; margin-top:25px; }
.hours-card { border:1px solid var(--line); background:#090909; }
.hours-row { min-height:130px; padding:28px 32px; display:flex; align-items:center; justify-content:space-between; gap:30px; border-bottom:1px solid var(--line); }
.hours-row:last-child { border-bottom:0; }
.hours-row small { display:block; color:var(--red); font-size:9px; font-weight:800; letter-spacing:2px; margin-bottom:10px; }
.hours-row span { display:block; color:#f1f1f1; font-family:"Bebas Neue",sans-serif; font-size:34px; letter-spacing:1px; }
.hours-row>strong { color:#555; font-size:11px; letter-spacing:2px; }

@media (max-width:1100px) {
  .pricing-layout,.hours-layout { grid-template-columns:1fr; gap:50px; }
}

@media (max-width:760px) {
  .pricing-section,.hours-section { padding:85px 5%; }
  .pricing-layout,.hours-layout { gap:40px; }
  .hours-row { min-height:110px; padding:24px 20px; }
  .hours-row span { font-size:29px; }
}

@media (max-width:470px) {
  .price-row span { font-size:9px; }
  .price-row strong { font-size:14px; }
  .hours-row { align-items:flex-start; }
  .hours-row span { font-size:25px; }
}
