:root{--type-display:clamp(52px,8vw,130px);--type-heading:clamp(32px,3.3vw,60px);--type-body:clamp(14px,1.05vw,17px);--flow:cubic-bezier(.22,.68,.15,1)}
.flow-hero{height:100svh;min-height:540px;position:relative;isolation:isolate;overflow:hidden;background:#111;contain:paint}
.flow-hero-frames,.flow-hero-frame{position:absolute;inset:0}
.flow-hero-frame{opacity:0;transition:opacity 1.8s var(--flow);overflow:hidden}
.flow-hero-frame.is-visible{opacity:1;z-index:1}
.flow-hero-frame img{height:100%;width:100%;object-fit:cover;transform:scale(1.02);transition:transform 9s linear;display:block}
.flow-hero-frame.is-drifting img{transform:scale(1.075) translate3d(-.5%,0,0)}
.flow-hero:after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#0002,transparent 40%,#0006);pointer-events:none}
.flow-hero-logo{position:absolute;inset:0;display:grid;place-items:center;z-index:3;pointer-events:none}
.flow-hero-logo img{width:clamp(155px,22vw,330px);height:auto;filter:drop-shadow(0 8px 28px #0002)}
.flow-hero-controls{position:absolute;z-index:4;bottom:30px;right:36px;display:flex;align-items:center;gap:12px;border:1px solid #ffffff60;border-radius:99px;background:#ffffff1c;backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);padding:9px 13px;box-shadow:0 10px 40px #0002;color:white}
.flow-hero-controls button{width:38px;height:38px;border-radius:50%;border:1px solid #ffffff40;background:#ffffff0a;color:#fff;font-size:20px;padding:0;cursor:pointer;transition:background .4s,transform .5s var(--flow)}
.flow-hero-controls button:hover{background:#ffffff30;transform:translateY(-2px)}
.flow-hero-controls button:focus-visible{outline:2px solid white;outline-offset:3px}
.flow-hero-counter{font-size:12px;letter-spacing:.08em;min-width:55px;text-align:center}
.flow-hero-explore{position:absolute;z-index:4;left:40px;bottom:48px;color:#fff!important;text-decoration:none;font-size:12px;letter-spacing:.15em;text-transform:uppercase}
.studio-deck-track{transition:transform 1.25s var(--flow)!important}
.elementor #whoarewe .elementor-heading-title,.elementor #whatwedo .elementor-heading-title,.elementor #howwedoit .elementor-heading-title,.elementor #letsexplore .elementor-heading-title,.elementor #aboutus .elementor-heading-title,.elementor #contactus .elementor-heading-title{font-size:var(--type-display)!important;font-weight:750!important}
.studio-vision h2,.native-team h2,.native-directory-header h2,.elementor [data-id="f175f8f"] .elementor-heading-title{font-size:var(--type-heading)!important;line-height:1.1!important;letter-spacing:-.045em!important;font-weight:500!important}
.studio-vision-copy p,.native-team-copy p,.elementor [data-id="5904466"]{font-size:var(--type-body)!important;line-height:1.8!important}
.studio-sector{isolation:isolate}
.studio-sector:before{content:'';position:absolute;inset:9px;z-index:2;pointer-events:none;opacity:0;border:1px solid #ffffff80;border-radius:12px;background:linear-gradient(135deg,#ffffff20,#ffffff04);backdrop-filter:blur(2px) saturate(125%);-webkit-backdrop-filter:blur(2px) saturate(125%);box-shadow:inset 0 1px #ffffff50,0 12px 30px #0002;transform:translateY(8px);transition:opacity .65s,transform .85s var(--flow)}
.studio-sector figcaption{z-index:3;transition:transform .8s var(--flow),background .6s,padding .6s,border-radius .6s}
@media(hover:hover){.studio-sector:hover:before{opacity:1;transform:translateY(0)}.studio-sector:hover figcaption{background:#ffffff20;backdrop-filter:blur(12px);padding:10px;border-radius:10px}.studio-project-card:hover img{transform:scale(1.05)!important}}
[data-id="368a1ac"]{gap:0!important;column-gap:0!important;row-gap:0!important;--gap:0!important;--row-gap:0!important;--column-gap:0!important;overflow:hidden}
[data-id="368a1ac"] .elementor-widget-image{margin:0!important;padding:0!important;border:0!important;line-height:0!important;overflow:hidden}
[data-id="368a1ac"] img{display:block!important;width:100%!important;height:100%!important;object-fit:cover;border:0!important;border-radius:0!important}
.native-project-list{grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-template-rows:repeat(8,minmax(0,1fr))!important;grid-auto-flow:column;gap:0 22px}
.native-directory{gap:12px;padding-top:94px;padding-bottom:106px}
.native-project-entry{padding:5px 0}
.native-project-entry h3{font-size:clamp(11px,.9vw,15px)!important;line-height:1.25;margin-bottom:3px}
.native-project-entry p{font-size:clamp(10px,.73vw,12px)!important;line-height:1.3}
.native-directory-header h2{font-size:clamp(28px,2.9vw,44px)!important}
.flow-reveal{opacity:0;transform:translate3d(0,20px,0);transition:opacity 1s var(--flow),transform 1.2s var(--flow)}
.flow-reveal.is-revealed{opacity:1;transform:translate3d(0,0,0)}
.project-intro{position:relative;height:100svh;min-height:560px;background:#111;overflow:hidden;isolation:isolate}
.project-intro>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;display:block}
.project-intro:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0002,transparent 35%,#0009);z-index:1;pointer-events:none}
.project-intro-panel{position:absolute;bottom:48px;left:clamp(22px,5vw,80px);right:clamp(22px,5vw,80px);z-index:2;padding:28px 36px;border:1px solid #ffffff60;border-radius:24px;background:linear-gradient(120deg,#1518137a,#15181338);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);display:flex;align-items:end;justify-content:space-between;gap:25px;color:white;box-shadow:0 15px 45px #0002}
.project-intro-panel h1{font-size:clamp(30px,4vw,64px);font-weight:500;letter-spacing:-.045em;line-height:1.05;margin:0;max-width:900px;color:#fff}
.project-intro-panel .studio-eyebrow{margin:0 0 15px;font-size:11px}
.project-explore{flex-shrink:0;color:white!important;text-decoration:none;border:1px solid #ffffff60;border-radius:99px;padding:14px 22px;font-size:12px;background:#ffffff14;transition:background .4s,transform .4s}
.project-explore:hover{background:#ffffff30;transform:translateY(-3px)}
.project-gallery-stage .studio-deck-stage{background:radial-gradient(ellipse at center,#302e26,#12130f)}
.project-gallery-stage .studio-deck-slide{padding:94px 5vw 112px!important}
.project-gallery-stage .studio-deck-slide img{background:transparent!important;object-fit:contain;border-radius:10px;filter:drop-shadow(0 12px 40px #0005)}
.project-gallery-stage .studio-deck-title{font-size:10px;max-width:45%;line-height:1.4}
.project-gallery-stage .studio-deck-toolbar{color:#fff;background:linear-gradient(110deg,#ffffff29,#ffffff0f)!important;border-color:#ffffff40!important}
.project-gallery-stage .studio-deck-toolbar a,.project-gallery-stage .studio-deck-controls button{color:#fff!important}
.project-gallery-stage .studio-deck-controls button{border-color:#ffffff50}
.project-return{font-size:12px;color:#fff!important;text-decoration:none}
.project-next{min-height:60svh;background:#fff7b5;padding:90px 6vw;display:flex;justify-content:space-between;align-items:center;gap:35px}
.project-next h2{font-size:var(--type-heading);font-weight:500;letter-spacing:-.045em;margin:10px 0}
.project-next a{color:#191a16;text-decoration:none;font-size:15px;border-bottom:1px solid #191a1660;padding-bottom:8px}
@media(max-width:1000px){.native-project-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(14,minmax(95px,auto))!important;overflow-y:auto;overscroll-behavior:contain;grid-auto-flow:row}.native-project-entry h3{font-size:13px!important}.native-project-entry p{font-size:11px!important}.native-directory{padding-bottom:105px}.project-intro-panel{align-items:start;flex-direction:column}}
@media(max-width:650px){:root{--type-display:clamp(46px,11vw,70px);--type-heading:32px;--type-body:14px}.flow-hero{min-height:480px}.flow-hero-logo img{width:190px}.flow-hero-controls{bottom:30px;right:18px;gap:7px}.flow-hero-explore{bottom:112px;left:22px;font-size:10px}.native-project-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(20,minmax(110px,auto))!important;gap:0 16px}.native-directory{padding:88px 20px 104px}.native-directory-header h2{font-size:28px!important}.native-project-entry h3{font-size:12px!important}.native-project-entry p{font-size:10px!important}.project-intro{min-height:520px}.project-intro-panel{bottom:25px;left:16px;right:16px;padding:24px;border-radius:20px;gap:22px}.project-intro-panel h1{font-size:36px}.project-gallery-stage .studio-deck-slide{padding:85px 12px 110px!important}.project-next{padding:70px 25px;flex-direction:column;align-items:start}.native-team-copy{overscroll-behavior:contain}.elementor-location-header .ha-navigation-menu-wrapper{max-height:80svh;overflow-y:auto}}
@media(prefers-reduced-motion:reduce){.flow-hero-frame,.flow-hero-frame img,.studio-deck-track,.flow-reveal,.studio-sector:before{transition:none!important}.flow-hero-frame img{transform:none!important}.flow-reveal{opacity:1;transform:none}.project-explore:hover{transform:none}}
@media(min-width:1001px) and (max-height:800px){.native-project-entry{padding:2px 0}.native-project-entry h3{font-size:11px!important;margin-bottom:2px}.native-project-entry p{font-size:10px!important;line-height:1.2}.native-directory{padding-top:88px;padding-bottom:98px}}
/* Scroll-led hero and layered slide transitions */
.flow-hero.studio-deck{height:calc(var(--slides)*100svh);min-height:0;contain:none;overflow:visible!important}
.flow-hero-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#111;isolation:isolate}
.flow-hero:after{display:none}.flow-hero-stage:after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#0002,transparent 40%,#0006);pointer-events:none}
.flow-hero-frames.studio-deck-track{transform:none!important;display:block;transition:none!important}
.flow-hero-frame.studio-deck-slide{position:absolute;padding:0!important;display:block;opacity:0;z-index:0;transform:translate3d(0,6%,0) scale(1.025);clip-path:inset(8% 0 0 0);transition:opacity 1.4s cubic-bezier(.2,.7,.2,1),transform 1.7s cubic-bezier(.16,1,.3,1),clip-path 1.7s cubic-bezier(.16,1,.3,1)}
.flow-hero-frame.studio-deck-slide.is-current{opacity:1;z-index:1;transform:translate3d(0,0,0) scale(1);clip-path:inset(0)}
.flow-hero-frame.studio-deck-slide img{object-fit:cover;transform:scale(1.065);transition:transform 5s cubic-bezier(.2,.6,.2,1)}
.flow-hero-frame.studio-deck-slide.is-current img{transform:scale(1)}
.flow-hero-controls button:disabled{opacity:.35;cursor:default;transform:none}
.studio-deck-track{transition:transform 1.45s cubic-bezier(.16,1,.3,1)!important}
.native-deck .studio-deck-slide>article,.native-deck .studio-deck-slide>.native-directory,.native-deck .studio-deck-slide>.native-team{opacity:.35;transform:scale(.97);transition:opacity 1.2s ease,transform 1.5s cubic-bezier(.16,1,.3,1)}
.native-deck .studio-deck-slide.is-current>article,.native-deck .studio-deck-slide.is-current>.native-directory,.native-deck .studio-deck-slide.is-current>.native-team{opacity:1;transform:scale(1)}
@media(max-width:1024px){.elementor-location-header .ha-navigation-menu-wrapper{overflow:visible!important}.elementor-location-header ul.menu{background:linear-gradient(135deg,rgba(35,36,30,.78),rgba(18,20,18,.68))!important;backdrop-filter:blur(28px) saturate(155%);-webkit-backdrop-filter:blur(28px) saturate(155%);border:1px solid #ffffff40!important;border-radius:20px!important;box-shadow:0 18px 55px #0004,inset 0 1px #ffffff25;padding:12px!important;max-height:75svh;overflow-y:auto}.elementor-location-header ul.menu li,.elementor-location-header ul.menu a{background:transparent!important}.elementor-location-header ul.menu a{border-radius:12px;transition:background .35s!important;padding:16px 20px!important}.elementor-location-header ul.menu a:hover,.elementor-location-header ul.menu a:focus-visible{background:#ffffff18!important}}
.cursor-particles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:10001}
@media(prefers-reduced-motion:reduce){.flow-hero-frame.studio-deck-slide,.flow-hero-frame.studio-deck-slide img,.native-deck .studio-deck-slide>*{transition:none!important;transform:none!important;clip-path:none!important}}

/* Nature and light strip across the bottom of the About Us slides. */
#team-portfolio{--about-strip-height:min(170px,calc(100vw * 115 / 1024))}
#team-portfolio .about-us-strip{position:absolute;inset:auto 0 0;width:100%;height:var(--about-strip-height);object-fit:fill;display:block;z-index:3;pointer-events:none}
#team-portfolio .native-team{padding-bottom:calc(var(--about-strip-height) + 90px)}
#team-portfolio .studio-deck-toolbar{bottom:calc(var(--about-strip-height) + 12px)!important}

/* Keep the strip attached to the profile, with navigation underneath. */
#team-portfolio .about-us-strip{bottom:90px}
#team-portfolio .studio-deck-toolbar{bottom:18px!important}
@media(max-width:650px){#team-portfolio .studio-deck-toolbar{bottom:12px!important}}
