:root{
  --ink:#111214;
  --ink-2:#1b1c1f;
  --bone:#f4efe4;
  --bone-dim:#d9d2c2;
  --red:#c8102e;
  --red-dark:#8e0c22;
  --gold:#c9a96e;
  --steel:#3a3d42;
  --max:1180px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bone);
  color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}
h1,h2,h3{
  font-family:'Anton',sans-serif;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0.5px;
  line-height:1.03;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:700; letter-spacing:2.5px;
  text-transform:uppercase; color:var(--gold);
}
.eyebrow::before{content:""; width:22px; height:2px; background:var(--red); display:inline-block;}

.rope{
  height:10px;
  background:repeating-linear-gradient(90deg,var(--red) 0 26px,var(--bone) 26px 34px,var(--ink) 34px 60px,var(--bone) 60px 68px);
  opacity:0.9;
}
.rope.dark{
  background:repeating-linear-gradient(90deg,var(--red) 0 26px,var(--ink) 26px 34px,var(--gold) 34px 60px,var(--ink) 60px 68px);
}

/* NAV */
header{
  position:sticky; top:0; z-index:100;
  background:rgba(17,18,20,0.96);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
nav.wrap{display:flex; align-items:center; justify-content:space-between; height:76px;}
.brand{font-family:'Anton',sans-serif; font-size:24px; letter-spacing:1px; color:var(--bone);}
.brand span{color:var(--red);}
.nav-links{display:none; gap:26px; align-items:center;}
.nav-links a{color:var(--bone-dim); font-size:14px; font-weight:600; letter-spacing:0.3px; transition:color .2s;}
.nav-links a.active{color:var(--gold);}
.nav-links a:hover{color:var(--gold);}
@media(min-width:900px){ .nav-links{display:flex;} }

.btn{
  display:inline-block; padding:13px 26px; font-weight:700; font-size:14px;
  letter-spacing:0.4px; text-transform:uppercase; border-radius:2px;
  transition:transform .15s ease, background .2s ease; border:none; cursor:pointer;
}
.btn:hover{transform:translateY(-2px);}
.btn-red{background:var(--red); color:#fff;}
.btn-red:hover{background:var(--red-dark);}
.btn-ghost{background:transparent; border:1.5px solid var(--bone-dim); color:var(--bone);}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold);}
.btn-dark{background:var(--ink); color:var(--bone);}
.btn-dark:hover{background:var(--steel);}
.nav-cta{display:none;}
@media(min-width:900px){ .nav-cta{display:inline-block;} }

/* Mobile hamburger */
.nav-toggle{
  display:flex; flex-direction:column; justify-content:center; gap:5px;
  width:38px; height:38px; background:none; border:none; cursor:pointer; padding:0;
}
@media(min-width:900px){ .nav-toggle{display:none;} }
.nav-toggle span{display:block; height:2px; width:26px; background:var(--bone); transition:transform .25s ease, opacity .25s ease;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-menu{
  position:fixed; inset:76px 0 0 0; z-index:99;
  background:var(--ink);
  transform:translateX(100%);
  transition:transform .3s ease;
  overflow-y:auto;
}
.mobile-menu.open{transform:translateX(0);}
.mobile-menu .wrap{padding:36px 24px; display:flex; flex-direction:column; gap:4px;}
.mobile-menu a{
  color:var(--bone); font-size:20px; font-weight:700; text-transform:uppercase;
  letter-spacing:0.5px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,0.08);
}
.mobile-menu a.active{color:var(--gold);}
.mobile-menu .btn{margin-top:24px; text-align:center;}
@media(min-width:900px){ .mobile-menu{display:none;} }

/* HERO */
.hero{position:relative; min-height:80vh; display:flex; align-items:flex-end; overflow:hidden; background:var(--ink);}
.hero-media{position:absolute; inset:0; display:flex;}
.hero-media .panel{flex:1; position:relative; overflow:hidden;}
.hero-media .panel img{width:100%; height:100%; object-fit:cover; object-position:center 18%;}
.hero-media .panel.men{border-left:3px solid var(--red);}
.hero-media .panel .panel-label{
  position:absolute; top:24px; z-index:2;
  font-size:11.5px; font-weight:800; letter-spacing:2px; text-transform:uppercase;
  color:var(--bone); background:rgba(17,18,20,0.55); padding:8px 14px;
}
.hero-media .panel.women .panel-label{left:24px;}
.hero-media .panel.men .panel-label{right:24px;}
.hero.single .hero-media .panel img{object-position:center 30%;}
.hero::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(17,18,20,0.45) 0%, rgba(17,18,20,0.4) 40%, rgba(17,18,20,0.97) 100%);
  z-index:1;
}
.hero-inner{position:relative; z-index:2; width:100%; padding-bottom:60px;}
.hero h1{color:var(--bone); font-size:clamp(36px, 7vw, 84px); max-width:900px; margin:16px 0 18px;}
.hero h1 em{font-style:normal; color:var(--red);}
.hero-sub{color:var(--bone-dim); font-size:clamp(16px,2vw,19px); max-width:580px; margin-bottom:30px;}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:34px;}
.partner-badge{
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(244,239,228,0.08); border:1px solid rgba(201,169,110,0.5);
  padding:10px 18px; border-radius:2px; color:var(--gold);
  font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:20px;
}
.partner-badge b{color:var(--bone); font-weight:800;}

