
/* Approved homepage visual update 2026-10-07. Scoped to homepage. */
body.home .hero{background:#f5f6f7}
body.home .hero-photo>.hero-responsive>img{filter:saturate(1.12) contrast(1.035)}
body.home .hero-photo .hero-mark{position:absolute;inset:auto;left:50%;top:20%;margin:0;transform:translate(-50%,-50%);z-index:2;pointer-events:none;cursor:default;filter:none;max-width:85%}
body.home .hero-photo .hero-mark.is-dragging{cursor:grabbing}
body.home .hero-photo .hero-mark img{width:100%;height:auto;object-fit:contain;filter:none;display:block;pointer-events:none;user-select:none}
body.home .hero-orange-angle,body.home .hero-orange-corner{pointer-events:none;position:absolute;inset:0;z-index:-2}
@media(min-width:769px){
 body.home .hero{min-height:clamp(34rem,47vw,46rem)}
 body.home .hero-photo{inset:0 0 0 28%;z-index:-3}
 body.home .hero-photo>.hero-responsive>img{object-position:50% 50%}
 body.home .hero:after{display:none}
 body.home .hero-veil{z-index:-1;pointer-events:none;background:repeating-linear-gradient(120deg,#fff 0 8rem,#f8f9fa 8rem 15rem,#fff 15rem 23rem);clip-path:polygon(0 0,46% 0,26% 100%,0 100%)}
 body.home .hero-orange-angle{background:linear-gradient(115deg,#ff9900 18%,#ff8000 49%,#ffb345 57%,#ff7900 68%);clip-path:polygon(46% 0,56% 0,33% 100%,26% 100%)}
 body.home .hero-orange-angle:before{content:"";position:absolute;inset:0;background:#ee65005c;clip-path:polygon(45% 22%,53.8% 22%,45% 49%,40% 49%)}
 body.home .hero-orange-angle:after{content:"";position:absolute;inset:0;background:#fff9;clip-path:polygon(48.3% 0,48.42% 0,29.2% 91%,29.08% 91%)}
 body.home .hero-orange-corner{background:linear-gradient(112deg,#ffb23c,#ff8000);clip-path:polygon(100% 60%,100% 100%,85% 100%);z-index:-1}
 body.home .hero-orange-corner:after{content:"";position:absolute;inset:0;background:#fff9;clip-path:polygon(100% 71%,100% 71.5%,90.5% 100%,90.35% 100%)}
 body.home .hero-inner{padding-block:clamp(4rem,6.5vw,7rem) clamp(3rem,5.6vw,6rem);pointer-events:none}
 body.home .hero-copy{max-width:44%;pointer-events:auto}
 body.home .hero h1{font-size:clamp(3rem,5.45vw,5.3rem);line-height:1.01;letter-spacing:-.035em}
 body.home .hero-description{font-size:clamp(1.1rem,1.67vw,1.55rem);line-height:1.35;max-width:32rem;margin-top:1.45rem}
 body.home .hero-actions{margin-top:1.8rem;gap:1rem}
 body.home .hero-ribbon{right:.6rem;bottom:1rem;font-size:.8rem;width:12.4rem;z-index:0}
}
@media(min-width:769px) and (max-width:1050px){
 body.home .hero-inner{padding-block:3rem}
 body.home .hero-copy{max-width:45%}
 body.home .hero h1{font-size:clamp(2.5rem,5.5vw,3.7rem)}
 body.home .hero-actions{gap:.65rem}
 body.home .hero-actions .btn{padding:.7rem .8rem;font-size:.84rem}
}
@media(max-width:768px){
 body.home .hero-orange-angle,body.home .hero-orange-corner{display:none}
 body.home .hero-photo{position:relative;z-index:0;border-top:4px solid var(--orange)}
 body.home .hero-photo>.hero-responsive>img{object-position:50% 88%}
 body.home .hero-copy{max-width:none}
}


body.home .hero-photo>.hero-responsive>img{filter:none}
body.home .services-grid .service-image{display:flex;align-items:center;justify-content:center;padding:10px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
body.home .services-grid .service-image .service-le-image{object-fit:contain;object-position:center;width:100%;height:100%;max-width:16rem;max-height:15rem;border:0;border-radius:0;box-shadow:none;filter:none;transform:none}
body.home .hero-photo .mobile-hero-veil,body.home .hero-photo .mobile-hero-angle,body.home .hero-photo .mobile-hero-corner{display:none}
body.home .hero-photo .mobile-orange-reference{display:none}
body.home .hero-veil,body.home .hero:after,body.home .hero-orange-angle,body.home .hero-orange-corner,body.home .hero-ribbon{display:none}
@media(min-width:769px){
 body.home .hero{min-height:0;aspect-ratio:1672/941;height:auto}
 body.home .hero-photo{inset:0;z-index:-3}
 body.home .hero-photo>.hero-responsive>img{object-fit:fill;object-position:center}
 body.home .hero-inner{position:absolute;inset:0;width:100%;max-width:none;padding:0;margin:0;pointer-events:none}
 body.home .hero-copy{position:absolute;left:4.65%;top:19.3%;width:44%;max-width:none;pointer-events:auto}
 body.home .hero .eyebrow{font-size:1.02vw;margin-bottom:1.9vw;gap:1vw}
 body.home .hero .eyebrow:before{width:2.5vw;height:3px}
 body.home .hero h1{font-size:6vw;line-height:.92;letter-spacing:-.037em}
 body.home .hero-description{font-size:1.65vw;line-height:1.4;margin-top:2.3vw;max-width:none}
 body.home .hero-actions{margin-top:1.85vw;gap:1.25vw;flex-wrap:nowrap}
 body.home .hero-actions .btn{font-size:1.12vw;padding:1.05vw 1.9vw;line-height:1.3;border-radius:6px;gap:1.1vw;white-space:nowrap}
 body.home .hero-actions .btn-primary{color:#fff}
 body.home .hero-actions .btn-secondary{background:#ffffffd9;color:#191b1d}
 body.home .hero-actions .icon{width:1.35vw;height:1.35vw}
}
@media(max-width:768px){
 body.home .hero{display:flex;flex-direction:column;min-height:0;height:auto}
 body.home .hero-inner{order:1;width:100%;max-width:none;margin:0;padding:28px 26px 10px;background:repeating-linear-gradient(120deg,#fff 0 8rem,#f8f9fa 8rem 15rem,#fff 15rem 23rem)}
 body.home .hero-copy{width:100%;max-width:none}
 body.home .hero .eyebrow{font-size:10.5px;gap:10px;line-height:1.4;margin-bottom:17px}
 body.home .hero .eyebrow:before{width:25px;height:3px}
 body.home .hero h1{font-size:clamp(2.5rem,12.5vw,3.3rem);line-height:.92;letter-spacing:-.037em}
 body.home .hero-description{font-size:17.5px;line-height:1.3;max-width:none;margin-top:16px}
 body.home .hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:14px}
 body.home .hero-actions .button{flex:0 0 auto;width:100%;height:44px;min-height:44px;font-size:14px;font-weight:700;line-height:20px;padding:11px 16px;border-radius:6px;justify-content:center;gap:12px}
 body.home .hero-actions .button-orange{color:#fff}
 body.home .hero-actions .button-outline{background:#ffffffc9;color:#191b1d}
 body.home .hero-photo{order:0;flex:none;width:100%;min-height:0;max-height:none;aspect-ratio:auto;border-top:0;background:#f5f6f7}
 body.home .hero-photo>.hero-responsive>img{position:absolute;width:100%;max-width:100%;left:0;height:100%;object-fit:cover;object-position:50% 88%;filter:none}
 body.home .hero-photo .mobile-hero-veil,body.home .hero-photo .mobile-hero-angle,body.home .hero-photo .mobile-hero-corner{display:block;position:absolute;inset:0;pointer-events:none;z-index:1}
 body.home .hero-photo .mobile-hero-veil{background:repeating-linear-gradient(120deg,#fff 0 8rem,#f8f9fa 8rem 15rem,#fff 15rem 23rem);clip-path:polygon(0 0,13.07% 0,0 23.09%)}
 body.home .hero-photo .mobile-orange-reference{display:block;position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
 body.home .hero-photo .mobile-orange-reference svg{position:absolute;width:0;height:0}
 body.home .hero-photo .mobile-orange-reference img{position:absolute;inset:0 auto auto 0;width:100%;max-width:none;height:100%;object-fit:fill;pointer-events:none}
 body.home .hero-photo .mobile-orange-reference .orange-reference-left{clip-path:none;transform:none}
 body.home .hero-photo .mobile-orange-reference .orange-reference-right{clip-path:none;transform:none}
 body.home .hero-photo .mobile-hero-angle{background:linear-gradient(115deg,#ff9900 18%,#ff8000 49%,#ffb345 57%,#ff7900 68%);clip-path:polygon(13% 0,30% 0,0 64%,0 23%)}
 body.home .hero-photo .mobile-hero-angle:before{content:"";position:absolute;inset:0;background:#ee65005c;clip-path:polygon(11% 22%,24% 22%,0 63%,0 45%)}
 body.home .hero-photo .mobile-hero-angle:after{content:"";position:absolute;inset:0;background:#fff9;clip-path:polygon(17% 0,17.25% 0,6.7% 18%,6.45% 18%)}
 body.home .hero-photo .mobile-hero-angle i{position:absolute;inset:0;background:#fff9;clip-path:polygon(9.3% 44%,9.55% 44%,0 60.3%,0 59.8%)}
 body.home .hero-photo .mobile-hero-corner{background:linear-gradient(112deg,#ffb23c,#ff8000);clip-path:polygon(100% 55%,100% 100%,69% 100%)}
 body.home .hero-photo .mobile-hero-corner:before{content:"";position:absolute;inset:0;background:#ee65005c;clip-path:polygon(88% 66%,100% 66%,76% 100%,69% 100%)}
 body.home .hero-photo .mobile-hero-corner:after{content:"";position:absolute;inset:0;background:#fff9;clip-path:polygon(100% 62.5%,100% 63%,79.8% 100%,79.5% 100%)}
}

body.home .hero-photo>.hero-responsive{display:block;width:100%;height:100%}
body.home .hero-photo .hero-mark{width:234px;left:66%;top:17%;opacity:.52;transform:translate(-50%,-50%)}
@media(max-width:768px){
 body.home .hero-photo{height:clamp(280px,94.358974vw,460px)}
 body.home .hero-photo>.hero-responsive{position:absolute;inset:0}
 body.home .hero-photo>.hero-responsive>img{left:0;top:0;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:100% 50%}
 body.home .hero-photo .hero-mark{width:90px;left:42%;top:18%;opacity:.52;transform:translate(-50%,-50%);margin:0;filter:none}
}

/* Original public homepage sizing, from site.css 1.2.0.16 before today's photo trials. */
@media(min-width:769px){
 body.home .hero{width:100%;max-width:none;margin:0;min-height:27rem;height:auto;aspect-ratio:auto}
 body.home .hero-inner{position:relative;inset:auto;width:89.2%;max-width:1280px;padding-block:2.65rem 2.25rem;margin-inline:auto}
 body.home .hero-copy{position:static;left:auto;top:auto;width:auto;max-width:35rem}
 body.home .hero .eyebrow{font-size:.875rem;line-height:1.4;margin-bottom:.9rem;gap:.8rem}
 body.home .hero .eyebrow:before{width:1.8rem;height:3px}
 body.home .hero h1{font-size:clamp(3.1rem,4.95vw,4.45rem);line-height:.985;letter-spacing:-.035em}
 body.home .hero-description{font-size:clamp(1.05rem,1.6vw,1.47rem);line-height:1.16;margin-top:1.05rem;max-width:none}
 body.home .hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.4rem}
 body.home .hero-photo>.hero-responsive>img{object-fit:cover;object-position:center}
 body.home .hero-photo .hero-mark{width:clamp(12rem,16.25vw,15.5rem);top:29%}
}
@media(min-width:1500px){
 body.home .hero{min-height:29rem}
 body.home .hero-inner{padding-top:3rem}
}
@media(min-width:769px) and (max-width:1150px){
 body.home .hero{min-height:24.3rem}
 body.home .hero-inner{padding-block:2.4rem 1.9rem}
 body.home .hero-copy{max-width:29rem}
 body.home .hero h1{font-size:3.85rem}
 body.home .hero-description{font-size:1.33rem}
}
@media(min-width:769px) and (max-width:950px){
 body.home .hero{min-height:22.5rem}
 body.home .hero-copy{max-width:26rem}
 body.home .hero h1{font-size:3.3rem}
 body.home .hero-description{font-size:1.18rem}
 body.home .hero .eyebrow{font-size:.79rem}
 body.home .hero-actions{gap:.6rem}
}

/* Preserve the approved artwork's proportions within the original hero height. */
@media(min-width:769px){
 body.home .hero{background:#fff}
 body.home .hero-photo{left:auto;right:0;top:0;bottom:auto;height:100%;width:auto;aspect-ratio:1672/941}
 body.home .hero-photo>.hero-responsive>img{width:100%;height:100%;object-fit:fill;object-position:center}
 body.home .hero-photo .hero-mark{width:16.25%;left:66%;top:17%;opacity:.52}
}
@media(min-width:769px) and (max-width:1150px){
 body.home .hero{container-type:inline-size;min-height:0;aspect-ratio:1672/941}
 body.home .hero-photo{inset:0;width:100%;height:100%}
 body.home .hero-inner{position:absolute;inset:0;width:100%;max-width:none;padding:0;margin:0}
 body.home .hero-copy{position:absolute;left:4.65%;top:19.3%;width:44%;max-width:none}
 body.home .hero .eyebrow{font-size:1.02cqw;margin-bottom:1.9cqw;gap:1cqw}
 body.home .hero .eyebrow:before{width:2.5cqw}
 body.home .hero h1{font-size:6cqw;line-height:.92}
 body.home .hero-description{font-size:1.65cqw;line-height:1.4;margin-top:2.3cqw}
 body.home .hero-actions{margin-top:1.85cqw;gap:1.25cqw;flex-wrap:nowrap}
 body.home .hero-actions .button{font-size:1.12cqw;padding:1.05cqw 1.9cqw;gap:1.1cqw;min-height:0}
 body.home .hero-actions .icon{width:1.35cqw;height:1.35cqw}
}
