/*
Theme Name: Switch Studio
Theme URI: http://localhost/switch/
Author: Codex
Description: Editorial Elementor theme for a premium independent creative agency.
Version: 1.0.0
Text Domain: switch-studio
*/

:root{--ink:#050505;--paper:#f3f0e9;--white:#fff;--blue:#2847ff;--lime:#d9ff38;--violet:#8c4dff;--line:rgba(0,0,0,.15);--pad:clamp(22px,4vw,72px);--serif:Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45;overflow-x:hidden}body,button,input,textarea{font-family:var(--sans)}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}::selection{background:var(--lime);color:#000}
.site-header{position:fixed;inset:0 0 auto;z-index:999;padding:18px var(--pad);display:flex;align-items:center;justify-content:space-between;color:#fff;mix-blend-mode:difference;pointer-events:none}.site-header a,.site-header button{pointer-events:auto}.brand{font-size:21px;font-weight:800;letter-spacing:-.06em}.brand-dot{color:var(--lime)}.nav-toggle{display:none;background:none;border:0;color:inherit;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.site-nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}.site-nav a{font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;position:relative}.site-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .35s ease}.site-nav a:hover:after{right:0}
.studio-page{overflow:hidden}.section{position:relative;padding:clamp(88px,12vw,190px) var(--pad)}.dark{background:var(--ink);color:#fff}.paper{background:var(--paper);color:var(--ink)}.white{background:#fff}.blue{background:var(--blue);color:#fff}.lime{background:var(--lime);color:#000}.section-kicker{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:0 0 40px}.display{font-size:clamp(58px,11vw,170px);font-weight:800;letter-spacing:-.075em;line-height:.82;margin:0}.display em{font-family:var(--serif);font-weight:400}.headline{font-size:clamp(44px,7.5vw,116px);font-weight:750;letter-spacing:-.065em;line-height:.88;margin:0}.subhead{font-size:clamp(22px,3vw,44px);line-height:1.06;letter-spacing:-.035em;max-width:980px;margin:0}.body-large{font-size:clamp(20px,2.25vw,34px);line-height:1.25;letter-spacing:-.025em;max-width:880px}.fine{font-size:12px;letter-spacing:.03em;opacity:.68}.eyebrow{display:flex;justify-content:space-between;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;margin-bottom:clamp(50px,8vw,110px)}
.hero{min-height:100svh;padding:105px var(--pad) 28px;display:flex;flex-direction:column;justify-content:space-between;background:#050505;color:#fff;isolation:isolate}.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover;opacity:.65;transform:scale(1.05)}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.08) 70%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%)}.hero h1{max-width:1400px}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end}.hero-copy{max-width:520px;font-size:clamp(17px,1.45vw,23px);margin:0}.hero-orb{position:absolute;width:38vw;height:38vw;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(140,77,255,.8),rgba(40,71,255,.25) 45%,transparent 69%);filter:blur(6px);right:-12vw;top:-12vw;mix-blend-mode:screen;animation:float 8s ease-in-out infinite}.scroll-note{text-align:right;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 26px;border:1px solid currentColor;border-radius:100px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transition:.35s}.btn-solid{background:#fff;color:#000;border-color:#fff}.btn:hover{background:var(--lime);border-color:var(--lime);color:#000;transform:translateY(-3px)}
.marquee{overflow:hidden;border-top:1px solid currentColor;border-bottom:1px solid currentColor;padding:17px 0}.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite}.marquee-item{font-size:clamp(34px,5vw,76px);letter-spacing:-.05em;font-weight:750;white-space:nowrap;padding-right:36px}.marquee-item:after{content:'\2197';font-size:.55em;margin-left:24px;color:var(--lime)}.marquee:hover .marquee-track{animation-play-state:paused}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:clamp(40px,9vw,150px);align-items:start}.split-offset{padding-top:22vh}.editorial-quote{font-family:var(--serif);font-size:clamp(34px,4.4vw,72px);line-height:1.05;letter-spacing:-.04em;margin:0}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:80px}.stat{padding:25px 12px 0 0}.stat strong{display:block;font-size:clamp(42px,6vw,88px);letter-spacing:-.065em;line-height:1}.stat span{font-size:11px;text-transform:uppercase;letter-spacing:.13em}
.service-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;margin-top:70px}.service-card{grid-column:span 4;min-height:360px;border:1px solid rgba(255,255,255,.25);padding:28px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:.45s}.service-card:nth-child(2),.service-card:nth-child(5){transform:translateY(50px)}.service-card:before{content:'';position:absolute;width:240px;height:240px;border-radius:50%;background:var(--blue);filter:blur(50px);opacity:0;right:-100px;bottom:-100px;transition:.5s}.service-card:hover{color:#000;background:var(--lime);transform:translateY(-8px)}.service-card:hover:before{opacity:.5}.service-no{font-size:11px;letter-spacing:.15em}.service-card h3{font-size:clamp(26px,3vw,46px);letter-spacing:-.05em;line-height:1;margin:0;position:relative}.service-card p{max-width:310px;margin:18px 0 0;opacity:.7;position:relative}
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,2vw,34px);margin-top:80px}.work-card{grid-column:span 7}.work-card:nth-child(even){grid-column:6 / span 7;margin-top:120px}.work-card.square{grid-column:span 5}.work-media{overflow:hidden;background:#111;aspect-ratio:16/10;position:relative}.work-card.portrait .work-media{aspect-ratio:4/5}.work-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .5s}.work-media .art-gradient{position:absolute;inset:0;background:linear-gradient(135deg,#8c4dff,#2847ff 55%,#d9ff38)}.work-media .art-type{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(100px,20vw,320px);font-weight:800;letter-spacing:-.12em;color:#fff;mix-blend-mode:overlay}.work-card:hover img,.work-card:hover .art-gradient{transform:scale(1.045)}.work-meta{display:flex;justify-content:space-between;gap:20px;padding-top:16px;border-top:1px solid;margin-top:14px}.work-meta h3{font-size:clamp(25px,3vw,45px);letter-spacing:-.045em;margin:0}.work-meta span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;padding-top:8px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:50px 0 0}.filter{border:1px solid;border-radius:100px;background:transparent;padding:11px 18px;text-transform:uppercase;font-size:10px;letter-spacing:.12em;cursor:pointer}.filter.active,.filter:hover{background:#000;color:#fff}
.timeline{margin-top:80px;border-top:1px solid rgba(255,255,255,.28)}.step{display:grid;grid-template-columns:100px 1fr 1fr;gap:30px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.28);align-items:center;transition:.35s}.step:hover{padding-left:18px;background:linear-gradient(90deg,rgba(40,71,255,.35),transparent)}.step b{font-size:11px;letter-spacing:.15em}.step h3{font-size:clamp(30px,5vw,72px);letter-spacing:-.055em;line-height:1;margin:0}.step p{max-width:430px;margin:0;opacity:.65}
.logo-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:20px 55px;margin-top:60px}.logo-cloud span{font-family:var(--serif);font-size:clamp(23px,3vw,42px);font-style:italic;opacity:.55}
.insight-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:20px;margin-top:70px}.article{border-top:1px solid;padding-top:18px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between}.article:first-child{grid-row:span 2;min-height:620px;background:#000;color:#fff;padding:32px}.article h3{font-size:clamp(26px,3vw,48px);letter-spacing:-.045em;line-height:1.03;margin:25px 0}.article .tag{font-size:10px;letter-spacing:.15em;text-transform:uppercase}.article .arrow{font-size:28px;transition:.3s}.article:hover .arrow{transform:translate(8px,-8px)}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:70px}.quote-card{min-height:400px;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;justify-content:space-between}.quote-card:nth-child(2){background:var(--blue);color:#fff;border-color:var(--blue)}.quote-card blockquote{font-family:var(--serif);font-size:clamp(25px,2.4vw,38px);line-height:1.08;margin:0}.quote-card cite{font-style:normal;font-size:11px;letter-spacing:.11em;text-transform:uppercase}
.cta{min-height:82svh;display:flex;flex-direction:column;justify-content:space-between;background:var(--blue);color:#fff;overflow:hidden}.cta .headline{max-width:1200px}.cta-link{font-size:clamp(30px,5vw,76px);letter-spacing:-.05em;border-bottom:2px solid;align-self:flex-start;position:relative;z-index:2}.cta-blob{position:absolute;width:55vw;height:55vw;border-radius:50%;right:-12vw;bottom:-22vw;background:radial-gradient(circle at 30% 25%,var(--lime),var(--violet) 46%,transparent 70%);animation:float 9s ease-in-out infinite}
.page-hero{min-height:82svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:150px}.page-hero .display{max-width:1400px}.page-intro{display:grid;grid-template-columns:.55fr 1.3fr;gap:clamp(40px,9vw,160px);align-items:start}.values{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin-top:80px}.value{background:var(--paper);padding:clamp(28px,4vw,60px);min-height:280px}.value h3{font-size:clamp(30px,4vw,56px);letter-spacing:-.05em;margin:0 0 80px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:70px}.team-card{aspect-ratio:3/4;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;position:relative;overflow:hidden;background:linear-gradient(145deg,#101010,#2847ff)}.team-card:nth-child(2){background:linear-gradient(145deg,#d9ff38,#111);color:#000}.team-card:nth-child(3){background:linear-gradient(145deg,#8c4dff,#050505)}.team-card:before{content:'';position:absolute;width:70%;aspect-ratio:1;border-radius:50%;border:1px solid currentColor;top:14%;left:15%;opacity:.5}.team-card h3,.team-card p{position:relative;margin:0}.team-card h3{font-size:clamp(26px,3vw,44px);letter-spacing:-.04em}.service-detail{display:grid;grid-template-columns:80px .8fr 1fr;gap:clamp(20px,6vw,100px);padding:55px 0;border-top:1px solid;align-items:start}.service-detail h2{font-size:clamp(40px,6vw,90px);line-height:.9;letter-spacing:-.06em;margin:0}.service-detail ul{list-style:none;padding:0;margin:0}.service-detail li{border-bottom:1px solid var(--line);padding:12px 0}.service-detail p{font-size:clamp(18px,2vw,28px);margin-top:35px;max-width:700px}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,9vw,140px);margin-top:70px}.contact-form{display:grid;gap:18px}.contact-form label{font-size:10px;text-transform:uppercase;letter-spacing:.15em}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid;background:transparent;padding:14px 0;font-size:18px;border-radius:0;color:inherit}.contact-form textarea{min-height:120px;resize:vertical}.contact-form button{justify-self:start;background:#000;color:#fff;border:0;border-radius:100px;padding:18px 28px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;cursor:pointer}.contact-info h3{font-size:clamp(28px,3vw,48px);letter-spacing:-.04em;margin:0 0 24px}.map{height:430px;filter:grayscale(1) contrast(1.1);margin-top:80px}.map iframe{border:0;width:100%;height:100%}
.work-media video,.case-frame video,.case-hero-media video{width:100%;height:100%;object-fit:cover;display:block}.case-card .work-meta{align-items:flex-start}.case-card .work-meta>div{max-width:72%}.case-card .work-meta p{font-size:14px;line-height:1.35;letter-spacing:0;margin:10px 0 0;opacity:.72;text-transform:none}.view-project{display:inline-flex;margin-top:16px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid}.case-card:hover .view-project{color:var(--blue)}
.client-detail-page{background:#fff;color:#111}.client-detail-page img,.client-detail-page video{width:100%;height:100%;object-fit:cover;display:block}.client-title-block{background:#fff;padding:clamp(150px,18vw,245px) var(--pad) clamp(54px,7vw,96px);display:grid;grid-template-columns:.9fr 1.4fr;gap:clamp(30px,8vw,130px);align-items:end}.client-category{font-size:clamp(20px,2.2vw,34px);line-height:1.05;letter-spacing:-.035em;margin:0;font-weight:500}.client-title{font-size:clamp(46px,7vw,112px);line-height:.9;letter-spacing:-.07em;margin:0;font-weight:760}.client-hero-image{margin:0 var(--pad);height:clamp(420px,62vw,720px);overflow:hidden;background:#f4f4f4}.client-hero-image img,.client-hero-image video{object-fit:cover}.client-intro{padding:clamp(48px,7vw,92px) var(--pad) clamp(28px,5vw,70px);display:grid;grid-template-columns:.88fr 1.35fr;gap:clamp(30px,8vw,130px);align-items:start;background:#fff}.client-mini{font-size:clamp(18px,2vw,30px);letter-spacing:-.03em;line-height:1.05;margin:0}.client-intro p:not(.client-mini){font-size:clamp(24px,3vw,48px);line-height:1.05;letter-spacing:-.045em;margin:0;max-width:1080px}.client-scope{padding:clamp(26px,4vw,56px) var(--pad);display:grid;grid-template-columns:.9fr 1.35fr;gap:clamp(30px,8vw,130px);align-items:center;background:#fff}.client-scope-art{width:clamp(96px,13vw,170px);height:clamp(96px,13vw,170px);border-radius:50%;overflow:hidden;background:#f3f3f3;justify-self:center;box-shadow:0 18px 60px rgba(0,0,0,.08)}.client-scope-art img,.client-scope-art video{object-fit:cover}.client-scope-list{display:flex;flex-wrap:wrap;gap:8px 18px;max-width:780px;margin-top:16px}.client-scope-list span{font-size:clamp(16px,1.6vw,24px);letter-spacing:-.02em}.client-scope-list span:after{content:' /';opacity:.35}.client-scope-list span:last-child:after{display:none}.client-swatches{margin-top:28px}.client-heading{padding:clamp(86px,13vw,170px) var(--pad) clamp(56px,8vw,110px);background:#fff;text-align:center}.client-heading h2{font-size:clamp(40px,6.4vw,108px);line-height:.95;letter-spacing:-.065em;font-weight:650;margin:0 auto;max-width:1280px}.client-wide-image{margin:0 var(--pad) clamp(36px,5vw,72px);height:clamp(360px,54vw,720px);overflow:hidden;background:#f6f6f6}.client-wide-image.client-soft{background:#fcfcfc;padding:clamp(18px,3vw,42px);height:clamp(380px,48vw,660px)}.client-wide-image.client-soft img,.client-wide-image.client-soft video{object-fit:contain}.client-two-up{padding:0 var(--pad) clamp(36px,5vw,72px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,44px);background:#fff}.client-two-up figure{margin:0;height:clamp(360px,48vw,650px);overflow:hidden;background:#f8f8f8}.client-two-up figure img,.client-two-up figure video{object-fit:cover}.client-statement{padding:clamp(86px,12vw,160px) var(--pad);background:#fff}.client-statement p{font-size:clamp(34px,5.1vw,88px);line-height:1.02;letter-spacing:-.06em;max-width:1300px;margin:0 auto;text-align:center}.client-gallery{padding:0 var(--pad) clamp(80px,10vw,140px);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,30px);background:#fff}.client-tile{margin:0;height:clamp(260px,28vw,430px);overflow:hidden;background:#f5f5f5}.client-tile img,.client-tile video{object-fit:cover;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.client-tile:hover img,.client-tile:hover video{transform:scale(1.035)}.client-protected{grid-column:1/-1;margin:0;min-height:430px;display:grid;place-items:center;text-align:center;background:#f4f4f4;color:#111}.client-protected span{font-size:11px;letter-spacing:.16em;text-transform:uppercase}.client-protected p{font-size:clamp(28px,4vw,58px);letter-spacing:-.05em;line-height:1;margin:16px 0 0}.client-bottom-nav{display:grid;grid-template-columns:1fr 1fr;background:#111;color:#fff}.client-bottom-nav a{min-height:260px;padding:clamp(36px,6vw,90px) var(--pad);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(255,255,255,.18);transition:.3s}.client-bottom-nav a:hover{background:#fff;color:#111}.client-bottom-nav span{font-size:11px;text-transform:uppercase;letter-spacing:.16em}.client-bottom-nav b{font-size:clamp(30px,4.5vw,72px);line-height:.92;letter-spacing:-.06em}
.case-hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);gap:clamp(28px,5vw,80px);align-items:end;padding:120px var(--pad) var(--pad);overflow:hidden}.case-hero-copy{position:relative;z-index:2}.case-hero-copy .body-large{max-width:740px}.case-hero-media{height:clamp(430px,70vh,820px);overflow:hidden;border-radius:clamp(18px,2.5vw,42px);background:#111;box-shadow:0 40px 110px rgba(0,0,0,.45)}.case-hero-media img{height:100%;object-fit:cover}.case-overview{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(35px,8vw,140px);align-items:start}.case-facts{display:grid;gap:1px;background:rgba(0,0,0,.16);position:sticky;top:100px}.case-facts>div{background:var(--paper);padding:22px}.case-facts span{display:block;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;opacity:.62}.case-facts b{font-size:clamp(18px,2vw,28px);line-height:1.12;letter-spacing:-.035em}.swatches{display:flex;gap:8px}.swatches span{display:block;width:42px;height:42px;border-radius:50%;border:1px solid rgba(0,0,0,.2);margin:0}.case-narrative .headline{max-width:1000px}.case-deep{display:grid;grid-template-columns:.45fr 1fr;gap:clamp(35px,8vw,140px);align-items:start}.sticky-label{position:sticky;top:100px}.case-copy{display:grid;gap:80px}.case-copy article{border-top:1px solid var(--line);padding-top:25px}.case-copy h2{font-size:clamp(42px,6vw,88px);letter-spacing:-.06em;line-height:.9;margin:0 0 28px}.case-copy p{font-size:clamp(20px,2.4vw,34px);line-height:1.22;letter-spacing:-.03em;margin:0;max-width:980px}.case-lists{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,8vw,140px)}.case-lists ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.25)}.case-lists li{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.25);font-size:clamp(18px,2vw,28px);letter-spacing:-.03em}.case-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,2vw,30px)}.case-gallery .eyebrow{grid-column:1/-1;width:100%}.case-frame{grid-column:span 6;margin:0;overflow:hidden;background:#101010;border-radius:clamp(16px,2vw,34px);min-height:320px;box-shadow:0 25px 70px rgba(0,0,0,.13)}.case-frame:nth-of-type(3n+1){grid-column:span 12}.case-frame:nth-of-type(4n+2){grid-column:span 5}.case-frame:nth-of-type(4n+3){grid-column:span 7}.case-frame img,.case-frame video{height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}.case-frame:hover img,.case-frame:hover video{transform:scale(1.035)}.protected-frame{grid-column:1/-1;min-height:460px;display:grid;place-items:center;background:radial-gradient(circle at 70% 30%,rgba(40,71,255,.5),transparent 35%),#080808;color:#fff}.protected-frame div{text-align:center;max-width:520px;padding:40px}.protected-frame span{font-size:11px;letter-spacing:.16em;text-transform:uppercase}.protected-frame p{font-size:clamp(26px,4vw,58px);letter-spacing:-.05em;line-height:1;margin:20px 0 0}.case-nav{display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:0;background:#222}.case-nav a{background:#050505;padding:clamp(40px,8vw,110px) var(--pad);min-height:310px;display:flex;flex-direction:column;justify-content:space-between;transition:.35s}.case-nav a:hover{background:var(--lime);color:#000}.case-nav span{font-size:10px;letter-spacing:.16em;text-transform:uppercase}.case-nav b{font-size:clamp(34px,5vw,78px);letter-spacing:-.06em;line-height:.9}
.site-footer{background:#050505;color:#fff;padding:70px var(--pad) 26px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(2,1fr);gap:40px}.footer-brand{font-size:clamp(46px,8vw,120px);letter-spacing:-.07em;font-weight:800;line-height:.8}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin-bottom:10px}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);margin-top:70px;padding-top:18px;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.14em}
.reveal{opacity:0;transform:translateY(42px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}
@keyframes marquee{to{transform:translateX(-50%)}}@keyframes float{50%{transform:translate3d(-3vw,3vw,0) scale(1.06)}}
@media(max-width:900px){.site-nav{position:fixed;inset:0;background:#050505;display:none;align-items:center;justify-content:center;mix-blend-mode:normal}.site-nav.open{display:flex}.site-nav ul{flex-direction:column;text-align:center;gap:22px}.site-nav a{font-size:28px}.nav-toggle{display:block;z-index:2}.hero-bottom,.split,.page-intro,.contact-grid,.case-hero,.case-overview,.case-deep,.case-lists,.client-title-block,.client-intro,.client-scope{grid-template-columns:1fr}.split-offset{padding-top:0}.service-card{grid-column:span 6}.work-card,.work-card:nth-child(even),.work-card.square{grid-column:span 12;margin-top:40px}.insight-grid{grid-template-columns:1fr 1fr}.article:first-child{grid-column:span 2}.testimonial-grid,.team-grid{grid-template-columns:1fr 1fr}.service-detail{grid-template-columns:50px 1fr}.service-detail>div:last-child{grid-column:2}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:span 2}.case-hero{padding-top:110px;min-height:auto}.case-hero-media{height:55vh}.case-facts,.sticky-label{position:static}.case-frame,.case-frame:nth-of-type(3n+1),.case-frame:nth-of-type(4n+2),.case-frame:nth-of-type(4n+3){grid-column:1/-1}.case-nav{grid-template-columns:1fr}.client-scope-art{justify-self:start}.client-gallery{grid-template-columns:repeat(2,1fr)}.client-bottom-nav{grid-template-columns:1fr}}
@media(max-width:600px){.section{padding-top:90px;padding-bottom:90px}.hero{padding-top:90px}.hero-bottom{gap:16px}.scroll-note{text-align:left}.service-grid{gap:8px}.service-card{grid-column:span 12;min-height:280px}.service-card:nth-child(2),.service-card:nth-child(5){transform:none}.stat-row{grid-template-columns:1fr}.stat{border-bottom:1px solid var(--line);padding:20px 0}.step{grid-template-columns:42px 1fr}.step p{grid-column:2}.insight-grid,.testimonial-grid,.team-grid{grid-template-columns:1fr}.article:first-child{grid-column:auto;min-height:480px}.values{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{gap:20px;flex-direction:column}.service-detail{grid-template-columns:34px 1fr}.site-header{padding-top:15px}.map{height:320px}.case-hero-media{height:44vh}.case-card .work-meta{display:block}.case-card .work-meta>div{max-width:none}.case-frame{min-height:230px}.swatches span{width:34px;height:34px}.client-hero-image,.client-wide-image{margin-left:18px;margin-right:18px;height:360px}.client-two-up{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.client-gallery{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.client-title-block{padding-top:120px}.client-intro,.client-scope,.client-heading,.client-statement{padding-left:18px;padding-right:18px}.client-two-up figure,.client-tile{height:330px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* Elementor native-widget compatibility: content is editable via Heading/Text/Image/Button widgets, not HTML widgets. */
.elementor-widget-heading .elementor-heading-title{color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;margin:0}.elementor-widget-text-editor{color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit}.elementor-widget-text-editor p{margin:0}.elementor-widget-image,.elementor-widget-image .elementor-widget-container,.elementor-widget-image a,.elementor-widget-image img{height:100%}.elementor-widget-image img{object-fit:inherit}.elementor-widget-button .elementor-button{font:inherit;color:inherit;background:transparent;border:0;padding:0}.btn .elementor-button,.btn.elementor-widget-button .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 26px;border:1px solid currentColor;border-radius:100px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transition:.35s}.btn-solid .elementor-button{background:#fff;color:#000;border-color:#fff}.cta-link .elementor-button{font-size:clamp(30px,5vw,76px);letter-spacing:-.05em;border-bottom:2px solid;border-radius:0;min-height:auto;padding:0;text-transform:none}.view-project .elementor-button{font-size:10px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid;border-radius:0;min-height:auto;padding:0}
.client-title .elementor-heading-title{font-size:clamp(46px,7vw,112px);line-height:.9;letter-spacing:-.07em;font-weight:760}.client-category .elementor-heading-title{font-size:clamp(20px,2.2vw,34px);line-height:1.05;letter-spacing:-.035em;font-weight:500}.client-mini .elementor-heading-title{font-size:clamp(18px,2vw,30px);letter-spacing:-.03em;line-height:1.05}.client-intro .elementor-widget-text-editor{font-size:clamp(24px,3vw,48px);line-height:1.05;letter-spacing:-.045em;max-width:1080px}.client-scope-list{font-size:clamp(16px,1.6vw,24px);letter-spacing:-.02em}.client-heading .elementor-heading-title{font-size:clamp(40px,6.4vw,108px);line-height:.95;letter-spacing:-.065em;font-weight:650;max-width:1280px;margin:0 auto;text-align:center}.client-statement .elementor-widget-text-editor{font-size:clamp(34px,5.1vw,88px);line-height:1.02;letter-spacing:-.06em;max-width:1300px;margin:0 auto;text-align:center}.client-bottom-nav .elementor-heading-title{display:block}.client-bottom-nav .elementor-widget-heading:first-child .elementor-heading-title{font-size:11px;text-transform:uppercase;letter-spacing:.16em}.client-bottom-nav b.elementor-heading-title{font-size:clamp(30px,4.5vw,72px);line-height:.92;letter-spacing:-.06em}

/* Force the intended design layout when Elementor native Containers output e-con/e-flex wrappers. */
.hero.e-con{display:flex!important;flex-direction:column!important;justify-content:space-between!important;min-height:100svh!important;padding:105px var(--pad) 28px!important}
.hero-bottom.e-con,.split.e-con,.page-intro.e-con,.contact-grid.e-con{display:grid!important}
.hero-bottom.e-con{grid-template-columns:1fr 1fr!important;align-items:end!important}
.split.e-con{grid-template-columns:minmax(0,1fr) minmax(280px,.75fr)!important}
.page-intro.e-con{grid-template-columns:.55fr 1.3fr!important}
.contact-grid.e-con{grid-template-columns:1.1fr .9fr!important}
.service-grid.e-con,.work-grid.e-con,.insight-grid.e-con,.testimonial-grid.e-con,.team-grid.e-con,.values.e-con,.timeline.e-con,.logo-cloud.e-con{display:grid!important}
.service-grid.e-con{grid-template-columns:repeat(12,1fr)!important}.work-grid.e-con{grid-template-columns:repeat(12,1fr)!important}.insight-grid.e-con{grid-template-columns:1.25fr 1fr 1fr!important}.testimonial-grid.e-con,.team-grid.e-con{grid-template-columns:repeat(3,1fr)!important}.values.e-con{grid-template-columns:repeat(2,1fr)!important}
.client-title-block.e-con{display:grid!important;grid-template-columns:.9fr 1.4fr!important;gap:clamp(30px,8vw,130px)!important;align-items:end!important;padding:clamp(150px,18vw,245px) var(--pad) clamp(54px,7vw,96px)!important}
.client-intro.e-con{display:grid!important;grid-template-columns:.88fr 1.35fr!important;gap:clamp(30px,8vw,130px)!important;padding:clamp(48px,7vw,92px) var(--pad) clamp(28px,5vw,70px)!important}
.client-scope.e-con{display:grid!important;grid-template-columns:.9fr 1.35fr!important;gap:clamp(30px,8vw,130px)!important;align-items:center!important;padding:clamp(26px,4vw,56px) var(--pad)!important}
.client-two-up.e-con{display:grid!important;grid-template-columns:1fr 1fr!important;gap:clamp(18px,3vw,44px)!important;padding:0 var(--pad) clamp(36px,5vw,72px)!important}
.client-gallery.e-con{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:clamp(14px,2vw,30px)!important;padding:0 var(--pad) clamp(80px,10vw,140px)!important}
.client-bottom-nav.e-con{display:grid!important;grid-template-columns:1fr 1fr!important}
.client-hero-image.e-con{display:block!important;margin:0 var(--pad)!important;height:clamp(420px,62vw,720px)!important;overflow:hidden!important;padding:0!important}
.client-wide-image.e-con{display:block!important;margin:0 var(--pad) clamp(36px,5vw,72px)!important;height:clamp(360px,54vw,720px)!important;overflow:hidden!important;padding:0!important}
.client-wide-image.client-soft.e-con{height:clamp(380px,48vw,660px)!important;padding:clamp(18px,3vw,42px)!important}
.client-hero-image>.elementor-widget-image,.client-wide-image>.elementor-widget-image,.client-two-up .elementor-widget-image,.client-gallery .elementor-widget-image,.work-media>.elementor-widget-image,.hero-media>.elementor-widget-image{width:100%!important;height:100%!important}
.client-hero-image img,.client-wide-image img,.client-two-up img,.client-gallery img,.work-media img,.hero-media img{width:100%!important;height:100%!important;object-fit:cover!important}
.client-wide-image.client-soft img{object-fit:contain!important}.client-two-up>.e-con,.client-tile.e-con{height:clamp(360px,48vw,650px)!important;overflow:hidden!important;padding:0!important;background:#f8f8f8!important}.client-tile.e-con{height:clamp(260px,28vw,430px)!important}.work-card.e-con{display:block!important;min-height:auto!important}.work-media.e-con{display:block!important;padding:0!important;aspect-ratio:16/10!important;overflow:hidden!important}.work-card.portrait .work-media.e-con{aspect-ratio:4/5!important}.work-meta.e-con{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:flex-start!important}.service-card.e-con{display:flex!important;flex-direction:column!important;justify-content:space-between!important;min-height:360px!important;padding:28px!important}.service-card.e-con .elementor-widget-heading h3{font-size:clamp(26px,3vw,46px)!important;letter-spacing:-.05em!important;line-height:1!important}.service-card.e-con .elementor-widget-text-editor{max-width:310px!important}

@media(max-width:900px){.hero-bottom.e-con,.split.e-con,.page-intro.e-con,.contact-grid.e-con,.client-title-block.e-con,.client-intro.e-con,.client-scope.e-con{grid-template-columns:1fr!important}.client-two-up.e-con,.client-bottom-nav.e-con{grid-template-columns:1fr!important}.client-gallery.e-con{grid-template-columns:repeat(2,1fr)!important}.work-grid.e-con{grid-template-columns:1fr!important}.testimonial-grid.e-con,.team-grid.e-con,.values.e-con,.insight-grid.e-con{grid-template-columns:1fr!important}}
@media(max-width:600px){.client-hero-image.e-con,.client-wide-image.e-con{margin-left:18px!important;margin-right:18px!important;height:360px!important}.client-two-up.e-con,.client-gallery.e-con{grid-template-columns:1fr!important;padding-left:18px!important;padding-right:18px!important}.client-title-block.e-con{padding-top:120px!important}.client-intro.e-con,.client-scope.e-con,.client-heading.e-con,.client-statement.e-con{padding-left:18px!important;padding-right:18px!important}}
