/* Final branch-only layout corrections. Loaded once in the head for shared UI, and last after the home composition mounts. */
:root{--site-signal-green:#66d487}
/* Website/browser cards: original brand green on the controls, no ornamental .com microcopy beneath buttons. */
.composition-home .centered-websites .stack-dots{color:#66d487!important}
.composition-home .centered-websites .stack-copy .btn,.composition-home .centered-websites .stack-copy .btn-primary,.composition-work .card .btn-primary{background:#66d487!important;border-color:#66d487!important;color:#09170e!important;font-weight:800!important;box-shadow:none!important}
.composition-home .centered-websites .stack-copy .btn:hover,.composition-home .centered-websites .stack-copy .btn:focus-visible{background:#8de6a7!important;border-color:#8de6a7!important;color:#09170e!important}
.composition-home .centered-websites .stack-copy .site-domain,.composition-home .centered-websites .stack-copy .stack-domain,.composition-home .centered-websites .stack-copy .site-url-caption{display:none!important}
/* Keep the original film as the visual focus: overlay strength is just 2%. */
.composition-home.composition-v2 .workflow-stage .workflow-stage-video{filter:none!important;opacity:1!important}
.composition-home.composition-v2 .workflow-stage .workflow-stage-light{background:linear-gradient(180deg,rgba(245,255,247,.02),rgba(245,255,247,.01) 55%,transparent)!important}
.composition-home.composition-v2 .workflow-stage .workflow-stage-shade{background:linear-gradient(0deg,rgba(5,12,8,.02),transparent 25%,transparent 80%,rgba(5,12,8,.02))!important}
/* Match contact page footer consistently without compromising readable text. */
.site-footer{background:#080a09!important}
.site-footer .footer-cta{overflow:hidden}
.site-footer .footer-portrait{max-width:100%;object-fit:contain}
.site-footer .footer-cta-copy .btn i,.site-footer .footer-bottom i{margin-left:.35em}
/* Remove only pictographic characters in button ornaments, never visible words or label text. */
.site-header .nav-resume-btn,.site-footer .btn,.centered-websites .stack-copy .btn{align-items:center;justify-content:center}
@media(min-width:861px){
 body.composition-home.composition-v2 .portfolio-hero{height:auto!important;min-height:max(900px,108svh)!important;max-height:none!important;overflow:hidden!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-inner{height:auto!important;min-height:max(900px,108svh)!important;padding:clamp(110px,13vh,145px) 0 0!important;max-width:none!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-intro{width:100%!important;margin:0 auto!important;text-align:center!important;position:relative!important;z-index:4!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-kicker{font-size:clamp(36px,3.7vw,56px)!important;margin:0!important;line-height:1.08!important}
 body.composition-home.composition-v2 .portfolio-hero #hero-title{display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important;overflow:visible!important}
 body.composition-home.composition-v2 .portfolio-hero #hero-title .picked{font-size:clamp(49px,5.1vw,74px)!important;line-height:1.05!important;min-height:1.05em!important;margin:0!important}
 body.composition-home.composition-v2 .portfolio-hero #hero-title .accent-italic{font-family:'Array','Arial Black',sans-serif!important;font-style:normal!important;font-weight:700!important;font-size:clamp(115px,17.9vw,255px)!important;line-height:.86!important;letter-spacing:-.018em!important;max-width:none!important;white-space:nowrap!important;margin:20px auto 0!important;transform:none!important;transform-origin:center!important;color:#66d487!important;-webkit-text-fill-color:#66d487!important;background:none!important;background-image:none!important}
 body.composition-home.composition-v2 .portrait-stage{left:50%!important;transform:translateX(-50%)!important;bottom:clamp(92px,11vh,145px)!important;width:min(49vw,640px)!important;height:min(52vw,630px)!important;z-index:6!important}
 body.composition-home.composition-v2 .hero-3d-fallback{left:50%!important;transform:translateX(-50%)!important;bottom:clamp(92px,11vh,145px)!important;width:min(44vw,560px)!important;height:58%!important;z-index:5!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-statement{position:absolute!important;top:auto!important;left:clamp(32px,3.3vw,60px)!important;bottom:clamp(40px,6.5vh,78px)!important;width:min(38vw,475px)!important;max-width:475px!important;padding:0!important;margin:0!important;text-align:left!important;z-index:8!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-statement-title{font-size:clamp(18px,1.7vw,24px)!important;max-width:440px!important;line-height:1.3!important;margin:0 0 13px!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-statement>p:last-of-type{font-size:clamp(12px,1.05vw,15px)!important;line-height:1.6!important;max-width:430px!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-actions{margin-top:23px!important;gap:12px!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-actions .btn{min-height:43px!important;padding:11px 22px!important;font-size:13px!important}
}
@media(min-width:861px) and (max-width:1150px){
 body.composition-home.composition-v2 .portfolio-hero #hero-title .accent-italic{font-size:18vw!important}
 body.composition-home.composition-v2 .portrait-stage{width:46vw!important;height:52vw!important}
 body.composition-home.composition-v2 .hero-3d-fallback{width:42vw!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-statement{width:38vw!important}
}
@media(max-width:860px){
 body.composition-home.composition-v2 .portfolio-hero,body.composition-home.composition-v2 .portfolio-hero .hero-inner{height:auto!important;min-height:850px!important;max-height:none!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-inner{padding:88px 20px 36px!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-intro{position:relative!important;text-align:center!important;width:100%!important}
 body.composition-home.composition-v2 .portfolio-hero #hero-title .accent-italic{font-size:clamp(64px,16vw,128px)!important;margin:20px auto 0!important;letter-spacing:-.025em!important;transform:none!important;max-width:100%!important}
 body.composition-home.composition-v2 .portrait-stage{left:50%!important;bottom:260px!important;width:min(94vw,470px)!important;height:350px!important;transform:translateX(-50%)!important}
 body.composition-home.composition-v2 .hero-3d-fallback{left:50%!important;bottom:260px!important;width:min(88vw,430px)!important;height:350px!important;transform:translateX(-50%)!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-statement{position:absolute!important;left:20px!important;right:20px!important;bottom:35px!important;width:auto!important;max-width:none!important;text-align:center!important;margin:0!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-statement-title,body.composition-home.composition-v2 .portfolio-hero .hero-statement>p:last-of-type{max-width:46ch!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;width:100%!important;max-width:440px!important;margin:18px auto 0!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-actions .btn{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:45px!important;font-size:13px!important}
 body.composition-home.composition-v2 .comp-about>img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;align-self:start!important}
}
@media(max-width:560px){
 body.composition-home.composition-v2 .portfolio-hero,body.composition-home.composition-v2 .portfolio-hero .hero-inner{min-height:830px!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-inner{padding-top:100px!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-kicker{font-size:clamp(27px,7vw,36px)!important}
 body.composition-home.composition-v2 .portfolio-hero #hero-title .picked{font-size:clamp(30px,9vw,40px)!important}
 body.composition-home.composition-v2 .portfolio-hero #hero-title .accent-italic{font-size:clamp(60px,16vw,90px)!important;margin-top:20px!important;transform:none!important}
 body.composition-home.composition-v2 .portrait-stage{height:305px!important;bottom:300px!important;width:100%!important}
 body.composition-home.composition-v2 .hero-3d-fallback{height:305px!important;bottom:300px!important;width:93vw!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-statement{bottom:24px!important;left:20px!important;right:20px!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-statement-title{font-size:15px!important;line-height:1.34!important;margin-bottom:10px!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-statement>p:last-of-type{font-size:11px!important;line-height:1.48!important}
 body.composition-home.composition-v2 .portfolio-hero .hero-actions .btn{min-height:42px!important}
 body.composition-home.composition-v2 .comp-about>img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
}
@media(prefers-reduced-motion:reduce){html.composition-ready body{transition:none!important}}
