/* Framework-independent interactions layered over the authored responsive design. */
html{scroll-behavior:smooth}body{margin:0;background:#000}button,a,input,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid #9dcf88!important;outline-offset:5px}button{cursor:pointer}.migration-note{color:#c6dcbf;font:14px/1.5 sans-serif;margin:0 0 20px}button[disabled]{opacity:.5;cursor:not-allowed}
.fy-nav-overlay{position:fixed;inset:0;z-index:99999;background:#000;color:#fff;font-family:'Clash Display',sans-serif;display:flex;flex-direction:column}.fy-nav-overlay[hidden]{display:none}.fy-nav-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:30px;min-height:116px;border-bottom:1px solid #161616}.fy-nav-logo{display:block;width:clamp(130px,20vw,245px);height:auto}.fy-nav-close{justify-self:center;border:1px solid #252525;border-radius:50%;background:#080808;color:#99c185;width:44px;height:44px;font-size:28px;line-height:1}.fy-contact{justify-self:end;border:2px solid #fff;color:#fff;text-decoration:none;border-radius:40px;padding:11px 22px;font-size:18px;font-weight:600;white-space:nowrap}.fy-nav-links{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:8px}.fy-nav-links a{font-size:clamp(42px,6.2vw,92px);line-height:1.1;font-weight:600;color:white;text-transform:uppercase;text-decoration:none}.fy-nav-links a:hover,.fy-nav-links a[aria-current=page]{color:#838383}.fy-nav-bottom{display:flex;justify-content:space-between;padding:24px 30px;font-size:12px;text-transform:uppercase;border-top:1px solid #161616}.fy-nav-bottom a{color:#fff;text-decoration:none}.fy-nav-overlay:before{content:'';position:absolute;inset:0;background-image:var(--noise);background-size:13px;opacity:.08;pointer-events:none}.fy-nav-overlay>*{z-index:1}.fy-video-tools{position:absolute;bottom:18px;left:18px;display:flex;gap:10px;z-index:3}.fy-video-tools button{border:1px solid #888;border-radius:50px;background:#000a;color:white;padding:10px 16px;font-size:12px}.fy-faq-answer{font:16px/1.65 'Inter Display',sans-serif;color:#aaa;max-width:760px;padding:12px 25px 25px;white-space:normal}.fy-detail{padding:35px 30px 100px;max-width:1480px;margin:auto}.fy-detail .back{display:inline-block;margin-bottom:55px;border:0;background:none;padding:0;color:#a6cb8e;font-size:13px;font-weight:600;text-decoration:none}.fy-detail h1{font:600 clamp(28px,4.5vw,64px)/1.05 'Clash Display',sans-serif;max-width:1100px;margin:0 0 30px}.fy-detail-description{font:17px/1.7 'Inter Display',sans-serif;color:#aaa;white-space:pre-wrap;max-width:800px;margin:0 0 55px}.fy-detail-media{display:grid;gap:32px}.fy-detail-media img{display:block;max-width:100%;width:auto;height:auto;margin:auto}.fy-detail-media .shed-film{position:relative;background:#080808}.fy-detail-media video{width:100%;max-height:85vh;display:block;background:#080808}.fy-detail-media .shed-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #ddd;border-radius:50%;width:60px;height:60px;background:#0009;color:#fff}.fy-detail-media iframe{width:100%;aspect-ratio:16/9;border:0}.fy-detail-next{display:flex;justify-content:space-between;gap:20px;padding:45px 0;font-size:14px}.fy-detail-next a{color:#aaa}.fy-project-empty{padding:60px 0;color:#888}.fy-grid-empty{grid-column:1/-1;color:#aaa;padding:60px 0}.fy-live-clock{visibility:visible!important}
@media(max-width:767px){.fy-nav-top{padding:20px 16px;min-height:90px}.fy-nav-logo{width:125px}.fy-contact{font-size:11px;padding:9px 12px}.fy-nav-links a{font-size:44px}.fy-nav-bottom{padding:20px 16px;font-size:10px}.fy-detail{padding:28px 16px 65px}.fy-detail .back{font-size:16px;margin-bottom:38px}.fy-detail-description{font-size:15px}.fy-detail-media{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@media(max-width:809px){section.framer-rlmkbi{display:none!important}}
.fy-mobile-slideshow{padding-bottom:36px!important}.fy-mobile-slideshow ul>li{width:100%;height:100%;flex-shrink:0}.fy-mobile-slideshow ul>li>div{visibility:visible!important}.fy-slide-controls{position:absolute;bottom:6px;left:0;right:0;display:flex;justify-content:center;gap:20px}.fy-slide-controls button{border:0;background:#111;color:#fff;min-width:44px;min-height:32px;border-radius:4px;cursor:pointer}.fy-slide-controls button:focus-visible{outline:2px solid #bfff00}
.fy-service-panel{display:flex;align-items:center;gap:30px;padding:24px 0 24px 15%;width:100%;box-sizing:border-box}.fy-service-panel[hidden]{display:none}.fy-service-panel img{width:260px;max-width:40%;height:160px;object-fit:cover;border-radius:6px}.fy-service-panel ul{margin:0;padding:0;list-style:none;font:11px/1.7 'Inter Display',sans-serif;text-transform:uppercase;color:#999;display:grid;gap:9px}.fy-service-panel li span{color:#ddd;margin-right:8px}.framer-KLE5b[aria-expanded=true]{height:auto!important;flex-direction:column!important;align-items:stretch!important}@media(max-width:809px){.fy-service-panel{padding:20px 0;flex-direction:column;align-items:stretch}.fy-service-panel img{width:100%;max-width:100%;height:auto;max-height:240px}.fy-service-panel ul{font-size:11px}}
.fy-contact-home{display:none}@media(max-width:809px){.fy-contact-clock>:not(.fy-contact-home){display:none!important}.fy-contact-home{display:flex;align-items:center;min-height:44px;width:112px}.fy-contact-home img{display:block;width:100%;height:auto}}

.fy-nav-scrim{position:fixed;inset:0;background:#000;z-index:99998;pointer-events:none}.fy-nav-scrim[hidden]{display:none}

.fy-plus-host{display:flex!important;align-items:center;justify-content:center;flex-shrink:0!important;transform:none!important;min-width:24px;min-height:24px;color:#fff}
.fy-plus{display:block;position:relative;width:18px;height:18px;flex:none}
.fy-plus i{position:absolute;display:block;background:currentColor;border-radius:1px;top:8px;left:1px;width:16px;height:2px;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease}
.fy-plus i+i{transform:rotate(90deg)}
[aria-expanded="true"] .fy-plus i+i{transform:rotate(0deg);opacity:0}
[role="button"]:hover .fy-plus-host,[role="button"]:focus-visible .fy-plus-host{color:#9bd475}
[role="button"]:focus-visible{outline:1px solid #9bd475;outline-offset:5px}
@media(prefers-reduced-motion:reduce){.fy-plus i{transition:none}}
.fy-studio-cursor{position:fixed;left:0;top:0;width:0;height:0;z-index:2147483646;pointer-events:none;mix-blend-mode:difference}
.fy-studio-cursor[hidden]{display:none}
.fy-studio-cursor span{position:absolute;display:block;left:-8px;top:-8px;width:16px;height:16px;background:#fff;border-radius:259px;transform:scale(1)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html.fy-circle-cursor,html.fy-circle-cursor *{cursor:none!important}html.fy-circle-cursor input,html.fy-circle-cursor textarea,html.fy-circle-cursor [contenteditable="true"]{cursor:text!important}}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.fy-studio-cursor{display:none!important}}
/* Smaller visible glyph, unchanged full-row hit target and icon slot. */
.fy-plus{width:9px;height:9px}.fy-plus i{top:4px;left:.5px;width:8px;height:1px}

/* Keep all menu destinations reachable in landscape/short browser windows. */
.fy-nav-overlay{overflow-y:auto;overscroll-behavior:contain}.fy-nav-top,.fy-nav-bottom{flex-shrink:0}.fy-nav-links{flex-shrink:0;padding:16px 0}
@media(hover:none),(pointer:coarse){.fy-native-slide-controls{opacity:1!important;pointer-events:auto!important}.fy-native-slide-controls button{min-width:44px!important;min-height:44px!important}}

.fy-turnstile{width:100%;min-width:0;min-height:65px}.migration-note{line-height:1.45}
