.faq-page{
  --faq-ivory:#f5f4f0;--faq-stone:#e9e7e1;--faq-ink:#17191d;--faq-accent:#c65b42;
  --faq-copper-text:#a6422c;--faq-muted:#514d46;--faq-rule:#c9c4ba;
  --faq-width:min(100% - 7rem,90rem);
  overflow-x:clip;background:var(--faq-ivory);color:var(--faq-ink);
}
.faq-page .s2-wrap{width:var(--faq-width)}
.faq-hero{
  position:relative;isolation:isolate;display:grid;align-items:center;box-sizing:border-box;
  min-height:clamp(440px,56svh,530px);padding-block:72px 76px;
  background:#eeede6;border-bottom:1px solid var(--faq-rule);
}
.faq-hero .faq-hero-inner{max-width:82rem}
.faq-hero-art{
  position:absolute;inset:0;z-index:-1;display:block;width:100%;height:100%;
  object-fit:cover;object-position:center 53%;filter:saturate(.72);opacity:.82;
}
.faq-eyebrow{
  display:block;margin:0 0 14px;color:var(--faq-copper-text);
  font:650 12px/1.5 ui-monospace,Consolas,monospace;
}
.faq-hero .faq-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.faq-hero .faq-eyebrow::before{content:"";width:27px;height:1px;background:currentColor}
.faq-page h1{margin:0;font-size:82px;line-height:1.02}
.faq-page h1 span{display:block}
.faq-intro{
  max-width:41ch;margin:23px 0 0;color:#36322e;font-size:18px;line-height:1.6;
}
.faq-content{padding-block:82px 90px}
.faq-content:not(.faq-enhanced){max-width:68ch}
.faq-content:not(.faq-enhanced)>h2:not(:first-child){margin-top:2.5rem}
.faq-enhanced{
  display:grid;grid-template-columns:minmax(0,1fr);gap:82px;padding-block-end:0;
}
.faq-category{min-width:0}
.faq-category h2{margin:0;font-size:36px;line-height:1.12}
.faq-services{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:68px clamp(36px,7%,96px);
}
.faq-service>header{margin-bottom:20px}
.faq-service>header .faq-eyebrow{margin-bottom:16px}
.faq-service>header::after{
  content:"";display:block;width:38px;height:1px;margin-block-start:22px;background:var(--faq-accent);
}
.faq-service .faq-questions details{border-bottom-color:#dfdad1}
.faq-service .faq-questions details:last-child{border-bottom:0}
.faq-questions details{border-bottom:1px solid var(--faq-rule)}
.faq-questions summary{
  display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:20px;align-items:center;list-style:none;cursor:pointer;
  box-sizing:border-box;min-height:63px;padding:15px 3px 15px 0;font-size:17px;font-weight:590;line-height:1.5;
}
.faq-questions summary::-webkit-details-marker{display:none}
.faq-questions summary::after{
  content:"";width:14px;height:14px;color:var(--faq-accent);
  background:linear-gradient(currentColor,currentColor) center/12px 1px no-repeat,
             linear-gradient(currentColor,currentColor) center/1px 12px no-repeat;
}
.faq-questions details[open]>summary::after{background:linear-gradient(currentColor,currentColor) center/12px 1px no-repeat}
.faq-questions details[open]>summary,.faq-questions summary:hover{color:var(--faq-copper-text)}
.faq-page .faq-questions summary:focus-visible{outline:2px solid var(--faq-copper-text);outline-offset:2px}
.faq-answer{padding:0 2rem 23px 0;max-width:68ch;color:var(--faq-muted);font-size:17px;line-height:1.65}
.faq-answer p{margin:0}
.faq-answer p+p{margin-top:12px}
.faq-general{grid-column:1/-1;position:relative;isolation:isolate;padding-block:80px 92px}
.faq-general::before{content:"";position:absolute;z-index:-1;inset-block:0;inset-inline:calc(50% - 50vw);background:var(--faq-stone)}
.faq-general h2{margin-bottom:38px;font-size:58px;line-height:1.03}
.faq-subgroup{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.75fr);column-gap:clamp(30px,5%,72px);
  border-top:1px solid var(--faq-rule);padding-block:20px 23px;
}
.faq-subgroup:last-child{border-bottom:1px solid var(--faq-rule)}
.faq-subgroup h3{margin:15px 0 0;font-size:21px;line-height:1.3}
.faq-subgroup details:last-child{border-bottom:0}
.faq-contact{background:var(--faq-ink);color:var(--faq-ivory)}
.faq-contact-inner{
  display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:end;
  gap:clamp(32px,7%,100px);padding-block:92px 100px;
}
.faq-contact h2{margin:0;font-size:60px;line-height:1.04}
.faq-contact h2::before{content:"";display:block;width:42px;height:1px;margin-bottom:24px;background:var(--faq-accent)}
.faq-contact-copy p{margin:0 0 23px;max-width:28ch;color:var(--faq-stone);font-size:19px;line-height:1.55}
.faq-contact a{min-width:132px}
.s2-site .faq-contact .s2-button-primary{background:var(--faq-copper-text);border-color:var(--faq-accent)}
.s2-site .faq-contact .s2-button-primary:hover{background:#873423}
.s2-site .faq-contact .s2-button-primary:focus-visible{outline-color:var(--faq-ivory)}
@media(max-width:1150px){
  .faq-page h1{font-size:70px}
}
@media(max-width:1050px){
  .faq-page{--faq-width:calc(100% - 4rem)}
}
@media(max-width:930px){
  .faq-page h1{font-size:56px}
  .faq-hero{min-height:440px}
  .faq-category:not(.faq-general) h2{font-size:32px}
  .faq-subgroup h3{font-size:20px}
  .faq-contact h2{font-size:54px}
}
@media(max-width:700px){
  .faq-page{--faq-width:calc(100% - 2rem)}
  .faq-hero{min-height:374px;padding-block:57px 52px}
  .faq-hero-art{object-position:43% 53%;opacity:.7}
  .faq-page h1{font-size:42px}
  .faq-hero .faq-eyebrow{margin-bottom:18px}
  .faq-intro{max-width:28ch;margin-top:19px;font-size:17px}
  .faq-content{padding-block-start:48px}
  .faq-enhanced{row-gap:46px}
  .faq-services,.faq-subgroup,.faq-contact-inner{grid-template-columns:minmax(0,1fr)}
  .faq-category:not(.faq-general) h2{font-size:29px}
  .faq-services{row-gap:44px}
  .faq-service>header{margin-bottom:17px}
  .faq-service>header::after{margin-block-start:18px}
  .faq-questions summary{font-size:16px;min-height:56px;padding-block:14px}
  .faq-general{padding-block:52px 56px}
  .faq-general h2{font-size:47px;margin-bottom:25px}
  .faq-subgroup{row-gap:8px;padding-block:19px 22px}
  .faq-subgroup h3{margin-top:0}
  .faq-answer{padding-inline-end:12px;font-size:16px}
  .faq-contact-inner{gap:20px;padding-block:56px 61px}
  .faq-contact h2{font-size:40px}
  .faq-contact h2::before{margin-bottom:18px}
  .faq-contact-copy p{margin-bottom:19px;font-size:17px}
}
@media(max-width:380px){
  .faq-page h1{font-size:38px}
}
@media(max-width:360px){
  .faq-page h1{font-size:35px}
}
