.contact-hero-section {
  position: relative;

  width: 100%;

  min-height: 540px;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 15% 40%,
      rgba(215,167,77,.06),
      transparent 30%
    ),
    #fffaf1;
}

.contact-hero-inner {
  width:
    min(
      calc(100% - 70px),
      1500px
    );

  min-height: 540px;

  margin-inline: auto;

  display: grid;

  grid-template-columns:
    minmax(420px,.82fr)
    minmax(650px,1.18fr);

  align-items: stretch;
}

.contact-hero-copy {
  position: relative;

  z-index: 20;

  display: flex;
  flex-direction: column;
  justify-content: center;

  padding:
    35px
    55px
    35px
    5px;
}

.contact-hero-eyebrow {
  display: flex;

  align-items: center;

  gap: 8px;

  margin-bottom: 12px;

  color: #5a665f;

  font-family:
    "Jost",
    sans-serif;

  font-size: 13px;

  font-weight: 600;

  letter-spacing: .10em;
}

.contact-hero-eyebrow span {
  color: #d89a33;

  font-size: 16px;
}

.contact-hero-title {
  margin: 0;

  color: #173f35;

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-size:
    clamp(
      48px,
      4.1vw,
      68px
    );

  font-weight: 600;

  line-height: .98;

  letter-spacing: -.025em;
}

.contact-hero-title > span {
  display: block;
}

.contact-hero-title em {
  color: #ef622f;

  font-family:
    "Yellowtail",
    cursive;

  font-size: .88em;

  font-weight: 400;

  font-style: normal;

  margin-left: 7px;
}

.contact-hero-title small {
  color: #ef622f;

  font-family:
    "Jost",
    sans-serif;

  font-size: 22px;

  font-weight: 300;
}

.contact-hero-description {
  max-width: 450px;

  margin:
    24px
    0
    30px;

  color: #505a55;

  font-family:
    "Jost",
    sans-serif;

  font-size: 18px;

  line-height: 1.6;
}

.contact-hero-features {
  max-width: 610px;

  display: grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));
}

.contact-feature {
  position: relative;

  text-align: center;

  padding:
    0
    15px;
}

.contact-feature:first-child {
  padding-left: 0;
}

.contact-feature:not(:last-child)::after {
  content: "";

  position: absolute;

  right: 0;
  top: 8px;

  width: 1px;
  height: 72px;

  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(210,159,62,.40),
      transparent
    );
}

.contact-feature-icon {
  width: 45px;
  height: 45px;

  margin:
    0
    auto
    8px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  color: #d69325;

  font-size: 25px;

  border:
    1px solid
    rgba(204,148,48,.55);

  background:
    rgba(255,255,255,.30);
}

.contact-feature strong {
  display: block;

  color: #31423a;

  font-family:
    "Jost",
    sans-serif;

  font-size: 15px;

  font-weight: 600;
}

.contact-feature span {
  display: block;

  margin-top: 4px;

  color: #6a716d;

  font-family:
    "Jost",
    sans-serif;

  font-size: 15px;

  line-height: 1.35;
}

.contact-hero-visual {
  position: relative;

  min-height: 540px;
}

.contact-main-photo {
  position: absolute;

  z-index: 3;

  top: 0;
  right: -60px;

  width: 112%;
  height: 520px;

  overflow: hidden;

  clip-path: polygon(
    18% 0,
    42% 1%,
    63% 0,
    82% 2%,
    100% 0,

    100% 100%,

    18% 100%,
    13% 95%,
    9% 87%,
    7% 75%,
    7% 60%,
    9% 45%,
    11% 30%,
    14% 15%
  );

  border-radius:
    42% 0 0 34% /
    34% 0 0 40%;

  filter:
    drop-shadow(
      -18px 18px 28px
      rgba(48,37,14,.16)
    );
}

.contact-main-photo::before {
  content: "";

  position: absolute;

  inset: 0;

  z-index: 4;

  pointer-events: none;

  border-left:
    3px solid
    rgba(214,161,60,.80);
}

.contact-main-photo img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  object-position:
    center center;

  display: block;
}

.contact-leaf {
  position: absolute;

  z-index: 15;

  object-fit: contain;

  pointer-events: none;

  filter:
    drop-shadow(
      0 8px 12px
      rgba(24,54,31,.15)
    );
}

.contact-leaf-one {
  width: 70px;

  left: -25px;
  top: 45px;

  transform:
    rotate(-25deg);
}

.contact-leaf-two {
  width: 75px;

  left: -20px;
  bottom: 55px;

  transform:
    rotate(20deg);
}

