@font-face{font-family:Archivo;src:url('../fonts/archivo-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--mf7-bg:#08090b;--mf7-panel:#0d0f12;--mf7-text:#f3f3f1;--mf7-muted:#a6a7ab;--mf7-line:rgba(255,255,255,.13);--mf7-accent:#1b9bff;--mf7-violet:#27d7ff;--mf7-secondary:#27d7ff;--mf7-accent-rgb:27,155,255;--mf7-secondary-rgb:39,215,255;--mf7-max:1500px;--mf7-pad:clamp(22px,4.2vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--mf7-bg)}body{margin:0;background:var(--mf7-bg);color:var(--mf7-text);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}img,video{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
h1,h2,h3{font-family:Archivo,Arial,sans-serif;line-height:.94;letter-spacing:-.045em;margin:0}p{margin:0 0 1em}.eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.eyebrow.accent{color:var(--mf7-accent)}.section{max-width:var(--mf7-max);margin:0 auto;padding:clamp(80px,9vw,150px) var(--mf7-pad);border-bottom:1px solid var(--mf7-line)}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:82px;padding:0 var(--mf7-pad);display:grid;grid-template-columns:220px 1fr 220px;align-items:center;transition:background .35s,border .35s,transform .35s}.site-header.is-scrolled{background:rgba(8,9,11,.84);border-bottom:1px solid var(--mf7-line);backdrop-filter:blur(18px)}.brand{display:block;width:145px}.brand img{height:auto;max-height:44px;object-fit:contain;object-position:left}.site-nav{justify-self:center}.site-nav ul{display:flex;align-items:center;gap:45px;list-style:none;margin:0;padding:0}.site-nav a{position:relative;font-size:13px}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:1px;background:var(--mf7-accent);transition:right .25s}.site-nav a:hover:after,.site-nav .current-menu-item a:after,.page-template-page-our-work .site-nav li:nth-child(2) a:after,.page-template-page-contact-us .site-nav li:nth-child(3) a:after{right:0}.button{min-height:56px;padding:0 27px;border:1px solid rgba(255,255,255,.46);display:inline-flex;align-items:center;justify-content:space-between;gap:35px;text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.03em;background:rgba(8,9,11,.18);color:#fff;transition:background .3s,border-color .3s,transform .3s}.button:hover{background:var(--mf7-accent);border-color:var(--mf7-accent);transform:translateY(-2px)}.button-header{justify-self:end;min-height:48px;padding:0 21px}.nav-toggle{display:none;background:none;border:0;color:#fff}
.mf7-hero{position:relative;height:max(690px,100svh);min-height:690px;border-bottom:1px solid var(--mf7-line);overflow:hidden}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s}.hero-slide.is-active{opacity:1;visibility:visible}.hero-media{position:absolute;inset:-4%;will-change:transform}.hero-media:after,.page-hero-bg:after,.single-work-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,8,.94) 0%,rgba(5,6,8,.62) 43%,rgba(5,6,8,var(--overlay,.2)) 76%),linear-gradient(0deg,rgba(5,6,8,.45),transparent 55%)}.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}.abstract-visual{background:radial-gradient(ellipse at 75% 48%,rgba(var(--mf7-accent-rgb),.78),transparent 19%),radial-gradient(ellipse at 80% 60%,rgba(var(--mf7-secondary-rgb),.68),transparent 16%),radial-gradient(ellipse at 63% 47%,rgba(212,225,255,.45),transparent 8%),conic-gradient(from 220deg at 75% 50%,#07080a,#151029,#09090c,#08223d,#09090c,#071d36,#07080a);overflow:hidden}.abstract-visual:before{content:"";position:absolute;left:52%;top:0;width:50%;height:110%;border-radius:45% 55% 38% 62%;border:3px solid rgba(255,255,255,.38);box-shadow:inset 0 0 90px rgba(var(--mf7-accent-rgb),.35),0 0 70px rgba(var(--mf7-secondary-rgb),.25);transform:rotate(18deg) skew(-8deg);filter:blur(.2px)}.hero-content{position:absolute;z-index:2;left:var(--mf7-pad);top:50%;transform:translateY(-44%);max-width:min(720px,56vw)}.hero-content .eyebrow{margin-bottom:30px}.hero-content h1{font-size:clamp(64px,7.2vw,122px);max-width:850px;text-wrap:balance}.hero-copy{max-width:560px;margin:28px 0 34px;color:#d4d4d7;font-size:clamp(16px,1.3vw,21px);line-height:1.45}.hero-controls{position:absolute;z-index:5;left:var(--mf7-pad);right:var(--mf7-pad);bottom:35px;display:flex;align-items:center;gap:20px}.hero-controls button{width:44px;height:44px;border:1px solid var(--mf7-line);border-radius:50%;background:#0a0b0dcc;color:#fff}.carousel-dots{display:flex;gap:7px;margin-left:auto}.carousel-dots button{border-radius:0;border:0;border-top:2px solid rgba(255,255,255,.25);width:48px;height:10px;background:transparent;padding:0}.carousel-dots button.is-active{border-color:var(--mf7-accent)}.slide-count{font-size:11px}
.kinetic{height:135px;border-bottom:1px solid var(--mf7-line);overflow:hidden;display:flex;align-items:center}.kinetic>div{display:flex;width:max-content;animation:marquee 28s linear infinite}.kinetic span{font:700 clamp(38px,4.2vw,72px)/1 Archivo,sans-serif;letter-spacing:-.05em;white-space:nowrap;margin-right:5vw}.kinetic span::first-letter{color:var(--mf7-accent)}@keyframes marquee{to{transform:translateX(-25%)}}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.section-head h2{font-size:clamp(42px,5vw,80px);margin-top:12px}.section-head>p{max-width:470px;color:var(--mf7-muted)}.section-head>a{font-size:12px;text-transform:uppercase;border-bottom:1px solid var(--mf7-line);padding-bottom:7px}
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.work-card{position:relative;grid-column:span 4;min-height:430px;border:1px solid var(--mf7-line);overflow:hidden;background:#0b0c0f}.work-card:nth-child(1),.work-card:nth-child(6){grid-column:span 7}.work-card:nth-child(2),.work-card:nth-child(5){grid-column:span 5}.work-media{position:absolute;inset:0;overflow:hidden}.work-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,6,8,.96),transparent 64%)}.work-media img,.work-media video{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s}.work-card:hover .work-media img,.work-card:hover .work-media video{transform:scale(1.055);filter:saturate(1.15)}.work-info{position:absolute;z-index:2;left:25px;right:25px;bottom:24px}.work-info span{font-size:10px;color:#c9c9ca;text-transform:uppercase}.work-info h3{font-size:clamp(24px,2vw,36px);margin-top:8px;letter-spacing:-.035em}.work-info b{position:absolute;right:0;bottom:2px;font-weight:400}.work-card:nth-child(3n){min-height:520px}
.capability-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--mf7-line)}.capability-grid article{padding:33px 24px 15px;border-right:1px solid var(--mf7-line);min-height:310px}.capability-grid article:last-child{border-right:0}.capability-grid article>span{color:var(--mf7-accent);font-size:11px}.cap-icon{font:300 48px/1 Archivo;margin:30px 0}.capability-grid h3{font-size:20px;letter-spacing:-.025em}.capability-grid p{font-size:13px;color:var(--mf7-muted);margin-top:18px}
.manifesto{position:relative;min-height:380px;display:grid;grid-template-columns:220px minmax(0,580px) 1fr;align-items:center;gap:45px;max-width:var(--mf7-max);margin:0 auto;padding:60px var(--mf7-pad);overflow:hidden;border-bottom:1px solid var(--mf7-line)}.manifesto-number{font:800 clamp(115px,12vw,200px)/.8 Archivo;color:var(--mf7-accent);letter-spacing:-.08em}.manifesto h2{font-size:clamp(36px,4.2vw,66px);margin:18px 0}.manifesto p{color:var(--mf7-muted);max-width:520px}.manifesto-orb{position:absolute;width:430px;height:430px;right:-70px;border-radius:44% 56% 60% 40%;background:radial-gradient(circle at 30% 25%,#aaa7ffaa,transparent 12%),conic-gradient(from 25deg,#090a0c,#0d75c8,#061a2c,#27d7ff55,#08090b);filter:saturate(1.25);box-shadow:inset 0 0 80px #09090a;opacity:.72}
.page-hero{position:relative;height:min(780px,88svh);min-height:640px;overflow:hidden;border-bottom:1px solid var(--mf7-line)}.page-hero-bg{position:absolute;inset:-4%;background:linear-gradient(120deg,#050608,#071b33 52%,#062d4d);will-change:transform}.page-hero-bg:after{--overlay:.2}.page-hero-content{position:absolute;z-index:2;left:var(--mf7-pad);bottom:13%;max-width:1000px}.page-hero-content h1{font-size:clamp(68px,8vw,140px);margin:22px 0}.page-hero-content p{max-width:620px;color:#d0d0d3;font-size:19px}.filmstrip{position:absolute;right:-7%;top:14%;width:65%;height:70%;transform:rotate(-6deg);display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:30px;background:#060608;box-shadow:0 30px 90px #000}.filmstrip:before,.filmstrip:after{content:"";position:absolute;left:0;right:0;height:10px;background:repeating-linear-gradient(90deg,transparent 0 25px,#35313e 25px 44px)}.filmstrip:before{top:8px}.filmstrip:after{bottom:8px}.filmstrip i{background:radial-gradient(circle at 60% 45%,#1b9bff,transparent 26%),linear-gradient(135deg,#07182b,#07385b,#08090b);border:1px solid #3a3344}.video-timer{position:absolute;right:var(--mf7-pad);bottom:30px;font-size:11px;color:#aaa}
.work-filters{display:flex;justify-content:center;gap:40px;margin:-25px 0 50px;position:sticky;top:80px;z-index:10;padding:18px;background:rgba(8,9,11,.88);backdrop-filter:blur(16px)}.work-filters button{border:0;background:none;color:#aaa;text-transform:uppercase;font-size:11px;padding:8px 0;border-bottom:2px solid transparent}.work-filters button.is-active{color:#fff;border-color:var(--mf7-accent)}.process>div{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;border-top:1px solid var(--mf7-line)}.process article{padding:28px;border-right:1px solid var(--mf7-line)}.process article span{color:var(--mf7-accent);font-size:11px}.process h3{font-size:22px;margin:25px 0 15px;text-transform:uppercase}.process p{color:var(--mf7-muted);font-size:13px}
.contact-layout{display:grid;grid-template-columns:minmax(290px,380px) 1fr;gap:20px}.contact-aside,.project-form{border:1px solid var(--mf7-line);padding:clamp(25px,3vw,45px)}.contact-aside h2{font-size:clamp(40px,4vw,62px);margin-bottom:40px}.contact-detail{padding:24px 0;border-top:1px solid var(--mf7-line)}.contact-detail span{display:block;color:var(--mf7-accent);font-size:10px;font-weight:700;margin-bottom:9px}.contact-detail p,.contact-detail a{font-size:14px}.contact-socials{display:grid;gap:8px;margin-top:25px}.contact-socials a{border:1px solid var(--mf7-line);padding:13px 16px;display:flex;justify-content:space-between;font-size:13px}.project-form{display:grid;gap:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-form label,.project-form legend{display:grid;gap:8px;text-transform:uppercase;font-size:10px;font-weight:650}.project-form input,.project-form select,.project-form textarea{width:100%;border:1px solid rgba(255,255,255,.22);background:#090a0c;color:#fff;padding:15px 17px;outline:0;border-radius:0}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:var(--mf7-accent)}.project-form fieldset{border:0;padding:0;margin:0}.service-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.service-pills label input{position:absolute;opacity:0}.service-pills span{display:block;border:1px solid rgba(255,255,255,.25);border-radius:30px;padding:8px 18px;cursor:pointer}.service-pills input:checked+span{border-color:var(--mf7-accent);background:var(--mf7-accent)}.project-form .consent{display:flex;grid-template-columns:18px 1fr;align-items:start;text-transform:none;font-size:12px;color:var(--mf7-muted)}.project-form .consent input{width:16px;height:16px;padding:0}.submit-button{width:100%;border-color:var(--mf7-accent);background:transparent}.form-status{font-size:13px;color:var(--mf7-muted);margin:0}.faq{margin-top:35px}.faq .eyebrow{margin-bottom:12px}.faq details{border:1px solid var(--mf7-line);border-bottom:0}.faq details:last-child{border-bottom:1px solid var(--mf7-line)}.faq summary{padding:17px 20px;cursor:pointer;list-style:none;font-size:13px}.faq summary:after{content:"+";float:right}.faq details[open] summary:after{content:"−"}.faq details p{padding:0 20px 18px;color:var(--mf7-muted);font-size:13px}.reassurance{background:radial-gradient(circle at 84% 50%,rgba(var(--mf7-accent-rgb),.42),transparent 22%),radial-gradient(circle at 75% 70%,rgba(var(--mf7-secondary-rgb),.34),transparent 24%),#090a0d}.reassurance h2{font-size:clamp(48px,6vw,90px)}.reassurance p{max-width:560px;color:var(--mf7-muted);margin-top:25px}
.seo-article{max-width:1200px}.seo-banner{max-height:480px;overflow:hidden;margin-bottom:45px}.seo-banner img{height:100%;object-fit:cover}.article-content{max-width:900px;margin:0 auto}.article-content h2{font-size:clamp(36px,4vw,60px);margin:22px 0 35px}.article-content h3{font-size:28px;margin:40px 0 16px}.article-content p,.article-content li{color:#c5c5c8}.article-content a{color:var(--mf7-accent);text-decoration:underline}.article-content img{margin:35px 0}.default-page{padding-top:180px;min-height:70vh}.default-page>h1{font-size:clamp(60px,8vw,120px);margin:25px 0 55px}
.single-work-hero{position:relative;height:90svh;min-height:650px}.single-work-media{position:absolute;inset:0}.single-work-media img,.single-work-media video{width:100%;height:100%;object-fit:cover}.single-work-title{position:absolute;z-index:2;left:var(--mf7-pad);bottom:10%;max-width:900px}.single-work-title h1{font-size:clamp(70px,9vw,140px);margin:20px 0}.single-work-title p{max-width:600px;font-size:19px}.project-meta{display:flex;gap:80px}.project-meta div{display:grid;gap:5px}.project-meta span{font-size:10px;color:var(--mf7-accent);text-transform:uppercase}.project-meta strong{font-size:18px}
.footer-cta{max-width:var(--mf7-max);margin:0 auto;padding:55px var(--mf7-pad);min-height:240px;display:flex;justify-content:space-between;align-items:center;gap:40px;border-bottom:1px solid var(--mf7-line);background:radial-gradient(circle at 62% 40%,rgba(var(--mf7-accent-rgb),.36),transparent 22%),radial-gradient(circle at 78% 60%,rgba(var(--mf7-secondary-rgb),.28),transparent 20%),#0a0b0d}.footer-cta h2{font-size:clamp(44px,5.5vw,84px);margin-top:16px}.site-footer{max-width:var(--mf7-max);margin:auto;padding:30px var(--mf7-pad)}.client-strip{padding:10px 0 32px;border-bottom:1px solid var(--mf7-line)}.client-strip small{font-size:9px;color:#8f9094}.client-strip>div{display:flex;gap:26px;align-items:center;overflow:hidden;margin-top:15px;color:#9b9ca1;font:400 clamp(16px,1.5vw,24px) Archivo}.client-strip i{font-style:normal}.footer-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:center;padding:28px 0 5px;color:#96979a;font-size:10px}.footer-bottom img{width:130px}.footer-bottom p{text-align:center;margin:0}.socials{display:flex;justify-content:flex-end;gap:22px}.socials a:hover{color:#fff}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.reveal.is-visible{opacity:1;transform:none}.mf7-cursor{position:fixed;z-index:999;width:12px;height:12px;border:1px solid #fff;border-radius:50%;pointer-events:none;left:0;top:0;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s;mix-blend-mode:difference}.mf7-cursor.is-hover{width:42px;height:42px;background:#fff}
@media(max-width:1024px){.site-header{grid-template-columns:160px 1fr 180px}.site-nav ul{gap:25px}.work-card{grid-column:span 6!important}.capability-grid{grid-template-columns:repeat(2,1fr)}.capability-grid article{border-bottom:1px solid var(--mf7-line)}.manifesto{grid-template-columns:170px 1fr}.manifesto-orb{opacity:.35}.contact-layout{grid-template-columns:300px 1fr}.mf7-cursor{display:none}}
@media(max-width:760px){:root{--mf7-pad:20px}.site-header{height:68px;display:flex;justify-content:space-between;background:rgba(8,9,11,.72);backdrop-filter:blur(14px)}.brand{width:118px}.button-header{display:none}.nav-toggle{display:grid;gap:4px;padding:10px}.nav-toggle span{display:block;width:24px;height:1px;background:#fff}.site-nav{position:absolute;top:68px;left:0;right:0;padding:25px 20px 35px;background:#08090bf5;border-bottom:1px solid var(--mf7-line);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.3s}.site-nav.is-open{opacity:1;visibility:visible;transform:none}.site-nav ul{display:grid;gap:20px}.site-nav a{font:600 28px Archivo}.mf7-hero{height:88svh;min-height:620px}.hero-media:after{background:linear-gradient(0deg,rgba(5,6,8,.92),rgba(5,6,8,.18) 80%)}.hero-content{left:20px;right:20px;top:auto;bottom:105px;transform:none;max-width:none}.hero-content .eyebrow{margin-bottom:15px}.hero-content h1{font-size:clamp(48px,14vw,72px)}.hero-copy{font-size:14px;margin:18px 0;max-width:94%}.hero-controls{left:20px;right:20px;bottom:24px}.carousel-dots button{width:26px}.kinetic{height:90px}.kinetic span{font-size:34px}.section{padding-top:75px;padding-bottom:75px}.section-head{display:grid;gap:20px;margin-bottom:30px}.section-head h2{font-size:48px}.work-grid{display:grid;grid-template-columns:1fr;gap:14px}.work-card{grid-column:auto!important;min-height:420px!important}.work-card:nth-child(even){min-height:520px!important}.capability-grid{grid-template-columns:1fr}.capability-grid article{min-height:auto;padding:25px 5px}.manifesto{grid-template-columns:1fr;padding:75px 20px;gap:25px}.manifesto-number{font-size:130px}.manifesto h2{font-size:42px}.manifesto-orb{width:240px;height:240px;right:-120px;top:10px}.page-hero{height:78svh;min-height:580px}.page-hero-content{left:20px;right:20px;bottom:10%}.page-hero-content h1{font-size:clamp(52px,15vw,78px);overflow-wrap:anywhere}.page-hero-content p{font-size:15px}.filmstrip{width:110%;height:50%;top:12%;right:-30%;opacity:.8}.work-filters{justify-content:flex-start;overflow:auto;gap:25px;margin:-20px -20px 35px;padding-left:20px}.process>div{grid-template-columns:1fr}.process article{border-bottom:1px solid var(--mf7-line)}.contact-layout{grid-template-columns:1fr}.contact-aside{padding:28px}.form-grid{grid-template-columns:1fr}.project-form{padding:25px 18px}.reassurance h2{font-size:48px}.single-work-title{left:20px;right:20px}.single-work-title h1{font-size:58px}.project-meta{display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-cta{display:grid;padding:50px 20px}.footer-cta h2{font-size:47px}.footer-bottom{grid-template-columns:1fr;text-align:left}.footer-bottom p{text-align:left}.socials{justify-content:flex-start}.client-strip>div{width:max-content}.motion-minimal .kinetic>div{animation:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.kinetic>div{animation:none}.reveal{opacity:1;transform:none;transition:none}.parallax-media,[data-parallax]{transform:none!important}.work-media img,.work-media video{transition:none}}
.abstract-visual{position:relative;width:100%;height:100%}


/* MF7 1.1.0 — Control Center driven layout overrides */
:root{--mf7-admin-offset:0px;--mf7-pad:clamp(22px,4.2vw,var(--mf7-pad-max,48px))}
body{font-family:var(--mf7-body-font,Inter,Arial,sans-serif);font-size:var(--mf7-body-size,16px)}
h1,h2,h3{font-family:var(--mf7-heading-font,Archivo,Arial,sans-serif)}
body.mf7-no-grain:before{display:none}
body.mf7-no-cursor .mf7-cursor{display:none!important}
.site-header{top:var(--mf7-admin-offset,0px);height:var(--mf7-header-height,96px);padding:var(--mf7-header-top-space,0px) var(--mf7-pad) 0;grid-template-columns:minmax(160px,220px) 1fr minmax(160px,220px)}
.site-header.is-scrolled{background:var(--mf7-header-scrolled-bg,rgba(8,9,11,.84));backdrop-filter:blur(var(--mf7-header-blur,18px));-webkit-backdrop-filter:blur(var(--mf7-header-blur,18px))}
.brand{width:var(--mf7-logo-width,145px)}
.site-nav ul{gap:var(--mf7-nav-gap,45px)}
body.mf7-header-static .site-header{position:absolute}
.mf7-hero{min-height:var(--mf7-hero-min,690px)}

body.admin-bar{--mf7-admin-offset:32px}
@media(max-width:782px){body.admin-bar{--mf7-admin-offset:46px}}
@media(max-width:760px){
  :root{--mf7-pad:20px}
  .site-header{height:var(--mf7-header-mobile-height,72px);padding:var(--mf7-header-top-space,0px) 20px 0}
  .brand{width:var(--mf7-logo-mobile-width,118px)}
  .site-nav{top:var(--mf7-header-mobile-height,72px)}
  .mf7-hero{min-height:var(--mf7-hero-mobile-min,620px)}
}
.hero-media picture{position:absolute;inset:0;display:block}.hero-media picture img{width:100%;height:100%;object-fit:cover}
.footer-cta h2{max-width:980px}
/* MF7 1.1.0 — panel + sticky utility refinements */
.work-card,.contact-aside,.project-form{background:var(--mf7-panel,#0d0f12)}
.project-form input,.project-form select,.project-form textarea{background:var(--mf7-bg,#08090b)}
.hero-controls button{background:color-mix(in srgb,var(--mf7-panel,#0d0f12) 88%,transparent)}
.footer-cta{background:radial-gradient(circle at 62% 40%,rgba(var(--mf7-accent-rgb),.36),transparent 22%),radial-gradient(circle at 78% 60%,rgba(var(--mf7-secondary-rgb),.28),transparent 20%),var(--mf7-panel,#0d0f12)}
.reassurance{background:radial-gradient(circle at 84% 50%,rgba(var(--mf7-accent-rgb),.42),transparent 22%),radial-gradient(circle at 75% 70%,rgba(var(--mf7-secondary-rgb),.34),transparent 24%),var(--mf7-panel,#0d0f12)}
.work-filters{top:calc(var(--mf7-admin-offset,0px) + var(--mf7-header-height,96px));background:var(--mf7-header-scrolled-bg,rgba(8,9,11,.88))}
@media(max-width:760px){
  .site-nav{background:var(--mf7-header-scrolled-bg,rgba(8,9,11,.96))}
  .work-filters{top:calc(var(--mf7-admin-offset,0px) + var(--mf7-header-mobile-height,72px))}
}


/* ==========================================================================
   MF7 1.2.0 — Centered / compact visual-density pass
   Keeps the existing page framework, but scales the interface down and
   aligns primary content to a centered desktop shell.
   ========================================================================== */
:root{
  --mf7-content-edge:max(var(--mf7-pad),calc((100% - var(--mf7-max))/2));
}

/* Align header, hero copy and hero controls to the same centered shell. */
.site-header{
  padding-left:var(--mf7-content-edge);
  padding-right:var(--mf7-content-edge);
}
.hero-content{
  left:var(--mf7-content-edge);
  max-width:min(620px,52vw);
  transform:translateY(-40%);
}
.hero-controls{
  left:var(--mf7-content-edge);
  right:var(--mf7-content-edge);
}

/* Hero remains cinematic, but no longer consumes the full desktop viewport. */
.mf7-hero{
  height:clamp(620px,72svh,760px);
  min-height:var(--mf7-hero-min,620px);
}
.hero-content .eyebrow{margin-bottom:20px}
.hero-content h1{
  font-size:clamp(46px,4.25vw,var(--mf7-hero-title-max,76px));
  line-height:.98;
  max-width:720px;
  letter-spacing:-.04em;
}
.hero-copy{
  max-width:520px;
  margin:20px 0 26px;
  font-size:clamp(14px,1vw,18px);
  line-height:1.55;
}
.button{min-height:48px;padding:0 22px;gap:26px;font-size:11px}
.button-header{min-height:44px;padding:0 18px}

/* The marquee is now a slim transition band instead of a second hero. */
.kinetic{height:78px}
.kinetic span{
  font-size:clamp(26px,2.35vw,var(--mf7-marquee-size,40px));
  margin-right:3.2vw;
  letter-spacing:-.035em;
}

/* Compact section rhythm. */
.section{
  padding-top:clamp(64px,6vw,var(--mf7-section-space,88px));
  padding-bottom:clamp(64px,6vw,var(--mf7-section-space,88px));
}
.section-head{gap:28px;margin-bottom:34px}
.section-head h2{font-size:clamp(36px,3.4vw,58px);margin-top:9px}
.section-head>p{max-width:430px;font-size:14px}

/* Portfolio grid: same asymmetric structure, reduced card mass. */
.work-grid{gap:14px}
.work-card{min-height:var(--mf7-card-height,350px)}
.work-card:nth-child(1),.work-card:nth-child(6){min-height:calc(var(--mf7-card-height,350px) + 35px)}
.work-card:nth-child(3n){min-height:calc(var(--mf7-card-height,350px) + 70px)}
.work-info{left:20px;right:20px;bottom:19px}
.work-info h3{font-size:clamp(20px,1.65vw,30px);margin-top:6px}

/* Services / capability boxes are intentionally shorter and lighter. */
.capability-grid article{padding:27px 18px 18px;min-height:245px}
.cap-icon{font-size:40px;margin:24px 0}
.capability-grid h3{font-size:18px}
.capability-grid p{font-size:12px;margin-top:14px;line-height:1.55}

/* Manifesto is kept, but its typography no longer overwhelms the page. */
.manifesto{
  min-height:310px;
  grid-template-columns:150px minmax(0,520px) 1fr;
  gap:34px;
  padding:48px var(--mf7-pad);
}
.manifesto-number{font-size:clamp(86px,8vw,132px)}
.manifesto h2{font-size:clamp(32px,3.2vw,50px);margin:14px 0}
.manifesto p{font-size:14px;max-width:500px}
.manifesto-orb{width:330px;height:330px;right:-50px}

/* Internal pages inherit the same centered scale. */
.page-hero{height:clamp(560px,68svh,700px);min-height:560px}
.page-hero-content{left:var(--mf7-content-edge);max-width:780px}
.page-hero-content h1{font-size:clamp(48px,5.4vw,86px);margin:18px 0}
.page-hero-content p{font-size:16px;max-width:560px}
.video-timer{right:var(--mf7-content-edge)}

.single-work-hero{height:clamp(580px,72svh,760px);min-height:580px}
.single-work-title{left:var(--mf7-content-edge);max-width:760px}
.single-work-title h1{font-size:clamp(50px,5.8vw,92px);margin:16px 0}
.single-work-title p{font-size:16px;max-width:560px}
.project-meta{gap:52px}

.process article{padding:23px}
.process h3{font-size:19px;margin:20px 0 12px}
.contact-aside,.project-form{padding:clamp(24px,2.2vw,36px)}
.contact-aside h2{font-size:clamp(34px,3vw,48px);margin-bottom:30px}
.reassurance h2{font-size:clamp(38px,4vw,60px)}
.default-page{padding-top:150px}
.default-page>h1{font-size:clamp(48px,5.8vw,86px);margin:20px 0 42px}

.footer-cta{padding:42px var(--mf7-pad);min-height:190px}
.footer-cta h2{font-size:clamp(34px,3.5vw,58px);max-width:720px}
.site-footer{padding-top:24px;padding-bottom:24px}
.client-strip{padding-bottom:24px}

@media(max-width:1024px){
  .hero-content{max-width:58vw}
  .manifesto{grid-template-columns:130px 1fr}
}

@media(max-width:760px){
  :root{--mf7-pad:18px;--mf7-content-edge:18px}
  .site-header{padding-left:18px;padding-right:18px}
  .mf7-hero{height:82svh;min-height:560px}
  .hero-content{left:18px;right:18px;bottom:92px;max-width:none;transform:none}
  .hero-content h1{font-size:clamp(40px,11.5vw,58px);line-height:.98}
  .hero-copy{font-size:13px;line-height:1.55;margin:15px 0 20px;max-width:96%}
  .hero-controls{left:18px;right:18px;bottom:20px}
  .kinetic{height:64px}
  .kinetic span{font-size:clamp(24px,7.5vw,30px);margin-right:24px}
  .section{padding-top:58px;padding-bottom:58px}
  .section-head{gap:16px;margin-bottom:26px}
  .section-head h2{font-size:clamp(34px,10.5vw,42px)}
  .work-grid{gap:12px}
  .work-card,.work-card:nth-child(1),.work-card:nth-child(6),.work-card:nth-child(3n){min-height:330px!important}
  .work-card:nth-child(even){min-height:385px!important}
  .work-info{left:17px;right:17px;bottom:16px}
  .work-info h3{font-size:24px}
  .capability-grid article{min-height:auto;padding:22px 4px}
  .cap-icon{font-size:36px;margin:20px 0}
  .manifesto{padding:58px 18px;gap:20px;min-height:auto}
  .manifesto-number{font-size:92px}
  .manifesto h2{font-size:36px}
  .manifesto-orb{width:210px;height:210px;right:-110px}
  .page-hero{height:70svh;min-height:520px}
  .page-hero-content{left:18px;right:18px;bottom:10%;max-width:none}
  .page-hero-content h1{font-size:clamp(44px,13vw,62px)}
  .page-hero-content p{font-size:14px}
  .single-work-hero{height:72svh;min-height:540px}
  .single-work-title{left:18px;right:18px}
  .single-work-title h1{font-size:50px}
  .single-work-title p{font-size:14px}
  .footer-cta{padding:42px 18px;min-height:auto}
  .footer-cta h2{font-size:38px}
}


/* ==========================================================================
   MF7 1.2.1 — Metaforce7 brand-blue accent pass
   Blue is sampled from the supplied logo (#1B9BFF) with cyan (#27D7FF) as
   the secondary highlight. Accents stay selective so the site remains dark,
   premium and content-led rather than becoming visually noisy.
   ========================================================================== */
::selection{background:var(--mf7-accent);color:#04111d}
a,button,.work-card,.capability-grid article,.contact-socials a{transition-property:color,background,border-color,box-shadow,transform,filter;transition-duration:.28s}
.eyebrow.accent{color:var(--mf7-secondary)}
.section-head>a:hover,.footer-bottom a:hover,.socials a:hover{color:var(--mf7-secondary);border-color:var(--mf7-accent)}
.button:hover,.service-pills input:checked+span{background:var(--mf7-accent);border-color:var(--mf7-accent)}
.submit-button:hover{background:var(--mf7-accent);border-color:var(--mf7-accent)}
.carousel-dots button.is-active{border-color:var(--mf7-secondary)}
.kinetic span::first-letter{color:var(--mf7-secondary)}
.work-card:hover{border-color:rgba(var(--mf7-accent-rgb),.58);box-shadow:0 16px 44px rgba(var(--mf7-accent-rgb),.08)}
.work-card:hover .work-info span{color:var(--mf7-secondary)}
.capability-grid article:hover{background:linear-gradient(180deg,rgba(var(--mf7-accent-rgb),.075),rgba(var(--mf7-secondary-rgb),.02) 52%,transparent)}
.capability-grid article>span{color:var(--mf7-secondary)}
.contact-socials a:hover{border-color:rgba(var(--mf7-accent-rgb),.65);color:var(--mf7-secondary)}
.project-form input:focus,.project-form select:focus,.project-form textarea:focus{box-shadow:0 0 0 1px rgba(var(--mf7-accent-rgb),.18)}
.manifesto-number{color:var(--mf7-accent)}
.manifesto-orb{background:radial-gradient(circle at 30% 25%,rgba(var(--mf7-secondary-rgb),.72),transparent 12%),conic-gradient(from 25deg,#070a0d,#0b6cb7,#06182a,rgba(var(--mf7-secondary-rgb),.30),#08090b)}
.footer-cta{background:radial-gradient(circle at 62% 40%,rgba(var(--mf7-accent-rgb),.30),transparent 24%),radial-gradient(circle at 80% 62%,rgba(var(--mf7-secondary-rgb),.20),transparent 22%),var(--mf7-panel,#0d0f12)}
.reassurance{background:radial-gradient(circle at 84% 50%,rgba(var(--mf7-accent-rgb),.34),transparent 24%),radial-gradient(circle at 75% 70%,rgba(var(--mf7-secondary-rgb),.22),transparent 25%),var(--mf7-panel,#0d0f12)}
@media(max-width:760px){
  .work-card:hover{box-shadow:none}
  .capability-grid article:hover{background:transparent}
}


/* ========================================================================== 
   MF7 1.3.0 — Media visibility + centralized banner controls
   ========================================================================== */
/* Hero overlay was previously extremely dark on the text side (.94). The new
   variables preserve legibility while keeping MP4 artwork visibly brighter. */
.hero-media:after{
  background:
    linear-gradient(90deg,
      rgba(5,6,8,var(--mf7-hero-text-gradient,.46)) 0%,
      rgba(5,6,8,var(--mf7-slide-overlay,var(--mf7-hero-overlay,.28))) 58%,
      rgba(5,6,8,var(--mf7-slide-overlay,var(--mf7-hero-overlay,.28))) 100%),
    linear-gradient(0deg,rgba(5,6,8,.18),transparent 52%);
}
.hero-media img,.hero-media video{
  filter:brightness(var(--mf7-hero-brightness,1.05)) saturate(var(--mf7-hero-saturation,1.05));
}

/* Internal page banners */
.page-hero{
  height:var(--mf7-page-banner-height,640px);
  min-height:min(var(--mf7-page-banner-height,640px),640px);
}
.page-hero-bg:after{
  background:linear-gradient(90deg,rgba(5,6,8,.46) 0%,rgba(5,6,8,var(--mf7-page-overlay,.24)) 60%,rgba(5,6,8,var(--mf7-page-overlay,.24)) 100%),linear-gradient(0deg,rgba(5,6,8,.18),transparent 55%);
  z-index:1;
}
.page-banner-media{position:absolute;inset:0;display:block}
.page-banner-media img{width:100%;height:100%;object-fit:cover}
.page-hero-bg.has-banner-image{background:var(--mf7-bg)}
.page-hero-bg.has-banner-image .page-banner-media{transform:scale(1.001)}

/* Portfolio project hero keeps its own controllable overlay. */
.single-work-media:after{
  background:linear-gradient(90deg,rgba(5,6,8,.46),rgba(5,6,8,var(--mf7-single-overlay,.28)) 60%,rgba(5,6,8,var(--mf7-single-overlay,.28))),linear-gradient(0deg,rgba(5,6,8,.28),transparent 55%);
}

/* Optional Footer CTA background image. */
.footer-cta{position:relative;overflow:hidden;background-color:var(--mf7-panel,#0d0f12)}
.footer-cta-media{position:absolute;inset:0;z-index:0}
.footer-cta-media:after{content:"";position:absolute;inset:0;background:rgba(5,6,8,var(--mf7-footer-banner-overlay,.42))}
.footer-cta-media img{width:100%;height:100%;object-fit:cover}
.footer-cta-content,.footer-cta>.button{position:relative;z-index:2}

/* Make the selected website background setting authoritative. */
html,body,#main-content{background-color:var(--mf7-bg,#08090b)}

@media(max-width:760px){
  .mf7-hero{min-height:var(--mf7-hero-mobile-min,620px)}
  .hero-media:after{
    background:linear-gradient(0deg,rgba(5,6,8,var(--mf7-hero-text-gradient,.46)) 0%,rgba(5,6,8,var(--mf7-slide-overlay,var(--mf7-hero-overlay,.28))) 72%,rgba(5,6,8,.08) 100%);
  }
  .page-hero{height:var(--mf7-page-banner-mobile,520px);min-height:var(--mf7-page-banner-mobile,520px)}
  .page-hero-bg:after{background:linear-gradient(0deg,rgba(5,6,8,.52),rgba(5,6,8,var(--mf7-page-overlay,.24)) 72%)}
}


/* ========================================================================== 
   MF7 1.4.0 — Mobile viewport fit + complete content controls
   Prevents accidental horizontal document growth without disabling pinch zoom.
   ========================================================================== */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
body{overscroll-behavior-x:none}
#main-content,.mf7-hero,.kinetic,.section,.manifesto,.page-hero,.single-work-hero,.footer-cta,.site-footer{
  width:100%;
  min-width:0;
  max-width:100%;
}
.section,.manifesto,.footer-cta,.site-footer{max-width:var(--mf7-max)}
.site-header{width:100%;max-width:100%;min-width:0}
.site-header>*{min-width:0}
.brand{flex:0 0 auto;max-width:45vw}
.nav-toggle{flex:0 0 auto;margin-left:auto}
.site-nav,.site-nav ul,.site-nav li{min-width:0}
img,video,picture,iframe,svg,canvas{max-width:100%}
.work-grid,.work-card,.capability-grid,.contact-layout,.footer-bottom,.section-head{min-width:0}
.work-card{width:100%;max-width:100%}
.client-strip{overflow:hidden;max-width:100%}
.client-strip>div{max-width:none}
.kinetic{height:var(--mf7-marquee-height,78px)}
.kinetic>div{animation-duration:var(--mf7-marquee-speed,28s)}
.kinetic.marquee-right>div{animation-name:marqueeRight}
@keyframes marqueeRight{from{transform:translateX(-25%)}to{transform:translateX(0)}}
.footer-cta{min-height:var(--mf7-footer-cta-height,190px)}
.footer-cta-media picture{display:block;width:100%;height:100%}.footer-cta-media img{width:100%;height:100%}
.footer-cta-media img{object-position:var(--mf7-footer-banner-position,center center)}
.socials a{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.social-icon{display:inline-flex;width:var(--mf7-social-icon-size,20px);height:var(--mf7-social-icon-size,20px)}
.social-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.social-style-icons .social-label{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.article-content h1{font-size:clamp(38px,4.6vw,64px);margin:22px 0 35px}
.article-content h2{font-size:clamp(32px,4vw,56px)}
.article-content h3{font-size:clamp(24px,2.4vw,32px)}
.contact-layout.no-aside{grid-template-columns:1fr}
.contact-layout.no-aside>div{max-width:900px;margin-inline:auto;width:100%}

@media(max-width:760px){
  :root{
    --mf7-pad:var(--mf7-mobile-pad,18px);
    --mf7-content-edge:var(--mf7-mobile-pad,18px);
  }
  html,body{overflow-x:clip}
  .site-header{
    left:0;
    right:0;
    width:100%;
    padding-left:var(--mf7-mobile-pad,18px);
    padding-right:var(--mf7-mobile-pad,18px);
  }
  .brand{max-width:calc(100% - 64px)}
  .nav-toggle{position:relative;right:auto;transform:none}
  .site-nav{
    position:fixed;
    top:calc(var(--mf7-admin-offset,0px) + var(--mf7-header-mobile-height,72px));
    left:0;
    right:0;
    width:100%;
    max-width:100%;
    padding:24px var(--mf7-mobile-pad,18px) 30px;
    overflow-x:hidden;
    overflow-y:auto;
  }
  .site-nav ul{width:100%;max-width:100%;overflow:hidden}
  .site-nav a{display:block;max-width:100%;overflow-wrap:anywhere}
  .mf7-hero{width:100%;max-width:100%;overflow:hidden}
  .hero-media{inset:0}
  .hero-content,
  .hero-controls,
  .page-hero-content,
  .single-work-title{
    left:var(--mf7-mobile-pad,18px);
    right:var(--mf7-mobile-pad,18px);
    width:auto;
    max-width:none;
  }
  .section{
    width:100%;
    max-width:100%;
    padding-left:var(--mf7-mobile-pad,18px);
    padding-right:var(--mf7-mobile-pad,18px);
  }
  .manifesto,.footer-cta,.site-footer{
    width:100%;
    max-width:100%;
    padding-left:var(--mf7-mobile-pad,18px);
    padding-right:var(--mf7-mobile-pad,18px);
  }
  .kinetic{width:100%;max-width:100%;height:var(--mf7-marquee-mobile-height,64px);overflow:hidden}
  .kinetic>div{max-width:none}
  .kinetic span{font-size:var(--mf7-marquee-mobile-size,28px);margin-right:24px}
  .section-head,.work-grid,.capability-grid,.contact-layout,.footer-bottom{width:100%;max-width:100%}
  .work-card,.work-card:nth-child(1),.work-card:nth-child(2),.work-card:nth-child(3n),.work-card:nth-child(5),.work-card:nth-child(6){
    width:100%;
    max-width:100%;
    grid-column:1/-1!important;
  }
  .work-filters{
    width:100%;
    max-width:100%;
    margin:0 0 28px;
    padding:14px 0;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .work-filters::-webkit-scrollbar{display:none}
  .filmstrip{left:auto;right:-12%;width:92%;max-width:none}
  .client-strip{width:100%;max-width:100%;overflow:hidden}
  .client-strip>div{width:max-content;max-width:none}
  .footer-cta{min-height:var(--mf7-footer-cta-mobile-height,210px)}
  .footer-cta .button{max-width:100%}
  .socials{flex-wrap:wrap;gap:14px 18px;max-width:100%}
  .socials a{max-width:100%}
  .seo-banner{width:100%;max-width:100%}
  .article-content{width:100%;max-width:100%}
  .article-content h1{font-size:clamp(34px,10.5vw,46px)}
  .article-content h2{font-size:clamp(30px,9vw,40px)}
  .article-content h3{font-size:clamp(23px,7vw,30px)}
}

@supports not (overflow:clip){
  html,body{overflow-x:hidden}
}


/* ==========================================================================
   MF7 1.4.1 - Header / footer logo proportion controls
   ========================================================================== */
.brand picture{display:block;width:100%;max-width:100%}
.brand img{width:100%;max-width:100%;height:auto;max-height:calc(var(--mf7-header-height,96px) - var(--mf7-header-top-space,0px) - 18px);object-fit:contain;object-position:left center}
.footer-bottom .footer-logo{width:var(--mf7-footer-logo-width,130px);max-width:100%;height:auto;object-fit:contain;object-position:left center}
@media(max-width:760px){
  .brand img{max-height:calc(var(--mf7-header-mobile-height,72px) - var(--mf7-header-top-space,0px) - 12px)}
  .footer-bottom .footer-logo{width:var(--mf7-footer-logo-mobile-width,112px)}
}


/* ==========================================================================
   MF7 1.4.2 — Stability fixes found during regression testing
   ========================================================================== */
.mf7-header-spacer{height:var(--mf7-header-height,96px);width:100%;pointer-events:none}
.motion-minimal .kinetic>div{animation:none!important}
.mf7-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.brand img{max-height:max(24px,calc(var(--mf7-header-height,96px) - var(--mf7-header-top-space,0px) - 18px))}
@media(max-width:760px){
  .mf7-header-spacer{height:var(--mf7-header-mobile-height,72px)}
  .brand img{max-height:max(22px,calc(var(--mf7-header-mobile-height,72px) - var(--mf7-header-top-space,0px) - 12px))}
}

/* Motion level tuning */
.motion-minimal .reveal{transition-duration:.18s!important;transform:none!important}
.motion-minimal .hero-slide{transition-duration:.18s!important}
.motion-cinematic .reveal{transition-duration:1s}
.motion-cinematic .hero-slide{transition-duration:1.15s}

/* Single-project fields that previously existed only in wp-admin. */
.project-highlights{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.project-metrics{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:16px}
.project-metrics strong{font:700 clamp(22px,2.2vw,34px)/1.1 Archivo,sans-serif;letter-spacing:-.025em}
@media(max-width:760px){
  .project-highlights{display:grid;align-items:start;gap:28px}
  .project-metrics{display:grid;gap:12px}
  .project-highlights .button{width:max-content;max-width:100%}
}


/* ==========================================================================
   MF7 1.4.3 — Seamless transparent header + refined mobile menu icon
   ========================================================================== */
/* At the top of a page, the header can visually disappear into the Hero/banner.
   The glass treatment is introduced only after the configured scroll threshold. */
.site-header{
  background:transparent;
  border-bottom:1px solid transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:background-color .32s ease,border-color .32s ease,box-shadow .32s ease,backdrop-filter .32s ease,-webkit-backdrop-filter .32s ease,transform .35s ease;
}
.mf7-header-transparent-top .site-header:not(.is-scrolled){
  background:transparent!important;
  border-bottom-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.mf7-header-solid-top .site-header:not(.is-scrolled),
.site-header.is-scrolled{
  background:var(--mf7-header-scrolled-bg,rgba(8,9,11,.84));
  border-bottom-color:var(--mf7-line);
  box-shadow:0 10px 34px rgba(0,0,0,.12);
  backdrop-filter:blur(var(--mf7-header-blur,18px));
  -webkit-backdrop-filter:blur(var(--mf7-header-blur,18px));
}

/* Cleaner hamburger geometry. The three bars are optically centered and animate
   into a compact X, while retaining a generous 44px touch target. */
.nav-toggle{
  width:44px;
  height:44px;
  padding:0;
  margin:0;
  position:relative;
  place-items:center;
  border:0;
  border-radius:0;
  background:transparent!important;
  box-shadow:none;
  -webkit-tap-highlight-color:transparent;
}
.nav-toggle span{
  position:absolute;
  left:9px;
  display:block;
  width:26px;
  height:1.5px;
  margin:0;
  background:#fff;
  border-radius:999px;
  transform-origin:center;
  transition:transform .28s ease,opacity .2s ease,width .28s ease,left .28s ease;
}
.nav-toggle span:nth-child(1){transform:translateY(-7px)}
.nav-toggle span:nth-child(2){width:20px;left:15px;transform:translateY(0)}
.nav-toggle span:nth-child(3){transform:translateY(7px)}
.nav-toggle.is-open span:nth-child(1){transform:rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0;width:0;left:22px}
.nav-toggle.is-open span:nth-child(3){transform:rotate(-45deg)}
.nav-toggle:focus-visible{outline:1px solid rgba(255,255,255,.72);outline-offset:3px}

@media(max-width:760px){
  /* Override the older mobile rule that permanently painted a glass rectangle. */
  .site-header{
    background:transparent;
    border-bottom-color:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .mf7-header-solid-top .site-header:not(.is-scrolled),
  .site-header.is-scrolled{
    background:var(--mf7-header-scrolled-bg,rgba(8,9,11,.84));
    border-bottom-color:var(--mf7-line);
    backdrop-filter:blur(var(--mf7-header-blur,18px));
    -webkit-backdrop-filter:blur(var(--mf7-header-blur,18px));
  }
  .nav-toggle{display:grid;flex:0 0 44px}
}

@media(prefers-reduced-motion:reduce){
  .site-header,.nav-toggle span{transition:none}
}

/* ========================================================================== 
   MF7 1.5.0 — Page-hero media, text color editor & optional blue glow
   ========================================================================== */
.hero-content h1,
.page-hero-content h1,
.single-work-title h1{color:var(--mf7-hero-title-color,#f3f3f1)}
.eyebrow{color:var(--mf7-eyebrow-color,#f3f3f1)}
.eyebrow.accent{color:var(--mf7-secondary,#27d7ff)}
.hero-copy,.hero-copy p,.page-hero-content p{color:var(--mf7-hero-copy-color,#d4d4d7)}
.section-head h2,.capabilities h2,.capability-grid h3,.manifesto h2,.process h3,.reassurance h2,.contact-aside h2,.footer-cta h2{color:var(--mf7-section-title-color,#f3f3f1)}
.section-head>p,.capability-grid p,.manifesto p,.process p,.reassurance p,.faq details p,.single-work-title p{color:var(--mf7-body-content-color,#c5c5c8)}
.article-content h1,.article-content h2,.article-content h3{color:var(--mf7-article-heading-color,#f3f3f1)}
.article-content p,.article-content li{color:var(--mf7-article-body-color,#c5c5c8)}
.article-content a{color:var(--mf7-article-link-color,#1b9bff)}

.mf7-glow-hero-title .hero-content h1,
.mf7-glow-hero-title .page-hero-content h1,
.mf7-glow-hero-title .single-work-title h1{
  text-shadow:0 0 var(--mf7-glow-radius,18px) rgba(var(--mf7-glow-rgb,27,155,255),var(--mf7-glow-opacity,.35));
}
.mf7-glow-eyebrow .eyebrow{
  text-shadow:0 0 var(--mf7-glow-radius,18px) rgba(var(--mf7-glow-rgb,27,155,255),var(--mf7-glow-opacity,.35));
}
.mf7-glow-section-title .section-head h2,
.mf7-glow-section-title .capabilities h2,
.mf7-glow-section-title .manifesto h2,
.mf7-glow-section-title .reassurance h2,
.mf7-glow-section-title .footer-cta h2{
  text-shadow:0 0 var(--mf7-glow-radius,18px) rgba(var(--mf7-glow-rgb,27,155,255),var(--mf7-glow-opacity,.35));
}
.mf7-glow-article-heading .article-content h1,
.mf7-glow-article-heading .article-content h2,
.mf7-glow-article-heading .article-content h3{
  text-shadow:0 0 var(--mf7-glow-radius,18px) rgba(var(--mf7-glow-rgb,27,155,255),var(--mf7-glow-opacity,.35));
}

.page-banner-media img{object-position:var(--mf7-page-banner-position,center center)}
.socials a{color:var(--mf7-social-color,#96979a)}
.socials a:hover,.socials a:focus-visible{color:var(--mf7-social-hover-color,#27d7ff)}
.mf7-glow-social .socials a:hover .social-icon,
.mf7-glow-social .socials a:focus-visible .social-icon{
  filter:drop-shadow(0 0 calc(var(--mf7-glow-radius,18px) * .6) rgba(var(--mf7-glow-rgb,27,155,255),var(--mf7-glow-opacity,.35)));
}
.socials a:focus-visible{outline:1px solid var(--mf7-social-hover-color,#27d7ff);outline-offset:5px}

@media(max-width:760px){
  .page-banner-media img{object-position:var(--mf7-page-banner-mobile-position,var(--mf7-page-banner-position,center center))}
}
.article-content .mf7-blue-text{color:var(--mf7-accent,#1b9bff)!important}
.article-content .mf7-blue-glow{color:var(--mf7-accent,#1b9bff)!important;text-shadow:0 0 var(--mf7-glow-radius,18px) rgba(var(--mf7-glow-rgb,27,155,255),var(--mf7-glow-opacity,.35))}
