*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  --red:#D72B2B;
  --red-dark:#A01E1E;
  --red-glow:rgba(215,43,43,0.35);
  --black:#080808;
  --dark:#111;
  --card:#161616;
  --card2:#1c1c1c;
  --border:#252525;
  --white:#fff;
  --muted:#888;
  --light:#bbb;
}

html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;background:var(--black);color:var(--white);overflow-x:hidden;}

/* ═══════════════════════════════════════
   NAV
═══════════════════════════════════════ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5vw;height:94px;
  background:rgba(8,8,8,0.92);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
  transition:background 0.3s;
}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.nav-logo-icon{
  width:36px;height:36px;border:2px solid var(--red);border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.nav-logo-icon svg{width:20px;height:20px;}
.nav-logo-text{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--white);}
.nav-logo-text span{color:var(--red);}

.nav-links{display:flex;align-items:center;gap:34px;list-style:none;}
.nav-links a{color:var(--muted);font-size:0.78rem;text-decoration:none;letter-spacing:0.12em;text-transform:uppercase;transition:color 0.2s;font-weight:500;}
.nav-links a:hover{color:var(--white);}
.nav-cta{
  background:var(--red);color:var(--white);
  padding:9px 22px;border-radius:1px;
  font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase;
  text-decoration:none;font-weight:600;transition:background 0.2s,box-shadow 0.2s;
  box-shadow:0 0 0 0 var(--red-glow);
}
.nav-cta:hover{background:var(--red-dark);box-shadow:0 0 18px var(--red-glow);}

/* hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;}
.hamburger span{display:block;width:24px;height:2px;background:var(--white);transition:transform 0.3s,opacity 0.3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* mobile nav overlay */
.mobile-nav {
  display: none;
  position: fixed;
  top: 68px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 190;
  background: rgba(8,8,8,0.98);
  backdrop-filter: blur(20px);
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  padding-top: 40px;
  overflow-y: auto;
}
.mobile-nav.open{display:flex;}
.mobile-nav a {
  color: var(--white);
  font-size: 1.5rem;
  font-family: 'Playfair Display',serif;
  text-decoration: none;
  letter-spacing: 0.06em;
  transition: color 0.2s;
  position: relative;
  display: block;
}
.mobile-nav a::after{
  content:'';position:absolute;bottom:-4px;left:0;right:0;
  height:2px;background:var(--red);transform:scaleX(0);
  transition:transform 0.25s;transform-origin:left;
}
.mobile-nav a:hover{color:var(--red);}
.mobile-nav a:hover::after{transform:scaleX(1);}
.mobile-nav .mnav-cta{
  background:var(--red);color:var(--white);
  padding:14px 42px;font-size:1rem;font-family:'Inter',sans-serif;
  font-weight:600;letter-spacing:0.14em;text-transform:uppercase;
  text-decoration:none;margin-top:8px;
}
.mobile-nav a:not(.mnav-cta) {
  padding: 18px 0;
  width: 100%;
  text-align: center;
  border-bottom: 1px solid var(--border);
}

/* ═══════════════════════════════════════
   HERO
═══════════════════════════════════════ */
.hero{
  min-height:100vh;
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  padding:120px 5vw 100px;
}

/* Hero full-cover image background — replace YOUR_HERO_IMAGE.jpg with your image */
.hero-bg{
  position:absolute;inset:0;
  background-image:url('img/bg.jpg');
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  background-color:#0a0a0a;
}
/* Dark gradient overlay so text stays readable */
.hero-bg::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      90deg,
      rgba(8,8,8,0.82) 0%,
      rgba(8,8,8,0.58) 55%,
      rgba(8,8,8,0.38) 100%
    ),
    linear-gradient(
      180deg,
      rgba(8,8,8,0.28) 0%,
      rgba(8,8,8,0.08) 40%,
      rgba(8,8,8,0.50) 100%
    );
}
.svc-card img{width:100%;border-radius:10px;margin-bottom:10px;}


