/* Shared feedback. Keep the approved geometry, lettering and hero zoom. */
html body :is(button,.btn,.canopy-hero__button,.canopy-nav__contact,.canopy-footer-contact) {
  transition: background-color 180ms ease-out, color 180ms ease-out, border-color 180ms ease-out;
}
html body :is(a,button):focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
html body :is(.canopy-nav nav a:not(.canopy-nav__contact),.canopy-hero__spaces,.canopy-footer nav a,.canopy-footer-bottom a,.uline-double,.case-item h3) {
  text-decoration: none !important;
  background-image: linear-gradient(currentColor,currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 1px;
  transition: background-size 220ms cubic-bezier(.16,1,.3,1), color 180ms ease-out;
  padding-bottom: 4px;
}
html body .canopy-hero__spaces { background-size: 100% 1px; }
html body .uline-double::before,html body .uline-double::after { display: none !important; }
html body .canopy-portfolio .case-item a:is(:hover,:focus-visible) h3,
html body :is(.canopy-nav nav a,.canopy-hero__spaces,.canopy-footer nav a,.canopy-footer-bottom a,.uline-double):focus-visible { background-size: 100% 1px; }
html body .canopy-portfolio .case-item a:is(:hover,:focus-visible) h3 { text-decoration: none; }
html body .canopy-footer-contact:is(:hover,:focus-visible) { text-decoration: none; background: var(--canopy-chalk); color: var(--color-carbon); }
html body .canopy-footer-contact:is(:hover,:focus-visible) img { filter: none; }
html body :is(.canopy-hero__button,.canopy-nav__contact,.canopy-hero__play):is(:hover,:focus-visible) { background: #303c29; color: var(--canopy-chalk); }
html body :is(.canopy-nav__toggle,.canopy-hero__close,.canopy-reel__close):is(:hover,:focus-visible) { background: var(--color-electric-blue); color: var(--color-carbon); }
html body .canopy-materials__tab[aria-selected='true']:is(:hover,:focus-visible) { background: var(--color-electric-blue); }
html body .btn:is(:hover,:focus-visible) .btn-state.--1 { background: #303c29 !important; color: var(--canopy-chalk) !important; }
html body .btn:is(:hover,:focus-visible) .btn-state.--2 { background: var(--color-electric-blue) !important; color: var(--color-carbon) !important; }
html body .canopy-reel__hint { transition: background-color 180ms ease-out,color 180ms ease-out; }
html body .canopy-reel__trigger:is(:hover,:focus-visible) .canopy-reel__hint { background: var(--color-electric-blue); color: var(--color-carbon); }
html body .canopy-physics-static { display:flex; align-items:center; justify-content:flex-end; gap:24px; padding:16px 24px; }
html body .canopy-physics-static .canopy-physics-icon { position:static !important; opacity:1 !important; transform:none !important; }
html body .canopy-portfolio .canopy-parallax > div { top:-18% !important; bottom:-18% !important; }
html body .canopy-portfolio .canopy-parallax picture img { width:100%; height:100%; object-fit:cover; }
@media (hover:hover) and (pointer:fine) {
  html body :is(.canopy-nav nav a,.canopy-footer nav a,.canopy-footer-bottom a,.uline-double):hover { background-size:100% 1px; }
  html body .canopy-hero__spaces:hover { background-size:55% 1px; }
}
@media (max-width:700px),(prefers-reduced-motion:reduce) {
  html body .canopy-portfolio .canopy-parallax > div { top:0 !important; bottom:0 !important; transform:none !important; }
}
@media (prefers-reduced-motion:reduce) {
  html body :is(button,.btn,a,.case-item h3,.canopy-reel__hint) { transition:none !important; }
}

@media (min-width:701px) and (prefers-reduced-motion:no-preference) {
  /* Reserve the approved pin distance before hydration, then replace it with the pin spacer. */
  .canopy-hero { padding-bottom:calc(48px + max(550px,100vh)); }
  .canopy-hero:has(.pin-spacer) { padding-bottom:48px; }
}

/* 9 October browser comments: visible, bounded feedback and readable title rhythm. */
html body .canopy-hero__play { inset:auto 24px 24px auto; width:64px; height:64px; min-height:64px; padding:0; display:grid; place-items:center; border:1px solid var(--canopy-chalk); border-radius:50%; background:var(--canopy-chalk); color:var(--color-carbon); transition:background-color 180ms ease-out,color 180ms ease-out,transform 220ms cubic-bezier(.16,1,.3,1); }
html body .canopy-hero__play svg { width:28px; height:28px; margin-left:3px; }
html body .canopy-hero__play:is(:hover,:focus-visible) { background:var(--canopy-olive); color:var(--canopy-chalk); transform:scale(1.08); }
html body .page__content :is(h1,h2,h3) { line-height:1.18 !important; }
html body .canopy-journal .article h3 { line-height:1.5 !important; }
html body .canopy-intro-copy { max-width:34ch; font:500 clamp(24px,2.6vw,38px)/1.5 'Slush UI',sans-serif !important; letter-spacing:-.015em; text-wrap:balance; }
html body :is(.canopy-nav__contact,.canopy-hero__button):is(:hover,:focus-visible) { background:var(--canopy-chalk); color:var(--canopy-olive); border-color:var(--canopy-olive); }
html body .btn .btn__mask { transition:clip-path 220ms cubic-bezier(.16,1,.3,1),background-color 180ms ease-out; }
html body .btn:is(:hover,:focus-visible) .btn__mask { clip-path:inset(0 0 0 0 round 999px) !important; background:var(--color-electric-blue) !important; }
html body .btn:is(:hover,:focus-visible) .btn-state.--2 > span { color:var(--color-carbon) !important; }
html body :is(.canopy-nav__toggle,.canopy-hero__close,.canopy-reel__close,.canopy-testimonial-controls button):not(:disabled):is(:hover,:focus-visible) { background:var(--color-carbon); color:var(--canopy-chalk); }
html body .canopy-testimonial-controls button:not(:disabled):is(:hover,:focus-visible) img { filter:brightness(0) invert(1); }
html body .home-service [role='button']:focus-visible { outline:3px solid var(--canopy-olive); outline-offset:12px; }
html body .home-service.is-active h3 { color:var(--canopy-olive) !important; }
@media(max-width:700px) {
 html body .canopy-hero__play { right:16px; bottom:16px; width:56px; height:56px; min-height:56px; }
 html body .canopy-intro-copy { font-size:24px !important; }
}
@media(prefers-reduced-motion:reduce) {
 html body :is(.canopy-hero__play,.btn .btn__mask) { transition:none !important; }
 html body .canopy-hero__play:is(:hover,:focus-visible) { transform:none; }
 html body .home-service,.home-service.is-active { transition:none !important; transform:none !important; }
}

/* Earlier pointer-trail and falling service icons; no fixed card badges. */
@media(prefers-reduced-motion:reduce) {
 .home-service .physics { display:flex; justify-content:center; align-items:flex-end; gap:12px; }
 .home-service .physics .canopy-physics-icon { position:relative; opacity:1; transform:none !important; }
}
