/* =========================================================
   HYDERABAD CLOUD KITCHEN
   Shared premium theme — Bootstrap handles the layout.
   ========================================================= */
:root {
  --hk-black: #070b0d;
  --hk-black-2: #0d1316;
  --hk-cream: #f7f3ea;
  --hk-cream-2: #eee9df;
  --hk-gold: #d9a441;
  --hk-gold-2: #f0bf4e;
  --hk-white: #fff;
  --hk-muted: #a8aaab;
  --hk-line: rgba(217,164,65,.34);
  --hk-radius: 18px;
}

/* ==========================================
   MOBILE OFFCANVAS ACTIVE NAVIGATION
========================================== */

.offcanvas .nav-link {
  position: relative;
  color: #fff;
  padding: .8rem 0;
  transition: color .25s ease;
}

.offcanvas .nav-link:hover,
.offcanvas .nav-link.active {
  color: var(--hk-gold-2);
}

.offcanvas .nav-link.active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 5px;
  width: 45px;
  height: 2px;
  background: var(--hk-gold);
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: #171b1d;
  background: var(--hk-cream);
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
}
h1,h2,h3,h4,h5,h6,.serif { font-family: "Playfair Display", Georgia, serif; }
a { text-decoration: none; }
img { max-width: 100%; }
.text-gold { color: var(--hk-gold) !important; }
.bg-dark-hk { background: var(--hk-black); color: #fff; }
.bg-cream { background: var(--hk-cream); }
.section-pad { padding: 60px 0; }
.eyebrow {
  display: inline-block;
  color: var(--hk-gold-2);
  font-weight: 700;
  font-size: .70rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 13px;
}
.section-title { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.08; font-weight: 700; }
.section-subtitle { color: #6e7071; max-width: 650px; line-height: 1.9; }
.dark-copy { color: #c9cbcc; }
.gold-rule {
  width: 94px;
  height: 2px;
  background: var(--hk-gold);
  position: relative;
  margin: 20px 0 26px;
}


/* Static Hyderabad heritage / brand banner */
.heritage-banner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 320px;
  overflow: hidden;
  border-radius: 18px;
  background: #f1eadc;
}

.heritage-content {
  position: relative;
  z-index: 2;
  padding: 15px 25px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.heritage-content .section-title {
  margin: 0;
  max-width: 620px;
}

.heritage-content > p {
  max-width: 600px;
  margin: 16px 0 20px;
  color: #454545;
  line-height: 1.7;
  font-size: .9rem;
}

.heritage-photo {
  position: relative;
  min-height: 320px;
  overflow: hidden;
}

.heritage-photo:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    90deg,
    #f1eadc 0%,
    rgba(241,234,220,.62) 9%,
    rgba(241,234,220,0) 30%
  );
  pointer-events: none;
}

.heritage-photo img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  display: block;
  object-fit: cover;
  object-position: center;
}

.heritage-values {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 650px;
  margin-top: 4px;
}

.heritage-value {
  min-height: 72px;
  padding: 0 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-right: 1px solid rgba(167,123,24,.28);
}

.heritage-value:first-child {
  padding-left: 0;
}

.heritage-value:last-child {
  border-right: 0;
}

.heritage-value i {
  color: #c7962d;
  font-size: 1.65rem;
  line-height: 1;
  margin-bottom: 11px;
}

.heritage-value span {
  color: #171b1d;
  font-size: .74rem;
  line-height: 1.45;
  font-weight: 600;
}

.gold-rule:after {
  content: "✦";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -54%);
  background: inherit;
  color: var(--hk-gold);
  background-color: var(--hk-cream);
  padding: 0 9px;
  font-size: .8rem;
}
.dark-rule:after { background-color: var(--hk-black); }

.hk-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 1030;
  background: rgba(5,9,11,.78);
  border-bottom: 1px solid rgba(255,255,255,.07);
  backdrop-filter: blur(9px);
}


