/* SALMAST visual review: exact brand colors, opacity-only layers. */
:root {
  --ui-ease: cubic-bezier(.22, 1, .36, 1);
  --ui-fast: 180ms;
  --ui-arrive: 360ms;
}

html { scroll-padding-top: 104px; }
main [id] { scroll-margin-top: 104px; }

.section-heading h2,
.calculator-copy h2,
.contact-info h2 {
  font-size: clamp(36px, 4.2vw, 60px);
  line-height: 1.08;
  letter-spacing: -.025em;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
}
.section-heading > p:last-child { line-height: 1.6; }
.process-heading h2 { max-width: 100%; }
.portfolio-section .section-heading > p:last-child,
.reviews-section .section-heading > p:last-child { color: rgba(253, 244, 227, .84); }
.about-preview .section-heading h2 {
  max-width: 21ch !important;
  font-size: clamp(36px, 4.2vw, 60px) !important;
  line-height: 1.08 !important;
}
.about-preview > .section-heading { max-width: 800px; }
.calculator-copy h2 { max-width: 14ch; font-size: clamp(36px, 3.8vw, 54px); }
.contact-info h2 { max-width: 14ch; font-size: clamp(36px, 4.2vw, 60px); line-height: 1.08; }
.hero-lead { font-size: clamp(16px, 1.25vw, 18px); line-height: 1.6; }
.hero-facts dd {
  font-size: 12px !important;
  line-height: 1.45;
  letter-spacing: .025em;
  text-transform: none;
  color: rgba(253, 244, 227, .86) !important;
}
.hero-facts > div { box-shadow: none; }
.portfolio-path-card__cta { font-size: 12px; letter-spacing: .07em; }
.site-header .header-cta { color: #000000; }
body .site-header[data-dynamic-island].island-on-light,
body .site-header[data-dynamic-island].island-on-light.island-compact:not(.island-expanded):not(:focus-within) {
  background: rgba(46, 62, 68, .82) !important;
}

/* Keep the identity centred; only the mark crossfades, the links stay stable. */
.site-header[data-dynamic-island] {
  transition: background-color 260ms ease, box-shadow 260ms ease;
}
.site-header[data-dynamic-island] .header-wordmark,
.site-header[data-dynamic-island] .header-wordmark__full,
.site-header[data-dynamic-island] .header-wordmark__mark {
  transition: opacity 260ms ease, transform 420ms var(--ui-ease);
}
.site-header .main-nav > a { min-height: 44px; }
.site-header .main-nav > a[aria-current="page"] {
  color: #fdf4e3;
  text-decoration: underline;
  text-decoration-color: #b59357;
  text-underline-offset: 8px;
  text-decoration-thickness: 2px;
}
.site-header .lang-dropdown__trigger { min-height: 44px; min-width: 52px; }

@media (min-width: 1101px) {
  .site-header[data-dynamic-island],
  .site-header[data-dynamic-island].island-compact,
  .site-header[data-dynamic-island].island-compact:not(.island-expanded):not(:focus-within) {
    grid-template-columns: minmax(0, 1fr) 180px minmax(0, 1fr) !important;
    width: min(1320px, calc(100% - 48px)) !important;
    min-height: 68px !important;
    padding: 8px 16px !important;
    column-gap: 16px;
  }
  body .site-header[data-dynamic-island] .main-nav {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    gap: clamp(12px, 1.35vw, 22px) !important;
    flex-direction: row !important;
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  body .site-header[data-dynamic-island] .main-nav > a {
    font-size: 13px !important;
    letter-spacing: .025em;
    white-space: nowrap;
    min-width: 44px;
  }
  html[lang="hy"] body .site-header[data-dynamic-island] .main-nav {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    gap: 8px !important;
  }
  html[lang="hy"] body .site-header[data-dynamic-island] .main-nav > a {
    min-width: 0;
    white-space: normal !important;
    line-height: 1.35;
    text-align: center;
    flex-shrink: 1;
  }
  body .site-header[data-dynamic-island] .header-cta {
    display: inline-flex !important;
    min-height: 48px !important;
    font-size: 12px !important;
    padding: 10px 54px 10px 18px !important;
    letter-spacing: .025em;
  }
  body .site-header[data-dynamic-island] .nav-toggle { display: none !important; }
}
@media (min-width: 1101px) and (max-width: 1439px) {
  .site-header[data-dynamic-island] .header-contact { display: none !important; }
}

/* The closed mobile menu must never participate in the island's grid. */
@media (max-width: 1100px) {
  body .site-header[data-dynamic-island],
  body .site-header[data-dynamic-island].island-compact,
  body .site-header[data-dynamic-island].island-compact:not(.island-expanded):not(:focus-within) {
    top: 12px;
    width: calc(100% - 24px) !important;
    height: 64px;
    min-height: 64px !important;
    padding: 8px !important;
    grid-template-columns: 1fr 126px 1fr !important;
    gap: 0;
    border-radius: 32px;
    overflow: visible;
  }
  body .site-header[data-dynamic-island] .header-actions { display: contents; }
  body .site-header[data-dynamic-island] .header-wordmark { z-index: 4; width: 126px; min-width: 126px; }
  body .site-header[data-dynamic-island] .header-wordmark__full { width: 141px; }
  body .site-header[data-dynamic-island] .header-wordmark__mark { width: 40px; height: 40px; }
  body .site-header[data-dynamic-island] .header-contact,
  body .site-header[data-dynamic-island] .header-cta { display: none !important; }
  body .site-header[data-dynamic-island] .nav-toggle {
    position: absolute;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    z-index: 5;
    top: 10px;
    left: 10px;
    width: 44px;
    height: 44px;
    padding: 10px;
    background: transparent;
    border: 0;
    border-radius: 50%;
  }
  body .site-header[data-dynamic-island] .nav-toggle span { width: 21px; margin: 0; }
  body .site-header[data-dynamic-island] .lang-dropdown { position: absolute; z-index: 5; right: 8px; top: 10px; }
  body .site-header[data-dynamic-island] .main-nav {
    position: absolute !important;
    inset: 0 0 auto !important;
    z-index: 2 !important;
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(100dvh - 24px);
    padding: 76px 20px 20px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    border: 0 !important;
    border-radius: 32px !important;
    background: rgba(46, 62, 68, .98) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .18) !important;
    overflow-y: auto;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
    transition: opacity 180ms ease, transform 260ms var(--ui-ease), visibility 180ms;
  }
  body.nav-open .site-header[data-dynamic-island] .main-nav {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  body .site-header[data-dynamic-island] .main-nav > a {
    min-height: 54px !important;
    padding: 12px 8px !important;
    font-size: 20px !important;
    line-height: 1.35;
    letter-spacing: 0;
    text-transform: none;
    text-align: left;
    justify-content: flex-start !important;
    color: #fdf4e3;
    border-top: 1px solid rgba(253, 244, 227, .13);
  }
  body .site-header[data-dynamic-island] .mobile-nav-tools { display: none; }
}

/* Secondary details support the reviews instead of competing with them. */
.reviews-section .section-heading h2 { max-width: 23ch; }
.reviews-stats .review-stat { gap: 12px; min-height: 86px !important; padding: 20px 24px !important; }
.reviews-stats .review-stat__status { font-size: 17px !important; font-weight: 600; white-space: nowrap; }
.reviews-stats .review-stat > span { font-size: 13px; line-height: 1.45; color: rgba(253, 244, 227, .8); }
.reviews-stats .review-stat > strong:not(.review-stat__status) { font-size: clamp(28px, 3vw, 40px) !important; }
.reviews-socials a,
.review-source-grid a,
.review-source-icon { box-shadow: none; }
.reviews-toolbar { background: transparent; border-inline: 0; box-shadow: none; padding-inline: 0; }
.reviews-toolbar > p { color: rgba(253, 244, 227, .85); font-size: 12px; letter-spacing: .055em; }
.review-source-icon { background: rgba(181, 147, 87, .08); }
.review-source-grid a { background: rgba(253, 244, 227, .035); border-radius: 8px; }
.testimonials-track > .testimonial-card,
.testimonials-track > .testimonial-card--more {
  height: 390px;
  min-height: 390px !important;
  transform: none;
}
.testimonial-card__quote {
  flex-basis: calc(32px + 7.2em);
  height: calc(32px + 7.2em);
  -webkit-line-clamp: 5;
}
.testimonials-track > .testimonial-card--more {
  height: auto;
  padding: 28px !important;
}
.testimonials-track > .testimonial-card--more h3 {
  max-width: 17ch;
  font-size: clamp(28px, 2.4vw, 36px);
  line-height: 1.1;
}
.testimonials-track > .testimonial-card--more .review-source-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 18px;
}
.testimonials-track > .testimonial-card--more .review-source-grid a {
  gap: 7px;
  min-height: 48px;
  padding: 6px;
  font-size: 14px;
}
.testimonials-track > .testimonial-card--more .review-source-icon {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
}

/* Rounded glass reviews: preserve exact brand RGB values and readable text. */
#reviewsCarousel {
  background:
    radial-gradient(ellipse at 18% 10%, rgba(253, 244, 227, .065), transparent 52%),
    radial-gradient(ellipse at 82% 70%, rgba(181, 147, 87, .085), transparent 56%);
  border-radius: 32px;
}
#reviewsCarousel .testimonials-track {
  gap: 20px !important;
  padding-top: 12px !important;
  padding-bottom: 20px !important;
}
#reviewsCarousel .testimonials-track > .testimonial-card {
  position: relative;
  isolation: isolate;
  border-radius: 28px !important;
  border: 1px solid rgba(253, 244, 227, .2) !important;
  color: #fdf4e3;
  background:
    linear-gradient(135deg, rgba(253, 244, 227, .105), rgba(253, 244, 227, .025) 48%, rgba(253, 244, 227, .055)),
    rgba(46, 62, 68, .56) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  opacity: 1;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .18),
    inset 0 -1px 0 rgba(253, 244, 227, .045),
    0 8px 18px rgba(0, 0, 0, .09);
  transition: border-color .32s ease, box-shadow .32s ease;
}
#reviewsCarousel .testimonials-track > .testimonial-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 0 0, rgba(253, 244, 227, .095), transparent 48%),
    linear-gradient(120deg, transparent 42%, rgba(253, 244, 227, .035) 56%, transparent 70%);
}
#reviewsCarousel .testimonials-track > .testimonial-card.is-review-active {
  border-color: rgba(181, 147, 87, .52) !important;
  background:
    radial-gradient(ellipse at 95% 0, rgba(181, 147, 87, .13), transparent 56%),
    linear-gradient(135deg, rgba(253, 244, 227, .12), rgba(253, 244, 227, .035) 50%, rgba(253, 244, 227, .065)),
    rgba(46, 62, 68, .56) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .24),
    inset 0 -1px 0 rgba(181, 147, 87, .12),
    0 8px 18px rgba(0, 0, 0, .12);
}
#reviewsCarousel .testimonial-card__quote,
#reviewsCarousel .testimonial-card__name { color: #fdf4e3; }
#reviewsCarousel .testimonial-card__meta { border-top-color: rgba(253, 244, 227, .16); }
#reviewsCarousel .review-source-grid a {
  border-radius: 14px;
  border-color: rgba(253, 244, 227, .18);
  background: rgba(253, 244, 227, .055);
  box-shadow: inset 0 1px 0 rgba(253, 244, 227, .08);
}
@media (hover: hover) and (pointer: fine) {
  #reviewsCarousel .testimonials-track > .testimonial-card:hover {
    border-color: rgba(253, 244, 227, .36) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 8px 18px rgba(0, 0, 0, .12);
  }
}
@media (max-width: 700px) {
  #reviewsCarousel .testimonials-track { gap: 14px !important; }
  #reviewsCarousel .testimonials-track > .testimonial-card { border-radius: 24px !important; }
}
@media (prefers-reduced-motion: reduce) {
  #reviewsCarousel .testimonials-track > .testimonial-card { transition: none !important; }
}

