/* Consistent vector icons across desktop and mobile. */
.ui-arrow{display:inline-block;width:1.1em;height:1.1em;min-width:1.1em;vertical-align:-.15em;fill:none!important;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.button .ui-arrow,.blog-read .ui-arrow{transition:transform .2s ease}.button:hover .ui-arrow,.blog-card a:hover .blog-read .ui-arrow{transform:translate(3px,-2px)}.footer-to-top .ui-arrow{width:24px;height:24px}.feature-arrow .ui-arrow{width:20px;height:20px}.nav-chevron .ui-arrow{width:16px;height:16px}
/* Architectural linework remains decorative and never intercepts interaction. */
.home-faq,body.about-page .about-faq,.about-section,.about-intro{position:relative;isolation:isolate}
.home-faq::before,body.about-page .about-faq::before,.about-section::before,.about-intro::before{content:'';position:absolute;background:url("../images/roof-drawing.svg") center/contain no-repeat;pointer-events:none;z-index:-1;width:560px;height:480px;opacity:.22}
.home-faq::before{left:-220px;bottom:-25px;transform:rotate(-8deg)}
.home-faq::after{content:'';position:absolute;right:0;top:20px;width:420px;height:420px;background:url("../images/roof-drawing.svg") center/contain no-repeat;opacity:.22;pointer-events:none;z-index:-1}
.home-faq{overflow:hidden}.home-faq figure::before{background:#0076bd;transform:rotate(4deg);border-radius:10px;top:-22px;right:-15px}
.home-faq figure{isolation:isolate}.home-faq img{box-shadow:0 20px 40px #2b1b161c}.home-faq>.wrap{position:relative;z-index:1}
body.about-page .about-faq::before{right:-15px;top:15px;width:550px;max-width:100%;height:100%;background-position:top right;opacity:.2}
.about-section::before{left:-100px;top:50px;max-width:85%;transform:rotate(-9deg)}.about-intro::before{right:0;top:20px;max-width:90%;transform:rotate(7deg)}
.home-reference .elk-hero::before{content:'';position:absolute;right:0;top:20px;width:43%;height:90%;background:url("../images/roof-drawing.svg") center/contain no-repeat;opacity:.14;filter:brightness(0) invert(1);pointer-events:none;z-index:0}.elk-hero>.wrap{position:relative;z-index:1}
.roof-feature-card,.blog-card,.repair-gallery button{transition:transform .25s ease,box-shadow .25s ease}.blog-card:hover{transform:translateY(-5px)}.repair-gallery button:hover{box-shadow:0 12px 24px #20181020}.about-images img,.about-collage img{box-shadow:0 18px 38px #1b171714}
@keyframes section-arrive{from{opacity:.4;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.motion-arrive{animation:section-arrive .65s ease both}
@media(max-width:700px){.home-faq::before{width:330px;height:340px;left:-180px;bottom:45px}.home-faq::after{width:320px;height:330px;top:auto;bottom:30px;right:-55px}.home-reference .elk-hero::before{width:80%;opacity:.1}.about-section::before{left:-25px;width:350px}.home-faq figure::before{right:-12px;top:-18px}}
@media(prefers-reduced-motion:reduce){.motion-arrive{animation:none}.button .ui-arrow,.blog-read .ui-arrow,.roof-feature-card,.blog-card,.repair-gallery button{transition:none}.blog-card:hover{transform:none}}