/* Glowing red orb */
.hero-orb{
  position:absolute;
  width:700px;height:700px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(215,43,43,0.18) 0%,transparent 70%);
  bottom:-200px;right:-100px;
  pointer-events:none;
}
.hero-orb2{
  position:absolute;
  width:400px;height:400px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(215,43,43,0.08) 0%,transparent 70%);
  top:10%;left:-100px;
  pointer-events:none;
}

/* Animated diagonal stripe */
.hero-stripe{
  position:absolute;top:0;right:0;
  width:42%;height:100%;
  background:linear-gradient(180deg,rgba(215,43,43,0.06) 0%,transparent 100%);
  clip-path:polygon(30% 0%,100% 0%,100% 100%,0% 100%);
  pointer-events:none;
}

/* Animated barberpole lines */
.pole-lines{
  position:absolute;top:0;right:8%;
  width:3px;height:100%;
  background:repeating-linear-gradient(
    180deg,
    transparent 0px,
    transparent 18px,
    rgba(215,43,43,0.3) 18px,
    rgba(215,43,43,0.3) 24px
  );
  animation:slideDown 4s linear infinite;
}
.pole-lines2{
  position:absolute;top:0;right:9.5%;
  width:3px;height:100%;
  background:repeating-linear-gradient(
    180deg,
    transparent 0px,
    transparent 18px,
    rgba(215,43,43,0.15) 18px,
    rgba(215,43,43,0.15) 24px
  );
  animation:slideDown 6s linear infinite;
}
@keyframes slideDown{
  from{background-position:0 0;}
  to{background-position:0 42px;}
}

.hero-inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 1fr;
  gap:60px;align-items:center;
  max-width:1100px;width:100%;
}

/* Hero image column */
.hero-img-col{
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.hero-img-frame{
  position:relative;
  width:260px;
}
/* outer glow ring */
.hero-img-frame::before{
  content:'';
  position:absolute;inset:-12px;
  border-radius:50% 50% 50% 50% / 60% 60% 40% 40%;
  background:radial-gradient(ellipse,rgba(215,43,43,0.22) 0%,transparent 70%);
  pointer-events:none;z-index:0;
  animation:pulseGlow 3s ease-in-out infinite;
}
/* red side accent bar */
.hero-img-frame::after{
  content:'';
  position:absolute;left:-18px;top:10%;bottom:10%;
  width:3px;background:var(--red);
  border-radius:2px;z-index:2;
}
@keyframes pulseGlow{
  0%,100%{opacity:0.7;transform:scale(1);}
  50%{opacity:1;transform:scale(1.04);}
}
.hero-img-wrap{
  position:relative;z-index:1;
  width:260px;height:380px;overflow:hidden;
  border:2px solid rgba(215,43,43,0.35);
  border-radius:4px;
  background:var(--card);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:0;
  /* Replace background with: background-image:url('YOUR_IMAGE.jpg'); background-size:cover; background-position:center top; */
}
/* decorative corner brackets */
.hero-img-wrap::before{
  content:'';
  position:absolute;top:10px;left:10px;right:10px;bottom:10px;
  border:1px solid rgba(215,43,43,0.15);pointer-events:none;
  border-radius:2px;
}
.hero-img-placeholder{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;padding:20px;text-align:center;
  width:100%;height:100%;
}
.hip-icon{font-size:4.5rem;opacity:0.25;line-height:1;}
.hip-label{
  font-size:0.65rem;letter-spacing:0.22em;text-transform:uppercase;
  color:rgba(255,255,255,0.2);font-weight:600;
  border:1px dashed rgba(255,255,255,0.12);
  padding:7px 14px;
}

/* badge on the image */
.hero-img-badge{
  position:absolute;bottom:-14px;right:-14px;z-index:3;
  width:80px;height:80px;background:var(--red);border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(215,43,43,0.5);
  border:3px solid var(--black);
}
.hib-top{font-size:0.55rem;letter-spacing:0.14em;text-transform:uppercase;opacity:0.85;}
.hib-num{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:900;line-height:1;}
.hib-bot{font-size:0.48rem;letter-spacing:0.12em;text-transform:uppercase;opacity:0.75;}
.hero-left{}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:0.68rem;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--red);font-weight:600;margin-bottom:20px;
}
.hero-eyebrow::before{content:'';width:28px;height:1px;background:var(--red);}

