/* V2 polish: a brief opening spotlight, with diagonal arrow exchanges. */
.closing h2{color:#fff}.closing-highlight{color:var(--yellow)}
.arrow-window{display:inline-block;position:relative;overflow:hidden;width:1.35em;height:1.35em;line-height:1.35;vertical-align:middle;flex-shrink:0;font-size:1.2rem}.arrow-window .booking-arrow{display:block;position:absolute;inset:0;text-align:center;line-height:1.35;transition:transform .38s cubic-bezier(.25,.65,.3,1),opacity .3s;font-size:inherit}.arrow-return{transform:translate(-125%,125%);opacity:0}
a[href*="calendly.com"]:is(:hover,:focus-visible) .booking-arrow:not(.arrow-return){transform:translate(125%,-125%);opacity:0}a[href*="calendly.com"]:is(:hover,:focus-visible) .arrow-return{transform:translate(0,0);opacity:1}
.button:hover{transform:none;box-shadow:0 4px 14px #48243a12}.header-cta .arrow-window{font-size:1rem}
.hero:not(.service-hero){position:relative;isolation:isolate;overflow:hidden}.hero-layout{position:relative;z-index:1}.hero-highlight{background:none;display:inline}.hero-word{display:inline-block}.hero:not(.service-hero)::before{content:'';position:absolute;z-index:0;pointer-events:none;left:-90px;top:-130px;width:570px;height:570px;border-radius:50%;background:radial-gradient(circle,#ffd54485 0%,#ffd54440 35%,#ffd54400 69%);opacity:.13;transform:translate(-80px,-50px) scale(.8)}
@media(prefers-reduced-motion:no-preference){
.hero-layout h1{animation:headline-arrive .65s cubic-bezier(.2,.8,.3,1) both}.hero-word{animation:word-arrive 1.45s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(.12s + var(--word)*.1s)}.hero:not(.service-hero)::before{animation:spotlight-arrive 1.65s cubic-bezier(.2,.7,.3,1) both}.hero-layout .intro-card{animation:card-arrive .8s ease both}
@keyframes headline-arrive{from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes word-arrive{0%{opacity:.35;filter:blur(12px)}35%{opacity:.8}100%{opacity:1;filter:blur(0)}}
@keyframes spotlight-arrive{0%{opacity:0;transform:translate(-130px,30px) scale(.3)}38%{opacity:1;transform:translate(190px,50px) scale(1.2)}100%{opacity:.13;transform:translate(-80px,-50px) scale(.8)}}
@keyframes card-arrive{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}
}
@media(max-width:760px){.hero:not(.service-hero)::before{width:400px;height:400px;left:-140px;top:-80px}}
@media(prefers-reduced-motion:reduce){.hero-layout h1,.hero-word,.hero-layout .intro-card,.hero:not(.service-hero)::before{animation:none}.arrow-window .booking-arrow{transition:none}a[href*="calendly.com"]:is(:hover,:focus-visible) .booking-arrow:not(.arrow-return){transform:none;opacity:1}.arrow-return,a[href*="calendly.com"]:is(:hover,:focus-visible) .arrow-return{display:none}}

/* The portfolio arrow follows the same exchange, vertically. */
.arrow-down .arrow-return{transform:translateY(-125%)}
a:is(:hover,:focus-visible) .arrow-down .booking-arrow:not(.arrow-return){transform:translateY(125%);opacity:0}
a:is(:hover,:focus-visible) .arrow-down .arrow-return{transform:translateY(0);opacity:1}
@media(prefers-reduced-motion:reduce){a:is(:hover,:focus-visible) .arrow-down .booking-arrow:not(.arrow-return){transform:none;opacity:1}.arrow-down .arrow-return{display:none}}

/* Approved V2: keep the headline immediately clear and still. */
.hero-layout h1,.hero-word{animation:none!important;filter:none;transform:none;opacity:1}
