/* Restore the full-width Elementor contract of the replaced HTML hero.
   Scope the reset to containers that actually host a Coastierge hero. */
body :is(.e-con,.e-con-inner,.elementor-section,.elementor-container,.elementor-column,.elementor-widget-wrap):has(:is(.coast-home-hero,.coast-section-hero)){
 --content-width:100%;--container-max-width:100%;
 --padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;
 width:100%!important;max-width:100%!important;min-width:0;
 padding:0!important;margin:0!important;border-radius:0!important;
}
body :is(.elementor-widget-html,.elementor-widget-shortcode):has(:is(.coast-home-hero,.coast-section-hero)){
 --container-widget-width:100%;--container-widget-flex-grow:1;
 width:100%!important;max-width:100%!important;min-width:0;
 align-self:stretch;margin:0!important;padding:0!important;border-radius:0!important;
}
body :is(.elementor-widget-container,.elementor-shortcode):has(> :is(.coast-home-hero,.coast-section-hero)){
 width:100%;max-width:none;margin:0!important;padding:0!important;border-radius:0!important;
}
body.home :is(main.site-main,.page-content):has(.coast-home-hero){
 width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
}
body .coast-home-hero,body .coast-home-hero *,body .coast-home-hero *::before,body .coast-home-hero *::after{box-sizing:border-box}
body .coast-home-hero{
 width:100%;max-width:none;margin:0;
 height:calc(100svh - var(--coast-navigation-offset,0px));
 min-height:620px;padding:170px clamp(22px,5vw,80px) 100px;
}
body .coast-home-hero__content{min-width:0;max-width:100%;margin:0 auto}
body .coast-home-hero h1{max-width:100%;margin-inline:auto}
/* A light logo keeps its outline on pale frames and white content below. */
#coast-site-navigation .coast-mnav__logo{flex-shrink:0;overflow:visible}
#coast-site-navigation .coast-mnav__logo img{
 filter:brightness(0) invert(1) drop-shadow(0 1px 1px rgba(0,22,38,.9)) drop-shadow(0 2px 4px rgba(0,22,38,.65));
}
/* An integer tile width avoids subpixel seams at the strip's actual 28px height. */
body .coast-footer .coast-footer__strip{
 background-image:url('../img/footer-pattern-tile.svg');
 background-size:48px 28px;background-repeat:repeat-x;background-position:left center;
 height:28px;min-height:28px;max-height:28px;flex-shrink:0;
}
@media(max-width:767px){
 body .coast-home-hero{min-height:600px;padding:150px 22px 100px}
 body .coast-home-hero h1{font-size:clamp(34px,8vw,48px)!important}
 body .coast-home-hero__subtitle{font-size:17px;line-height:1.6;max-width:32ch}
}
