/* Quiet, optional polish. Content is never hidden waiting for JavaScript. */
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 88% 28%,rgba(207,16,38,.045),transparent 46%),radial-gradient(ellipse at 8% 4%,rgba(255,255,255,.75),transparent 62%)}
.hero-visual{border-radius:20px;box-shadow:0 24px 64px -36px rgba(34,35,38,.36),0 0 0 1px rgba(255,255,255,.8)}
.hero-visual img{border-radius:20px}
#main .price-card.bundle{background:radial-gradient(ellipse at 100% 0,rgba(255,136,149,.085),transparent 60%),var(--ink)}
#main .price-card{box-shadow:0 8px 22px -18px rgba(34,35,38,.25)}
#main .foundation,#main .request form{box-shadow:0 16px 42px -30px rgba(34,35,38,.22)}
#main .portrait{box-shadow:0 18px 42px -30px rgba(34,35,38,.28)}
#main .rebuild-promise{box-shadow:0 14px 36px -26px rgba(0,0,0,.4)}
#main .work-image{overflow:hidden;isolation:isolate}
#main .work-image img{transform-origin:center}
#main .request form{border:1px solid rgba(255,255,255,.9)}
#main .request form:focus-within{border-color:rgba(207,16,38,.24);box-shadow:0 18px 44px -30px rgba(34,35,38,.28)}
#main input:focus-visible,#main select:focus-visible,#main textarea:focus-visible{box-shadow:0 0 0 5px rgba(207,16,38,.065)}
#main details[open]>summary{color:var(--red)}
#main .dark details[open]>summary{color:var(--red-light)}
#main .disclosure-icon{position:relative;height:20px;align-self:center}
#main .disclosure-icon::before,#main .disclosure-icon::after{content:"";position:absolute;top:9px;left:3px;width:14px;height:2px;border-radius:1px;background:currentColor}
#main .disclosure-icon::after{transform:rotate(90deg)}
#main details[open]>summary>.disclosure-icon::after{content:"";transform:rotate(90deg) scaleX(0)}
.site-header nav>a:not(.button),#main .text-link,#main .team-phone{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 calc(100% - 9px)}
@media(prefers-reduced-motion:no-preference){
 .site-header .button,#main .button{transition:background-color 180ms ease,box-shadow 220ms ease,transform 220ms cubic-bezier(.2,.7,.2,1)}
 #main .price-card,#main .work-image,#main .request form{transition:transform 320ms cubic-bezier(.2,.7,.2,1),box-shadow 320ms ease,border-color 220ms ease}
 #main .work-image img{transition:transform 550ms cubic-bezier(.2,.7,.2,1)}
 #main .disclosure-icon::after{transition:transform 220ms ease}
 .site-header nav>a:not(.button),#main .text-link,#main .team-phone{transition:background-size 220ms ease}
 #main summary{transition:color 180ms ease}
}
@media(hover:hover) and (pointer:fine){
 .site-header .button:hover,#main .button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 9px 22px -12px rgba(207,16,38,.6)}
 #main .landing .button:hover{box-shadow:0 9px 22px -12px rgba(34,35,38,.6)}
 .site-header .button:active,#main .button:not(:disabled):active{transform:translateY(0);box-shadow:none}
 #main .price-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -28px rgba(34,35,38,.42)}
 #main .work-image:hover{transform:translateY(-3px);box-shadow:0 18px 34px -24px rgba(34,35,38,.35)}
 #main .work-image:hover img{transform:scale(1.025)}
 .site-header nav>a:not(.button):hover,#main .text-link:hover,#main .team-phone:hover{background-size:100% 1px;text-decoration:none}
 #main summary:hover{color:var(--red)}
 #main .dark summary:hover{color:var(--red-light)}
}
@media(prefers-reduced-motion:reduce){
 .site-header *,#main *,#main *::before,#main *::after{transition:none!important;animation:none!important}
 .site-header .button,#main .button,#main .price-card,#main .work-image,#main .work-image img{transform:none!important}
}
@media print{.hero::before{display:none}#main *{box-shadow:none!important}}