.hero-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(3rem,5.5vw,5rem);
  font-weight:900;line-height:1.0;
  margin-bottom:10px;
}
.hero-title .ht-italic{font-style:italic;color:var(--red);}

.hero-sub{
  font-family:'Dancing Script',cursive;
  font-size:clamp(1.4rem,2.5vw,2rem);
  color:var(--muted);margin-bottom:22px;
}

.hero-desc{
  font-size:0.9rem;color:var(--light);line-height:1.7;
  max-width:420px;margin-bottom:36px;
}

.hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
.btn-red{
  background:var(--red);color:var(--white);
  padding:14px 32px;font-size:0.8rem;
  letter-spacing:0.12em;text-transform:uppercase;
  font-weight:600;text-decoration:none;
  transition:background 0.2s,box-shadow 0.2s;
  box-shadow:0 4px 24px rgba(215,43,43,0.3);
}
.btn-red:hover{background:var(--red-dark);box-shadow:0 4px 36px rgba(215,43,43,0.5);}
.btn-outline{
  border:1px solid var(--border);color:var(--white);
  padding:14px 32px;font-size:0.8rem;
  letter-spacing:0.12em;text-transform:uppercase;
  font-weight:500;text-decoration:none;
  transition:border-color 0.2s;background:transparent;
}
.btn-outline:hover{border-color:var(--muted);}

/* Stats bar */
.hero-stats{
  display:flex;gap:36px;margin-top:44px;padding-top:36px;
  border-top:1px solid var(--border);flex-wrap:wrap;
}
.stat-item .s-num{
  font-family:'Playfair Display',serif;
  font-size:2rem;font-weight:900;color:var(--red);line-height:1;
}
.stat-item .s-lbl{font-size:0.7rem;color:var(--muted);letter-spacing:0.14em;text-transform:uppercase;margin-top:4px;}

/* Hero right: booking card */
.hero-right{}
.booking-card{
  background:var(--card);
  border:1px solid var(--border);
  padding:36px 32px;
  position:relative;overflow:hidden;
}
.booking-card::before{
  content:'';
  position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--red),transparent);
}
.bc-title{
  font-family:'Playfair Display',serif;
  font-size:1.3rem;margin-bottom:6px;font-weight:700;
}
.bc-sub{font-size:0.8rem;color:var(--muted);margin-bottom:28px;}