.contact-petal {
  position: absolute;

  z-index: 17;

  width: 12px;
  height: 18px;

  border-radius:
    80% 20% 75% 25%;

  background:
    linear-gradient(
      145deg,
      #ffa0a8,
      #ed6875
    );

  pointer-events: none;
}

.contact-petal-one {
  left: -80px;
  top: 125px;

  transform:
    rotate(35deg);
}

.contact-petal-two {
  left: -55px;
  top: 190px;

  transform:
    rotate(-25deg);
}

.contact-petal-three {
  left: -10px;
  bottom: 75px;

  transform:
    rotate(20deg);
}

@media (max-width: 1100px) {.contact-hero-inner {
    grid-template-columns:
      minmax(380px,.9fr)
      minmax(520px,1.1fr);
  }}

@media (max-width: 780px) {.contact-hero-section {
    min-height: auto;
  }.contact-hero-inner {
    width:
      calc(100% - 30px);

    display: flex;

    flex-direction: column;
  }.contact-hero-visual {
    order: 1;

    min-height: 410px;
  }.contact-main-photo {
    width: 125%;
    height: 400px;

    right: -55px;
  }.contact-hero-copy {
    order: 2;

    padding:
      35px
      5px
      50px;
  }.contact-hero-features {
    grid-template-columns:
      repeat(2,1fr);

    row-gap: 25px;
  }.contact-feature:nth-child(2)::after {
    display: none;
  }}

.contact-form-section {
  position: relative;

  width: 100%;

  padding:
    30px
    0
    65px;

  background:
    #fffaf1;
}

.contact-form-shell {
  width:
    min(
      calc(100% - 70px),
      1500px
    );

  margin-inline: auto;

  display: grid;

  grid-template-columns:
    285px
    minmax(520px, 1fr)
    310px;

  gap: 28px;

  align-items: stretch;
}

.contact-info-card {
  position: relative;

  min-height: 750px;

  padding:
    28px
    24px
    24px;

  overflow: hidden;

  border-radius: 22px;

  color: #fff;

  background:
    linear-gradient(
      155deg,
      #064b3a,
      #003e31
    );

  border:
    1px solid
    rgba(211,161,62,.38);

  box-shadow:
    0 18px 35px
    rgba(31,40,29,.14);
}

.contact-info-card h3 {
  margin:
    0
    0
    9px;

  text-align: center;

  color: #fff9ec;

  font-family:
    "Playfair Display",
    serif;

  font-size: 28px;

  font-weight: 500;
}

.contact-small-divider {
  width: 145px;

  margin:
    0
    auto
    26px;

  display: flex;

  align-items: center;

  gap: 7px;

  color: #d9a23e;
}

.contact-small-divider span {
  flex: 1;

  height: 1px;

  background:
    #b98730;
}

.contact-small-divider i {
  font-size: 8px;

  font-style: normal;
}

.contact-info-item {
  display: grid;

  grid-template-columns:
    52px
    1fr;

  gap: 13px;

  align-items: start;

  margin-bottom: 22px;
}

.contact-info-icon {
  width: 48px;
  height: 48px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  color: #dca63b;

  font-size: 21px;

  border:
    1px solid
    rgba(218,165,57,.80);
}

.contact-info-item strong {
  display: block;

  margin-bottom: 5px;

  color: #e6ad41;

  font-family:
    "Jost",
    sans-serif;

  font-size: 18px;

  font-weight: 500;
}

.contact-info-item a,
.contact-info-item span {
  display: block;

  margin-bottom: 3px;

  color:
    rgba(255,255,255,.88);

  font-family:
    "Jost",
    sans-serif;

  font-size: 15px;

  line-height: 1.4;

  text-decoration: none;
}

.contact-whatsapp-btn {
  position: absolute;

  z-index: 5;

  left: 22px;
  right: 22px;
  bottom: 28px;

  min-height: 42px;

  display: flex;

  align-items: center;
  justify-content: center;

  gap: 8px;

  border-radius: 6px;

  color: #e7ae41;

  border:
    1px solid
    #d69b30;

  font-family:
    "Jost",
    sans-serif;

  font-size: 13px;

  font-weight: 600;

  text-decoration: none;

  transition:
    background .3s ease,
    color .3s ease,
    transform .3s ease;
}

.contact-whatsapp-btn:hover {
  background:
    #dca43e;

  color:
    #034536;

  transform:
    translateY(-3px);
}

.contact-info-corner {
  position: absolute;

  left: -60px;
  bottom: -80px;

  width: 190px;
  height: 190px;

  border-radius: 50%;

  border:
    1px solid
    rgba(211,165,73,.16);
}

