/* Direct interaction feedback. Scrolling never fades or moves page content. */
/* Replace the earlier team-content fade, including its opacity-zero first frame. */
.team-context-excerpt {animation:none}
.booking-form .focus-options label {transition:none}
.booking-form .focus-options label:hover,
.booking-form .focus-options label:has(input:checked) {padding-inline:0}

/* Static identity rules: completed at first paint, never scroll-triggered. */
.hero-heading[data-brand-reveal] #hero-title > span {position:relative}
.hero-heading[data-brand-reveal] #hero-title > span::after {content:"";position:absolute;left:0;bottom:-.15em;width:46%;max-width:290px;height:3px;background:var(--pi-cyan);pointer-events:none}
.footer-signature[data-brand-reveal] {position:relative}
.footer-signature[data-brand-reveal]::after {content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--pi-blue),var(--pi-cyan));pointer-events:none}
@media (prefers-reduced-motion:no-preference) {
  :is(.header-cta,.button,.hero-text-link,.team-open-workspace,.student-experience-footer a,.pfit-pricing-link,.booking-contact,.back-top,.footer-return,.footer-walkthrough,.footer-explore a,.footer-conversation>a)>span[aria-hidden="true"] {display:inline-block;transition:translate var(--pi-motion-quick) ease-out}
  :is(.header-cta,.button,.hero-text-link,.team-open-workspace,.student-experience-footer a,.pfit-pricing-link,.booking-contact,.footer-explore a,.footer-conversation>a):is(:hover,:focus-visible)>span[aria-hidden="true"] {translate:2px -2px}
  .hero-intro .button:is(:hover,:focus-visible)>span[aria-hidden="true"] {translate:0 3px}
  :is(.back-top,.footer-return):is(:hover,:focus-visible)>span[aria-hidden="true"] {translate:0 -3px}
  .desktop-nav a:not(.header-login)::after {content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:var(--pi-blue);transform:scaleX(0);transform-origin:left center}
  .desktop-nav a:not(.header-login):is(:hover,:focus-visible)::after {transform:scaleX(1)}
  .booking-form .focus-check {transition:transform 160ms ease-out}
  .booking-form .focus-options label:has(input:checked) .focus-check {transform:scale(1.06)}
  .pricing-experience .team-size-controls button {position:relative;transition:none}
  .pricing-experience .team-size-controls button::after {content:"";position:absolute;left:12px;right:12px;bottom:7px;height:2px;background:var(--pi-ink);transform:scaleX(0);transition:transform 180ms ease-out}
  .pricing-experience .team-size-controls button[aria-pressed=true]::after {transform:scaleX(1)}
}
@keyframes pi-drawer-open {from {translate:8px 0} to {translate:0 0}}
@media (prefers-reduced-motion:reduce),print {
  [data-scene-motion] {translate:none!important;transition:none!important}
  .native-workspace .native-drawer,.team-context-excerpt {animation:none!important}
}