/* Breadcrumb */
.breadcrumb{background:var(--ink); padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.08);}
.breadcrumb ol{list-style:none; display:flex; gap:8px; flex-wrap:wrap; font-size:12.5px; color:var(--bone-dim);}
.breadcrumb a{color:var(--bone-dim);}
.breadcrumb a:hover{color:var(--gold);}
.breadcrumb li:not(:last-child)::after{content:"/"; margin-left:8px; color:var(--steel);}
.breadcrumb li:last-child{color:var(--gold);}

/* TRUST STRIP */
.trust{background:var(--ink); border-top:1px solid rgba(255,255,255,0.08); padding:22px 0;}
.trust .wrap{display:flex; flex-wrap:wrap; gap:24px; justify-content:space-between; align-items:center; color:var(--bone-dim); font-size:13.5px; letter-spacing:0.3px;}
.trust strong{color:var(--gold); font-weight:700;}

/* SECTIONS */
section{padding:80px 0;}
.section-head{max-width:680px; margin-bottom:48px;}
.section-head h2{font-size:clamp(28px,4.2vw,48px); margin-top:14px; color:var(--ink);}
.section-head p{margin-top:16px; font-size:17px; color:#4a4a4a; max-width:560px;}
section.on-dark{background:var(--ink); color:var(--bone);}
section.on-dark .section-head h2{color:var(--bone);}
section.on-dark .section-head p{color:var(--bone-dim);}
section.on-white{background:#fff;}

.cat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
@media(max-width:900px){ .cat-grid{grid-template-columns:1fr;} }
.cat-card{background:#fff; border:1px solid rgba(0,0,0,0.08); padding:32px 26px;}
.cat-card .num{font-family:'Anton',sans-serif; font-size:14px; color:var(--red); letter-spacing:2px; margin-bottom:12px; display:block;}
.cat-card h3{font-size:22px; margin-bottom:14px; color:var(--ink);}
.cat-card ul{list-style:none;}
.cat-card li{padding:9px 0; border-top:1px solid rgba(0,0,0,0.08); font-size:15px; color:#333;}
.cat-card li:first-child{border-top:none;}
.cat-card a.card-link{margin-top:16px; display:inline-block; font-weight:700; font-size:13.5px; color:var(--red);}

.split{display:grid; grid-template-columns:1.05fr 0.95fr; gap:52px; align-items:center;}
@media(max-width:880px){ .split{grid-template-columns:1fr;} }
.split img{width:100%; height:440px; object-fit:cover;}
.split.reverse{grid-template-columns:0.95fr 1.05fr;}
@media(max-width:880px){ .split.reverse{grid-template-columns:1fr;} }
.split.reverse .img-col{order:2;}
@media(max-width:880px){ .split.reverse .img-col{order:0;} }
.split .tag{display:inline-block; background:var(--red); color:#fff; font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:6px 12px; margin-bottom:16px;}
.split h2,.split h3{font-size:clamp(26px,3vw,36px); margin-bottom:16px; color:var(--ink);}
.split p{color:#3d3d3d; font-size:16px; margin-bottom:14px;}
.mini-list{list-style:none; margin-top:16px;}
.mini-list li{padding:6px 0 6px 22px; position:relative; font-size:15px; color:#333;}
.mini-list li::before{content:"—"; position:absolute; left:0; color:var(--red); font-weight:700;}

.critical-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media(max-width:900px){ .critical-grid{grid-template-columns:1fr;} }
.critical-card{background:var(--ink-2); border:1px solid rgba(201,169,110,0.25); padding:28px 24px;}
.critical-card h3{color:var(--gold); font-size:20px; margin-bottom:12px;}
.critical-card p{color:var(--bone-dim); font-size:15px; margin-bottom:16px;}

.price-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media(max-width:900px){ .price-grid{grid-template-columns:1fr;} }
.price-card{background:#fff; border:1px solid rgba(0,0,0,0.1); padding:34px 28px; position:relative;}
.price-card.featured{background:var(--ink); color:var(--bone); border:2px solid var(--gold);}
.price-card .ribbon{position:absolute; top:0; right:0; background:var(--gold); color:var(--ink); font-size:11.5px; font-weight:800; letter-spacing:1px; text-transform:uppercase; padding:6px 14px;}
.price-card h3{font-size:15px; letter-spacing:2px; text-transform:uppercase; font-family:'Inter'; font-weight:800; color:var(--red); margin-bottom:8px;}
.price-card.featured h3{color:var(--gold);}
.price-amount{font-family:'Anton',sans-serif; font-size:48px; margin-bottom:4px;}
.price-amount span{font-size:15px; font-family:'Inter'; font-weight:600; text-transform:none; letter-spacing:0;}
.price-card .desc{font-size:14.5px; color:#555; margin-bottom:20px;}
.price-card.featured .desc{color:var(--bone-dim);}
.price-card ul{list-style:none; margin-bottom:24px;}
.price-card li{padding:8px 0; border-top:1px solid rgba(0,0,0,0.08); font-size:14.5px;}
.price-card.featured li{border-top:1px solid rgba(255,255,255,0.12);}
.price-card li:first-child{border-top:none;}

.gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
@media(max-width:900px){ .gallery{grid-template-columns:repeat(2,1fr);} }
.gallery figure{position:relative; overflow:hidden; height:320px;}
.gallery img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.gallery figure:hover img{transform:scale(1.06);}
.gallery figcaption{position:absolute; left:0; right:0; bottom:0; background:linear-gradient(0deg, rgba(0,0,0,0.75), transparent); color:#fff; font-size:13px; font-weight:600; padding:16px 14px 12px;}

.chip-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:8px;}
.chip{border:1.5px solid var(--ink); padding:9px 18px; font-size:14px; font-weight:700; letter-spacing:0.3px; text-transform:uppercase;}
.district-block{border-top:1px solid rgba(0,0,0,0.1); padding:26px 0;}
.district-block h3{font-size:20px; margin-bottom:8px; color:var(--ink);}
.district-block p{font-size:15px; color:#444;}

.cta-band{background:var(--red); color:#fff; padding:60px 0; text-align:center;}
.cta-band h2{color:#fff; font-size:clamp(26px,4vw,42px); margin-bottom:16px;}
.cta-band p{font-size:16px; margin-bottom:28px; opacity:0.92;}
.cta-band .btn-dark{background:#fff; color:var(--ink);}
.cta-band .btn-dark:hover{background:var(--bone);}
.cta-row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

/* CONTACT */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
@media(max-width:880px){ .contact-grid{grid-template-columns:1fr;} }
.contact-methods{list-style:none;}
.contact-methods li{padding:16px 0; border-top:1px solid rgba(0,0,0,0.08); font-size:15.5px;}
.contact-methods li:first-child{border-top:none;}
.contact-methods a{color:var(--red); font-weight:700;}
.map-embed{width:100%; height:320px; border:0; margin-top:24px; filter:grayscale(15%);}
form.contact-form{display:flex; flex-direction:column; gap:14px;}
form.contact-form label{font-size:13px; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; color:#333;}
form.contact-form input, form.contact-form textarea{
  padding:13px 14px; border:1.5px solid #ccc; font-family:inherit; font-size:15px; background:#fff;
}
form.contact-form input:focus, form.contact-form textarea:focus{outline:2px solid var(--red); border-color:var(--red);}
form.contact-form button{align-self:flex-start; margin-top:6px;}

/* FOOTER */
footer{background:var(--ink); color:var(--bone-dim); padding:56px 0 28px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; margin-bottom:40px;}
@media(max-width:820px){ .foot-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:520px){ .foot-grid{grid-template-columns:1fr;} }
.foot-grid h4{color:var(--bone); font-size:13px; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:16px;}
.foot-grid ul{list-style:none;}
.foot-grid li{margin-bottom:10px; font-size:14.5px;}
.foot-grid a:hover{color:var(--gold);}
.foot-brand{font-family:'Anton',sans-serif; font-size:26px; color:var(--bone); margin-bottom:14px;}
.foot-brand span{color:var(--red);}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.1); padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12.5px; color:#8a8a8a;}

/* 404 */
.page-404{min-height:70vh; display:flex; align-items:center; justify-content:center; text-align:center; background:var(--ink); color:var(--bone); padding:60px 24px;}
.page-404 h1{font-size:clamp(60px,14vw,140px); color:var(--red);}
.page-404 p{color:var(--bone-dim); margin:18px 0 28px; font-size:17px;}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important; transition:none !important;}
}
