/* Final brand, navigation and interaction polish. */
:root{--studio-ease:cubic-bezier(.22,1,.36,1)}
html{scrollbar-color:#71805e #e5dfd0}::selection{background:#d0f35a;color:#1d281b}
header{transition:box-shadow .3s ease,background .3s ease;position:sticky}
header.is-scrolled{background:#e5dfd0f7;box-shadow:0 6px 24px #27351d12}
header>.logo,.studio-footer .logo{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;letter-spacing:-.5px}
.brand-symbol{display:block;object-fit:contain;border-radius:4px;flex-shrink:0}
header .brand-name{font-family:'Space Grotesk','DM Sans',sans-serif;font-size:19px;font-weight:700;white-space:nowrap}
.reading-progress{position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#6b813f;transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.skip-link{position:fixed;left:20px;top:12px;z-index:100;background:#243522;color:#fff;border-radius:5px;padding:14px 20px;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
:where(a,button,summary,input):focus-visible{outline:2px solid #476136;outline-offset:5px}
main:focus{outline:none}
.pill,.mobile-menu,summary,.project-index a,.forma-option,.setup-tab,.frame-scene{touch-action:manipulation}
.project-index a{transition:background .25s ease,border-color .25s ease,box-shadow .3s ease,transform .3s var(--studio-ease)}
.project-index a b{display:inline-block;transition:transform .3s var(--studio-ease)}
.service-detail summary,.faq-item summary{transition:color .2s ease,background .2s ease}
.service-detail[open],.faq-item[open]{border-color:#71805e}
.service-detail[open] .service-expanded,.faq-item[open]>p{animation:studio-open .32s var(--studio-ease) both}
.service-detail summary:focus-visible,.faq-item summary:focus-visible{outline-offset:-3px;border-radius:4px}
.mobile-menu:active{transform:scale(.97)}
#main-navigation.is-open{animation:studio-menu .23s var(--studio-ease) both}
.enquiry-guide{margin-top:32px;padding:25px 0;border-top:1px solid #8d9c7766;max-width:650px}
.enquiry-kicker,.footer-label{display:block;font-size:10px;font-weight:700;letter-spacing:1.5px}
.enquiry-guide h3{font:normal clamp(23px,3vw,32px)/1.2 Georgia,serif;letter-spacing:-.6px;margin:12px 0}
.enquiry-guide p{font-size:14px;line-height:1.8;color:#3e4c34;max-width:570px}
.gmail-alternative{display:inline-flex;gap:12px;align-items:center;min-height:44px;font-size:13px;border-bottom:1px solid #7f906b}
.gmail-alternative:hover{border-bottom-color:#25381d}
.studio-footer{display:grid;grid-template-columns:minmax(250px,1.4fr) .7fr 1fr;gap:45px;padding:55px 5% 25px;border-top:1px solid #b4bba4;color:#263421}
.studio-footer .brand-name{font:700 20px 'Space Grotesk','DM Sans',sans-serif;white-space:nowrap}
.footer-brand p{font:normal 20px/1.4 Georgia,serif;max-width:290px;margin:20px 0 12px}
.footer-descriptor{font-size:12px;color:#535f49}
.studio-footer nav,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.footer-label{margin-bottom:12px;color:#566448}
.studio-footer nav a,.footer-contact a{display:inline-flex;align-items:center;min-height:38px;font-size:13px}
.footer-contact>span:last-child{font-size:12px;line-height:1.7;color:#535f49;margin-top:10px;max-width:230px}
.studio-footer a:not(.logo):hover{text-decoration:underline;text-underline-offset:5px}
.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #b4bba4;padding-top:23px;font-size:11px}
.footer-bottom a{min-height:24px}
.hero.motion-paused .depth-float,.hero.motion-paused .depth-ring{animation-play-state:paused}
@keyframes studio-open{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@keyframes studio-menu{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){.project-index a:hover{transform:translateY(-3px)}.project-index a:hover b{transform:translate(3px,-3px)}}
@media(min-width:701px) and (max-width:1050px){header{padding-left:3%;padding-right:3%;gap:15px}header nav{gap:16px}header .brand-name{font-size:16px}header .brand-symbol{width:30px;height:30px}.language-switch{margin-left:0;gap:4px}.studio-footer{gap:25px;grid-template-columns:1.2fr .7fr 1fr}}
@media(max-width:700px){header>.logo{gap:7px}header .brand-symbol{width:29px;height:29px}header .brand-name{font-size:14px}.studio-footer{grid-template-columns:1fr 1fr;gap:30px 20px;padding:40px 6% 25px}.footer-brand{grid-column:1/-1}.footer-contact a{overflow-wrap:anywhere;font-size:12px}.studio-footer nav a,.footer-contact a{min-height:44px}.footer-bottom{align-items:center}.enquiry-guide{padding:22px 0}.enquiry-guide h3{font-size:27px}.enquiry-guide p{font-size:14px}}
@media(max-width:380px){header>.logo{gap:5px}header .brand-symbol{width:25px;height:25px}header .brand-name{font-size:12px;letter-spacing:-.5px}.studio-footer{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}}
@media(prefers-reduced-motion:reduce){header,.project-index a,.project-index a b,.service-detail summary,.faq-item summary{transition:none!important}.service-detail[open] .service-expanded,.faq-item[open]>p,#main-navigation.is-open{animation:none!important}.project-index a:hover,.project-index a:hover b,.mobile-menu:active{transform:none!important}}