.form-row{margin-bottom:16px;}
.form-row label{
  display:block;font-size:0.7rem;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--muted);margin-bottom:7px;font-weight:500;
}
.form-row input,
.form-row select,
.form-row textarea{
  width:100%;background:var(--card2);
  border:1px solid var(--border);
  color:var(--white);
  padding:11px 14px;
  font-size:0.88rem;font-family:'Inter',sans-serif;
  outline:none;
  transition:border-color 0.2s,box-shadow 0.2s;
  appearance:none;-webkit-appearance:none;
  border-radius:0;
}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus{
  border-color:var(--red);
  box-shadow:0 0 0 3px rgba(215,43,43,0.12);
}
.form-row textarea{resize:vertical;min-height:80px;}
.form-row select option{background:#1c1c1c;}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

.form-submit{
  width:100%;background:var(--red);color:var(--white);
  border:none;cursor:pointer;
  padding:14px;font-size:0.82rem;
  letter-spacing:0.14em;text-transform:uppercase;font-weight:700;
  font-family:'Inter',sans-serif;
  transition:background 0.2s,box-shadow 0.2s;
  margin-top:6px;
  box-shadow:0 4px 20px rgba(215,43,43,0.25);
}
.form-submit:hover{background:var(--red-dark);box-shadow:0 4px 30px rgba(215,43,43,0.45);}

/* Success toast */
.toast{
  display:none;position:fixed;bottom:30px;right:30px;z-index:999;
  background:var(--red);color:var(--white);
  padding:14px 24px;font-size:0.85rem;font-weight:600;
  letter-spacing:0.06em;box-shadow:0 8px 32px rgba(215,43,43,0.4);
  animation:fadeUp 0.3s ease;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}

/* ═══════════════════════════════════════
   SECTION COMMONS
═══════════════════════════════════════ */
.sec{padding:90px 5vw;}
.sec-dark{background:var(--dark);}
.sec-black{background:var(--black);}
.sec-head{text-align:center;margin-bottom:56px;}
.sec-eye{font-size:0.68rem;letter-spacing:0.3em;color:var(--red);text-transform:uppercase;font-weight:600;margin-bottom:12px;}
.sec-ttl{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;line-height:1.1;}
.sec-rule{width:36px;height:2px;background:var(--red);margin:14px auto 0;}

/* ═══════════════════════════════════════
   SERVICES
═══════════════════════════════════════ */
.services-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;border:1px solid var(--border);
  max-width:1100px;margin:0 auto;
}
.svc-card{
  padding:20px;
  border-right:1px solid var(--border);
  position:relative;overflow:hidden;
  transition:background 0.3s;
}
.svc-card:last-child{border-right:none;}
.svc-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:0;background:var(--red);
  transition:height 0.35s cubic-bezier(0.4,0,0.2,1);
}
.svc-card:hover{background:rgba(215,43,43,0.04);}
.svc-card:hover::after{height:3px;}

.svc-num{
  font-family:'Playfair Display',serif;
  font-size:3.5rem;color:rgba(215,43,43,0.08);
  font-weight:900;line-height:1;margin-bottom:16px;
  display:block;
}
.svc-icon-wrap{
  width:48px;height:48px;background:rgba(215,43,43,0.1);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;font-size:1.4rem;
}
.svc-card h3{font-family:'Playfair Display',serif;font-size:1.05rem;margin-bottom:10px;font-weight:700;}
.svc-card p{font-size:0.82rem;color:var(--muted);line-height:1.7;}

/* ═══════════════════════════════════════
   PRICING
═══════════════════════════════════════ */
.pricing-wrap{max-width:860px;margin:0 auto;}
.pricing-tabs{
  display:flex;flex-wrap:wrap;gap:0;
  border:1px solid var(--border);margin-bottom:0;
}
.tab-btn{
  flex:1;min-width:120px;
  padding:13px 10px;background:var(--card);
  border:none;border-right:1px solid var(--border);
  color:var(--muted);font-size:0.72rem;letter-spacing:0.12em;
  text-transform:uppercase;cursor:pointer;
  font-family:'Inter',sans-serif;font-weight:600;
  transition:all 0.2s;
}
.tab-btn:last-child{border-right:none;}
.tab-btn.active{background:var(--red);color:var(--white);}
.tab-btn:hover:not(.active){background:var(--card2);color:var(--white);}

.price-panel{display:none;border:1px solid var(--border);border-top:none;padding:8px 0;}
.price-panel.active{display:block;}
.price-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:15px 28px;gap:12px;
  border-bottom:1px solid rgba(37,37,37,0.7);
  transition:background 0.15s;
}
.price-row:last-child{border-bottom:none;}
.price-row:hover{background:rgba(255,255,255,0.02);}
.pr-name{font-size:0.92rem;font-weight:500;}
.pr-meta{font-size:0.72rem;color:var(--muted);margin-top:2px;}
.pr-price{
  
  font-size:1.1rem;color:var(--red);font-weight:700;white-space:nowrap;
}

