/* Orange hover rules for navigation and footer text links.
   Buttons keep their existing fills and structural rules, without underlines. */
@layer interaction-policy {
 :is(a,button,[role="button"],.social-placeholder),
 :is(a,button,[role="button"],.social-placeholder) *{
  text-decoration:none!important;
 }
 :is(a.motion-link,.link-ink,.nav-decode,.nav-cv-label,.cv-label),
 header nav a,.mobile-menu nav a,.quick-links :is(a,button),
 footer :is(a,button,.social-placeholder){
  background-image:none!important;background-size:0 0!important;
 }
 :is(a.motion-link,.link-ink,header nav a,.mobile-menu nav a,.quick-links a,.quick-links button,footer a,.footer-cv,.social-placeholder)::after{
  display:none!important;
 }
 :is(header.site-header nav a,#mobile-menu nav a,#mobile-menu .quick-links a,
      #mobile-menu .quick-links button,footer .footer-nav a,footer nav a,
      footer .socials a,footer .socials button,footer .end-social a,
      footer .social-placeholder):is(:hover,:focus-visible){
  color:#ef5400!important;
 }
 :is(header.site-header nav a,#mobile-menu nav a):is(.active,[aria-current="page"]){
  color:#ef5400!important;
 }
 /* Restore the menu's existing background-size underline animation. Its
    transition, reveal and closing animations remain in navigation-parity.css. */
 :is(header.site-header nav a,#mobile-menu nav a,#mobile-menu .quick-links a){
  background-image:linear-gradient(#ef5400,#ef5400)!important;
  background-repeat:no-repeat!important;
  background-position:left bottom!important;
  background-size:0% 1px!important;
 }
 :is(header.site-header nav a,#mobile-menu nav a,#mobile-menu .quick-links a):is(:hover,:focus-visible){
  background-size:100% 1px!important;
 }
 /* Footer text links use the same left-to-right treatment, including About
    and Playground's alternate footer markup. Logo/image links are excluded. */
 :is(footer .footer-nav a,footer nav a,footer .socials a,
      footer .end-social a,footer .social-placeholder){
  width:fit-content;max-width:100%;
  background-image:linear-gradient(#ef5400,#ef5400)!important;
  background-repeat:no-repeat!important;
  background-position:left bottom!important;
  background-size:0% 1px!important;
  transition:background-size .55s cubic-bezier(.16,1,.3,1),color .2s ease!important;
 }
 :is(footer .footer-nav a,footer nav a,footer .socials a,
      footer .end-social a,footer .social-placeholder):is(:hover,:focus-visible){
  background-size:100% 1px!important;
 }
 /* In particular, the CV label inherits no link underline from the menu. */
 :is(#mobile-menu .quick-links button,footer button,header .header-cv),
 :is(#mobile-menu .quick-links button,footer button,header .header-cv) *{
  text-decoration:none!important;
  background-image:none!important;
  background-size:0 0!important;
 }
 /* Menu quick links include placeholder Facebook and CV buttons. Draw one
    line on their text labels, leaving the CV divider and icons untouched. */
 #mobile-menu .quick-links > :is(a,button){
  background-image:none!important;
  background-size:0 0!important;
  padding-bottom:0!important;
 }
 #mobile-menu .quick-links .quick-link-label{
  position:relative!important;display:inline-block!important;padding-bottom:7px!important;
 }
 #mobile-menu .quick-links .quick-link-label::after{
  content:"";display:block!important;
  position:absolute;left:0;right:0;bottom:0;height:1px;
  background:#ef5400!important;
  transform:scaleX(0);transform-origin:left;
  transition:transform .55s cubic-bezier(.16,1,.3,1);
  pointer-events:none;
 }
 #mobile-menu .quick-links > :is(a,button):is(:hover,:focus-visible) .quick-link-label::after{
  transform:scaleX(1);
 }
 /* Download CV is also a text-link exception in every footer, whether the
    existing markup is a button or an unavailable-download placeholder. */
 footer .cv-link-label{
  position:relative!important;display:inline-block!important;width:fit-content!important;
  text-decoration:none!important;
 }
 footer .cv-link-label::after{
  content:"";display:block!important;
  position:absolute;left:0;right:0;bottom:-3px;height:1px;
  background:#ef5400!important;
  transform:scaleX(0);transform-origin:left;
  transition:transform .55s cubic-bezier(.16,1,.3,1);
  pointer-events:none;
 }
 footer .footer-cv:is(:hover,:focus-visible) .cv-link-label::after,
 footer .end-social > .cv-link-label:is(:hover,:focus-visible)::after{
  transform:scaleX(1);
 }
 /* The case footer's portrait pill uses the same left-entering circle as
    the other CTA buttons, with its avatar and text above the orange fill. */
 body:is(.case-page,.playground-page) .case-footer .about-pill{
  position:relative!important;isolation:isolate;overflow:hidden!important;
 }
 body:is(.case-page,.playground-page) .case-footer .about-pill::before{
  content:"";position:absolute;z-index:0;pointer-events:none;
  left:-180%;top:50%;width:160%;aspect-ratio:1;border-radius:50%;
  transform:translateY(-50%);background:#ef5400;
  transition:left .65s cubic-bezier(.22,1,.36,1);
 }
 body:is(.case-page,.playground-page) .case-footer .about-pill > span{
  position:relative;z-index:1;
 }
 body:is(.case-page,.playground-page) .case-footer .about-pill:is(:hover,:focus-visible)::before{
  left:-25%;
 }
 @media(max-width:700px){
  /* Only the menu control stays in view after the normal header scrolls away. */
  body:not(.intro-loading){overflow-x:clip!important}
  body > header.site-header{
   position:relative!important;top:auto!important;z-index:80!important;
   transform:none!important;translate:none!important;will-change:auto!important;overflow:visible!important;
  }
  body > header.site-header.mobile-menu-floating .menu-toggle{
   position:fixed!important;top:7px!important;right:7px!important;
   width:clamp(48px,14.25vw,60px)!important;height:clamp(48px,14.25vw,60px)!important;
   min-width:0!important;margin:0!important;padding:0!important;
   border-radius:4px!important;background:#e5e5e5!important;
   z-index:80!important;
  }
  body > header.site-header.mobile-menu-floating .menu-toggle::before{
   content:"";position:absolute;width:41px;height:41px;
   left:50%;top:50%;transform:translate(-50%,-50%);
   border-radius:50%;background:#ef5400;pointer-events:none;
  }
  body > header.site-header.mobile-menu-floating .menu-toggle span{
   position:relative;z-index:1;
  }
 }
 @media(prefers-reduced-motion:reduce){
  #mobile-menu .quick-links .quick-link-label::after,
  footer .cv-link-label::after,
  body:is(.case-page,.playground-page) .case-footer .about-pill::before{transition:none}
 }
}
