/* ==========================================================================
   Nagarsheth Group — site overrides
   Loaded LAST on every page, after all the WordPress-era CSS, so rules here
   win without editing the vendor/Elementor files. Put every design change
   here rather than in assets/vendor or assets/media/elementor/css.
   Edit this file, not the hashed copy (site.<hash>.css) — deploy.sh rehashes.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Founder's Desk — typed founder name (replaces the DhavalSign.png image so
   the name is real, indexable text). Matches the signature it replaced: same
   colour (sampled #B39173), script face, and 80% of the column width — the
   width is set in container units so it scales exactly as the image did.
   -------------------------------------------------------------------------- */
.elementor-3332 .elementor-element-b4f6e6e > .elementor-widget-container {
  container-type: inline-size;
}
.nsg-founder-name {
  margin: 0;
  font-family: "Allura", cursive;
  font-weight: 400;
  font-size: 10.1cqw;            /* tuned: text width = 80% of the column */
  line-height: 1.15;
  letter-spacing: 0;
  text-transform: none;
  color: #B39173;
  -webkit-text-stroke: 0.04em currentColor;  /* Allura is finer than the pen strokes it replaces */
  white-space: nowrap;
}

/* --------------------------------------------------------------------------
   Media & PR — press clipping lightbox (nsg.js, `data-nsg-lightbox`)
   -------------------------------------------------------------------------- */
[data-nsg-lightbox] .swiper-slide { cursor: zoom-in; }
[data-nsg-lightbox] .swiper-slide:focus-visible { outline: 2px solid #A57646; outline-offset: 3px; }

html.nsg-lightbox-open { overflow: hidden; }

.nsg-lightbox {
  position: fixed; inset: 0; z-index: 100000;
  background: rgba(24, 18, 12, .94);
  opacity: 0; visibility: hidden;
  transition: opacity .25s ease, visibility 0s linear .25s;
}
.nsg-lightbox.is-open { opacity: 1; visibility: visible; transition: opacity .25s ease; }

.nsg-lightbox__stage {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  padding: 56px 72px; box-sizing: border-box;
  overflow: hidden; touch-action: pan-y;
}
.nsg-lightbox__img {
  display: block; max-width: 100%; max-height: 100%; width: auto; height: auto;
  box-shadow: 0 10px 40px rgba(0, 0, 0, .5);
  cursor: zoom-in; user-select: none; -webkit-user-drag: none;
}
/* full size: the stage scrolls, the image keeps its natural pixels */
.nsg-lightbox.is-zoomed .nsg-lightbox__stage { overflow: auto; align-items: flex-start; touch-action: auto; }
.nsg-lightbox.is-zoomed .nsg-lightbox__img { max-width: none; max-height: none; margin: auto; cursor: zoom-out; }

.nsg-lightbox__btn {
  position: absolute; z-index: 2;
  width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%;
  background: rgba(165, 118, 70, .9); color: #fff;
  font: 300 32px/48px "Poppins", sans-serif; text-align: center;
  cursor: pointer; transition: background .2s ease;
}
.nsg-lightbox__btn:hover, .nsg-lightbox__btn:focus-visible { background: #A57646; outline: 2px solid #fff; outline-offset: 2px; }
.nsg-lightbox__close { top: 16px; right: 16px; font-size: 30px; }
.nsg-lightbox__prev  { left: 16px;  top: 50%; transform: translateY(-50%); }
.nsg-lightbox__next  { right: 16px; top: 50%; transform: translateY(-50%); }
.nsg-lightbox__count {
  position: absolute; left: 0; right: 0; bottom: 16px; text-align: center;
  color: rgba(255, 255, 255, .8); font: 400 13px/1 "Poppins", sans-serif; letter-spacing: 2px;
}
@media (max-width: 767px) {
  .nsg-lightbox__stage { padding: 64px 12px 48px; }
  .nsg-lightbox__prev, .nsg-lightbox__next { top: auto; bottom: 8px; transform: none; width: 40px; height: 40px; line-height: 40px; }
  .nsg-lightbox__count { bottom: 22px; }
}
@media (prefers-reduced-motion: reduce) { .nsg-lightbox, .nsg-lightbox.is-open { transition: none; } }

/* --------------------------------------------------------------------------
   About — Our Team (added Nov 2026)
   Typography matches the About page's own sections ("Our Ethos"): Catamaran,
   80px/-1.6px title and 40px subtitle in #353535 (46px on mobile), body
   #494949. Photo frames reuse the page's leaf corners (0 50% 0 50%).
   -------------------------------------------------------------------------- */
.nsg-team { padding: 40px 0 110px; }
.nsg-team__inner { max-width: 1140px; margin: 0 auto; padding: 0 20px; box-sizing: content-box; }
.nsg-team__head { margin-bottom: 56px; }
.nsg-team__title {
  margin: 0; font-family: "Catamaran", sans-serif; font-weight: 400;
  font-size: 80px; line-height: 1; letter-spacing: -1.6px; color: #353535; text-transform: none;
}
.nsg-team__subtitle {
  margin: 0; font-family: "Catamaran", sans-serif; font-weight: 400;
  font-size: 40px; line-height: 1; letter-spacing: -0.8px; color: #353535;
}
.nsg-team__grid {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 48px 30px;
}
.nsg-team__card { flex: 0 0 calc((100% - 90px) / 4); margin: 0; padding: 0; text-align: center; }
.nsg-team__photo {
  position: relative; margin: 0 0 18px; aspect-ratio: 4 / 5; overflow: hidden;
  border-radius: 0 50% 0 50%; background: #e4d5bb;
}
.nsg-team__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nsg-team__photo.is-placeholder {
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(160deg, #eadcc3 0%, #dcc7a6 100%);
  box-shadow: inset 0 0 0 1px rgba(165, 118, 70, .18);
}
.nsg-team__initials {
  font-family: "Catamaran", sans-serif; font-weight: 400; font-size: 64px; line-height: 1;
  letter-spacing: 2px; color: #A57646; opacity: .85;
}
.nsg-team__name {
  margin: 0 0 6px; font-family: "Catamaran", sans-serif; font-weight: 600;
  font-size: 21px; line-height: 1.2; letter-spacing: -0.2px; color: #353535; text-transform: none;
}
.nsg-team__role {
  margin: 0; font-family: "Poppins", sans-serif; font-weight: 400;
  font-size: 11px; line-height: 1.6; letter-spacing: 1.6px; text-transform: uppercase; color: #A57646;
}

@media (max-width: 1279px) {
  .nsg-team__title { font-size: 64px; letter-spacing: -1.28px; }
  .nsg-team__subtitle { font-size: 32px; }
  .nsg-team__card { flex-basis: calc((100% - 60px) / 3); }
}
@media (max-width: 767px) {
  .nsg-team { padding: 20px 0 80px; }
  .nsg-team__inner { padding: 0 20px; }
  .nsg-team__head { margin-bottom: 36px; }
  .nsg-team__title { font-size: 46px; letter-spacing: -0.92px; }
  .nsg-team__subtitle { font-size: 28px; letter-spacing: -0.56px; margin-top: 4px; }
  .nsg-team__grid { gap: 36px 16px; }
  .nsg-team__card { flex-basis: calc((100% - 16px) / 2); }
  .nsg-team__initials { font-size: 44px; }
  .nsg-team__name { font-size: 17px; }
  .nsg-team__role { font-size: 10px; letter-spacing: 1.2px; }
}
