/* Brahma Constructions — post-launch UI enhancements */

/* ---------- Testimonials: single premium slide ---------- */
.tc-track { --tc-per-view: 1 !important; }
.tc-slide { flex: 0 0 100% !important; max-width: 100% !important; }
.tc-root { max-width: 880px; margin-inline: auto; }
.tc-card {
  padding: 44px 44px 36px !important;
  border-radius: 18px !important;
  min-height: 300px;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(30, 27, 20, .05), 0 30px 60px -28px rgba(30, 27, 20, .35) !important;
}
.tc-quote { font-size: 1.6rem !important; line-height: 1.25 !important; }
.tc-text { font-size: 1.0625rem !important; line-height: 1.75 !important; opacity: .82 !important; }
.tc-avatar, .tc-avatar-initials { flex: 0 0 56px !important; width: 56px !important; height: 56px !important; }
.tc-controls { margin-top: 28px !important; }
@media (max-width: 767px) {
  .tc-card { padding: 28px 22px 24px !important; min-height: 0; }
  .tc-quote { font-size: 1.25rem !important; }
}

/* ---------- Ongoing Projects: larger text, no clipped media ---------- */
.rp-viewport { -webkit-mask-image: none !important; mask-image: none !important; }
.rp-media { aspect-ratio: 4 / 3 !important; }
.rp-img { object-fit: cover !important; object-position: center center !important; }
.rp-cat { font-size: .95rem !important; letter-spacing: .1em !important; }
.rp-title { font-size: 1.9rem !important; line-height: 1.2 !important; }
.rp-meta { padding-top: 1.25rem !important; }
@media (max-width: 767px) {
  .rp-title { font-size: 1.5rem !important; }
  .rp-cat { font-size: .85rem !important; }
}