/* Shared tokens own the finite interaction cadence. */
@media screen and (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  .site-header .header-cta,
  .hero-intro .button,
  .hero-text-link,
  .team-open-workspace,
  .student-experience-footer a,
  .footer-utility a,
  .footer-return{
    transition:background var(--pi-motion-ui) var(--pi-ease-soft),color var(--pi-motion-ui) var(--pi-ease-soft),box-shadow var(--pi-motion-ui) var(--pi-ease-out),translate var(--pi-motion-ui) var(--pi-ease-out);
  }
  .hero-intro .button:is(:hover,:focus-visible,:active){transform:none}
  .site-header .desktop-nav a:not(.header-login)::after{transition:transform 280ms var(--pi-ease-out)}
  .site-header .login-arrow{transition:transform var(--pi-motion-control) var(--pi-ease-out)}
  #workspace .pipeline-tabs button{transition:background 280ms var(--pi-ease-soft),color 280ms var(--pi-ease-soft),border-color 280ms var(--pi-ease-soft)}
  .native-workspace .native-drawer:not([hidden]){animation:pi-drawer-open var(--pi-motion-drawer) var(--pi-ease-out)}
  #team .team-role-tabs::before{transition:transform var(--pi-motion-scene) var(--pi-ease-out)}
  #team .team-role-tabs button,
  #suite.student-case-study .story-tabs button{transition:background 320ms var(--pi-ease-soft),color 260ms var(--pi-ease-soft),box-shadow var(--pi-motion-control) var(--pi-ease-out)}
  #suite.student-case-study .story-tabs button::after{transition:transform var(--pi-motion-control) var(--pi-ease-out)}

  .pricing-experience .team-size-controls button{transition:background 300ms var(--pi-ease-soft),color 260ms var(--pi-ease-soft)}
  .pricing-experience .team-size-controls button::after{transition:transform 360ms var(--pi-ease-out)}
  .pricing-experience .pfit-team-mosaic>span{transition:color var(--pi-motion-control) var(--pi-ease-soft)}
  .pricing-experience .pfit-pricing-link{transition:background 300ms var(--pi-ease-soft),color 280ms var(--pi-ease-soft)}
  #value .review-lab-switch>button{transition:background 280ms var(--pi-ease-soft),color 260ms var(--pi-ease-soft)}
  #value .review-lab-canvas{transition:background var(--pi-motion-arrival) var(--pi-ease-soft)}
  #value .review-lab-shared-sheet{transition:opacity 300ms var(--pi-ease-soft),transform var(--pi-motion-arrival) var(--pi-ease-out)}
  #value .review-lab-paper{transition:transform var(--pi-motion-arrival) var(--pi-ease-out),background 300ms var(--pi-ease-soft),border-color 280ms var(--pi-ease-soft),box-shadow 320ms var(--pi-ease-soft);transition-delay:0ms}
  #value .review-lab-paper.paper-updates,#value .review-lab-paper.paper-tools{transition-delay:0ms}
  #value .review-lab[data-review-state=after] .paper-updates{transition-delay:var(--pi-motion-comparison-delay-1)}
  #value .review-lab[data-review-state=after] .paper-tools{transition-delay:var(--pi-motion-comparison-delay-2)}
  #value .review-lab-paper-edge{transition:transform var(--pi-motion-arrival) var(--pi-ease-out),background 280ms var(--pi-ease-soft)}


  #walkthrough .composer-form .focus-options label,
  #walkthrough .composer-form .focus-options label:hover,
  #walkthrough .composer-form .focus-options label:has(input:checked){transition:background 280ms var(--pi-ease-soft),border-color 280ms var(--pi-ease-soft),translate var(--pi-motion-drawer) var(--pi-ease-out),box-shadow 320ms var(--pi-ease-soft)}
  #walkthrough .composer-form .focus-check{transition:background 240ms var(--pi-ease-soft),border-color 240ms var(--pi-ease-soft),transform var(--pi-motion-control) var(--pi-ease-out)}
  #walkthrough .composer-form input:checked~.focus-check::before{animation-timing-function:var(--pi-ease-out);animation-duration:260ms}
  #walkthrough .composer-form input:not([type=checkbox]),
  #walkthrough .composer-form select,
  #walkthrough .composer-form textarea{transition:background 280ms var(--pi-ease-soft),border-color 240ms var(--pi-ease-soft),box-shadow 280ms var(--pi-ease-out)}
  #walkthrough .composer-form .booking-actions .button{transition:background 300ms var(--pi-ease-soft),translate 280ms var(--pi-ease-out),box-shadow 320ms var(--pi-ease-soft)}
  #walkthrough .composer-form .booking-actions .button>span{transition:translate 300ms var(--pi-ease-out)}
}
@media screen and (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
  .site-header .header-cta:hover,.hero-intro .button:hover,#walkthrough .composer-form .booking-actions .button:hover{translate:0 -2px}
  .site-header .header-cta:active,.hero-intro .button:active,#walkthrough .composer-form .booking-actions .button:active{translate:0 1px}
  #walkthrough .composer-form .focus-options label:hover{box-shadow:0 10px 28px -22px var(--pi-alpha-ink-60)}
}
@media (hover:none){#walkthrough .composer-form .focus-options label:hover{translate:0 0}}
@media (prefers-reduced-motion:reduce),print{html{scroll-behavior:auto!important}}

/* Keep text crisp and fully painted while the visitor scrolls. */
@media screen{
  html,body{scrollbar-width:none;-ms-overflow-style:none}
  html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}
  :root{--site-header-block-size:var(--pi-layout-header-height);--site-anchor-gap:var(--pi-layout-anchor-gap)}
  html{scroll-padding-top:calc(var(--site-header-block-size) + var(--site-anchor-gap))}
  #workspace{scroll-margin-top:0}
  #workspace .native-workspace{height:var(--pi-editorial-workspace-height);max-height:none}
  #workspace .native-workspace .board-column{height:auto;min-height:0}
  #workspace .native-workspace .native-card-stack{flex-shrink:0;overflow:visible}
  /* Reserve the mounted scene frames before the deferred renderer arrives. */
  #suite.student-case-study #story-panel{min-block-size:var(--pi-scene-student-min)}
  #team.team-experience #team-role-panel{min-block-size:var(--pi-scene-team-min)}
  .site-header::after{display:none}
  #value .review-lab-paper{will-change:auto}
  #value .review-lab-paper.paper-record{transform:translate(-3px,-10px)}
  #value .review-lab-paper.paper-updates{transform:translate(0,10px)}
  #value .review-lab-paper.paper-tools{transform:translate(3px,-5px)}
  #value .review-lab[data-review-state=after] .review-lab-paper{transform:none}
  .native-workspace .crm-card-host .kanban-card:hover{transform:none}
}
@media screen and (max-width:900px) and (min-width:801px){
  #suite.student-case-study #story-panel{min-block-size:var(--pi-scene-student-compact-min)}
}
@media screen and (max-width:800px){
  :root{--site-header-block-size:var(--pi-layout-header-height-tablet)}
  #suite.student-case-study #story-panel{min-block-size:var(--pi-scene-student-tablet-min)}
  #team.team-experience #team-role-panel{min-block-size:var(--pi-scene-team-tablet-min)}
}
@media screen and (max-width:650px){
  /* Page swipes pass over the preview; only its horizontal board needs panning. */
  #workspace .native-workspace{height:var(--pi-editorial-workspace-mobile-height)}
  #workspace .app-search input{font-size:16px}
  #suite.student-case-study #story-panel{min-block-size:var(--pi-scene-student-min)}
  #team.team-experience #team-role-panel{min-block-size:var(--pi-scene-team-phone-min)}
}
@media screen and (max-width:600px){
  :root{--site-header-block-size:var(--pi-layout-header-height-mobile)}
  #suite.student-case-study #story-panel{min-block-size:var(--pi-scene-student-phone-min)}
}
@media screen and (max-width:450px){
  #suite.student-case-study #story-panel{min-block-size:var(--pi-scene-student-narrow-min)}
  #team.team-experience #team-role-panel{min-block-size:var(--pi-scene-team-narrow-min)}
}
@media screen and (max-width:359px){
  #suite.student-case-study #story-panel{min-block-size:var(--pi-scene-student-small-min)}
  #team.team-experience #team-role-panel{min-block-size:var(--pi-scene-team-small-min)}
}