.contact-message-card {
  position: relative;

  min-height: 620px;

  padding:
    34px
    28px
    22px;

  border-radius:
    34px
    34px
    26px
    26px;

  background:
    #fffdf7;

  border:
    1px solid
    rgba(213,158,57,.55);

  box-shadow:
    0 18px 35px
    rgba(58,45,20,.10);
}

.contact-message-card::before {
  content: "";

  position: absolute;

  left: 50%;
  top: -28px;

  width: 180px;
  height: 60px;

  background:
    #fffdf7;

  border:
    1px solid
    rgba(213,158,57,.55);

  border-bottom: 0;

  border-radius:
    60px
    60px
    0
    0;

  transform:
    translateX(-50%);
}

.message-top-ornament {
  position: absolute;

  z-index: 5;

  top: -15px;
  left: 50%;

  transform:
    translateX(-50%);

  color: #d99f34;

  font-size: 22px;
}

.message-card-heading {
  position: relative;

  z-index: 5;

  display: flex;

  justify-content: center;
  align-items: center;

  gap: 10px;

  margin-bottom: 5px;
}

.message-card-heading h2 {
  margin: 0;

  color: #405148;

  font-family:
    "Playfair Display",
    serif;

  font-size: 25px;

  font-weight: 600;

  letter-spacing: .02em;
}

.message-card-heading span {
  color: #d69d37;
}

.message-heading-line {
  display: flex;

  align-items: center;

  gap: 7px;

  width: 120px;

  margin:
    0
    auto
    20px;

  color: #d89e34;
}

.message-heading-line span {
  flex: 1;

  height: 1px;

  background: #d9a13d;
}

.message-heading-line i {
  font-style: normal;

  font-size: 12px;
}

.contact-message-form {
  display: flex;

  flex-direction: column;

  gap: 11px;
}

.contact-field {
  min-height: 52px;

  display: grid;

  grid-template-columns:
    42px
    1fr;

  align-items: center;

  border-radius: 7px;

  border:
    1px solid
    rgba(199,154,72,.27);

  background:
    rgba(255,252,245,.90);

  overflow: hidden;
}

.contact-field-icon {
  display: grid;

  place-items: center;

  height: 100%;

  color: #b47c20;

  font-size: 20px;
}

.contact-field-input {
  min-width: 0;

  padding:
    7px
    10px
    7px
    0;
}

.contact-field-input label {
  display: block;

  margin-bottom: 2px;

  color: #545b57;

  font-family:
    "Jost",
    sans-serif;

  font-size: 18px;

  font-weight: 500;
}

.contact-field-input label em {
  color: #e26543;

  font-style: normal;
}

.contact-field-input input,
.contact-field-input select,
.contact-field-input textarea {
  width: 100%;

  border: 0;
  outline: 0;

  background:
    transparent;

  color: #46504b;

  font-family:
    "Jost",
    sans-serif;

  font-size: 14px;
}

.contact-field-input input::placeholder,
.contact-field-input textarea::placeholder {
  color: #8b918d;
}

.contact-form-row {
  display: grid;

  grid-template-columns:
    1fr
    1fr;

  gap: 10px;
}

.contact-field-message {
  display: block;

  min-height: 105px;

  padding: 10px;
}

.contact-field-message
.contact-field-input {
  padding: 0;
}

.contact-field-message textarea {
  height: 65px;

  resize: none;
}

