/* Chapter light follows neighbouring content, rather than the DOM position. */
.home #main>section:not(.hero-balanced):not(.industries-section):not(.audit-section):not(.about-section),
.service-refresh-page #main :is(.seo-owner-document,.direct-owner-document) section:not(.service-hero):not(.audit-section):not(.about-section){
 background-image:var(--chapter-light,radial-gradient(ellipse var(--light-rx,58%) var(--light-ry,88%) at 50% var(--light-y,50%),#b6ce8638,transparent 74%)),linear-gradient(120deg,#ffffff03,transparent 45%,#020f132c);
 box-shadow:inset 0 1px 0 #d9efdd0d,inset 0 -28px 60px -45px #020b10b3;
}
.home #main>section:is(.quiz-section,.benefits-section),
:is(.seo-owner-document,.direct-owner-document) :is(.seo-quiz-section,.service-existing,.seo-scope,.seo-process,.seo-benefits){--light-y:100%}
.home #main>.services,
:is(.seo-owner-document,.direct-owner-document) :is(.service-work,.seo-focus,.seo-outcomes,.service-pricing){--light-y:0%}
.home #main>#packages,:is(.seo-owner-document,.direct-owner-document) .service-packages{--chapter-light:radial-gradient(ellipse 58% 88% at 12% 18%,#b6ce8640,transparent 74%),radial-gradient(ellipse 45% 70% at 98% 94%,#76b5b21c,transparent 76%)}
.home #main>section:is(.results-section,.reviews-section),
:is(.seo-owner-document,.direct-owner-document) :is(.results-section,.reviews-section){--light-y:50%}
.home #main>.faq,:is(.seo-owner-document,.direct-owner-document) .faq{--chapter-light:linear-gradient(120deg,#9dbb9c12,transparent 55%,#071c241a)}
/* Stacked mobile content must not stretch the glow into a tall, narrow stripe. */
@media(max-width:700px){
 .home #main,.seo-owner-document,.direct-owner-document{--light-rx:100%;--light-ry:320px}
 .home #main>#packages,:is(.seo-owner-document,.direct-owner-document) .service-packages{--chapter-light:radial-gradient(ellipse 100% 320px at 50% 0%,#b6ce8638,transparent 74%)}
 .home #main>#packages{background-image:var(--chapter-light),linear-gradient(120deg,#ffffff03,transparent 45%,#020f132c)}
}
/* Opaque card surfaces stop the chapter's light showing through. Only a subtle edge wash remains. */
:is(.home #main,#main .seo-owner-document,#main .direct-owner-document) :is(.service-row,.packages .card,.result-card,.direct-case,.benefit-card,.seo-outcome-grid>li,.seo-benefit-list>li,.review,.st-article-card,.direct-scope-frame,.seo-scope-group){
 background-color:var(--bg);
 background-image:linear-gradient(135deg,#f0ffd009,transparent 46%,#071b241c);
}
:is(.home,.seo-owner-document,.direct-owner-document) :is(.service-row,.packages .card,.result-card,.direct-case,.benefit-card,.seo-outcome-grid>li,.seo-benefit-list>li,.review,.st-article-card,.direct-scope-frame,.seo-scope-group){box-shadow:inset 0 1px 0 #efffe51a,0 12px 28px -18px #020f16b3}
:is(.home #main,#main .seo-owner-document,#main .direct-owner-document) :is(.packages .card,.result-card,.direct-case){background-color:var(--surface);background-image:none}
:is(.home,.seo-owner-document,.direct-owner-document) .direct-process-illustration{filter:drop-shadow(0 18px 17px #051b1838)}
:is(.home,.seo-owner-document,.direct-owner-document) :is(.seo-outcome-symbol,.seo-step-dot){box-shadow:inset 0 1px 0 #e2f6c125,0 5px 14px #03181426}

/* Six reveal gestures. Independent transform channels keep hover and reveal from fighting. */
@media(prefers-reduced-motion:no-preference){
 :is(.home,.seo-owner-document,.direct-owner-document) .motion-reveal[data-reveal]{
  --enter-x:0px;--enter-y:20px;--enter-scale:1;--enter-turn:0deg;
  opacity:0;translate:var(--enter-x) var(--enter-y);scale:var(--enter-scale);rotate:var(--enter-turn);
  transition:opacity .8s ease var(--reveal-delay,0ms),translate .85s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms),scale .9s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms),rotate .9s ease var(--reveal-delay,0ms),transform .4s ease,border-color .35s ease,box-shadow .4s ease,background-color .35s ease;
 }
 :is(.home,.seo-owner-document,.direct-owner-document) .motion-reveal[data-reveal=clarify]{--enter-y:0px}
 :is(.home,.seo-owner-document,.direct-owner-document) .motion-reveal[data-reveal=slide]{--enter-x:-26px;--enter-y:0px}
 :is(.home,.seo-owner-document,.direct-owner-document) .motion-reveal[data-reveal=side]{--enter-x:var(--reveal-side);--enter-y:0px}
 :is(.home,.seo-owner-document,.direct-owner-document) .motion-reveal[data-reveal=zoom]{--enter-scale:.94;--enter-y:0px}
 :is(.home,.seo-owner-document,.direct-owner-document) .motion-reveal[data-reveal=settle]{--enter-y:18px;--enter-scale:.975;--enter-turn:-.6deg}
 :is(.home,.seo-owner-document,.direct-owner-document) .motion-reveal[data-reveal].is-visible{opacity:1;translate:0 0;scale:1;rotate:0deg}
 :is(.home,.seo-owner-document,.direct-owner-document) .seo-timeline li:before{transform-origin:left top;scale:0 1;transition:scale .9s ease .2s}
 .direct-owner-document .seo-timeline li:before{scale:1 0}
 :is(.home,.seo-owner-document,.direct-owner-document) .seo-timeline li:not(.motion-reveal):before,
 :is(.home,.seo-owner-document,.direct-owner-document) .seo-timeline li.is-visible:before{scale:1 1}
}

/* Different feedback for each kind of content, rather than lifting every card. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 :is(.home,.seo-owner-document,.direct-owner-document) :is(.result-chart img,.review-quote-mark,.seo-outcome-symbol,.seo-step-dot,.benefit-card h3,.seo-benefit-list h3,.about-photo img,.row-arrow,.st-article-card h3){transition:transform .5s cubic-bezier(.2,.65,.3,1),color .35s ease,box-shadow .4s ease}
 :is(.home,.seo-owner-document,.direct-owner-document) :is(.service-row,.packages .card,.benefit-card,.seo-benefit-list>li,.review,.result-card,.direct-case,.st-article-card){transition:transform .4s ease,border-color .35s ease,box-shadow .4s ease,background-color .35s ease}
 /* Prices: a lit edge and depth; the arrow carries the movement. */
 :is(.home,.seo-owner-document,.direct-owner-document) :is(.service-row,.packages .card):hover{transform:none;border-color:#c0d99999;box-shadow:inset 0 2px 0 #c6dd8ea6,0 18px 35px -20px #020d14cc}
 :is(.home,.seo-owner-document,.direct-owner-document) .service-row:hover .row-arrow{transform:translateX(5px)}
 /* Proof: the chart gently approaches inside its frame. */
 .direct-case .direct-case-metrics dd{transition:transform .5s ease,color .5s ease;transform-origin:left center}
 .direct-case:hover .direct-case-metrics>div:first-child dd{transform:scale(1.06);color:#e4f7ac}
 :is(.home,.seo-owner-document,.direct-owner-document) :is(.result-card,.direct-case):hover{transform:none;box-shadow:inset 0 1px 0 #efffe530,0 16px 30px -17px #020d14cc}
 :is(.home,.seo-owner-document,.direct-owner-document) :is(.result-card,.direct-case):hover .result-chart img{transform:scale(1.035)}
 /* Approach: the title shifts and catches the light. */
 :is(.home,.seo-owner-document,.direct-owner-document) :is(.benefit-card,.seo-benefit-list>li):hover{transform:none;box-shadow:inset 3px 0 0 #b5cf88a6,0 12px 28px -18px #020f16b3}
 :is(.home,.seo-owner-document,.direct-owner-document) :is(.benefit-card,.seo-benefit-list>li):hover h3{transform:translateX(6px);color:#deedb9}
 .home .benefit-icon{display:inline-block;transition:transform .5s ease}
 .home .benefit-card:hover .benefit-icon{transform:rotate(-8deg) scale(1.1)}
 .seo-owner-document .seo-scope-group{transition:border-color .35s ease,box-shadow .4s ease}
 .seo-owner-document .seo-scope-group:hover{border-color:#bdd69780;box-shadow:inset 0 2px 0 #bdd69780,0 12px 28px -18px #020f16b3}
 /* Outcome symbols turn independently; cards keep their calm layout. */
 :is(.home,.seo-owner-document,.direct-owner-document) .seo-outcome-grid>li:hover .seo-outcome-symbol{transform:rotate(-9deg) scale(1.12)}
 :is(.home,.seo-owner-document,.direct-owner-document) .seo-timeline>li:hover .seo-step-dot{transform:scale(1.13);box-shadow:0 0 0 7px #c2db9415,inset 0 1px 0 #e2f6c125}
 /* Reviews: the quotation mark moves, not the whole paragraph. */
 :is(.home,.seo-owner-document,.direct-owner-document) .review:hover{transform:none;border-color:#aec59b80}
 :is(.home,.seo-owner-document,.direct-owner-document) .review:hover .review-quote-mark{transform:rotate(-12deg) scale(1.16);color:#d7e8aa}
 :is(.home,.seo-owner-document,.direct-owner-document) .about-photo:hover img{transform:scale(1.025) translateY(-3px)}
 :is(.home,.seo-owner-document,.direct-owner-document) .st-article-card:hover{transform:none;box-shadow:inset 0 -3px 0 #b5cf8899,0 12px 28px -18px #020f16b3}
 :is(.home,.seo-owner-document,.direct-owner-document) .st-article-card:hover h3{transform:translateX(4px)}
 :is(.home,.seo-owner-document,.direct-owner-document) .faq summary{transition:color .3s ease,background-color .3s ease}
 :is(.home,.seo-owner-document,.direct-owner-document) .faq summary:hover{color:#e0ecb7;background-color:#d9efb506}
}
@media(prefers-reduced-motion:reduce){
 :is(.home,.seo-owner-document,.direct-owner-document) .motion-reveal[data-reveal]{opacity:1;translate:none;scale:none;rotate:none;transition:none}
}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
 :is(.home,.seo-owner-document,.direct-owner-document) .motion-reveal[data-reveal=side]{--enter-x:clamp(-12px,var(--reveal-side),12px)}
}