/* ═══════════════════════════════════════
   MARQUEE strip
═══════════════════════════════════════ */
.marquee-sec{
  background:var(--red);padding:14px 0;overflow:hidden;
  border-top:1px solid var(--red-dark);border-bottom:1px solid var(--red-dark);
}
.marquee-track{
  display:flex;gap:0;
  animation:marquee 18s linear infinite;
  white-space:nowrap;
}
.marquee-item{
  padding:0 40px;font-size:0.78rem;letter-spacing:0.22em;
  text-transform:uppercase;font-weight:600;color:rgba(255,255,255,0.85);
  flex-shrink:0;
}
.marquee-dot{color:rgba(255,255,255,0.5);}
@keyframes marquee{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

/* ═══════════════════════════════════════
   WHY US
═══════════════════════════════════════ */
.why-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1px;background:var(--border);
  max-width:1000px;margin:0 auto;
}
.why-card{
  background:var(--dark);
  padding:36px 28px;text-align:center;
  transition:background 0.2s;
}
.why-card:hover{background:#171717;}
.wc-icon{font-size:2rem;margin-bottom:12px;}
.why-card h4{font-size:0.92rem;font-weight:600;margin-bottom:8px;letter-spacing:0.04em;}
.why-card p{font-size:0.8rem;color:var(--muted);line-height:1.6;}

/* ═══════════════════════════════════════
   CONTACT
═══════════════════════════════════════ */
.contact-inner{
  max-width:1000px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  gap:2px;background:var(--border);
}
.contact-map{
  background:var(--card);
  padding:0;overflow:hidden;min-height:320px;
  display:flex;flex-direction:column;
}
.map-header{padding:28px 28px 0;background:var(--card);}
.map-header h3{font-family:'Playfair Display',serif;font-size:1.3rem;margin-bottom:4px;}
.map-header p{font-size:0.8rem;color:var(--muted);}
.map-embed{flex:1;min-height:240px;}
.map-embed iframe{width:100%;height:100%;min-height:240px;border:none;filter:grayscale(1) invert(0.85) contrast(1.1);}

.contact-details{background:var(--card);padding:36px 32px;}
.contact-details h3{font-family:'Playfair Display',serif;font-size:1.3rem;margin-bottom:28px;}
.cd-row{display:flex;gap:14px;margin-bottom:22px;}
.cd-icon{
  width:40px;height:40px;flex-shrink:0;
  background:rgba(215,43,43,0.1);
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;
}
.cd-label{font-size:0.67rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.14em;}
.cd-val{font-size:0.9rem;margin-top:3px;line-height:1.5;}
.cd-val a{color:var(--white);text-decoration:none;}
.cd-val a:hover{color:var(--red);}
.cta-call{
  display:block;background:var(--red);color:var(--white);
  text-align:center;padding:14px;font-weight:700;
  font-size:0.82rem;letter-spacing:0.14em;text-transform:uppercase;
  text-decoration:none;margin-top:28px;
  transition:background 0.2s,box-shadow 0.2s;
  box-shadow:0 4px 20px rgba(215,43,43,0.25);
}
.cta-call:hover{background:var(--red-dark);box-shadow:0 4px 32px rgba(215,43,43,0.45);}

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
footer{
  background:#050505;
  border-top:1px solid var(--border);
  padding:32px 5vw;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
}
.footer-logo{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;}
.footer-logo span{color:var(--red);}
footer p{font-size:0.72rem;color:var(--muted);}
.nav-logo img{width:200px;}
/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;gap:48px;}
  .hero-right{order:1;}
  .hero-left{text-align:center;}
  .hero-eyebrow{justify-content:center;}
  .hero-desc{margin-left:auto;margin-right:auto;}
  .hero-btns{justify-content:center;}
  .hero-stats{justify-content:center;}
  .services-grid{grid-template-columns:1fr 1fr;}
  .svc-card{border-bottom:1px solid var(--border);}
  .contact-inner{grid-template-columns:1fr;}
}

@media(max-width:680px){
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:flex;}
  .services-grid{grid-template-columns:1fr;}
  .svc-card{border-right:none;}
  .form-row-2{grid-template-columns:1fr;}
  .pricing-tabs .tab-btn{font-size:0.65rem;padding:11px 6px;}
  .sec{padding:70px 5vw;}
  footer{flex-direction:column;text-align:center;}
}