.contact-submit-btn {
  width: 78%;

  min-height: 43px;

  margin:
    6px
    auto
    0;

  display: flex;

  align-items: center;
  justify-content: center;

  gap: 15px;

  border: 0;

  border-radius: 6px;

  background:
    linear-gradient(
      135deg,
      #064f3d,
      #013c30
    );

  color:
    #fff;

  font-family:
    "Jost",
    sans-serif;

  font-size: 15px;

  font-weight: 600;

  cursor: pointer;

  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.contact-submit-btn i {
  color: #dca53d;
}

.contact-submit-btn:hover {
  transform:
    translateY(-3px);

  box-shadow:
    0 12px 22px
    rgba(2,67,51,.20);
}

.contact-quote-card {
  position: relative;

  min-height: 620px;

  padding:
    32px
    26px
    25px;

  overflow: hidden;

  border-radius: 20px;

  background:
    linear-gradient(
      160deg,
      #f3f1e7,
      #ecebe1
    );

  border:
    1px solid
    rgba(179,159,111,.15);

  box-shadow:
    0 15px 28px
    rgba(54,47,27,.08);
}

.contact-quote-card h3 {
  margin:
    0
    0
    9px;

  text-align: center;

  color: #42564c;

  font-family:
    "Playfair Display",
    serif;

  font-size: 30px;

  font-weight: 600;
}

.quote-line {
  width: 90px;
  height: 1px;

  margin:
    0
    auto
    28px;

  background:
    #d2a054;
}

.contact-quote-card > p {
  max-width: 210px;

  margin:
    0
    auto
    30px;

  text-align: center;

  color: #5e655f;

  font-family:
    "Jost",
    sans-serif;

  font-size: 18px;

  line-height: 1.55;
}

.quote-feature-list {
  display: flex;

  flex-direction: column;

  gap: 17px;
}

.quote-feature {
  display: grid;

  grid-template-columns:
    37px
    1fr;

  align-items: center;

  gap: 10px;
}

.quote-feature-icon {
  width: 42px;
  height: 42px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  color: #d7a038;

  background: #064a39;

  font-size: 20px;
}

.quote-feature span {
  color: #505c55;

  font-family:
    "Jost",
    sans-serif;

  font-size: 18px;
}

.quote-btn {
  position: absolute;

  left: 25px;
  right: 25px;
  bottom: 27px;

  min-height: 43px;

  display: flex;

  align-items: center;
  justify-content: center;

  gap: 12px;

  border-radius: 7px;

  color: #324d42;

  border:
    1px solid
    rgba(214,160,55,.70);

  background:
    #f6e2b7;

  font-family:
    "Jost",
    sans-serif;

  font-size: 15px;

  font-weight: 600;

  text-decoration: none;

  transition:
    transform .3s ease,
    background .3s ease;
}

.quote-btn:hover {
  transform:
    translateY(-3px);

  background:
    #efd08e;
}

.quote-decoration {
  position: absolute;

  right: -65px;
  top: -55px;

  width: 170px;
  height: 170px;

  border:
    1px solid
    rgba(208,161,65,.16);

  border-radius: 50%;
}

@media (max-width: 1100px) {.contact-form-shell {
    grid-template-columns:
      240px
      1fr;

    gap: 20px;
  }.contact-quote-card {
    grid-column:
      1 / -1;

    min-height: 420px;
  }.quote-feature-list {
    max-width: 560px;

    margin-inline: auto;

    display: grid;

    grid-template-columns:
      repeat(2,1fr);
  }}

@media (max-width: 760px) {.contact-form-shell {
    width:
      calc(100% - 30px);

    display: flex;

    flex-direction: column;
  }.contact-info-card,
  .contact-message-card,
  .contact-quote-card {
    min-height: auto;
  }.contact-info-card {
    padding-bottom: 90px;
  }.contact-message-card {
    padding:
      42px
      18px
      22px;
  }.contact-form-row {
    grid-template-columns: 1fr;
  }.contact-submit-btn {
    width: 100%;
  }.contact-quote-card {
    padding-bottom: 90px;
  }.quote-feature-list {
    display: flex;
  }}

.serve-location-section {
  position: relative;

  width: 100%;

  padding:
    25px
    0
    55px;

  overflow: hidden;

  background:
    #fffaf1;
}

.serve-location-shell {
  position: relative;

  width:
    min(
      calc(100% - 70px),
      1500px
    );

  min-height: 430px;

  margin-inline: auto;

  display: grid;

  grid-template-columns:
    36%
    64%;

  border-radius: 20px;

  overflow: visible;
}

.serve-location-copy {
  position: relative;

  z-index: 5;

  min-height: 430px;

  padding:
    28px
    30px
    0
    22px;

  background:
    #fffaf1;

  overflow: hidden;
}

.serve-location-heading {
  display: flex;

  align-items: center;

  gap: 9px;

  margin-bottom: 10px;
}

.serve-location-heading h2 {
  margin: 0;

  color: #28443a;

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-size: 30px;

  font-weight: 600;

  line-height: 1;
}

.serve-location-heading span {
  color: #d79d34;

  font-size: 18px;
}

.serve-location-description {
  max-width: 285px;

  margin:
    0
    0
    22px
    0;

  color: #4f5b55;

  font-family:
    "Jost",
    sans-serif;

  font-size: 18px;

  line-height: 1.55;
}

.serve-location-list {
  position: relative;

  z-index: 5;

  display: grid;

  grid-template-columns:
    repeat(2, minmax(0,1fr));

  gap:
    8px
    20px;

  max-width: 310px;
}

.serve-place {
  display: flex;

  align-items: center;

  gap: 8px;

  color: #37483f;

  font-family:
    "Jost",
    sans-serif;

  font-size: 13px;

  font-weight: 500;
}

.serve-place i {
  color: #0b4a3b;

  font-size: 14px;
}

.serve-temple-image {
  position: absolute;

  z-index: 2;

  left: 0px;
  bottom: 0;

  width: 100%;      
  height: 190px;

  object-fit: cover;

  object-position:
    center bottom;

  pointer-events: none;

  mask-image:
    linear-gradient(
      to bottom,
      transparent 0%,
      #000 35%,
      #000 100%
    );

  -webkit-mask-image:
    linear-gradient(
      to bottom,
      transparent 0%,
      #000 35%,
      #000 100%
    );
}

.serve-map-area {
  

  min-height: 430px;

  

  border-radius:
    24px
    24px
    24px
    24px;

  background:
    #edf1e8;
}

.serve-map-area::after {
  content: "";

  position: absolute;

  inset: 0;

  z-index: 1;

  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      rgba(255,248,231,.22),
      rgba(255,255,255,.06)
    );
}

