/* Preserve the reference theme while allowing the requested embed heights. */
:root{--ink:#2c160a;--orange:#ce5f1e;--white:#fff}
.hero-form-frame{height:400px;min-height:0!important;overflow:visible}
.hero-form iframe{height:100%;min-height:0;border-radius:10px}
.hero-form{padding-bottom:14px}
/* The provider includes 20px of empty space after the submit button. */
.hero-form-frame[data-provider-sized]{margin-bottom:-20px;clip-path:inset(0 0 20px)}
.consultation-form-frame{height:698px;min-height:698px;overflow:visible}
.consultation-form-frame iframe{height:100%;min-height:698px;border-radius:10px}
.nav-dropdown:focus-within .nav-submenu{opacity:1;visibility:visible;pointer-events:auto}
.nav-submenu{border:3px solid var(--orange)}
main :is(ul,.issue-list,.why-list).three-bullets-stacked{display:grid;grid-template-columns:minmax(0,1fr);flex-direction:column}
main .three-bullets-stacked>*{width:100%;grid-column:1}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.consultation-form-frame iframe{width:100%;margin:0}
.project-slider-stage{touch-action:pan-y}
/* Leave room for descenders in the gradient hero lettering. */
.hero-display-message span{line-height:1.18;padding-bottom:.08em}
/* Compact section transitions while retaining card and control borders. */
main>.section{padding-block:55px;border-block:0}
.interior-page .section{padding-block:42px;border-block:0}
main>.cta-section{padding-block:45px}
.additional-services{border-top:0;margin-top:45px;padding-top:37px}
@media(max-width:620px){main>.section{padding-block:31px}.interior-page .section{padding-block:27px}main>.cta-section{padding-block:30px}}
/* One action per service card and a consistent branded bullet marker. */
.seo-card .service-view-button,.interior-card .service-view-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 22px;border:1px solid #ef8b52;border-radius:10px;background:linear-gradient(145deg,#ce5f1e,#a83800);color:#fff;font-size:14px;font-weight:800;line-height:1.2;text-decoration:none;box-shadow:0 7px 16px #a8380026}
.seo-card>.service-view-button{margin-top:auto}
.seo-card .service-view-button:hover,.interior-card .service-view-button:hover{background:linear-gradient(145deg,#e16b28,#b54208);color:#fff}
main ul.branded-bullets{list-style:none}
main ul.branded-bullets>li{position:relative;padding-left:52px;list-style:none}
main ul.branded-bullets>li::before,.issue-list>span::before{content:"";display:block;width:25px;height:25px;position:absolute;left:15px;top:16px;background:url('/brand-check.svg') center/contain no-repeat;border:0;border-radius:50%;box-shadow:none}
.issue-list>span{padding-left:48px}
.issue-list>span::before{top:50%;transform:translateY(-50%)}
.check-icon,.why-list .check-icon{width:27px;height:27px;flex:0 0 27px;font-size:0;color:transparent;background:url('/brand-check.svg') center/contain no-repeat;border:0;border-radius:50%;box-shadow:none}
main svg.lucide-check{width:27px;height:27px;flex:0 0 27px;box-sizing:border-box;padding:5px;color:#fff;stroke:#fff;background:linear-gradient(145deg,#ce5f1e,#a83800);border:1.5px solid #f2a278;border-radius:50%;box-shadow:none}
/* Keep bullet groups and their text aligned to the left at every screen size. */
main :is(ul.branded-bullets,.issue-list,.why-list,.consultation-promise-list){text-align:left;margin-left:0;margin-right:auto}
main :is(ul.branded-bullets>li,.issue-list>span,.why-list>article,.consultation-promise-list>span){text-align:left;justify-content:flex-start}
main :is(ul.branded-bullets>li,.why-list>article) :is(h3,p,strong,span){text-align:left}
.interior-page :is(.why-list,.issue-list).interior-three-item-stack{margin-left:0;margin-right:auto}
main .scope-notes{margin-left:0;margin-right:auto}
/* City landing page hero: two fitted lines with the location in the brand gradient. */
.city-hero-heading{container-type:inline-size;width:100%;max-width:780px;line-height:1.18}
.city-hero-heading .city-hero-first-line{display:block;white-space:nowrap;font-size:min(60px,8cqw);letter-spacing:-.04em;line-height:1.18;color:var(--white);background:none;-webkit-text-fill-color:var(--white);margin-top:0;padding-bottom:.08em}
.city-hero-heading .hero-accent-line{display:block;white-space:nowrap;font-size:min(38px,4.5cqw);letter-spacing:-.04em;line-height:1.18;margin-top:8px;padding-bottom:.08em}