.hk-header.scrolled { position: fixed; background: rgba(5,9,11,.96); }
.navbar-brand { line-height: 1; }
.brand-mark {
  width: 42px; height: 42px; border: 2px solid var(--hk-gold);
  border-radius: 50% 50% 42% 42%;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--hk-gold); font-size: 20px;
}
.brand-text { letter-spacing: .16em; font-weight: 700; font-size: .88rem; color: #fff; }
.brand-tag { color: var(--hk-gold); font-size: .52rem; letter-spacing: .19em; font-weight: 700; margin-top: 3px; }
.navbar .nav-link {
  color: rgba(255,255,255,.92);
  font-size: .87rem;
  padding: 1.35rem .85rem !important;
  position: relative;
}
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--hk-gold-2); }
.navbar .nav-link.active:after {
  content: ""; position: absolute; left: .85rem; right: .85rem; bottom: 10px;
  height: 2px; background: var(--hk-gold);
}
.btn-hk {
  border-radius: 8px;
  padding: .78rem 1.25rem;
  font-weight: 600;
  transition: .25s ease;
}
.btn-hk-gold { background: linear-gradient(135deg,#e8b33f,#f2c65d); color: #111; border: 1px solid #e9b84b; }
.btn-hk-gold:hover { color: #111; transform: translateY(-2px); box-shadow: 0 12px 25px rgba(217,164,65,.22); }
.btn-hk-outline { color: #fff; border: 1px solid rgba(217,164,65,.7); background: rgba(0,0,0,.16); }
.btn-hk-outline:hover { color: #fff; border-color: var(--hk-gold); background: rgba(217,164,65,.08); }
.navbar-toggler { border: 1px solid rgba(217,164,65,.7); }
.navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(217,164,65,.15); }
.offcanvas { background: var(--hk-black); color: #fff; }
.offcanvas .nav-link { color: #fff; padding: .8rem 0; }

.hero {
  min-height: 590px;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: #070b0d;
}
.hero:before {
  content:""; position:absolute; inset:0;
  background: linear-gradient(90deg,rgba(3,7,9,.98) 0%,rgba(3,7,9,.82) 43%,rgba(3,7,9,.18) 78%,rgba(3,7,9,.5) 100%);
  z-index: 1;
}
.hero-image {
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  opacity:.8;
  transform: scale(1.04);
}
.hero-content { position: relative; z-index: 2; }
.hero h1 { font-size: 65px; line-height: .98; max-width: 700px; }
.hero p { max-width: 570px; color: #ddd; line-height: 1.9; }
.hero-curve {
  position:absolute; z-index:3; bottom:0; left:-4%; width:108%; height:74px;
  background: var(--hk-cream);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}
.hero-curve.dark { background: var(--hk-black); }

.feature-float {
  margin-top: -40px; position: relative; z-index: 5;
  background: rgba(255,255,255,.98); border-radius: 20px;
  box-shadow: 0 20px 50px rgba(0,0,0,.12);
}
.feature-item { padding: 27px 25px; border-right: 1px solid #ddd7cb; }
.feature-item:last-child { border-right: 0; }
.icon-circle {
  width: 52px; height: 52px; border-radius: 50%; display:flex; align-items:center; justify-content:center;
  background: #0b1114; color: var(--hk-gold); border: 1px solid var(--hk-gold);
  flex: 0 0 auto;
}
.feature-item h6 { font-weight: 700; margin-bottom: 5px; }
.feature-item p { margin:0; color:#777; font-size:.78rem; line-height:1.55; }

.category-card {
  position: relative; overflow:hidden; min-height: 255px; border-radius: 14px;
  border: 1px solid rgba(255,255,255,.18); background:#101518;
}
.category-card img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:.5s ease; }
.category-card:after {
  content:""; position:absolute; inset:0;
  background: linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,.06) 70%);
}
.category-card:hover img { transform:scale(1.07); }
.category-content { position:absolute; z-index:2; left:20px; right:20px; bottom:18px; color:#fff; }
.category-content h4 { margin:0; font-size:1.4rem; }
.category-content span { color:#f2c65d; font-size:.78rem; }

.about-dark { background: var(--hk-black); color:#fff; position:relative; overflow:hidden; }
.about-dark:before {
  content:""; position:absolute; width:300px; height:300px; border:1px solid rgba(217,164,65,.18);
  border-radius:50%; right:-120px; top:-100px;
}
.about-photo { border-radius:20px; overflow:hidden; border:1px solid rgba(217,164,65,.6); position:relative; }
.about-photo img { width:100%; height:520px; object-fit:cover; }
.experience-badge {
  position:absolute; right:10px; bottom:35px; width:130px; height:130px; border-radius:50%;
  background:#0a1114; border:2px solid var(--hk-gold); display:flex; flex-direction:column;
  align-items:center; justify-content:center; color:#fff; text-align:center;
}
.experience-badge strong { color:var(--hk-gold-2); font: 700 2.5rem "Playfair Display",serif; }
.experience-badge span{font-size:12px; font-weight: 500;}

.stats-strip {
  background: linear-gradient(120deg,#07131c,#101e29);
  color:#fff; border-radius:18px; padding:10px 10px;
  border:1px solid rgba(217,164,65,.12);
}
.stat { text-align:center; padding:10px 18px; border-right:1px solid rgba(255,255,255,.16); }
.stat:last-child { border-right:0; }
.stat i { color:var(--hk-gold); font-size:1.5rem; }
.stat strong { display:block; color:var(--hk-gold-2); font:700 2rem "Playfair Display",serif; }
.stat span { font-size:.76rem; color:#ddd; }

.offer-banner {
  overflow:hidden; position:relative; border-radius:18px; min-height:280px;
  background:#f1eadc;
}
.offer-banner img { position:absolute; right:0; top:0; width:54%; height:100%; object-fit:cover; }
.offer-banner:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#f1eadc 35%,rgba(241,234,220,.55) 57%,rgba(241,234,220,0) 100%); }
.offer-content { position:relative; z-index:2; padding:55px; max-width:60%; }
.coupon {
  display:inline-flex; border:1px dashed #b99b65; padding:.6rem 1.2rem; border-radius:8px;
  font-weight:700; letter-spacing:.08em; margin:12px 0 18px;
}

.testimonial-card {
  background:#fff; border:1px solid #e1dbd0; border-radius:16px; padding:28px; height:100%;
}
.stars { color:var(--hk-gold-2); letter-spacing:2px; }
.customer { display:flex; align-items:center; gap:12px; margin-top:20px; }
.avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; }
.customer small { color:#777; }
/* 
.newsletter {
  background:#081014; color:#fff; border-radius:18px; padding:32px 38px; overflow:hidden;
  border:1px solid rgba(217,164,65,.22);
}
.newsletter h3 { font-size:2rem; }
.newsletter .form-control { min-height:52px; } */

/* Final static CTA banner */
.final-cta {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 250px;
  overflow: hidden;
  border-radius: 18px;
  background: #080d10;
  border: 1px solid rgba(217,164,65,.55);
}

.final-cta-content {
  position: relative;
  z-index: 2;
  padding: 20px 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* background: radial-gradient(circle at 90% 10%, rgba(217,164,65,.08), transparent 35%),#080d10; */
}

.final-cta-content .section-title {
  color: #fff;
  margin: 0;
}

.final-cta-content > p {
  max-width: 600px;
  margin: 20px 0 22px;
  color: #d2d4d5;
  line-height: 1.8;
  font-size: .94rem;
}

.final-cta-content .dark-rule:after {
  background-color: #080d10;
}

.final-cta-values {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 670px;
}

.final-cta-value {
  min-height: 94px;
  padding: 0 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-right: 1px solid rgba(217,164,65,.35);
}

.final-cta-value:first-child { padding-left: 0; }
.final-cta-value:last-child { border-right: 0; }

.final-cta-value i {
  color: var(--hk-gold-2);
  font-size: 1.55rem;
  margin-bottom: 10px;
}

.final-cta-value span {
  color: #f4f4f4;
  font-size: .7rem;
  line-height: 1.45;
  font-weight: 600;
}

.final-cta-photo {
  position: relative;
  min-height: 250px;
  overflow: hidden;
}

.final-cta-photo:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, #080d10 0%, rgba(8,13,16,.68) 8%, rgba(8,13,16,0) 35%);
  pointer-events: none;
}

.final-cta-photo img {
  width: 100%;
  height: 100%;
  min-height: 250px;
  display: block;
  object-fit: cover;
  object-position: right center;
}

.menu-filter { gap:10px; overflow-x:auto; padding-bottom:5px; scrollbar-width:none; }
.menu-filter::-webkit-scrollbar { display:none; }
.filter-btn {
  white-space:nowrap; border:1px solid #ded8ce; background:#fff; color:#222;
  border-radius:50px; padding:.7rem 1.2rem; font-weight:600; transition:.2s;
}
.filter-btn.active,.filter-btn:hover { background:#080d10; color:#fff; border-color:#080d10; }
.filter-btn i { color:var(--hk-gold); margin-right:6px; }

.menu-card {
  background:#fff; border:1px solid #dfd9cf; border-radius:16px; overflow:hidden;
  height:100%; transition:.25s; display:flex; flex-direction:column;
}
.menu-card:hover { transform:translateY(-5px); box-shadow:0 16px 35px rgba(0,0,0,.08); }
.menu-card-img { height:210px; overflow:hidden; }
.menu-card-img img { width:100%; height:100%; object-fit:cover; transition:.45s; }
.menu-card:hover .menu-card-img img { transform:scale(1.06); }
.menu-card-body { padding:20px; flex:1; display:flex; flex-direction:column; }
.menu-card-body h5 { margin-bottom:6px; }
.menu-card-body p { color:#777; font-size:.82rem; line-height:1.6; }
.price { color:#111; font-weight:800; }
.item-meta { margin-top:auto; display:flex; align-items:center; justify-content:space-between; }

.menu-feature {
  display:grid; grid-template-columns:1fr 1fr; background:#fff; border:1px solid #ddd7cd;
  border-radius:16px; overflow:hidden;
}
.menu-feature img { width:100%; height:100%; min-height:220px; object-fit:cover; }
.menu-feature-content { padding:30px; }

.gallery-card {
  position:relative; overflow:hidden; border-radius:15px; cursor:pointer; background:#111;
  min-height:260px;
}
.gallery-card.tall { min-height:410px; }
.gallery-card img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:.5s; }
.gallery-card:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.02) 70%); }
.gallery-card:hover img { transform:scale(1.07); }
.gallery-caption { position:absolute; z-index:2; left:18px; bottom:15px; color:#fff; }
.gallery-caption small { color:#f0bf4e; }

.story-head {
  margin-bottom: 0;
}

.story-collage {
  display: grid;
  grid-template-columns: 1.55fr 0.85fr;
  grid-template-rows: repeat(2, 1fr);
  gap: 14px;
  height: 520px;
}

.story-collage .main {
  grid-row: 1 / -1;
}

.story-collage .sec {
  min-height: 0;
}

.story-collage img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  object-fit: cover;
  border-radius: 18px;
}
.value-card { padding:35px 22px; text-align:center; color:#fff; border-right:1px solid rgba(217,164,65,.35); }
.value-card:last-child { border-right:0; }
.value-card i { color:var(--hk-gold); font-size:2rem; }
.value-card h5 { margin-top:15px; }
.team-card { background:#fff; border:1px solid #e1dbd0; border-radius:14px; overflow:hidden; height:100%; box-shadow:0 7px 20px rgba(0,0,0,.05); }
.team-card img { width:100%; height:350px; object-fit:cover; }
.team-card-body { padding:16px; text-align:center; }
.team-card-body small { color:var(--hk-gold); font-weight:700; }
.team-card-body p { color:#777; font-size:.76rem; line-height:1.55; margin:7px 0 0; }

.contact-info { padding-right:35px; border-right:1px dashed #cfc8bc; }
.contact-row { display:flex; gap:18px; margin-bottom:25px; }
.contact-row .icon-circle { width:48px; height:48px; }
.contact-row h6 { margin-bottom:5px; }
.contact-row p { margin:0; color:#666; line-height:1.7; font-size:.9rem; }
.contact-form .form-control,.contact-form .form-select {
  min-height:56px; border:1px solid #ddd7ce; border-radius:8px; box-shadow:none;
}
.contact-form textarea.form-control { min-height:150px; }
.map-wrap { position:relative; height:370px; overflow:hidden; }
.map-wrap img { width:100%; height:100%; object-fit:cover; filter:saturate(.7); }
.map-overlay {
  position:absolute; left:6%; top:50%; transform:translateY(-50%);
  width:min(340px,86%); background:#080e11; color:#fff; border-radius:15px; padding:30px;
  box-shadow:0 15px 35px rgba(0,0,0,.3);
}
.map-overlay h3 { color:var(--hk-gold-2); }

/* =========================================================
   FOOTER
   Static Website Footer
========================================================= */

.footer {
  background: var(--hk-black);
  color: #fff;
  border-top: 1px solid rgba(217,164,65,.15);
}


/* =========================================================
   FOOTER MAIN
========================================================= */

.footer-main {
  padding: 55px 0 42px;
}


/* =========================================================
   BRAND
========================================================= */

.footer-brand {
  padding-right: 25px;
}

.footer-brand > a {
  line-height: 1;
}

.footer-brand .brand-text {
  color: #fff;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.footer-brand .brand-tag {
  margin-top: 5px;
  color: var(--hk-gold);
  font-size: .5rem;
  font-weight: 700;
  letter-spacing: .18em;
}

.footer-description {
  max-width: 340px;
  margin: 20px 0 20px;
  color: #9ea3a5;
  font-size: .82rem;
  line-height: 1.8;
}


/* =========================================================
   SOCIAL ICONS
========================================================= */

.socials {
  display: flex;
  align-items: center;
  gap: 10px;
}

.socials a {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  color: #080d10;
  font-size: 15px;
  transition: .25s ease;
}

.socials a:hover {
  background: var(--hk-gold);
  color: #111;
  transform: translateY(-3px);
}


/* =========================================================
   FOOTER COLUMNS
========================================================= */

.footer-column {
  height: 100%;
}

.footer-title {
  margin-bottom: 21px;
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
}


/* =========================================================
   QUICK LINKS
========================================================= */

.footer-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-links a {
  display: block;
  width: fit-content;
  color: #b8babc;
  font-size: .78rem;
  line-height: 1.5;
  text-decoration: none;
  transition: .2s ease;
}

.footer-links a:hover {
  padding-left: 4px;
  color: var(--hk-gold-2);
}


/* =========================================================
   CONTACT
========================================================= */

.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 11px;
}

.footer-contact-item > i {
  flex: 0 0 16px;
  padding-top: 1px;
  color: var(--hk-gold);
  font-size: 14px;
  text-align: center;
}

.footer-contact-item > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.footer-contact-item span,
.footer-contact-item a {
  color: #b8babc;
  font-size: .76rem;
  line-height: 1.6;
  text-decoration: none;
  word-break: break-word;
}

.footer-contact-item a:hover {
  color: var(--hk-gold-2);
}


/* =========================================================
   OPENING HOURS
========================================================= */

.footer-hours {
  display: flex;
  align-items: flex-start;
  gap: 13px;
}

.footer-hours-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(217,164,65,.55);
  border-radius: 50%;
  color: var(--hk-gold);
  font-size: 15px;
}

.footer-hours strong {
  display: block;
  margin-bottom: 5px;
  color: #fff;
  font-size: .76rem;
  font-weight: 600;
}

.footer-hours span {
  display: block;
  color: #b8babc;
  font-size: .75rem;
  line-height: 1.6;
}

.footer-hours-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 19px;
  color: #8f9597;
  font-size: .7rem;
  line-height: 1.6;
}

.footer-hours-note i {
  padding-top: 2px;
  color: var(--hk-gold);
  flex: 0 0 auto;
}


/* =========================================================
   COPYRIGHT
========================================================= */

.footer-copy {
  border-top: 1px solid rgba(255,255,255,.08);
}

.footer-copy-inner {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.footer-copy p,
.footer-copy span {
  margin: 0;
  color: #858b8d;
  font-size: .72rem;
  line-height: 1.5;
}

.footer-copy span i {
  margin: 0 2px;
  color: var(--hk-gold);
}


.contact-renovation {
  background: #f6f1e8;
}

.contact-details-card,
.contact-message-card {
  padding: 30px 30px;
  border-radius: 22px;
  border: 1px solid #e3d8c7;
  background: #fffdf8;
  box-shadow: 0 12px 35px rgba(29, 25, 19, 0.06);
}

.contact-details-card {
  background: #171d20;
  color: #fff;
  border-color: rgba(217, 164, 65, 0.35);
}

.contact-details-card .section-title {
  color: #fff;
}

.contact-intro {
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.7;
  margin-bottom: 0;
}

.contact-detail-item {
  display: flex;
  gap: 13px;
  padding: 17px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
}

.contact-detail-icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #e0ab38;
  background: #0b1012;
  border: 1px solid rgba(217, 164, 65, 0.55);
}

.contact-detail-item h6 {
  margin: 2px 0 6px;
  color: #fff;
}

.contact-detail-item p,
.contact-detail-item a {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.88rem;
  line-height: 1.6;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.contact-detail-item a:hover {
  color: #e0ab38;
}



.contact-socials a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #171d20;
  background: #fff;
  transition: 0.25s ease;
}

.contact-socials a:hover {
  color: #fff;
  background: #d2a03a;
  transform: translateY(-3px);
}

.contact-message-card .form-control,
.contact-message-card .form-select {
  min-height: 50px;
  border-color: #ded7cb;
  background-color: #fff;
}

.contact-message-card textarea.form-control {
  min-height: 150px;
  resize: vertical;
}

.contact-message-card .form-control:focus,
.contact-message-card .form-select:focus {
  border-color: #c89527;
  box-shadow: 0 0 0 0.2rem rgba(200, 149, 39, 0.14);
}

.contact-map-card {
  overflow: hidden;
  border-radius: 22px;
  background: #171d20;
  box-shadow: 0 12px 35px rgba(29, 25, 19, 0.08);
}

.map-content {
  padding: clamp(30px, 4vw, 52px);
  color: #fff;
}

.map-content h3 {
  margin: 10px 0 16px;
  font-family: "Playfair Display", serif;
  font-size: clamp(2rem, 3vw, 3rem);
}

.map-content p {
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.7;
}

.contact-map-frame {
  margin: 0;
  overflow: hidden;
  border: 1px solid #070b0d;
  border-left: 0;
  border-radius: 0 22px 22px 0;
  box-sizing: border-box;
}

.contact-map-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}


.reveal { opacity:0; transform:translateY(22px); transition:opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }
.zoom-in { animation:zoomIn 1.2s ease both; }
@keyframes zoomIn { from{transform:scale(1.08);opacity:.35} to{transform:scale(1);opacity:.8} }

.modal-content { border:0; border-radius:16px; overflow:hidden; }
.lightbox-img { width:100%; max-height:75vh; object-fit:contain; background:#070b0d; }
.toast-container { z-index:1100; }

@media (max-width: 991.98px) {
  .navbar .nav-link { padding:.65rem 0 !important; }
  .navbar .nav-link.active:after { left:0; right:auto; width:45px; bottom:3px; }
  .hero { min-height:640px; }
  .hero-content { padding-top:120px; }
  .feature-item { border-right:0; border-bottom:1px solid #ddd7cb; }
  .feature-item:last-child { border-bottom:0; }
  .contact-info { border-right:0; padding-right:0; border-bottom:1px dashed #cfc8bc; padding-bottom:30px; margin-bottom:30px; }
  .value-card { border-right:0; border-bottom:1px solid rgba(217,164,65,.35); }
  .value-card:last-child { border-bottom:0; }
  .contact-map-frame {border: 1px solid var(--hk-black-2); border-radius: 0 0 22px 22px;}
  

  

    
}
@media (max-width: 767.98px) {
  .section-pad { padding:65px 0; }
  .hero { min-height:610px; }
  .hero h1 { font-size:clamp(2.55rem,12vw,4rem); }
  .hero p { font-size:.9rem; }
  .hero-curve { height:42px; }
  .feature-float { margin-top:-15px; }
  .about-photo img { height:390px; }
  .experience-badge { left:12px; bottom:18px; width:105px; height:105px; }
  .experience-badge strong { font-size:1.5rem; }
  .offer-content { padding:32px 25px; max-width:75%; }
  .offer-banner img { width:60%; opacity:.75; }
  .offer-banner:after { background:linear-gradient(90deg,#f1eadc 38%,rgba(241,234,220,.78) 66%,rgba(241,234,220,.1)); }
  .menu-feature { grid-template-columns:1fr; }
  .menu-feature img { min-height:230px; }
  .story-collage {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    height: auto;
  }

  .story-collage .main {
    grid-row: auto;
  }

  .story-collage img {
    height: 280px;
  }
  .gallery-card,.gallery-card.tall { min-height:270px; }
  /* .newsletter { padding:28px 22px; } */

  .heritage-banner {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .heritage-content {
    padding: 42px 30px;
    order: 1;
  }

  .heritage-photo {
    min-height: 280px;
    order: 2;
  }

  .heritage-photo img {
    min-height: 280px;
    max-height: 300px;
  }

  .heritage-photo:before {
    background: linear-gradient(180deg, #f1eadc 0%, rgba(241,234,220,0) 22%);
  }

  .heritage-values {
    grid-template-columns: repeat(2, 1fr);
    max-width: none;
  }

  .heritage-value:nth-child(2) {
    border-right: 0;
  }

  .heritage-value:nth-child(-n+2) {
    border-bottom: 1px solid rgba(167,123,24,.28);
    padding-bottom: 18px;
  }

  .heritage-value:nth-child(n+3) {
    padding-top: 18px;
  }

  .final-cta {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .final-cta-content {
    padding: 42px 30px;
    order: 1;
  }

  .final-cta-photo {
    min-height: 360px;
    order: 2;
  }

  .final-cta-photo img {
    min-height: 280px;
    max-height: 300px;
  }

  .final-cta-photo:before {
    background: linear-gradient(180deg, #080d10 0%, rgba(8,13,16,0) 24%);
  }

  .final-cta-values {
    grid-template-columns: repeat(2, 1fr);
    max-width: none;
  }

  .final-cta-value:nth-child(2) { border-right: 0; }

  .final-cta-value:nth-child(-n+2) {
    border-bottom: 1px solid rgba(217,164,65,.35);
    padding-bottom: 18px;
  }

  .final-cta-value:nth-child(n+3) { padding-top: 18px; }


  
}
@media (max-width: 480px) {
  .brand-mark { width:35px; height:35px; font-size:16px; }
  .brand-text { font-size:.66rem; letter-spacing:.12em; }
  .brand-tag { font-size:.4rem; letter-spacing:.14em; }
  .hero-content { padding-top:10px; }
  .hero .btn-hk { width:100%; }
  .offer-content { max-width:100%; position:relative; z-index:3; }
  .offer-banner img { opacity:.38; width:100%; }
  .offer-banner:after { background:rgba(241,234,220,.76); }
  .heritage-content {
    padding: 35px 20px;
  }

  .heritage-content .section-title {
    font-size: clamp(2rem, 10vw, 2.75rem);
  }

  .heritage-content > p {
    font-size: .84rem;
    line-height: 1.75;
    margin: 18px 0 20px;
  }

  .heritage-values {
    grid-template-columns: 1fr 1fr;
  }

  .heritage-value {
    padding-left: 8px;
    padding-right: 8px;
    min-height: 105px;
  }

  .heritage-value:first-child {
    padding-left: 8px;
  }

  .heritage-value span {
    font-size: .68rem;
  }

  .heritage-photo,
  .heritage-photo img {
    min-height: 280px;
    max-height: 320px;
  }

  .final-cta-content { padding:35px 20px; }

  .final-cta-content .section-title {
    font-size:clamp(2rem,10vw,2.75rem);
  }

  .final-cta-content > p {
    font-size:.84rem;
    line-height:1.75;
  }

  .final-cta-values { grid-template-columns:1fr 1fr; }

  .final-cta-value {
    padding-left:7px;
    padding-right:7px;
    min-height:105px;
  }

  .final-cta-value:first-child { padding-left:7px; }

  .final-cta-value span { font-size:.66rem; }

  .final-cta-photo,
  .final-cta-photo img {
    min-height:280px;
    max-height:320px;
  }

  .map-overlay { left:5%; }

  .contact-details-card,
  .contact-message-card {
    padding: 25px 20px;
    border-radius: 16px;
  }

  .contact-map-card {
    border-radius: 16px;
  }

  .contact-map-frame {
    --bs-aspect-ratio: 75%;
  }
  .contact-socials span{
    font-size: 12px;
  }

  .contact-message-card h2{
    font-size: 32px !important;
  }

  .map-content br{
    display: none;
    
    
  }

  .footer-copy-inner a{
    line-height: 12px !important;
  }

  .footer-copy p, .footer-copy span{
    font-size: 10px !important;
  }


  

}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *:before, *:after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}






