:root{--motion-ease:cubic-bezier(.22,.75,.25,1);--menu-ease:cubic-bezier(.785,.135,.15,.86)}
@supports (transition-timing-function:linear(0,1)){:root{--menu-ease:linear(0.000000 0%,0.000100 1%,0.000400 2%,0.000901 3%,0.001603 4%,0.002506 5%,0.003613 6%,0.004924 7%,0.006441 8%,0.008167 9%,0.010102 10%,0.012250 11%,0.014614 12%,0.017196 13%,0.020000 14%,0.023030 15%,0.026291 16%,0.029787 17%,0.033524 18%,0.037507 19%,0.041742 20%,0.046238 21%,0.051001 22%,0.056041 23%,0.061366 24%,0.066987 25%,0.072917 26%,0.079167 27%,0.085754 28%,0.092692 29%,0.100000 30%,0.107699 31%,0.115813 32%,0.124367 33%,0.133394 34%,0.142929 35%,0.153013 36%,0.163697 37%,0.175038 38%,0.187110 39%,0.200000 40%,0.213818 41%,0.228707 42%,0.244853 43%,0.262513 44%,0.282055 45%,0.304041 46%,0.329413 47%,0.360000 48%,0.400501 49%,0.429466 49.5%,0.468393 49.9%,0.490001 49.99%,0.500000 50%,0.509999 50.01%,0.531607 50.1%,0.570534 50.5%,0.599499 51%,0.640000 52%,0.670587 53%,0.695959 54%,0.717945 55%,0.737487 56%,0.755147 57%,0.771293 58%,0.786182 59%,0.800000 60%,0.812890 61%,0.824962 62%,0.836303 63%,0.846987 64%,0.857071 65%,0.866606 66%,0.875633 67%,0.884187 68%,0.892301 69%,0.900000 70%,0.907308 71%,0.914246 72%,0.920833 73%,0.927083 74%,0.933013 75%,0.938634 76%,0.943959 77%,0.948999 78%,0.953762 79%,0.958258 80%,0.962493 81%,0.966476 82%,0.970213 83%,0.973709 84%,0.976970 85%,0.980000 86%,0.982804 87%,0.985386 88%,0.987750 89%,0.989898 90%,0.991833 91%,0.993559 92%,0.995076 93%,0.996387 94%,0.997494 95%,0.998397 96%,0.999099 97%,0.999600 98%,0.999900 99%,1.000000 100%)}}
.main-nav a,.text-link,.hero-contact,.venture-site,.contact-linkedin,.filter-button,.clear-button,.back-link,.project-introduction-link{transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease}
.text-link .arrow,.hero-contact .arrow,.venture-site .arrow,.back-link .arrow{transition:transform 200ms var(--motion-ease)}
.text-link:is(:hover,:focus-visible) .arrow.diagonal{transform:translate(3px,-3px) rotate(-45deg)}
.text-link:focus-visible .arrow:not(.diagonal){transform:translateX(4px)}
.venture-link:is(:hover,:focus-visible) .arrow{transform:translate(2px,-2px) rotate(-45deg)}
.back-link:is(:hover,:focus-visible) .arrow{transform:translateX(-3px) rotate(180deg)}
.card-corner,.image-open{transition:background-color 200ms ease,color 200ms ease,opacity 200ms ease}
.project-card a:is(:hover,:focus-visible) .card-corner,.gallery-trigger:is(:hover,:focus-visible) .image-open{background:#f1ede6;color:#1c1c1c}
.project-card a:focus-visible .card-title{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.card-image:not(.full-frame) img{transition:transform 450ms var(--motion-ease)}
.project-card a:is(:hover,:focus-visible) .card-image:not(.full-frame) img{transform:scale(1.025)}
.full-frame img.full-frame-image{transform:none!important}
.enquiry-toggle:after{transition:transform 220ms var(--motion-ease),opacity 180ms ease}
.enquiry-guide[open] .enquiry-toggle:after{display:block;transform:rotate(0deg);opacity:0}
@media(max-width:760px){
 .main-nav,.main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0;overflow:hidden;max-height:0;padding:0 var(--gutter);opacity:1;visibility:hidden;border-top-color:transparent;box-shadow:none;transition:max-height 600ms var(--menu-ease),padding 600ms var(--menu-ease),visibility 0s 600ms}
 .main-nav.is-open{max-height:min(var(--menu-panel-height,289px),calc(100dvh - 78px));overflow-y:auto;padding:18px var(--gutter) 30px;opacity:1;visibility:visible;border-top-color:#ffffff30;box-shadow:0 12px 22px #0003;transition-duration:600ms,600ms,0s;transition-delay:0s}
 .main-nav a{flex-shrink:0;opacity:1;transform:none;transition:color 180ms ease}
 .menu-icon:before,.menu-icon:after{transition:transform 300ms ease-in-out}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:0ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
 .main-nav a{transform:none!important}
 .project-card a:is(:hover,:focus-visible) img{transform:none!important}
}

/* Section arrival moves reading focus without drawing a browser ring around the heading. */
h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus{outline:none}

/* Hide only pointer-arrival outlines; keyboard indicators remain available. */
.enquiry-guide > summary.pointer-arrival:focus{outline:none}