.serve-location-card {
  

  

  left: 55px;
  top: 50%;

  width: 265px;

  padding:
    25px
    27px
    24px;

  border-radius: 20px;

  color: #fff;

  background:
    linear-gradient(
      145deg,
      #064b3a,
      #003e31
    );

  border:
    1px solid
    rgba(213,163,67,.40);

  box-shadow:
    0 22px 40px
    rgba(19,49,36,.25);

  transform:
    translateY(-50%);
}

.serve-card-title {
  display: flex;

  align-items: center;

  gap: 13px;
}

.serve-pin-icon {
  width: 43px;
  height: 43px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  color: #d9a038;

  font-size: 25px;

  border:
    1px solid
    rgba(218,164,59,.75);
}

.serve-card-title h3 {
  margin: 0;

  color: #fffaf0;

  font-family:
    "Playfair Display",
    serif;

  font-size: 25px;

  font-weight: 500;
}

.serve-card-divider {
  width: 120px;
  height: 1px;

  margin:
    15px
    0
    17px
    56px;

  background:
    linear-gradient(
      90deg,
      #d5a23e,
      transparent
    );
}

.serve-card-address {
  margin-left: 0;

  color:
    rgba(255,255,255,.89);
}

.serve-card-address strong {
  display: block;

  margin-bottom: 8px;

  font-family:
    "Jost",
    sans-serif;

  font-size: 15px;

  font-weight: 500;
}

.serve-card-address p {
  margin: 0;

  font-family:
    "Jost",
    sans-serif;

  font-size: 15px;

  line-height: 1.55;
}

.serve-directions-btn {
  min-height: 45px;

  margin-top: 20px;

  display: flex;

  align-items: center;
  justify-content: center;

  gap: 12px;

  border-radius: 6px;

  border:
    1px solid
    rgba(216,165,65,.75);

  color: #fff;

  font-family:
    "Jost",
    sans-serif;

  font-size: 15px;

  font-weight: 600;

  text-decoration: none;

  transition:
    transform .35s ease,
    background .35s ease,
    color .35s ease;
}

.serve-directions-btn i {
  color: #dca33b;
}

.serve-directions-btn:hover {
  transform:
    translateY(-3px);

  background:
    #d7a13e;

  color:
    #063f32;
}

.serve-map-marker {
  

  

  left: 67%;
  top: 47%;

  display: flex;

  align-items: center;

  gap: 7px;

  padding:
    6px
    12px
    6px
    7px;

  border-radius: 6px;

  color: #404b46;

  background:
    rgba(255,255,255,.92);

  font-family:
    "Jost",
    sans-serif;

  font-size: 15px;

  box-shadow:
    0 4px 12px
    rgba(46,45,35,.13);
}

.serve-marker-pin {
  width: 26px;
  height: 26px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  color: #d99e34;

  background:
    #064839;

  font-size: 14px;
}

@media (max-width: 1050px) {.serve-location-shell {
    grid-template-columns:
      42%
      58%;
  }.serve-location-card {
    left: 25px;

    width: 240px;
  }}

@media (max-width: 760px) {.serve-location-shell {
    width:
      calc(100% - 30px);

    display: flex;

    flex-direction: column;
  }.serve-location-copy {
    min-height: 470px;

    padding:
      25px
      20px
      0;
  }.serve-location-list {
    grid-template-columns:
      repeat(2,1fr);
  }.serve-map-area {
    min-height: 500px;
  }.serve-location-card {
    left: 50%;
    top: 50%;

    width:
      calc(100% - 50px);

    transform:
      translate(-50%,-50%);
  }.serve-map-marker {
    display: none;
  }}

