/* Compatibility styles for CMS inner-page sections that are not on index.html. */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:100;background:var(--wdc-gold,#c99554);color:#fff;padding:10px 16px;
}
.skip-link:focus{left:16px;top:16px;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
.center{text-align:center;}
.center-btn{margin-top:28px;}
.section-title{text-align:center;margin-bottom:48px;}
.section-title h2{font-size:34px;margin-top:10px;}
.section-title p{color:#786F62;margin-top:12px;max-width:560px;margin-inline:auto;font-size:15px;}

.page-banner{position:relative;min-height:380px;display:flex;align-items:center;color:#fff;overflow:hidden;padding:0;}
.page-banner img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.35) contrast(1.05);}
.page-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,10,8,.82) 18%,rgba(10,10,8,.35) 70%,rgba(10,10,8,.2));}
.page-banner-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:72px 32px;width:100%;}
.page-banner .eyebrow{color:#E7DCC4;letter-spacing:.22em;font-size:11px;margin-bottom:16px;display:block;}
.page-banner h1{font-size:46px;line-height:1.12;max-width:640px;margin-bottom:28px;}
.page-banner h1 em{font-style:italic;color:var(--wdc-gold,#c99554);font-weight:400;}

.service-cards{background:#f7f1e8;padding:88px 0;}
.service-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.service-card{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.05);display:flex;flex-direction:column;}
.service-card img{width:100%;height:190px;object-fit:cover;}
.service-card-body{padding:22px 22px 26px;display:flex;flex-direction:column;gap:10px;flex:1;}
.service-card h3{font-size:20px;}
.service-card p{font-size:14px;color:#786F62;line-height:1.6;}
.service-card-link{margin-top:auto;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--wdc-gold-dark,#8C6329);}

.rich-text{background:#fff;padding:88px 0;}
.rich-text-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.rich-text-grid.image-left{grid-template-columns:.9fr 1.1fr;}
.rich-text-grid.image-left .rich-text-media{order:-1;}
.rich-text-grid.no-media{grid-template-columns:1fr;}
.rich-text h2{font-size:32px;margin:8px 0 16px;}
.rich-text p{color:#786F62;font-size:15px;line-height:1.7;}
.rich-text-subhead{font-size:16px;margin:18px 0 8px;}
.rich-text-points{margin-top:18px;padding:0;list-style:none;}
.rich-text-points li{display:flex;gap:10px;margin-bottom:8px;font-size:14px;}
.rich-text-points li::before{content:"✓";color:var(--wdc-gold,#c99554);font-weight:700;}
.rich-text-footer{margin-top:16px;}
.rich-text-media img{width:100%;height:420px;object-fit:cover;border-radius:6px;}

.process-steps{background:#f7f1e8;padding:88px 0;}
.process-layout{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.process-layout.has-media{grid-template-columns:1fr .9fr 1fr;align-items:stretch;}
.process-col{display:flex;flex-direction:column;gap:18px;}
.process-media img{width:100%;height:100%;min-height:280px;object-fit:cover;border-radius:6px;}
.process-card{background:#fff;padding:24px 20px;border-radius:6px;flex:1;}
.process-num{display:block;color:var(--wdc-gold,#c99554);font-size:22px;margin-bottom:10px;}
.process-card h3{font-size:16px;margin-bottom:8px;}
.process-card p{font-size:13px;color:#786F62;line-height:1.6;}
.process-timeline{display:flex;flex-direction:column;gap:28px;}
.process-step{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center;}
.process-step.reverse{grid-template-columns:1.1fr .9fr;}
.process-step.reverse .process-step-media{order:2;}
.process-step-media img{width:100%;height:240px;object-fit:cover;border-radius:6px;}

.info-cards{background:#fff;padding:88px 0;}
.info-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.info-cards-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.info-cards-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.info-card{background:#f7f1e8;border-radius:6px;overflow:hidden;}
.info-card img{width:100%;height:200px;object-fit:cover;}
.info-card-body{padding:20px;}
.info-card h3{font-size:18px;margin-bottom:8px;}
.info-card p{font-size:14px;color:#786F62;}

.faq{background:#f3eadc;padding:88px 0;}
.faq-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start;}
.faq h2{font-size:32px;margin:8px 0 24px;}
.faq-item{background:#fff;border:1px solid #DCD2BC;border-radius:6px;padding:16px 18px;margin-bottom:10px;}
.faq-item summary{cursor:pointer;font-weight:600;font-size:15px;list-style:none;}
.faq-item p{margin-top:10px;font-size:14px;color:#786F62;line-height:1.7;}
.faq-media img{width:100%;height:420px;object-fit:cover;border-radius:6px;}

.appt-success,.alert-success{background:#1B4653;color:#fff;padding:16px 20px;border-radius:4px;margin-bottom:20px;font-size:14px;}
.appt-errors,.alert-danger{background:#5c2020;color:#fff;padding:16px 20px;border-radius:4px;margin-bottom:20px;font-size:13px;}
.icon-badge svg{width:2.4rem;height:2.4rem;stroke:var(--wdc-gold,#c99554);fill:none;stroke-width:1.4;}
.howHelpArea a.help-item{display:block;color:inherit;text-decoration:none;}
.howHelpArea .icon-badge img{max-width:100%;height:auto;object-fit:contain;}

.media-dialog{border:none;padding:0;max-width:min(920px,94vw);width:100%;background:#000;border-radius:8px;}
.media-dialog::backdrop{background:rgba(0,0,0,.72);}
.media-dialog video{display:block;width:100%;max-height:80vh;background:#000;}
.media-dialog-close{position:absolute;top:10px;right:10px;z-index:2;background:rgba(0,0,0,.6);color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;}

.main-profile .profile-content{float:none;}
.main-profile .profile-content .profile-details{padding:20px 24px;flex-wrap:wrap;}
.AddressArealine .stBox a{color:inherit;text-decoration:none;}
.innerBannerSection{min-height:320px;}
.team-details-content p{margin-bottom:16px;line-height:1.8;color:#555;}

footer.footer-section iframe{
  display:block;width:100%;min-height:220px;height:220px;border:0;border-radius:8px;
}
footer.footer-section .footer-link{color:inherit;text-decoration:none;}
footer.footer-section .footer-text{font-size:15px;line-height:1.75;}
footer.footer-section .social-icons a{font-size:20px;color:#111;}

@media (max-width:900px){
  .service-cards-grid,.info-cards-grid,.process-layout,.process-layout.has-media,.process-step,.process-step.reverse,.rich-text-grid,.faq-grid{grid-template-columns:1fr;}
  .process-step.reverse .process-step-media{order:0;}
  .page-banner h1{font-size:34px;}
}
