/* Additive accessibility and native navigation. Original layout lives in site.css. */
:focus-visible{outline:2px solid #fff;outline-offset:5px}
.visually-hidden,.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Preserve contact field colors while submission temporarily makes them read-only. */
#contact-form .text-field-main[readonly]{background-color:var(--white);cursor:text}
.project-image-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.project-image-pair img{width:100%;height:auto}
.error-title{font-size:70px;text-transform:none;line-height:1.1}
@media(max-width:768px){.error-title{font-size:50px}}
@media(max-width:479px){.project-image-pair{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* The rotating rear face must remain in the parent's 3D space. */
.button-inner{transform-style:preserve-3d}
.button-face{backface-visibility:hidden}
.button-face.hover{width:100%}
/* Keep complete lines visible while the two labels slide past the clip. */
.button-text-wrapper .button-text{flex-shrink:0}
/* Center each line when longer CMS project titles wrap inside a card. */
.title-wrapper .work-title{text-align:center}
/* Shared footer stays in document flow, clear of the scrolling banner. */
.site-footer{position:relative;isolation:isolate}
.site-footer .footer{min-height:0;padding-top:60px;padding-bottom:30px}
.site-footer .footer-grid-second{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;max-width:680px}
.site-footer .copyright-flex-bottom{gap:24px;flex-wrap:wrap}
.site-footer .text-rotator-content{flex-shrink:0}
@media(max-width:479px){.site-footer .footer{padding-top:40px}.site-footer .footer-grid-second{gap:24px}}

/* Dynamic experience rows need the placement formerly tied to Webflow IDs. */
.experience-entry > .w-row{grid-column:5 / -1;width:100%;min-width:0}
.experience-entry .logo-experience{max-width:100%;object-fit:contain}
@media(max-width:991px){.experience-entry > .w-row{grid-column:1 / -1}}
@media(max-width:479px){
  .experience-entry .experience-text-2,.experience-entry .experience-text-3{display:inline;height:auto;line-height:1.5}
  .experience-entry .heading-2{margin-bottom:16px}
  .experience-entry .heading-experience{line-height:1.5;margin-top:16px}
}


/* Inner-page scroll visual matches the Home hero's artwork scale and starting position. */
.inner-hero-scroll-shell .main-image.second.inner-scroll-image {
  width: 10vw;
  height: auto;
  min-height: auto;
  position: absolute;
  inset: 20.9vh 14.2vw auto auto;
  display: block;
  z-index: 2;
}
@media (max-width: 991px) {
  .inner-hero-scroll-shell .main-image.second.inner-scroll-image {
    width: 20vw;
    inset: 20.9vh 10vw auto auto;
  }
}
@media (max-width: 479px) {
  .inner-hero-scroll-shell .main-image.second.inner-scroll-image {
    width: 25vw;
    inset: 18vh 4vw auto auto;
  }
}