/* ---------- Ongoing Projects listing cards (enhanced details) ---------- */
.project-grids {
  --pg-gap: 28px;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: var(--pg-gap) !important;
}
.project-item-cms { display: flex; flex-direction: column; height: 100%; }
.project-image-cms { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 14px; background: #e8e2d6; }
.project-image-cms img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.22,1,.36,1); }
.project-item-cms:hover .project-image-cms img { transform: scale(1.05); }
.project-titles { padding: 20px 6px 8px; flex: 1 0 auto; }
.project-titles .category { font-size: .78rem !important; letter-spacing: .12em !important; color: #8a6a24; }
.project-titles .details-heading-dark { font-size: 1.65rem !important; line-height: 1.2 !important; margin: .4rem 0 .55rem; color: #1e1b14; }
.project-desc {
  color: #55503f; font-size: .95rem; line-height: 1.65; margin: 0 0 .6rem;
}
.project-amenities {
  list-style: none; padding: 0; margin: .6rem 0 0; display: flex; flex-wrap: wrap; gap: 6px;
}
.project-amenities li {
  font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: #6b4e1e;
  background: rgba(196,162,101,.12); border: 1px solid rgba(196,162,101,.35); border-radius: 999px; padding: 5px 11px;
}
.project-cta {
  display: inline-flex; align-items: center; gap: 6px; margin-top: .9rem;
  font-size: .85rem; font-weight: 600; color: #6b4e1e; text-decoration: none;
}
.project-cta:hover { color: #533c15; }
.project-cta svg { width: 14px; height: 14px; }
@media (max-width: 767px) {
  .project-grids { grid-template-columns: 1fr !important; gap: 36px !important; }
  .project-titles { padding: 18px 0 6px; }
  .project-titles .details-heading-dark { font-size: 1.4rem !important; }
  .project-desc { font-size: .9rem; }
  .project-image-cms { border-radius: 12px; }
}

/* ---------- Footer heading thumbnail ---------- */
.span-image {
  display: none !important;
}

/* ---------- Inquiry form ---------- */
.bq-section { background: #f6f2ea; padding: 96px 0; }
.bq-inner {
  width: min(1120px, calc(100% - 3rem));
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 56px;
  align-items: start;
}
.bq-eyebrow { letter-spacing: .12em; text-transform: uppercase; font-size: .8rem; color: #6b4e1e; }
.bq-title { font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.1; margin: .6rem 0 1rem; color: #1e1b14; }
.bq-sub { color: #55503f; font-size: 1.05rem; line-height: 1.7; max-width: 46ch; }
.bq-points { list-style: none; padding: 0; margin: 2rem 0 0; display: grid; gap: .85rem; }
.bq-points li { display: flex; gap: .6rem; align-items: flex-start; color: #3c3729; font-size: .98rem; }
.bq-points li:before { content: "—"; color: #c4a265; }
.bq-card {
  background: #fffdf9;
  border: 1px solid rgba(200, 194, 180, .6);
  border-radius: 18px;
  padding: 36px;
  box-shadow: 0 2px 4px rgba(30, 27, 20, .04), 0 30px 60px -30px rgba(30, 27, 20, .3);
}
.bq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.bq-field { display: flex; flex-direction: column; gap: .4rem; }
.bq-field.bq-full { grid-column: 1 / -1; }
.bq-field label { font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: #6b4e1e; }
.bq-field input, .bq-field select, .bq-field textarea {
  font: inherit; font-size: .98rem; color: #1e1b14; background: #fff;
  border: 1px solid rgba(200, 194, 180, .9); border-radius: 10px; padding: 12px 14px;
  outline: none; transition: border-color .2s, box-shadow .2s;
}
.bq-field textarea { min-height: 110px; resize: vertical; }
.bq-field input:focus, .bq-field select:focus, .bq-field textarea:focus {
  border-color: #c4a265; box-shadow: 0 0 0 3px rgba(196, 162, 101, .18);
}
.bq-submit {
  grid-column: 1 / -1; margin-top: .4rem; cursor: pointer;
  background: #6b4e1e; color: #fffdf9; border: 0; border-radius: 999px;
  padding: 15px 28px; font-size: 1rem; letter-spacing: .02em;
  transition: background-color .25s, transform .2s;
}
.bq-submit:hover { background: #533c15; transform: translateY(-1px); }
.bq-note { margin: 1rem 0 0; font-size: .82rem; color: #6f6a59; }
.bq-done { margin: 1rem 0 0; font-size: .95rem; color: #3f6b3f; display: none; }
.bq-done.is-visible { display: block; }
@media (max-width: 900px) {
  .bq-section { padding: 64px 0; }
  .bq-inner { grid-template-columns: 1fr; gap: 32px; }
  .bq-card { padding: 26px; }
  .bq-grid { grid-template-columns: 1fr; }
}

/* ---------- Gallery page ---------- */
.bg-section { padding: 88px 24px 96px; background: #fffdf9; }
.bg-section > .global-container { max-width: 1200px; margin-inline: auto; }
.bg-head { max-width: 720px; margin-bottom: 40px; }
.bg-eyebrow { letter-spacing: .12em; text-transform: uppercase; font-size: .8rem; color: #6b4e1e; }
.bg-title { font-size: clamp(1.9rem, 3vw, 2.8rem); line-height: 1.15; margin: .5rem 0 .8rem; color: #1e1b14; }
.bg-sub { color: #55503f; font-size: 1.05rem; line-height: 1.7; margin: 0; }
.bg-video { margin-bottom: 48px; }
.bg-video video { width: 100%; display: block; border-radius: 16px; background: #1e1b14; box-shadow: 0 30px 60px -32px rgba(30,27,20,.5); }
.bg-video-cap { margin-top: .75rem; font-size: .9rem; color: #6f6a59; letter-spacing: .04em; }
.bg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.bg-item { margin: 0; position: relative; overflow: hidden; border-radius: 14px; }
.bg-item img { width: 100%; height: 320px; object-fit: cover; display: block; transition: transform .7s cubic-bezier(.22,1,.36,1); }
.bg-item:hover img { transform: scale(1.05); }
.bg-item figcaption {
  position: absolute; inset: auto 0 0 0; padding: 40px 16px 14px; color: #fffdf9; font-size: .92rem;
  background: linear-gradient(rgba(0,0,0,0) 0%, rgba(0,0,0,.72) 100%);
}
@media (max-width: 991px) { .bg-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .bg-section { padding: 56px 18px 64px; } .bg-grid { grid-template-columns: 1fr; } .bg-item img { height: 240px; } }

/* ---------- Tagline strip ---------- */
.bq-tagline { background: linear-gradient(180deg, #17140f 0%, #221d15 100%); color: #ece5da; padding: 44px 0; border-top: 1px solid rgba(196,162,101,.28); border-bottom: 1px solid rgba(196,162,101,.28); font-family: "Bricolage Grotesque", "Segoe UI", sans-serif; }
.bq-tagline-inner { width: min(1120px, calc(100% - 3rem)); margin-inline: auto; text-align: center; }
.bq-tagline h2 { font-family: "Bricolage Grotesque", "Segoe UI", sans-serif; font-size: clamp(1.3rem, 2.2vw, 1.9rem); margin: 0; color: #ece5da; font-weight: 400; letter-spacing: .005em; line-height: 1.45; }
.bq-tagline h2 strong { color: #c9a66b; font-weight: 700; }
.bq-tagline ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 14px; margin: 22px 0 0; padding: 0; }
.bq-tagline li { font-family: "Bricolage Grotesque", "Segoe UI", sans-serif; color: #d9cfbf; font-size: .82rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; padding: 8px 18px; border: 1px solid rgba(196,162,101,.32); border-radius: 999px; background: rgba(196,162,101,.07); }
.bq-tagline li:before { content: "\25C6"; color: #c4a265; margin-right: .55rem; font-size: .6rem; vertical-align: middle; }

/* ---------- Instagram social link ---------- */

.team-section{display:none !important;}

/* Gallery: reels + posters */
.bg-subhead{margin:72px 0 26px}
.bg-subhead:first-of-type{margin-top:0}
.bg-subhead h3{font-size:1.9rem;margin:0 0 8px;letter-spacing:-.01em}
.bg-subhead p{margin:0;opacity:.72;max-width:56ch;font-size:1.02rem}
.bg-reels{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.bg-reel{margin:0;background:#0e0e0e;border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.14)}
.bg-reel video{width:100%;aspect-ratio:9/16;object-fit:contain;display:block;background:#000}
.bg-reel figcaption,.bg-poster figcaption{display:block;padding:16px 18px 20px}
.bg-reel figcaption{color:#fff}
.bg-reel figcaption strong,.bg-poster figcaption strong{display:block;font-size:1.05rem;margin-bottom:6px}
.bg-reel figcaption span,.bg-poster figcaption span{display:block;font-size:.92rem;opacity:.75;line-height:1.5}
.bg-posters{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.bg-poster{margin:0;border-radius:16px;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 14px 40px rgba(0,0,0,.08);transition:transform .35s ease,box-shadow .35s ease}
.bg-poster:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(0,0,0,.14)}
.bg-poster img{width:100%;height:auto;display:block}
@media (max-width:991px){.bg-reels,.bg-posters{grid-template-columns:repeat(2,1fr);gap:28px}}
@media (max-width:640px){.bg-reels,.bg-posters{grid-template-columns:1fr;gap:24px}.bg-subhead{margin-top:56px}}

/* Required-field marker */
.bq-req{color:#c0392b;font-weight:700;margin-left:2px}

/* Gallery typography: Bricolage Grotesque */
.bg-section,.bg-section .bg-eyebrow,.bg-section .bg-title,.bg-section .bg-sub,
.bg-subhead h3,.bg-subhead p,
.bg-reel figcaption,.bg-poster figcaption,
.bg-reel figcaption strong,.bg-poster figcaption strong,
.bg-reel figcaption span,.bg-poster figcaption span{
  font-family:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",sans-serif;
}
.bg-section .bg-title,.bg-subhead h3{font-weight:600;letter-spacing:-.02em}
.bg-reel figcaption strong,.bg-poster figcaption strong{font-weight:600;letter-spacing:-.01em}
.bg-section .bg-sub,.bg-subhead p{font-weight:400}

/* Gallery reels: professional player shell */
.bg-reels{gap:28px}
.bg-reel{position:relative;background:#0b0b0b;border-radius:20px;border:1px solid rgba(255,255,255,.06);
  box-shadow:0 24px 60px -24px rgba(24,20,12,.45);transition:transform .4s ease,box-shadow .4s ease}
.bg-reel:hover{transform:translateY(-6px);box-shadow:0 34px 80px -28px rgba(24,20,12,.55)}
.bg-reel video{aspect-ratio:9/16;object-fit:cover;background:#0b0b0b;cursor:pointer}
.bg-reel-ui{position:absolute;inset:0;bottom:auto;height:min(100%,calc(100% - 96px));pointer-events:none}
.bg-reel-btn{pointer-events:auto;position:absolute;border:0;cursor:pointer;font:inherit;
  backdrop-filter:blur(8px);transition:opacity .25s ease,transform .25s ease,background .25s ease}
.bg-reel-play{left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;
  background:rgba(255,255,255,.9)}
.bg-reel-play::after{content:"";position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);
  border-left:18px solid #1c1408;border-top:11px solid transparent;border-bottom:11px solid transparent}
.bg-reel.is-playing .bg-reel-play{opacity:0}
.bg-reel.is-playing:hover .bg-reel-play{opacity:.85;background:rgba(255,255,255,.75)}
.bg-reel.is-playing .bg-reel-play::after{border-left:0;width:14px;height:16px;
  border-left:5px solid #1c1408;border-right:5px solid #1c1408;box-sizing:border-box}
.bg-reel-sound{right:14px;top:14px;padding:7px 14px;border-radius:999px;color:#fff;
  background:rgba(12,12,12,.55);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.bg-reel-sound:hover{background:rgba(12,12,12,.8)}
.bg-reel figcaption{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
  padding:18px 20px 22px;border-top:1px solid rgba(255,255,255,.07)}

/* ---------- Hero: balance vertical spacing (center content) ---------- */
.hero-section .hero-container { justify-content: center !important; }
.hero-section .hero-padding { padding-top: 64px !important; padding-bottom: 64px !important; }
@media (max-width: 767px) {
  .hero-section .hero-padding { padding-top: 40px !important; padding-bottom: 40px !important; }
}

/* ---------- Hero: slightly reduced height ---------- */
.hero-section { min-height: 0 !important; height: auto !important; }
.hero-section .hero-container { min-height: 62vh !important; height: auto !important; }
@media (max-width: 767px) {
  .hero-section .hero-container { min-height: 70vh !important; }
}

/* ---------- Completed Projects (projects page) ---------- */
.bc-section { background: #f6f2ea; padding: 96px 0 104px; }
.bc-inner { width: min(1240px, calc(100% - 3rem)); margin-inline: auto; }
.bc-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2.75rem; }
.bc-eyebrow { letter-spacing: .14em; text-transform: uppercase; font-size: .78rem; color: #8a6a24; }
.bc-title { font-size: clamp(2rem, 3.6vw, 3.2rem); line-height: 1.08; margin: .5rem 0 0; color: #1e1b14; }
.bc-sub { color: #55503f; font-size: 1rem; line-height: 1.7; max-width: 40ch; margin: 0; }
.bc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
@media (max-width: 1200px) { .bc-grid { grid-template-columns: repeat(2, 1fr); } }
.bc-card {
  background: #fffdf9; border: 1px solid rgba(200, 194, 180, .55); border-radius: 16px;
  overflow: hidden; display: flex; flex-direction: column;
  box-shadow: 0 24px 48px -34px rgba(30, 27, 20, .45);
  transition: transform .35s ease, box-shadow .35s ease;
}
.bc-card:hover { transform: translateY(-6px); box-shadow: 0 34px 60px -32px rgba(30, 27, 20, .5); }
.bc-media { aspect-ratio: 4 / 3; overflow: hidden; background: #e8e2d6; }
.bc-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.bc-card:hover .bc-media img { transform: scale(1.05); }
.bc-body { padding: 24px 24px 26px; display: flex; flex-direction: column; gap: .5rem; }
.bc-tagrow { display: flex; align-items: center; gap: .6rem; }
.bc-badge {
  font-size: .7rem; letter-spacing: .12em; text-transform: uppercase;
  color: #6b4e1e; border: 1px solid rgba(196, 162, 101, .7); border-radius: 999px; padding: .3rem .65rem;
}
.bc-cat { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: #8b8471; }
.bc-name { font-size: 1.5rem; line-height: 1.2; margin: .35rem 0 0; color: #1e1b14; }
.bc-loc { color: #55503f; font-size: .95rem; margin: 0; }
.bc-meta { display: flex; gap: 1.25rem; margin-top: .9rem; padding-top: .9rem; border-top: 1px solid rgba(200, 194, 180, .6); }
.bc-meta span { font-size: .85rem; color: #6f6957; }
.bc-meta strong { display: block; color: #1e1b14; font-size: .95rem; font-weight: 600; }
@media (max-width: 1023px) { .bc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
  .bc-section { padding: 64px 0 72px; }
  .bc-head { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .bc-grid { grid-template-columns: 1fr; gap: 24px; }
}

/* ---------- Detail pages: natural rich text and responsive layout ---------- */
.rt-content strong, .w-richtext strong {
  display: inline !important;
  margin: 0 !important;
  font-weight: 700;
}
.rt-content p, .w-richtext p { margin-bottom: 1rem; }

@media (max-width: 991px) {
  .project-container {
    flex-direction: column !important;
    gap: 40px !important;
  }
  .project-content, .side-details {
    width: 100% !important;
    max-width: 100% !important;
  }
  .image-collections {
    flex-direction: column !important;
    gap: 16px !important;
  }
  .img-col-1, .horizontal-col { width: 100% !important; }
  .timeline-wrap { width: 100% !important; }
}
@media (max-width: 767px) {
  .project-header { min-height: 50vh !important; }
  .project-heading { padding: 0 20px !important; }
  .light-heading { font-size: clamp(2rem, 8vw, 3.5rem) !important; }
  .category-light { font-size: .9rem !important; }
  .main-project-wrapper { padding-top: 48px !important; padding-bottom: 48px !important; }
  .rt-content p, .w-richtext p { font-size: .95rem !important; line-height: 1.7 !important; }
  .timeline-block { gap: 14px !important; }
  .h6-title { font-size: 1.1rem !important; }
  .description-item { font-size: .9rem !important; }
}

/* ---------- Global mobile fixes ---------- */
@media (max-width: 767px) {
  html, body { overflow-x: hidden; }
  .global-container { padding-left: 16px !important; padding-right: 16px !important; }
  .global-padding { padding-top: 48px !important; padding-bottom: 48px !important; }
  h1, .main-header-services h1 { font-size: clamp(2rem, 8vw, 3rem) !important; }
  .section-wrapper { padding-top: 80px !important; }
  img { max-width: 100%; height: auto; }
}

/* ---------- Footer responsive ---------- */
@media (max-width: 991px) {
  .footer-content { gap: 40px !important; }
  .content-information { flex-direction: column !important; gap: 40px !important; }
  .top-footer { flex-direction: column !important; }
  .footer-list { flex-wrap: wrap !important; gap: 32px !important; }
}
@media (max-width: 767px) {
  .footer-h2 { font-size: clamp(1.6rem, 6vw, 2.2rem) !important; }
  .footer-list { flex-direction: column !important; gap: 28px !important; }
  .low-footer { flex-direction: column !important; gap: 20px !important; align-items: flex-start !important; }
  .copyright-info { flex-direction: column !important; gap: 12px !important; align-items: flex-start !important; }
}

/* Award strip images in full colour */
.award-img, .award-img:hover { filter: none !important; -webkit-filter: none !important; }

/* ---------- Testimonials: remove reviewer photos ---------- */
.testimonial-items .user-image,
.testimonial-items .portrait-image {
  display: none !important;
}
.tc-avatar { display: none !important; }