@media (max-width: 780px) {.contact-hero-section {
    width: 100%;
    min-height: auto;

    overflow: hidden;
  }.contact-hero-inner {
    width: calc(100% - 24px);

    min-height: auto;

    margin-inline: auto;

    display: flex;
    flex-direction: column;
  }.contact-hero-copy {
    order: 1;

    width: 100%;

    padding:
      35px
      7px
      32px;

    text-align: left;
  }.contact-hero-eyebrow {
    margin-bottom: 10px;

    font-size: 10px;

    letter-spacing: .08em;
  }.contact-hero-eyebrow span {
    font-size: 14px;
  }.contact-hero-title {
    max-width: 100%;

    font-size:
      clamp(
        39px,
        10.5vw,
        53px
      );

    line-height: 1;

    letter-spacing: -.025em;
  }.contact-hero-title > span {
    display: block;

    margin-top: 4px;
  }.contact-hero-title em {
    margin-left: 3px;
  }.contact-hero-title small {
    font-size: 17px;
  }.contact-hero-description {
    max-width: 100%;

    margin:
      23px
      0
      28px;

    font-size: 14px;

    line-height: 1.65;
  }.contact-hero-features {
    width: 100%;
    max-width: none;

    display: grid;

    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap:
      23px
      0;
  }.contact-feature {
    min-width: 0;

    padding:
      0
      9px;
  }.contact-feature:first-child {
    padding-left: 9px;
  }.contact-feature::after {
    display: none !important;
  }.contact-feature:nth-child(odd) {
    border-right:
      1px solid
      rgba(210,159,62,.25);
  }.contact-feature-icon {
    width: 46px;
    height: 46px;

    margin:
      0
      auto
      8px;

    font-size: 25px;
  }.contact-feature strong {
    font-size: 12px;

    line-height: 1.3;
  }.contact-feature span {
    font-size: 10px;

    line-height: 1.35;
  }.contact-hero-visual {
    order: 2;

    position: relative;

    width: 100%;

    min-height: 370px;
  }.contact-main-photo {
    position: absolute;

    top: 0;
    left: 0;
    right: auto;

    width: 100%;
    height: 340px;

    overflow: hidden;

    clip-path:
      polygon(
        8% 0,
        32% 2%,
        54% 0,
        78% 2%,
        100% 0,
        100% 100%,
        0 100%,
        0 16%
      );

    border-radius:
      32px
      32px
      20px
      20px;

    filter:
      drop-shadow(
        0 14px 24px
        rgba(48,37,14,.13)
      );
  }.contact-main-photo::before {
    border-left: 0;
  }.contact-main-photo img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center center;
  }.contact-leaf-one {
    width: 52px;

    left: -8px;
    top: 60px;
  }.contact-leaf-two {
    width: 55px;

    left: 2px;
    bottom: 25px;
  }.contact-petal-one {
    left: 8px;
    top: 115px;
  }.contact-petal-two {
    left: 20px;
    top: 175px;
  }.contact-petal-three {
    left: 30px;
    bottom: 45px;
  }.contact-form-section {
    padding:
      35px
      0
      48px;
  }.contact-form-shell {
    width: calc(100% - 24px);

    margin-inline: auto;

    display: flex;
    flex-direction: column;

    gap: 28px;

    perspective: none !important;
  }.contact-info-card,
  .contact-message-card,
  .contact-quote-card,
  .contact-info-card:hover,
  .contact-message-card:hover,
  .contact-quote-card:hover {
    width: 100%;

    min-height: auto;

    opacity: 1 !important;

    animation: none !important;

    transform: none !important;

    backface-visibility: visible;
  }.contact-form-shell > * {
    opacity: 1 !important;
  }.contact-info-card {
    padding:
      28px
      22px
      88px;

    border-radius: 20px;
  }.contact-info-card h3 {
    font-size: 27px;
  }.contact-small-divider {
    margin-bottom: 28px;
  }.contact-info-item {
    grid-template-columns:
      52px
      minmax(0, 1fr);

    gap: 13px;

    margin-bottom: 22px;
  }.contact-info-icon {
    width: 48px;
    height: 48px;

    font-size: 22px;
  }.contact-info-item strong {
    font-size: 15px;
  }.contact-info-item a,
  .contact-info-item span {
    max-width: 100%;

    font-size: 13px;

    overflow-wrap: anywhere;
  }.contact-whatsapp-btn {
    left: 20px;
    right: 20px;
    bottom: 25px;

    min-height: 48px;

    font-size: 10px;
  }.contact-message-card {
    margin-top: 15px;

    padding:
      43px
      18px
      24px;

    border-radius:
      28px
      28px
      20px
      20px;
  }.contact-message-card::before {
    top: -23px;

    width: 155px;
    height: 50px;
  }.message-top-ornament {
    top: -12px;

    font-size: 19px;
  }.message-card-heading {
    gap: 7px;
  }.message-card-heading h2 {
    font-size: 20px;

    text-align: center;
  }.message-heading-line {
    margin-bottom: 19px;
  }.contact-message-form {
    gap: 12px;
  }.contact-field {
    width: 100%;

    min-height: 64px;

    grid-template-columns:
      44px
      minmax(0, 1fr);

    transform: none !important;
  }.contact-field:hover,
  .contact-field:focus-within {
    transform: none !important;
  }.contact-field-icon {
    font-size: 18px;

    transform: none !important;
  }.contact-field-input {
    min-width: 0;

    padding:
      8px
      10px
      8px
      0;
  }.contact-field-input label {
    font-size: 12px;

    margin-bottom: 4px;
  }.contact-field-input input,
  .contact-field-input select,
  .contact-field-input textarea {
    min-width: 0;

    font-size: 14px;
  }.contact-field-input input::placeholder,
  .contact-field-input textarea::placeholder {
    font-size: 13px;
  }.contact-form-row {
    display: grid;

    grid-template-columns: 1fr;

    gap: 12px;
  }.contact-field-message {
    min-height: 125px;

    padding: 12px;
  }.contact-field-message textarea {
    min-height: 76px;

    font-size: 13px;
  }.contact-submit-btn {
    width: 100%;

    min-height: 50px;

    margin-top: 5px;

    font-size: 11px;

    transform: none !important;
  }.contact-quote-card {
    padding:
      29px
      21px
      88px;

    border-radius: 20px;
  }.contact-quote-card h3 {
    font-size: 27px;
  }.quote-line {
    margin-bottom: 22px;
  }.contact-quote-card > p {
    max-width: 300px;

    margin-bottom: 27px;

    font-size: 14px;

    line-height: 1.6;
  }.quote-feature-list {
    width: 100%;
    max-width: none;

    display: flex;
    flex-direction: column;

    gap: 14px;
  }.quote-feature {
    grid-template-columns:
      43px
      minmax(0, 1fr);

    gap: 11px;

    transform: none !important;
  }.quote-feature-icon {
    width: 40px;
    height: 40px;

    font-size: 17px;

    transform: none !important;
  }.quote-feature span {
    font-size: 14px;

    line-height: 1.4;
  }.quote-btn {
    left: 20px;
    right: 20px;
    bottom: 25px;

    min-height: 49px;

    font-size: 10px;
  }.serve-location-section {
    padding:
      35px
      0
      48px;
  }.serve-location-shell {
    width: calc(100% - 24px);

    min-height: auto;

    margin-inline: auto;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border-radius: 20px;
  }.serve-location-copy {
    width: 100%;

    min-height: 430px;

    padding:
      27px
      20px
      0;

    overflow: hidden;
  }.serve-location-heading {
    justify-content: center;

    text-align: center;
  }.serve-location-heading h2 {
    font-size: 30px;
  }.serve-location-description {
    max-width: 330px;

    margin:
      10px
      auto
      22px;

    text-align: center;

    font-size: 13px;
  }.serve-location-list {
    width: 100%;
    max-width: 360px;

    margin-inline: auto;

    display: grid;

    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap:
      14px
      12px;
  }.serve-place {
    min-width: 0;

    gap: 7px;

    font-size: 11px;
  }.serve-place span {
    overflow-wrap: anywhere;
  }.serve-place i {
    flex-shrink: 0;

    font-size: 14px;
  }.serve-temple-image {
    left: 0;

    bottom: 0;

    width: 100%;
    height: 180px;

    object-fit: cover;

    object-position: center bottom;
  }.serve-map-area {
    width: 100%;

    min-height: 430px;

    border-radius:
      0
      0
      20px
      20px;
  }.serve-location-card {
    left: 50%;
    top: 50%;

    width: calc(100% - 40px);
    max-width: 330px;

    padding:
      25px
      22px;

    transform:
      translate(-50%, -50%);
  }.serve-card-title {
    gap: 11px;
  }.serve-pin-icon {
    width: 43px;
    height: 43px;

    flex-shrink: 0;

    font-size: 22px;
  }.serve-card-title h3 {
    font-size: 21px;
  }.serve-card-divider {
    margin:
      15px
      0
      17px
      53px;
  }.serve-card-address strong {
    font-size: 14px;
  }.serve-card-address p {
    font-size: 13px;
  }.serve-directions-btn {
    min-height: 48px;

    font-size: 11px;
  }.serve-map-marker {
    display: none;
  }}

