.faq{grid-template-columns:.85fr 1.35fr;gap:80px;align-items:start;padding-top:55px;padding-bottom:75px}
.faq .eyebrow{font-size:10px;letter-spacing:.16em;color:var(--logo-gold)}
.faq h2{font-size:clamp(30px,2.8vw,40px);line-height:1.17;letter-spacing:-.035em;margin-top:16px}
.faq .faq-intro>p{font-size:16px;line-height:1.7;color:#77766b;margin:22px 0 24px}
.faq-contact{display:flex;align-items:center;gap:14px;border:1px solid #e4e4e4;border-radius:10px;background:#f5f5f5;padding:18px 20px;max-width:320px;transition:border-color .2s,background .2s}
.faq-contact:hover{border-color:var(--logo-gold);background:#f0f0f0}
.faq-contact>svg{width:25px;height:25px;fill:none;stroke:var(--logo-gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.faq-contact>span{display:flex;flex-direction:column;gap:3px}.faq-contact small{font-size:12px;line-height:1.5;color:#7e796b}.faq-contact strong{font-size:16px;line-height:1.5;font-weight:600;letter-spacing:0}
.faq-list{display:flex;flex-direction:column;gap:12px;min-width:0}
.faq details{border:1px solid #e4e4e4;border-radius:10px;overflow:hidden;background:white;transition:border-color .2s,background .2s}
.faq details:hover{border-color:#c2c2c2}
.faq details[open]{background:#f5f5f5;border-color:#d3bd8a;box-shadow:inset 3px 0 0 var(--logo-gold)}
.faq summary{padding:21px 23px;font-size:16px;line-height:1.5;font-weight:600;letter-spacing:-.015em;align-items:center;gap:18px}
.faq summary:focus-visible{outline:2px solid var(--logo-gold);outline-offset:-4px;border-radius:9px}
.faq summary>span{width:22px;height:22px;flex-shrink:0;position:relative;font-size:0;line-height:0;transform:none!important}
.faq summary>span::before,.faq summary>span::after{content:"";position:absolute;left:4px;top:10px;width:14px;height:1.5px;background:var(--logo-gold);border-radius:1px}
.faq summary>span::after{transform:rotate(90deg);transition:transform .2s}
.faq details[open] summary>span::after{transform:rotate(0)}
.faq details p{font-size:15px;line-height:1.8;color:#747267;margin:0;padding:0 58px 23px 23px;max-width:660px}
@media(max-width:1000px){.faq{gap:40px;grid-template-columns:.8fr 1.3fr}.faq summary{padding:19px;font-size:15px}.faq details p{padding:0 48px 20px 19px}.faq-contact{padding:16px}.faq-contact strong{font-size:14px}}
@media(max-width:760px){.faq{grid-template-columns:1fr;gap:28px;padding:35px 0 45px}.faq h2{font-size:32px}.faq .faq-intro>p{font-size:15px;margin:17px 0}.faq-contact{max-width:none;padding:15px 18px}.faq-contact strong{font-size:16px}.faq-list{gap:10px}.faq summary{font-size:15px;padding:18px;gap:12px}.faq details p{font-size:14px;line-height:1.8;padding:0 34px 20px 18px}}
@media(prefers-reduced-motion:reduce){.faq details,.faq-contact,.faq summary>span::after{transition:none}}

#faq .faq-intro{min-width:0}
.faq-product-slider{max-width:100%;overflow:hidden;border-radius:16px;margin-top:28px;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.faq-product-track{display:flex;width:max-content;animation:faq-product-drift 28s linear infinite;will-change:transform}
.faq-product-group{display:flex;gap:14px;padding-right:14px;flex-shrink:0}
.faq-product-group img{width:150px;height:175px;object-fit:cover;border-radius:12px;background:#f5f5f5;flex-shrink:0}
.faq-product-slider:hover .faq-product-track,.faq-product-slider:focus .faq-product-track{animation-play-state:paused}
.faq-product-slider:focus-visible{outline:2px solid var(--logo-gold);outline-offset:5px}
@keyframes faq-product-drift{to{transform:translateX(-50%)}}
@media(max-width:760px){.faq-product-slider{margin-top:23px}.faq-product-group img{width:135px;height:155px}}
@media(prefers-reduced-motion:reduce){.faq-product-track{animation:none;transform:none}.faq-product-slider{overflow-x:auto;mask-image:none}.faq-product-group[aria-hidden="true"]{display:none}}

.faq .faq-intro{min-width:0}
.services-faq-band.faq-gallery-band,.project-faq-band.faq-gallery-band{background:#fff;border-top:0}
.faq-gallery-band .faq.section{padding-block:65px 75px}
.faq-gallery-band .faq.section h2{font-size:clamp(30px,2.8vw,40px)}
.faq-gallery-band .faq.section .faq-intro>p{font-size:16px}
.services-faq-band.faq-gallery-band .faq details[open]{background:#f5f5f5}
@media(max-width:760px){.faq-gallery-band .faq.section{padding-block:42px 48px}.faq-gallery-band .faq.section h2{font-size:32px}}

.about-faq-band.faq-gallery-band{background:#fff;border-top:0}

/* White and logo-gold FAQ layout with a dedicated contact card. */
.faq.faq-redesign{
  --faq-gold:var(--logo-gold);
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.35fr);
  gap:64px;
  align-items:start;
  padding-block:80px;
}
.faq.faq-redesign::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 -3%;
  background:#fff;
  pointer-events:none;
}
.faq.faq-redesign .faq-intro>.eyebrow{
  display:flex;align-items:center;gap:10px;
  color:var(--logo-gold);font-size:13px;letter-spacing:.08em;text-transform:uppercase;
}
.faq.faq-redesign h2{margin:24px 0 32px;color:#22241f}
.faq-help-card{
  padding:30px;border:1px solid #e8d99e;border-radius:24px;
  background:#fff;
  box-shadow:0 12px 36px #24242408;
}
.faq-help-logo{width:64px;height:72px;object-fit:contain;margin-bottom:22px}
.faq-help-card h3{font-size:24px;line-height:1.3;letter-spacing:-.025em;margin:0 0 14px;color:#262820}
.faq.faq-redesign .faq-help-card p{color:#62655c;margin:0 0 26px;padding:0}
.faq-help-button{display:flex;width:100%;justify-content:center;background:var(--logo-gold);color:#20221c;box-shadow:0 8px 20px #d9aa0e21}
.faq-help-button:hover{background:var(--logo-gold)}
.faq.faq-redesign .faq-list{gap:14px}
.faq.faq-redesign details{
  border:1px solid #e8dfbf;border-radius:20px;
  background:#fff;box-shadow:0 4px 18px #55400004;
}
.faq.faq-redesign details:hover{border-color:var(--logo-gold)}
.faq.faq-redesign details[open]{background:#fff;border-color:var(--logo-gold);box-shadow:0 8px 28px #24242408}
.faq.faq-redesign summary{display:flex;justify-content:space-between;list-style:none;padding:22px 24px;font-size:18px;line-height:1.5;color:#292c23;font-weight:600;cursor:pointer}
.faq.faq-redesign summary::-webkit-details-marker{display:none}
.faq.faq-redesign summary>span{width:24px;height:24px}
.faq.faq-redesign summary>span::before,.faq.faq-redesign summary>span::after{left:4px;top:11px;width:16px;height:2px;background:var(--logo-gold);transition:transform .2s}
.faq.faq-redesign details[open] summary>span::before{transform:rotate(45deg)}
.faq.faq-redesign details[open] summary>span::after{transform:rotate(-45deg)}
.faq.faq-redesign details p{max-width:none;padding:0 60px 24px 24px;color:#62655c}
@media(max-width:1000px){.faq.faq-redesign{gap:32px;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr)}.faq-help-card{padding:24px}}
@media(max-width:760px){
  .faq.faq-redesign{grid-template-columns:1fr;gap:30px;padding-block:48px}
  .faq.faq-redesign h2{margin:20px 0 26px}
  .faq-help-card{padding:24px;border-radius:20px}
  .faq-help-logo{width:50px;height:56px;margin-bottom:16px}
  .faq-help-card h3{font-size:22px}
  .faq.faq-redesign summary{font-size:16px;padding:20px;gap:15px}
  .faq.faq-redesign details p{padding:0 20px 22px}
}
@media(prefers-reduced-motion:reduce){.faq.faq-redesign summary>span::before,.faq.faq-redesign summary>span::after{transition:none}}
