/* Section refinements: one continuous, photographic visual language. */
.about {
  position: relative;
  overflow: hidden;
  color: #f0eee6;
  background: radial-gradient(circle at 85% 7%, #363a30 0, transparent 38%), #242923;
}
.about > * {
  position:relative;
}
.about .section-top .rule {
  background:#ffffff30;
}
.about .section-tail {
  color:#b9b9a9;
}
.about .section-top .eyebrow {
  color:#d8bb8d;
}
.about-intro {
  align-items:start;
  padding-bottom:clamp(45px,6vw,85px);
  border-bottom:1px solid #ffffff25;
}
.about-heading h2 {
  max-width:750px;
}
.about-heading .mini-mark {
  margin-top:38px;
  font-size:2.25rem;
}
.about-lead {
  border-left:1px solid #bba279;
  padding-left:clamp(25px,3vw,48px);
}
.about-lead p {
  color:#e4e4da;
}
.about-story {
  margin-top:clamp(55px,7vw,105px);
  gap:clamp(50px,9vw,150px);
}
.about-visual {
  max-height:none;
}
.about-visual::after {
  content:"";
  position:absolute;
  inset:40% 0 0;
  background:linear-gradient(transparent,#0b100ba8);
  pointer-events:none;
}
.about-visual img {
  height:min(60vw,680px);
}
.about-visual .image-label {
  z-index:1;
}
.about-text {
  color:#c6ccc0;
  font-size:clamp(.96rem,1.08vw,1.08rem);
  line-height:1.85;
}
.about-text p:first-child {
  color:#f0eee7;
  font-family:'Poppins',Arial,sans-serif;
  font-size:clamp(1.55rem,2.15vw,2.35rem);
  line-height:1.3;
}
.about-text p:last-child {
  margin-bottom:0;
}
.about-quote {
  max-width:none;
  margin:clamp(65px,8vw,125px) 0 0;
  padding:clamp(35px,5vw,70px) clamp(35px,6vw,90px);
  border:1px solid #cbb48a66;
  background:linear-gradient(110deg,#182019ee,#273428ee),url('../images/hero/maharashtra.webp') center/cover;
}
.about-quote .quote-icon {
  left:clamp(14px,2vw,30px);
  top:clamp(20px,3vw,42px);
  color:#d1b88f;
}
.about-quote p {
  max-width:1000px;
  padding-left:24px;
  color:#f6f2e9;
}
.workshop-art {
  display:block;
  width:100%;
  padding:0;
  border:0;
  text-align:left;
  color:#fff;
}
.workshop-art:focus-visible {
  outline:3px solid #d9bd8e;
  outline-offset:-5px;
}
.workshop-art .art-caption {
  z-index:2;
  right:20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.workshop-photo {
  height:clamp(310px,29vw,420px);
}
.workshop-photo img {
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
}
.workshop-card:nth-child(2) .workshop-photo img {
  object-position:center 55%;
}
.workshop-card:nth-child(3) .workshop-photo img {
  object-position:center 55%;
}
.photography {
  color:#f1f0e9;
  background:radial-gradient(circle at 50% 0,#25332f,transparent 44%),#111a19;
}
.photography .section-top .eyebrow {
  color:#d6bd92;
}
.photography .section-top .rule {
  background:#ffffff33;
}
.photography .section-tail {
  color:#aab4ac;
}
.photography .section-heading {
  padding-bottom:clamp(32px,4vw,55px);
  border-bottom:1px solid #ffffff2b;
}
.photography .section-heading h2 em {
  color:#d7bd94;
}
.photography .section-heading p {
  color:#bdc6bf;
}
.gallery-grid {
  gap:clamp(9px,1.3vw,20px);
}
.gallery-item {
  border:1px solid #e3d4b72b;
}
.gallery-item:after {
  inset:30% 0 0;
  background:linear-gradient(0deg,#07100fcb,transparent);
}
.gallery-item span {
  color:#f6f0e7;
  text-shadow:0 1px 8px #0009;
}
.gallery-item span i {
  color:#dcc294;
}
.services {
  color:#f2eee6;
  background:radial-gradient(circle at 100% 15%,#605443 0,transparent 40%),#403b32;
}
.services .section-top .eyebrow,.services .questions-title .eyebrow {
  color:#dec69d;
}
.services .section-top .rule {
  background:#ffffff3a;
}
.services .section-tail {
  color:#dbd1c1;
}
.services-layout {
  gap:clamp(42px,6vw,95px);
}
.services-visual {
  max-height:none;
  border:1px solid #d9b98b75;
}
.services-visual img {
  height:min(60vw,720px);
}
.services-visual::after {
  content:"";
  position:absolute;
  inset:40% 0 0;
  background:linear-gradient(transparent,#111a1ac4);
  pointer-events:none;
}
.services-visual span {
  z-index:1;
  bottom:30px;
  left:30px;
}
.services-content h2 em,.questions-title h2 em {
  color:#e1c89b;
}
.service-row,.service-row:last-child,.faq-row {
  border-color:#ffffff3c;
}
.service-row summary,.faq-row summary {
  color:#f3efe7;
}
.service-row summary:hover .service-title,.faq-row summary:hover span {
  color:#e7cc9d;
}
.service-no,.service-row summary i,.faq-row summary i {
  color:#dfc195;
}
.service-body,.faq-answer {
  color:#d5d1c8;
}
.questions {
  border-color:#ffffff3b;
}
.questions-title h2 {
  color:#f2eee6;
}
.questions-list {
  border-top:1px solid #ffffff3c;
}
.site-footer {
  padding:0;
  background:#131a17;
  color:#f1eee5;
}
.footer-invite {
  position:relative;
  min-height:clamp(450px,49vw,680px);
  overflow:hidden;
  display:flex;
  align-items:center;
  padding:clamp(50px,7vw,112px);
}
.footer-invite > img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 55%;
  filter:saturate(.75);
}
.footer-invite::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#111913f0 0%,#17251bb3 48%,#19221a2e 100%),linear-gradient(0deg,#111a17 0,transparent 30%);
}
.footer-invite-content {
  position:relative;
  z-index:1;
  max-width:950px;
}
.footer-kicker {
  display:block;
  margin-bottom:24px;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.23em;
  color:#e0c79f;
}
.footer-invite h2 {
  font-size:clamp(4.2rem,9vw,9.2rem);
  line-height:.83;
  letter-spacing:-.055em;
  margin:0 0 45px;
  font-weight:500;
}
.footer-invite h2 em {
  color:#d9bc8e;
  font-weight:400;
}
.footer-invite-link {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:65px;
  padding:16px 20px;
  min-width:270px;
  border:1px solid #e7d6bcab;
  color:#f7f1e8;
  text-decoration:none;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:background .25s,color .25s;
}
.footer-invite-link:hover {
  color:#1a201a;
  background:#e8d5b6;
}
.footer-invite-side {
  position:absolute;
  z-index:1;
  right:clamp(22px,7vw,112px);
  bottom:30px;
  color:#f4ecdc;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.footer-inner {
  padding:clamp(60px,7vw,100px) clamp(22px,7vw,112px) 30px;
}
.footer-main {
  padding-bottom:clamp(55px,6vw,90px);
  grid-template-columns:2fr repeat(3,minmax(100px,1fr));
}
.footer-brand>a:first-child {
  gap:15px;
  font-size:2.8rem;
}
.footer-brand img {
  width:68px;
  height:68px;
}
.footer-brand p {
  max-width:380px;
  margin:25px 0;
  color:#b9c2b7;
  line-height:1.75;
}
.footer-brand .footer-mail {
  display:inline-flex;
  gap:12px;
  align-items:center;
  padding-bottom:6px;
  color:#dfc399;
  border-bottom:1px solid #dfc399;
  text-decoration:none;
  font-size:.82rem;
}
.footer-brand .footer-mail:hover {
  color:#fff;
  border-color:#fff;
}
.footer-column h2 {
  margin-top:16px;
  color:#dec69d;
}
.footer-column a {
  color:#d5ded3;
  line-height:1.55;
  margin-bottom:15px;
}
.footer-column a:hover {
  color:#f3d3a3;
}
.footer-bottom {
  padding-top:26px;
}
@media(max-width:820px) {
  .about-lead {
    padding-left:25px;
  }
  .about-story {
    gap:40px;
  }
  .about-visual img {
    height:550px;
  }
  .services-visual img {
    height:520px;
  }
  .footer-main {
    grid-template-columns:1.5fr 1fr 1fr;
  }
}
@media(max-width:620px) {
  .about-intro {
    padding-bottom:45px;
  }
  .about-lead {
    padding-left:20px;
  }
  .about-story {
    margin-top:50px;
  }
  .about-visual img {
    height:430px;
  }
  .about-quote {
    margin-top:65px;
    padding:32px 24px 32px 18px;
  }
  .about-quote .quote-icon {
    left:10px;
    top:20px;
    font-size:3rem;
  }
  .about-quote p {
    padding-left:22px;
    font-size:1.8rem;
  }
  .workshop-photo {
    height:330px;
  }
  .photography .section-heading {
    padding-bottom:28px;
  }
  .services-visual img {
    height:450px;
  }
  .footer-invite {
    min-height:520px;
    align-items:flex-end;
    padding:50px 22px 70px;
  }
  .footer-invite::after {
    background:linear-gradient(0deg,#111913f5 0%,#111913a3 63%,#1119133b 100%);
  }
  .footer-invite h2 {
    font-size:clamp(3.9rem,16vw,6rem);
    margin-bottom:35px;
  }
  .footer-invite-link {
    min-width:0;
    gap:25px;
  }
  .footer-invite-side {
    right:22px;
    bottom:20px;
    font-size:.5rem;
  }
  .footer-inner {
    padding:65px 22px 28px;
  }
  .footer-main {
    grid-template-columns:1fr 1fr;
    gap:35px 24px;
  }
  .footer-brand {
    margin-bottom:15px;
  }
  .footer-column:last-child {
    grid-column:1/-1;
    border-top:1px solid #ffffff28;
    padding-top:22px;
  }
  .footer-column:last-child a {
    display:inline-block;
    margin-right:22px;
  }
  .footer-column a {
    font-size:.77rem;
  }
}