@media (max-width: 480px) {.contact-hero-inner {
    width: calc(100% - 20px);
  }.contact-hero-copy {
    padding:
      30px
      4px
      28px;
  }.contact-hero-eyebrow {
    font-size: 9px;
  }.contact-hero-title {
    font-size: 37px;
  }.contact-hero-description {
    font-size: 13px;
  }.contact-feature {
    padding:
      0
      5px;
  }.contact-feature:first-child {
    padding-left: 5px;
  }.contact-feature-icon {
    width: 41px;
    height: 41px;

    font-size: 22px;
  }.contact-feature strong {
    font-size: 11px;
  }.contact-feature span {
    font-size: 9px;
  }.contact-hero-visual {
    min-height: 330px;
  }.contact-main-photo {
    height: 300px;
  }.contact-leaf-one {
    width: 44px;
  }.contact-leaf-two {
    width: 47px;
  }.contact-form-shell {
    width: calc(100% - 20px);

    gap: 26px;
  }.contact-info-card {
    padding:
      25px
      17px
      84px;
  }.contact-info-card h3 {
    font-size: 25px;
  }.contact-info-item {
    grid-template-columns:
      46px
      minmax(0,1fr);

    gap: 10px;
  }.contact-info-icon {
    width: 43px;
    height: 43px;

    font-size: 20px;
  }.contact-info-item strong {
    font-size: 14px;
  }.contact-info-item a,
  .contact-info-item span {
    font-size: 12px;
  }.contact-message-card {
    padding:
      41px
      14px
      20px;
  }.message-card-heading h2 {
    font-size: 18px;
  }.contact-field {
    grid-template-columns:
      39px
      minmax(0,1fr);

    min-height: 61px;
  }.contact-field-input label {
    font-size: 11px;
  }.contact-field-input input,
  .contact-field-input select,
  .contact-field-input textarea {
    font-size: 13px;
  }.contact-quote-card {
    padding:
      26px
      17px
      84px;
  }.contact-quote-card h3 {
    font-size: 25px;
  }.contact-quote-card > p {
    font-size: 13px;
  }.quote-feature span {
    font-size: 13px;
  }.serve-location-shell {
    width:
      calc(100% - 20px);
  }.serve-location-copy {
    min-height: 410px;

    padding:
      25px
      15px
      0;
  }.serve-location-heading h2 {
    font-size: 27px;
  }.serve-location-description {
    font-size: 12px;
  }.serve-location-list {
    gap:
      12px
      8px;
  }.serve-place {
    font-size: 10px;
  }.serve-temple-image {
    height: 165px;
  }.serve-map-area {
    min-height: 400px;
  }.serve-location-card {
    width:
      calc(100% - 28px);

    padding:
      22px
      18px;
  }.serve-card-title h3 {
    font-size: 20px;
  }.serve-card-address p {
    font-size: 12px;
  }}

