.service-icon{display:block;font-size:1.55rem!important;line-height:1;letter-spacing:0!important;min-height:3rem;margin-bottom:2px;color:inherit!important}
.service-grid .featured .service-icon{font-size:3.1rem!important;min-height:4.4rem}
.service-grid h3 a{border-bottom:1px solid transparent;transition:border-color .2s}
.service-grid h3 a:hover{border-color:var(--gold)}
.service-grid .service-detail-link{margin-top:12px!important;padding-top:0!important;color:var(--navy);font-size:.64rem}
.service-grid .featured .service-detail-link{color:var(--gold2)}
.service-grid .service-book-link{margin-top:auto}

.how-it-works{padding:9vw 8vw;background:var(--paper)}
.how-it-works .section-heading{max-width:860px}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.step-card{padding:42px 36px 46px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:310px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(246,241,231,.2))}
.step-number{display:block;color:var(--gold);font-size:.68rem;font-weight:600;letter-spacing:.2em;margin-bottom:58px}
.step-card h3{font-size:2rem;line-height:1.05;color:var(--navy);margin:0 0 18px}
.step-card p{color:var(--muted);margin:0}
.how-it-works-note{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line);color:var(--muted)}
.how-it-works-note p{margin:0;max-width:690px}
.how-it-works-note .text-link{flex:0 0 auto;color:var(--oxblood)}

.faq-section{padding:9vw 8vw;background:#eee7da;display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;align-items:start}
.faq-intro{position:sticky;top:128px}
.faq-intro h2{font-size:clamp(3rem,4.8vw,5.7rem);line-height:1;letter-spacing:-.04em;color:var(--navy);margin:0}
.faq-intro>p:not(.eyebrow){color:var(--muted);max-width:520px;margin-top:24px}
.faq-intro .text-link{display:inline-block;margin-top:18px;color:var(--oxblood)}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:0}
.faq-list summary{list-style:none;cursor:pointer;padding:25px 54px 25px 0;position:relative;color:var(--navy);font-family:'Libre Caslon Display','Playfair Display',serif;font-size:1.45rem;line-height:1.2}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:'DM Sans',sans-serif;font-size:1.5rem;font-weight:300;color:var(--oxblood)}
.faq-list details[open] summary::after{content:'–'}
.faq-list details p{margin:0;padding:0 54px 26px 0;color:var(--muted);max-width:760px}
.faq-list details p a{color:var(--oxblood);border-bottom:1px solid rgba(116,37,31,.35)}
.faq-list summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}

@media(max-width:1120px){
  .faq-section{grid-template-columns:1fr;gap:48px}
  .faq-intro{position:static}
}

@media(max-width:680px){
  .how-it-works,.faq-section{padding:20vw 6vw}
  .steps-grid{grid-template-columns:1fr}
  .step-card{min-height:auto;padding:32px 26px 36px}
  .step-number{margin-bottom:34px}
  .how-it-works-note{align-items:flex-start;flex-direction:column}
  .faq-list summary{font-size:1.3rem;padding:22px 42px 22px 0}
  .faq-list details p{padding:0 40px 22px 0}
}