@font-face {
  font-family: "Cormorant Garamond";
  src: url("./fonts/cormorant-garamond-latin-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("./fonts/cormorant-garamond-latin-italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  src: url("./fonts/dm-sans-latin-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}

:root {
  --review-ink: #171715;
  --review-paper: #f4f0e9;
  --review-gold: #d4ad62;
  --review-sand: #b8a48a;
  --review-line: rgba(244, 240, 233, .16);
  --review-muted: rgba(244, 240, 233, .58);
  --review-ease: cubic-bezier(.16, 1, .3, 1);
}

.review-page,
.review-page * ,
.mdl-reviews,
.mdl-reviews * { box-sizing: border-box; }

.review-page {
  margin: 0;
  overflow-x: hidden;
  background: var(--review-ink);
  color: var(--review-paper);
  font-family: "DM Sans", Arial, sans-serif;
}

.review-page ::selection { background: var(--review-sand); color: var(--review-ink); }

.review-main {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 100vh;
  padding: clamp(9rem, 14vw, 13.5rem) 0 clamp(6rem, 10vw, 10rem);
  background:
    radial-gradient(circle at var(--glow-x, 80%) var(--glow-y, 18%), rgba(212, 173, 98, .11), transparent 24rem),
    linear-gradient(145deg, #1b1c18 0%, #131411 56%, #1b1814 100%);
}

.review-main::before {
  content: "M";
  position: absolute;
  z-index: -1;
  top: -.16em;
  right: -.08em;
  color: rgba(244, 240, 233, .018);
  font: 400 clamp(28rem, 69vw, 76rem)/.75 "Cormorant Garamond", Georgia, serif;
  pointer-events: none;
}

.review-main::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .34;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E");
  pointer-events: none;
}

.review-frame { width: min(calc(100% - 4rem), 1440px); margin: 0 auto; }

.review-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(18rem, .45fr);
  gap: clamp(3rem, 9vw, 10rem);
  align-items: end;
  padding-bottom: clamp(4.2rem, 8vw, 8rem);
}

.review-eyebrow,
.mdl-reviews__kicker {
  display: flex;
  gap: .95rem;
  align-items: center;
  margin: 0 0 clamp(1.5rem, 3vw, 2.7rem);
  color: var(--review-sand);
  font: 500 .62rem/1.4 "DM Sans", Arial, sans-serif;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.review-eyebrow::before,
.mdl-reviews__kicker::before { content: ""; width: 2.25rem; height: 1px; background: currentColor; }

.review-title {
  max-width: 11ch;
  margin: 0;
  font: 400 clamp(4.5rem, 10vw, 10rem)/.78 "Cormorant Garamond", Georgia, serif;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.review-title em { display: block; color: var(--review-sand); font-weight: 300; }

.review-hero__aside { padding-bottom: .7rem; }
.review-hero__score { display: flex; align-items: baseline; gap: .75rem; margin-bottom: 1.5rem; }
.review-hero__score strong { font: 400 clamp(3.2rem, 5vw, 5.8rem)/.8 "Cormorant Garamond", Georgia, serif; }
.review-hero__score span { color: var(--review-muted); font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; }
.review-hero__copy { max-width: 26rem; margin: 0; color: var(--review-muted); font-size: clamp(.78rem, 1vw, .92rem); line-height: 1.8; }

.review-reveal { opacity: 0; transform: translateY(2.5rem); }
.reviews-ready .review-reveal { opacity: 1; transform: none; transition: opacity 1.1s ease, transform 1.15s var(--review-ease); }
.reviews-ready .review-hero__aside { transition-delay: .15s; }

.mdl-reviews {
  --review-card-min: 23rem;
  position: relative;
  margin-top: clamp(6rem, 12vw, 10.4rem);
  color: var(--review-paper);
  font-family: "DM Sans", Arial, sans-serif;
}

.review-page .mdl-reviews { margin-top: 0; }

.mdl-reviews__header {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: end;
  padding-bottom: 1.75rem;
  border-bottom: 1px solid var(--review-line);
}

.mdl-reviews__kicker { margin-bottom: .75rem; color: var(--review-muted); font-size: .54rem; }
.mdl-reviews h2,
.mdl-reviews h3 {
  margin: 0;
  color: inherit;
  font: 400 clamp(2.8rem, 5vw, 4.7rem)/.9 "Cormorant Garamond", Georgia, serif;
  letter-spacing: -.04em;
}

.mdl-reviews__google {
  display: inline-flex;
  flex: 0 0 auto;
  gap: .7rem;
  align-items: center;
  padding: .75rem 0;
  color: inherit;
  font: 500 .58rem/1.4 "DM Sans", Arial, sans-serif;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}

.mdl-reviews__google > span:last-child { transition: transform .4s var(--review-ease); }
.mdl-reviews__google:hover > span:last-child,
.mdl-reviews__google:focus-visible > span:last-child { transform: translate(.25rem, -.25rem); }

.mdl-google-mark {
  display: grid;
  width: 1.85rem;
  height: 1.85rem;
  place-items: center;
  border-radius: 50%;
  background: var(--review-paper);
  color: #4285f4;
  font: 700 1rem/1 Arial, sans-serif;
}

.mdl-reviews__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(var(--review-card-min), 32rem);
  gap: 1rem;
  min-width: 0;
  margin: 2rem 0 0;
  padding: 0 1px .8rem;
  list-style: none;
  overflow-x: auto;
  scroll-padding-inline: 1px;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y pinch-zoom;
  cursor: grab;
}

.review-page .mdl-reviews__track { grid-auto-columns: minmax(24rem, 42vw); }
.mdl-reviews__track::-webkit-scrollbar { display: none; }
.mdl-reviews__track.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }

.mdl-review-card {
  --card-x: 50%;
  --card-y: 20%;
  position: relative;
  isolation: isolate;
  display: flex;
  min-width: 0;
  min-height: 24rem;
  flex-direction: column;
  overflow: hidden;
  padding: clamp(1.6rem, 3vw, 2.3rem);
  border: 1px solid var(--review-line);
  background:
    radial-gradient(circle at var(--card-x) var(--card-y), rgba(212, 173, 98, .11), transparent 13rem),
    rgba(244, 240, 233, .025);
  scroll-snap-align: start;
  scroll-snap-stop: always;
  transform: translateY(0);
  transition: border-color .5s ease, background-color .5s ease, transform .65s var(--review-ease);
}

.mdl-review-card::before {
  content: "\201C";
  position: absolute;
  z-index: -1;
  top: -.17em;
  right: .05em;
  color: rgba(212, 173, 98, .055);
  font: 300 13rem/1 "Cormorant Garamond", Georgia, serif;
}

.mdl-review-card::after {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -2;
  opacity: 0;
  background: linear-gradient(120deg, transparent 18%, rgba(212, 173, 98, .1), transparent 74%);
  transform: translateX(-65%);
  transition: opacity .45s ease, transform 1s var(--review-ease);
}

.mdl-review-card:hover { border-color: rgba(212, 173, 98, .42); transform: translateY(-.45rem); }
.mdl-review-card:hover::after { opacity: 1; transform: translateX(35%); }

.mdl-review-card__stars { display: flex; gap: .36rem; width: max-content; color: var(--review-gold); }
.mdl-review-card__stars svg {
  width: 1.15rem;
  height: 1.15rem;
  overflow: visible;
  fill: currentColor;
  filter: drop-shadow(0 0 .35rem rgba(212, 173, 98, .8));
}

.reviews-enhanced .mdl-review-card__stars svg { opacity: 0; transform: translateY(.65rem) scale(.1) rotate(-35deg); }
.reviews-enhanced .mdl-review-card.is-visible .mdl-review-card__stars svg {
  opacity: 1;
  transform: none;
  transition: opacity .55s ease, transform .8s var(--review-ease);
}
.mdl-review-card__stars svg:nth-child(1) { transition-delay: .05s !important; animation-delay: .05s !important; }
.mdl-review-card__stars svg:nth-child(2) { transition-delay: .14s !important; animation-delay: .22s !important; }
.mdl-review-card__stars svg:nth-child(3) { transition-delay: .23s !important; animation-delay: .39s !important; }
.mdl-review-card__stars svg:nth-child(4) { transition-delay: .32s !important; animation-delay: .56s !important; }
.mdl-review-card__stars svg:nth-child(5) { transition-delay: .41s !important; animation-delay: .73s !important; }

@keyframes review-star-glow {
  0%, 100% { filter: drop-shadow(0 0 .25rem rgba(212, 173, 98, .55)); }
  50% { filter: drop-shadow(0 0 .65rem rgba(255, 209, 111, .95)); }
}

.mdl-review-card blockquote {
  max-width: 20ch;
  margin: clamp(2.7rem, 5vw, 4.2rem) 0 2.6rem;
  color: inherit;
  font: 400 clamp(1.75rem, 2.45vw, 2.25rem)/1.08 "Cormorant Garamond", Georgia, serif;
  letter-spacing: -.026em;
}

.mdl-review-card footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: end;
  margin-top: auto;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(244, 240, 233, .13);
  font-family: "DM Sans", Arial, sans-serif;
}

.mdl-review-card footer strong { color: inherit; font-size: .62rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.mdl-review-card footer span { max-width: 12rem; color: var(--review-muted); font-size: .5rem; letter-spacing: .13em; line-height: 1.5; text-align: right; text-transform: uppercase; }

.mdl-reviews__footer { display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items: center; margin-top: .45rem; }
.mdl-reviews__progress { height: 1px; overflow: hidden; background: var(--review-line); }
.mdl-reviews__progress span { display: block; width: 100%; height: 100%; background: var(--review-gold); transform: scaleX(var(--review-progress, 0)); transform-origin: left; transition: transform .12s linear; }
.mdl-reviews__meta { display: flex; gap: 1.5rem; align-items: center; }
.mdl-reviews__count { min-width: 3.5rem; color: var(--review-muted); font-size: .58rem; letter-spacing: .15em; }
.mdl-reviews__count strong { color: var(--review-paper); font-weight: 500; }
.mdl-reviews__controls { display: flex; gap: .5rem; }
.mdl-reviews__button {
  display: grid;
  width: 2.8rem;
  height: 2.8rem;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(244, 240, 233, .25);
  border-radius: 50%;
  background: transparent;
  color: var(--review-paper);
  font: 400 1.05rem/1 Arial, sans-serif;
  cursor: pointer;
  appearance: none;
  transition: background-color .3s ease, color .3s ease, opacity .3s ease, transform .4s var(--review-ease);
}
.mdl-reviews__button:hover:not(:disabled),
.mdl-reviews__button:focus-visible:not(:disabled) { background: var(--review-paper); color: var(--review-ink); transform: scale(1.06); }
.mdl-reviews__button:disabled { opacity: .24; cursor: default; }
.mdl-reviews__hint { display: none; }

.review-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
  margin-top: clamp(6rem, 12vw, 11rem);
  padding-top: clamp(3rem, 6vw, 5.5rem);
  border-top: 1px solid var(--review-line);
}
.review-cta h2 { max-width: 12ch; margin: 0; font: 400 clamp(3.3rem, 7vw, 7.6rem)/.82 "Cormorant Garamond", Georgia, serif; letter-spacing: -.045em; }
.review-cta h2 em { display: block; color: var(--review-sand); font-weight: 300; }
.review-cta a { display: grid; width: clamp(5rem, 9vw, 8rem); aspect-ratio: 1; place-items: center; border-radius: 50%; background: var(--review-sand); color: var(--review-ink); text-decoration: none; transition: transform .5s var(--review-ease), background-color .3s ease; }
.review-cta a:hover,
.review-cta a:focus-visible { background: var(--review-paper); transform: scale(1.06) rotate(4deg); }
.review-cta svg { width: 30%; }

@media (max-width: 900px) {
  .review-frame { width: min(calc(100% - 2.5rem), 1440px); }
  .review-hero { grid-template-columns: 1fr; gap: 3rem; }
  .review-title { font-size: clamp(4.4rem, 14vw, 7.8rem); }
  .review-page .mdl-reviews__track,
  .mdl-reviews__track { grid-auto-columns: minmax(21.5rem, 66vw); }
}

@media (max-width: 600px) {
  .review-main { padding-top: 8rem; }
  .review-frame { width: calc(100% - 2rem); }
  .review-title { font-size: clamp(3.9rem, 20vw, 6.2rem); line-height: .82; }
  .review-hero__aside { padding-bottom: 0; }
  .mdl-reviews__header { display: grid; gap: 1.4rem; align-items: start; }
  .mdl-reviews__google { width: max-content; padding: 0; }
  .review-page .mdl-reviews__track,
  .mdl-reviews__track { grid-auto-columns: calc(100vw - 3rem); gap: .75rem; margin-right: -1rem; padding-right: 1rem; }
  .mdl-review-card { min-height: 22rem; padding: 1.5rem; }
  .mdl-review-card blockquote { margin: 2.5rem 0 2.2rem; font-size: 1.75rem; }
  .mdl-review-card footer { display: grid; gap: .5rem; align-items: start; }
  .mdl-review-card footer span { max-width: none; text-align: left; }
  .mdl-reviews__footer { grid-template-columns: minmax(4rem, 1fr) auto; }
  .mdl-reviews__count { display: none; }
  .review-cta { grid-template-columns: 1fr; align-items: start; }
  .review-cta h2 { font-size: clamp(3.5rem, 17vw, 5.5rem); }
  .review-cta a { justify-self: end; }
}

@media (prefers-reduced-motion: reduce) {
  .review-reveal,
  .reviews-ready .review-reveal { opacity: 1; transform: none; transition: none; }
  .mdl-review-card,
  .mdl-review-card::after,
  .mdl-review-card__stars svg,
  .reviews-enhanced .mdl-review-card__stars svg,
  .reviews-enhanced .mdl-review-card.is-visible .mdl-review-card__stars svg,
  .mdl-reviews__button,
  .review-cta a { animation: none; transition: none; }
  .reviews-enhanced .mdl-review-card__stars svg { opacity: 1; transform: none; }
}


/* Compatibility surface for legacy homepage and Elementor testimonial sections. */
.mdl-reviews-host {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(5.5rem, 10vw, 9rem) clamp(1rem, 4vw, 4rem) !important;
  background: radial-gradient(circle at 84% 18%, rgba(212, 173, 98, .1), transparent 25rem), var(--review-ink) !important;
  color: var(--review-paper);
  text-align: left;
}
.mdl-reviews-host::before {
  content: "M";
  position: absolute;
  z-index: -1;
  right: -.04em;
  bottom: -.28em;
  color: rgba(244, 240, 233, .018);
  font: 400 clamp(25rem, 60vw, 60rem)/.75 "Cormorant Garamond", Georgia, serif;
  pointer-events: none;
}
.mdl-reviews-host__frame { width: min(100%, 1240px); margin: 0 auto; }
.mdl-reviews-host .mdl-reviews { margin: 0; }
.mdl-reviews.is-single .mdl-reviews__controls { display: none; }
.mdl-reviews-host > .e-con-inner { display: none !important; }


/* Keep review rails composed while preserving access to every full review. */
.mdl-review-card { height: 31rem; min-height: 0; }
.mdl-review-card blockquote {
  display: -webkit-box;
  min-height: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  line-clamp: 6;
}
.mdl-review-card.is-expanded { height: auto; min-height: 31rem; }
.mdl-review-card.is-expanded blockquote {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  line-clamp: unset;
}
.mdl-review-card__expand {
  display: none;
  width: max-content;
  margin: -1.35rem 0 1.6rem;
  padding: .35rem 0;
  border: 0;
  border-bottom: 1px solid rgba(212, 173, 98, .45);
  background: transparent;
  color: var(--review-gold);
  font: 600 .55rem/1.4 "DM Sans", Arial, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .25s ease, border-color .25s ease;
}
.mdl-review-card.is-expandable .mdl-review-card__expand { display: block; }
.mdl-review-card__expand:hover,
.mdl-review-card__expand:focus-visible { color: var(--review-paper); border-color: currentColor; }
.mdl-review-card__expand:focus-visible { outline: 1px solid var(--review-gold); outline-offset: 5px; }

@media (max-width: 600px) {
  .mdl-review-card { height: 27rem; }
  .mdl-review-card.is-expanded { min-height: 27rem; }
  .mdl-review-card__expand { margin-top: -1.1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .mdl-review-card__expand { transition: none; }
}
