/* Homepage FAQ: live, keyboard-accessible disclosures over decorative book art. */
#home-questions { position: relative; isolation: isolate; overflow: hidden; padding: 96px 0; min-height: clamp(780px,56.3vw,980px); background: #f8f4e9 url('../images/faq/faq-library-background.webp') left bottom/cover no-repeat; }
#home-questions > .hp-container { position: relative; width: min(1460px,calc(100% - 100px)); padding-left: 90px; }
#home-questions .hp-faq-layout { display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: 70px; }
#home-questions .hp-faq-kicker { position: relative; margin: 0 0 26px; padding-bottom: 19px; color: #966b2a; font: 400 12px/1.5 'Inter',Arial,sans-serif; text-transform: uppercase; letter-spacing: .29em; }
.hp-faq-kicker::after { content: ''; position: absolute; bottom: 0; left: 0; height: 2px; width: 55px; background: #af8137; }
#home-questions h2 { margin: 0; color: #0f241b; font: 400 clamp(52px,5.1vw,86px)/.99 'PP Editorial New',Georgia,serif; letter-spacing: -.055em; }
#home-questions .hp-faq-description { max-width: 450px; margin: 26px 0 0; color: #2e322d; font: 400 clamp(17px,1.4vw,22px)/1.6 'Inter',Arial,sans-serif; }
#home-questions .hp-faq-contact { display: inline-flex; align-items: center; justify-content: center; gap: 22px; min-height: 54px; margin-top: 26px; padding: 14px 28px; border: 1px solid #b48c43; border-radius: 3px; background: linear-gradient(135deg,#284633,#10291e); box-shadow: inset 0 0 0 2px #ffffff20,0 5px 14px #4c3b1819; color: #edcf88; font: 400 13px/1.3 'Inter',Arial,sans-serif; text-transform: uppercase; letter-spacing: .25em; text-decoration: none; transition: background .2s,transform .2s; }
.hp-faq-contact svg { width: 28px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.3; }
#home-questions .hp-faq-contact:hover { background: #365642; transform: translateY(-2px); color: #ffe4a9; }
#home-questions .hp-faq-list { display: grid; gap: 17px; border: 0; min-width: 0; }
#home-questions .hp-faq-list details { overflow: hidden; border: 1px solid #b99250; border-radius: 6px; background: #fcfaf4e6; box-shadow: 0 10px 24px #775c2410; }
#home-questions .hp-faq-list summary { display: flex; align-items: center; gap: 25px; min-height: 83px; padding: 18px 59px 18px 24px; color: #17291e; font: 400 clamp(21px,1.8vw,29px)/1.28 'PP Editorial New',Georgia,serif; letter-spacing: -.025em; transition: background .2s,color .2s; }
#home-questions .hp-faq-number { display: flex; align-items: center; align-self: stretch; flex: 0 0 51px; min-height: 42px; padding-right: 21px; border-right: 1px solid #b58c49; color: #a77d38; font: 400 21px/1 Georgia,serif; letter-spacing: 0; }
#home-questions .hp-faq-list summary::after { top: 50%; right: 25px; transform: translateY(-50%); color: #b38a40; font: 300 30px/1 Arial,sans-serif; }
#home-questions .hp-faq-list details[open] summary { background: radial-gradient(ellipse at 15% 0,#2b4936,transparent 75%),linear-gradient(120deg,#173324,#10271c); color: #fffaf0; }
#home-questions .hp-faq-list details[open] .hp-faq-number { color: #e8ca85; border-color: #d1b271; }
#home-questions .hp-faq-list details[open] summary::after { color: #e6c77c; }
#home-questions .hp-faq-list summary:hover { background-color: #f0eadb; }
#home-questions .hp-faq-list details > p { max-width: none; margin: 0; padding: 26px 34px 30px; color: #30352f; font: 400 17px/1.7 'Inter',Arial,sans-serif; }
#home-questions .hp-faq-contact:focus-visible, #home-questions summary:focus-visible { outline: 3px solid #997431; outline-offset: 4px; }
#home-questions summary:focus-visible { outline-offset: -5px; }
@media (max-width: 1400px) {
  #home-questions { padding-block: 76px; }
  #home-questions > .hp-container { padding-left: 90px; }
  #home-questions .hp-faq-layout { gap: 50px; }
  #home-questions .hp-faq-kicker { font-size: 10px; letter-spacing: .23em; }
  #home-questions .hp-faq-list summary { gap: 19px; padding-left: 20px; padding-right: 48px; }
  #home-questions .hp-faq-number { flex-basis: 42px; padding-right: 15px; font-size: 20px; }
  #home-questions .hp-faq-list summary::after { right: 19px; }
  #home-questions .hp-faq-list details > p { padding: 23px 28px 26px; font-size: 17px; }
}
@media (max-width: 1050px) {
  #home-questions { padding: 56px 0 64px; min-height: 0; background-image: linear-gradient(#faf7efed,#faf7efed),url('../images/faq/faq-library-background.webp'); }
  #home-questions > .hp-container { width: calc(100% - 64px); max-width: 790px; padding: 0; }
  #home-questions .hp-faq-layout { grid-template-columns: 1fr; gap: 36px; }
  #home-questions h2 { font-size: 64px; }
  #home-questions .hp-faq-description { max-width: 620px; font-size: 18px; margin-top: 23px; }
  #home-questions .hp-faq-list summary { font-size: 25px; }
}
@media (max-width: 600px) {
  #home-questions { padding: 40px 0 44px; background-image: url('../images/services/paper-texture.svg'); }
  #home-questions > .hp-container { width: calc(100% - 46px); max-width: 430px; }
  #home-questions .hp-faq-kicker { font-size: 9px; letter-spacing: .19em; margin-bottom: 22px; padding-bottom: 16px; }
  #home-questions h2 { font-size: clamp(41px,11.7vw,58px); line-height: 1.03; }
  #home-questions .hp-faq-description { font-size: 16px; line-height: 1.7; margin-top: 21px; }
  #home-questions .hp-faq-contact { min-height: 50px; margin-top: 23px; padding: 13px 22px; font-size: 11px; }
  #home-questions .hp-faq-layout { gap: 30px; }
  #home-questions .hp-faq-list { gap: 13px; }
  #home-questions .hp-faq-list summary { min-height: 79px; padding: 17px 38px 17px 14px; gap: 13px; font-size: 20px; line-height: 1.3; }
  #home-questions .hp-faq-number { flex-basis: 34px; padding-right: 11px; font-size: 17px; min-height: 37px; }
  #home-questions .hp-faq-list summary::after { right: 12px; font-size: 25px; }
  #home-questions .hp-faq-list details > p { padding: 20px; font-size: 15px; line-height: 1.75; }
}
@media (max-width: 359px) { #home-questions > .hp-container { width: calc(100% - 36px); } }
@media (prefers-reduced-motion: reduce) { #home-questions .hp-faq-contact, #home-questions summary { transition: none; } }