.showroom-primary-actions { flex-wrap: wrap; align-items: center; }
.contact-photo { border-radius: 12px; }
.contact-photo__caption { border-radius: 10px; padding: 16px; }
.contact-line span { font-size: 12px; letter-spacing: .06em; color: rgba(46, 62, 68, .76); }
.contact-line strong { font-size: 17px; }
.contact-map { border-radius: 16px; box-shadow: 0 16px 40px rgba(46, 62, 68, .14); }
.contact-map iframe { border-radius: 10px; }
.contact-map__chrome { font-size: 11px; letter-spacing: .08em; }

@media (max-width: 700px) {
  .section-heading h2,
  .about-preview .section-heading h2,
  .calculator-copy h2,
  .contact-info h2 { font-size: clamp(34px, 9.4vw, 44px) !important; line-height: 1.1 !important; max-width: 100% !important; }
  .section-heading > p:last-child,
  .calculator-copy > p:last-child { font-size: 16px; line-height: 1.6; }
  .hero-facts > div { min-height: 108px !important; }
  .reviews-stats { grid-template-columns: 1fr !important; gap: 0; }
  .reviews-stats .review-stat { display: flex; flex-direction: row; align-items: center; min-height: 0 !important; padding: 14px 0 !important; border-inline: 0; }
  .reviews-stats .review-stat > strong { flex: 0 0 112px; }
  .reviews-stats .review-stat > span { max-width: 26ch; }
  .reviews-toolbar { flex-wrap: wrap; gap: 12px; }
  .reviews-toolbar > p { max-width: none; flex-basis: 100%; font-size: 12px; }
  .reviews-controls { width: 100%; justify-content: flex-end; }
  .reviews-counter { margin-right: auto; }
  .contact-photo__caption { left: 14px; right: 14px; bottom: 14px; gap: 12px; }
  .contact-photo__caption strong { font-size: 15px; }
  .contact-photo__caption span { font-size: 11px; }
}
@media (max-width: 900px) {
  body.nav-open .mobile-cta { visibility: hidden; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .site-header[data-dynamic-island],
  .site-header[data-dynamic-island] * { animation: none !important; transition: none !important; }
}