@media (max-width: 380px) {.contact-hero-title {
    font-size: 34px;
  }.contact-feature strong {
    font-size: 10px;
  }.contact-feature span {
    font-size: 8px;
  }.contact-hero-visual {
    min-height: 305px;
  }.contact-main-photo {
    height: 275px;
  }.message-card-heading h2 {
    font-size: 17px;
  }.contact-info-item a,
  .contact-info-item span {
    font-size: 11px;
  }.serve-location-heading h2 {
    font-size: 25px;
  }.serve-place {
    font-size: 9px;
  }.serve-location-card {
    width:
      calc(100% - 22px);
  }}

.serve-map-area {
  position: relative;
  overflow: hidden;
}

.serve-google-map {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  border: 0;

  z-index: 1;
}

.serve-location-card {
  position: absolute;
  z-index: 5;
}

.serve-map-marker {
  position: absolute;
  z-index: 6;
}

@media (max-width: 780px) {.contact-address-item {
    align-items: flex-start !important;
    margin-bottom: 24px !important;
}.contact-address-content {
    min-width: 0;
}.contact-address-content strong {
    margin-bottom: 7px !important;
}.contact-address-content span {
    display: block;
    margin-bottom: 2px !important;
    line-height: 1.45 !important;
}@media (max-width: 600px) {.contact-address-item {
        grid-template-columns: 46px minmax(0, 1fr) !important;
        gap: 11px !important;
    }.contact-address-content span {
        font-size: 12px !important;
        line-height: 1.5 !important;
    }}}
