/* GREENVALD — frequently asked questions and direct contacts, 2.13.0 */
#faq {
  padding: 80px 0;
  background: #fff;
  border-bottom: 1px solid #e3eaf1;
  scroll-margin-top: 126px;
}
#faq .gv-faq-container {
  width: calc(100% - 80px);
  max-width: 1600px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  align-items: start;
  gap: 72px;
}
#faq .gv-faq-eyebrow {
  display: block;
  margin-bottom: 20px;
  color: #5d7085;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .075em;
  text-transform: uppercase;
}
#faq h2 {
  margin: 0 0 24px;
  color: #102d55;
  font-size: clamp(32px, 3.1vw, 48px);
  line-height: 1.18;
  letter-spacing: -.035em;
  font-weight: 750;
}
#faq .gv-faq-lead {
  max-width: 470px;
  margin: 0;
  color: #5c6c7c;
  font-size: 20px;
  line-height: 1.65;
}
#faq .gv-faq-contact {
  margin-top: 36px;
  max-width: 470px;
  padding: 32px;
  color: #fff;
  background: #102d55;
  border-radius: 6px;
}
#faq .gv-faq-contact-label {
  color: #bdcfe3;
  display: block;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.6;
  letter-spacing: .06em;
  text-transform: uppercase;
}
#faq .gv-faq-contact h3 {
  margin: 0 0 14px;
  color: #fff;
  font-size: 26px;
  line-height: 1.35;
  letter-spacing: -.025em;
}
#faq .gv-faq-contact p {
  color: #d8e4f1;
  font-size: 17px;
  line-height: 1.7;
  margin: 0 0 24px;
}
#faq .gv-faq-phone,
#faq .gv-faq-email {
  display: block;
  width: fit-content;
  max-width: 100%;
  color: #fff;
  text-decoration: none;
  overflow-wrap: anywhere;
}
#faq .gv-faq-phone {font-size: 28px; line-height: 1.4; font-weight: 700; letter-spacing: -.02em;}
#faq .gv-faq-email {font-size: 20px; line-height: 1.6; margin-top: 7px;}
#faq .gv-faq-phone:hover,
#faq .gv-faq-email:hover {text-decoration: underline; text-underline-offset: 5px;}
#faq .gv-faq-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  min-height: 58px;
  margin-top: 28px;
  padding: 14px 20px;
  border: 1px solid #8da7c5;
  border-radius: 3px;
  color: #fff;
  font-size: 17px;
  line-height: 1.5;
  font-weight: 650;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease;
}
#faq .gv-faq-button > span {font-size: 25px; line-height: 1;}
#faq .gv-faq-button:hover {background: #1b3e6b; border-color: #fff;}
#faq .gv-faq-list {min-width: 0; border-top: 0; display: grid; gap: 12px;}
#faq .gv-faq-item {border: 1px solid #dae3ed; border-radius: 6px; background: #fff;}
#faq .gv-faq-item[open] {background: #f3f7fb; border-color: #c7d5e5;}
#faq .gv-faq-item summary {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 22px;
  align-items: start;
  gap: 18px;
  padding: 25px 26px;
  color: #102d55;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.5;
  list-style: none;
  cursor: pointer;
}
#faq .gv-faq-item summary::after {content: none;}
#faq .gv-faq-item summary::-webkit-details-marker {display: none;}
#faq .gv-faq-number {font-size: 14px; font-weight: 650; line-height: 31.5px; color: #7b8ca1;}
#faq .gv-faq-toggle {position: relative; width: 22px; height: 22px; margin-top: 5px;}
#faq .gv-faq-toggle::before,
#faq .gv-faq-toggle::after {content: ''; position: absolute; background: #102d55; border-radius: 1px;}
#faq .gv-faq-toggle::before {width: 18px; height: 2px; left: 2px; top: 10px;}
#faq .gv-faq-toggle::after {height: 18px; width: 2px; top: 2px; left: 10px;}
#faq .gv-faq-item[open] .gv-faq-toggle::after {display: none;}
#faq .gv-faq-answer {padding: 0 66px 27px 78px;}
#faq .gv-faq-answer p {margin: 0; color: #516479; font-size: 18px; line-height: 1.75;}
#faq summary:focus-visible,
#faq a:focus-visible {outline: 3px solid #b89a5d; outline-offset: 4px; border-radius: 3px;}
.contact-section .contact-contact {width: fit-content; max-width: 100%; font-size: 22px; line-height: 1.5; font-weight: 600; overflow-wrap: anywhere;}
.contact-section .contact-contact[href^="tel:"] {font-size: 28px; font-weight: 700; letter-spacing: -.02em; margin-top: 28px;}
.contact-section .contact-contact:hover {text-decoration: underline; text-underline-offset: 5px;}
.gv-footer-contacts {display: grid; gap: 8px; min-width: 0;}
.gv-footer-contacts a {font-size: 17px; line-height: 1.5; color: #102d55; overflow-wrap: anywhere;}
.gv-footer-contacts a[href^="tel:"] {font-size: 21px; font-weight: 700;}
.gv-footer-contacts a:hover {text-decoration: underline; text-underline-offset: 5px;}
.gv-footer-contacts a:focus-visible,
.contact-section .contact-contact:focus-visible {outline: 3px solid #b89a5d; outline-offset: 4px;}
.site-footer .footer-top {flex-wrap: wrap;}
@media (max-width: 1150px) {
  #faq .gv-faq-container {gap: 40px; grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr);}
  #faq .gv-faq-contact {padding: 27px;}
  #faq .gv-faq-contact h3 {font-size: 24px;}
  #faq .gv-faq-phone {font-size: 24px;}
  #faq .gv-faq-email {font-size: 18px;}
  #faq .gv-faq-item summary {font-size: 20px; gap: 14px; grid-template-columns: 28px minmax(0, 1fr) 22px; padding: 24px;}
  #faq .gv-faq-answer {padding: 0 60px 25px 66px; font-size: 17px;}
}
@media (max-width: 1080px) {
  #faq .gv-faq-container {width: calc(100% - 56px);}
}
@media (max-width: 980px) {
  #faq .gv-faq-container {grid-template-columns: 1fr; gap: 36px;}
  #faq .gv-faq-intro {display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; align-items: start;}
  #faq .gv-faq-eyebrow {grid-column: 1;}
  #faq h2 {grid-column: 1;}
  #faq .gv-faq-lead {grid-column: 1; font-size: 19px;}
  #faq .gv-faq-contact {grid-column: 2; grid-row: 1 / 4; margin-top: 0; max-width: none;}
  #faq .gv-faq-item summary {font-size: 21px;}
  #faq .gv-faq-answer p {font-size: 18px;}
}
@media (max-width: 620px) {
  #faq {padding: 48px 0; scroll-margin-top: 96px;}
  #faq .gv-faq-container {gap: 28px;}
  #faq .gv-faq-intro {display: block;}
  #faq .gv-faq-eyebrow {font-size: 12px; margin-bottom: 16px;}
  #faq h2 {font-size: 32px; margin-bottom: 20px;}
  #faq .gv-faq-lead {font-size: 18px;}
  #faq .gv-faq-contact {margin-top: 28px; padding: 28px;}
  #faq .gv-faq-contact h3 {font-size: 25px;}
  #faq .gv-faq-phone {font-size: 27px;}
  #faq .gv-faq-email {font-size: 19px;}
  #faq .gv-faq-item summary {font-size: 19px; padding: 22px; grid-template-columns: minmax(0, 1fr) 20px; gap: 16px;}
  #faq .gv-faq-number {display: none;}
  #faq .gv-faq-toggle {width: 20px; margin-top: 3px;}
  #faq .gv-faq-answer {padding: 0 22px 23px;}
  #faq .gv-faq-answer p {font-size: 17px; line-height: 1.7;}
  .contact-section .contact-contact {font-size: 19px;}
  .contact-section .contact-contact[href^="tel:"] {font-size: 25px;}
}
@media (max-width: 480px) {
  #faq .gv-faq-container {width: calc(100% - 36px);}
  #faq .gv-faq-contact {padding: 25px;}
  #faq .gv-faq-phone {font-size: 25px;}
  #faq .gv-faq-email {font-size: 18px;}
  #faq .gv-faq-button {font-size: 16px; min-height: 56px; padding: 13px 18px;}
}
@media (max-width: 360px) {
  #faq h2 {font-size: 29px;}
  #faq .gv-faq-lead {font-size: 17px;}
  #faq .gv-faq-contact {padding: 23px;}
  #faq .gv-faq-contact h3 {font-size: 23px;}
  #faq .gv-faq-contact p {font-size: 16px;}
  #faq .gv-faq-phone {font-size: 23px;}
  #faq .gv-faq-email {font-size: 17px;}
  #faq .gv-faq-item summary {font-size: 18px; padding: 21px; gap: 12px;}
  #faq .gv-faq-answer {padding: 0 21px 22px;}
  #faq .gv-faq-answer p {font-size: 16px;}
  .contact-section .contact-contact {font-size: 17px;}
  .contact-section .contact-contact[href^="tel:"] {font-size: 23px;}
}

/* Expanded project inventory, September 2026. */
#faq .gv-faq-answer p + p {margin-top: 18px;}
#faq .gv-faq-inventory {margin: 24px 0; display: grid; gap: 20px;}
#faq .gv-faq-inventory > div {min-width: 0; padding-top: 18px; border-top: 1px solid #dbe4ee;}
#faq .gv-faq-inventory dt {margin: 0 0 7px; color: #102d55; font-size: 18px; font-weight: 700; line-height: 1.45;}
#faq .gv-faq-inventory dd {margin: 0; color: #516479; font-size: 18px; line-height: 1.75; overflow-wrap: anywhere;}
@media (max-width: 700px) {
  #faq .gv-faq-inventory {gap: 17px; margin: 20px 0;}
  #faq .gv-faq-inventory dt, #faq .gv-faq-inventory dd {font-size: 17px;}
}
@media (max-width: 390px) {
  #faq .gv-faq-inventory dt, #faq .gv-faq-inventory dd {font-size: 16px;}
}
