 :root{--acid:#0884ff;--ink:#101522;--paper:#f8faff;--line:rgba(17,19,17,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 "DM Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3,.logo,.footbrand,.ticker,.break,.stats strong{font-family:"Archivo Black",Impact,sans-serif;letter-spacing:-.065em}h2{font-size:clamp(3.4rem,8vw,9rem);line-height:.91}::selection{background:var(--acid);color:var(--ink)}:focus-visible{outline:3px solid #0884ff;outline-offset:4px}.topline{background:var(--ink);color:#fff;display:flex;justify-content:space-between;padding:9px 3vw;font-size:10px;font-weight:700;letter-spacing:.13em}.star{color:var(--acid)}.header{height:87px;display:flex;align-items:center;gap:30px;padding:0 3vw;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}.logo{font-size:24px;letter-spacing:-.065em;display:flex;align-items:center;gap:10px;white-space:nowrap}.logo sup{font-family:Arial;font-size:9px;align-self:flex-start;padding-top:10px}.logo-icon{display:inline-flex;width:37px;height:37px;background:var(--ink);color:white;font-size:24px;align-items:center;justify-content:center;position:relative;overflow:hidden}.logo-icon span{position:absolute;font:12px Arial;color:var(--acid);bottom:1px;right:2px}.header nav{display:flex;gap:28px;margin:auto}.header nav a,.navcta{font-size:11px;font-weight:800;letter-spacing:.08em}.header nav a:hover{text-decoration:underline}.navcta{padding:15px 18px;background:var(--acid)}.navcta span{margin-left:14px;font-size:18px}.menu{display:none;background:none;border:0;font-size:24px}.hero{background:var(--acid);min-height:790px;padding:32px 3vw 46px;position:relative;overflow:hidden}.hero-top{display:flex;justify-content:space-between;font-size:11px;font-weight:800;letter-spacing:.08em}.pulse{display:inline-block;background:var(--ink);width:8px;height:8px;border-radius:50%;margin-right:8px}.hero h1{font-size:clamp(5.4rem,14.5vw,16.2rem);line-height:.79;margin:60px 0 45px;position:relative;z-index:2}.hero h1>span{padding-left:13vw}.hero h1 em,.contact h2 em{font-style:normal;color:var(--paper);-webkit-text-stroke:3px var(--ink);white-space:nowrap}.hero h1 .period{color:var(--ink);-webkit-text-stroke:0}.hero-bottom{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;position:relative;z-index:3}.hero-bottom>div{max-width:485px}.hero-bottom p{font-size:clamp(17px,2vw,23px);line-height:1.4}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:19px 23px;font-size:12px;font-weight:800;letter-spacing:.025em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-4px)}.button.dark{background:var(--ink);color:white}.button.dark span{color:var(--acid)}.button.outline{border:1px solid currentColor}.hero-feature{height:220px;display:flex;overflow:hidden;align-items:center;position:relative;border:5px solid var(--ink);max-width:430px;margin-left:auto;width:100%;transform:rotate(3deg)}.hero-feature img{width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:grayscale(.2)}.hero-feature span{position:absolute;bottom:0;left:0;right:0;background:var(--ink);color:white;font-size:11px;letter-spacing:.1em;padding:13px}.hero-sticker{position:absolute;right:5vw;top:19%;font-weight:900;font-size:12px;line-height:1.1;text-align:center;background:var(--paper);border:2px solid var(--ink);border-radius:50%;padding:37px 20px;transform:rotate(15deg)}.hero-sticker span{display:block;font-size:21px}.ticker{background:var(--ink);color:var(--acid);overflow:hidden;white-space:nowrap;font-size:clamp(24px,4vw,54px);padding:17px 0}.ticker-inner{width:max-content;animation:ticker 25s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}.section-pad{padding:110px 5vw}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:800;margin-bottom:42px}.manifesto{background:var(--paper)}.manifesto-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:6vw;align-items:end}.manifesto h2 span{color:#78b9ff}.manifesto-side{padding-bottom:12px;max-width:400px}.manifesto-side p{font-size:20px}.manifesto-side p:first-child{font-weight:800}.textlink{font-size:12px;font-weight:800;border-bottom:2px solid;padding-bottom:8px;display:inline-block;margin-top:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:90px;border-top:2px solid var(--ink)}.stats>div{display:flex;flex-direction:column;padding:26px 0;border-right:1px solid var(--line)}.stats>div:last-child{border:0;padding-left:35px}.stats>div:nth-child(2){padding-left:35px}.stats strong{font-size:clamp(4rem,9vw,9rem);line-height:1}.stats strong span{color:#0884ff}.stats small{font-size:11px;font-weight:800;letter-spacing:.12em}.proof-note{font-size:11px;color:#666;margin-top:14px}.work{background:var(--ink);color:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px}.section-heading p{max-width:330px;font-size:18px}.work h2 i,.team h2 i{color:var(--acid);font-style:normal}.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin:45px 0 32px}.filter{background:transparent;color:white;border:1px solid #555;padding:12px 17px;font-size:11px;font-weight:800}.filter.active,.filter:hover{background:var(--acid);color:var(--ink);border-color:var(--acid)}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.project{position:relative;overflow:hidden;aspect-ratio:9/14;background:#292a28;display:block}.project img{width:100%;height:100%;object-fit:cover;transition:transform .6s;display:block}.project:hover img{transform:scale(1.07)}.project:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.85))}.project .project-meta{position:absolute;bottom:0;left:0;right:0;z-index:1;padding:18px}.project .project-meta strong{display:block;font-weight:800;font-size:18px;line-height:1.2}.project small{font-size:10px;letter-spacing:.12em;color:#ccc}.project .project-arrow{position:absolute;right:15px;top:15px;z-index:2;background:var(--acid);color:black;width:37px;height:37px;display:grid;place-items:center;font-size:23px}.work-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:35px}.work-foot p{font-size:13px;color:#aaa}.break{background:#e0f0ff;padding:70px 5vw;text-align:center;display:flex;flex-direction:column;line-height:1.1}.break span{font:800 13px "DM Sans";letter-spacing:.18em}.break strong{font-size:clamp(3rem,9vw,9rem);letter-spacing:-.07em}.services{background:var(--acid)}.services h2 span{-webkit-text-stroke:2px var(--ink);color:transparent}.services-lead{max-width:470px;font-size:21px;margin:35px 0 60px}.service-list{border-top:3px solid var(--ink)}.service{display:grid;grid-template-columns:70px 1fr 50px;align-items:start;padding:30px 0;border-bottom:2px solid var(--ink);gap:30px;transition:padding .25s}.service:hover{padding-left:18px}.service>span{font-size:13px;font-weight:800}.service h3{font-size:clamp(2.8rem,6vw,7rem);line-height:.93;margin-bottom:20px}.service p{font-size:17px;max-width:530px}.service small{font-weight:800;letter-spacing:.1em}.service>b{font-size:42px;font-weight:400}.process{background:var(--paper)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:65px}.steps>div{border-top:2px solid;padding-top:25px}.steps b{font-size:12px}.steps p{font-size:18px;margin-top:25px}.reviews{background:#eaf5ff}.reviews h2 em{font-style:normal;color:var(--paper);-webkit-text-stroke:2px var(--ink)}.reviewgrid{margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.review{padding:32px;background:var(--paper);min-height:260px;display:flex;flex-direction:column;justify-content:space-between}.review .quote{font-size:clamp(17px,1.7vw,23px);line-height:1.35;font-weight:700}.review .who{font-size:12px;border-top:1px solid #bbb;padding-top:20px;font-weight:700}.review .who span{display:block;color:#666;font-weight:400}.team{background:var(--ink);color:var(--paper)}.teamgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-top:55px}.person img{width:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(1);transition:filter .3s}.person:hover img{filter:none}.person strong{display:block;font-size:18px;margin-top:10px}.person small{font-size:11px;color:#aaa}.team-quote{display:flex;gap:5vw;align-items:center;border-top:1px solid #555;margin-top:60px;padding-top:25px}.team-quote span{min-width:130px;font-size:11px;color:var(--acid);font-weight:800}.team-quote p{font-size:clamp(1.6rem,3.3vw,3.8rem);font-weight:800;max-width:900px;line-height:1.15}.faq{background:var(--paper)}.faq details{border-top:1px solid var(--ink);padding:24px 0}.faq details:last-child{border-bottom:1px solid var(--ink)}.faq summary{font-weight:800;font-size:clamp(19px,2.5vw,30px);display:flex;justify-content:space-between;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:30px;font-weight:400}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{max-width:630px;margin-top:20px}.contact{background:var(--acid)}.contact h2{font-size:clamp(4rem,10vw,12rem)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:60px}.contact-grid>div>p:first-child{font-size:clamp(20px,2.4vw,30px);font-weight:700;max-width:550px}.contact-link{display:block;font-weight:800;font-size:clamp(14px,2vw,23px);border-bottom:1px solid;padding:20px 0}.address{margin-top:45px;font-size:14px}.contact form{background:var(--paper);padding:32px}.formtag{font-size:12px;font-weight:800;margin-bottom:25px;letter-spacing:.08em}.contact label{display:block;font-size:12px;font-weight:800;margin-bottom:16px}.contact input,.contact select,.contact textarea{display:block;background:transparent;border:0;border-bottom:1px solid #888;width:100%;padding:13px 0;border-radius:0;outline-offset:2px;font-size:16px;margin-top:5px}.wide{width:100%;margin-top:8px}.formnote{font-size:11px;color:#666;margin:15px 0 0}.formnote a{text-decoration:underline}footer{background:var(--ink);color:var(--paper);padding:45px 3vw 25px;overflow:hidden}.footbrand{font-size:clamp(4.2rem,17vw,20rem);line-height:1;white-space:nowrap}.footbrand span{font:2vw Arial;vertical-align:top}.footbottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #777;padding-top:24px;font-size:11px;font-weight:700;letter-spacing:.05em}.footbottom div{display:flex;flex-wrap:wrap;gap:25px}.mobilecta{display:none}@media(max-width:1050px){.header nav{gap:12px}.header nav a{font-size:10px}.project-grid{grid-template-columns:repeat(3,1fr)}.teamgrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.topline{font-size:9px}.topline span:last-child{display:none}.header{height:69px}.logo{font-size:21px}.navcta{margin-left:auto;padding:13px}.menu{display:block}.header nav{display:none;position:absolute;top:69px;left:0;right:0;background:var(--paper);padding:25px 5vw;flex-direction:column;box-shadow:0 16px 25px #0002}.header nav.open{display:flex}.header nav a{font-size:15px;padding:8px}.hero{min-height:680px;padding:25px 5vw 40px}.hero-top span:last-child{display:none}.hero h1{font-size:clamp(4.4rem,17.5vw,8.5rem);margin:95px 0 45px}.hero h1>span{padding-left:7vw}.hero h1 em{-webkit-text-stroke:2px var(--ink);font-size:.78em}.hero-bottom{grid-template-columns:1fr;gap:35px}.hero-bottom p{font-size:18px}.hero-feature{width:60%;height:145px;margin:0 0 0 auto}.hero-sticker{top:22%;right:5%;font-size:8px;padding:20px 15px}.section-pad{padding:75px 5vw}h2{font-size:clamp(3rem,11vw,6rem)}.manifesto-layout,.contact-grid{grid-template-columns:1fr;gap:22px}.manifesto-side p{font-size:18px}.stats{margin-top:55px}.stats strong{font-size:clamp(2.2rem,10vw,5rem)}.stats>div,.stats>div:nth-child(2),.stats>div:last-child{padding:20px 8px}.stats small{font-size:9px}.section-heading{display:block}.section-heading p{margin-top:22px}.project-grid{grid-template-columns:repeat(2,1fr)}.project .project-meta{padding:12px}.project .project-meta strong{font-size:14px}.filter{padding:10px}.work-foot{display:block}.work-foot .button{margin-top:15px}.service{grid-template-columns:30px 1fr 25px;gap:12px}.service h3{font-size:clamp(2.3rem,9vw,4rem)}.service>b{font-size:25px}.steps,.reviewgrid{grid-template-columns:1fr 1fr}.teamgrid{grid-template-columns:repeat(3,1fr)}.team-quote{display:block}.team-quote p{margin-top:18px}.contact-grid{gap:35px}.footbottom{flex-direction:column}.footbrand{font-size:16vw}.mobilecta{display:block;position:fixed;bottom:12px;left:12px;right:12px;text-align:center;background:var(--ink);color:var(--acid);padding:15px;z-index:9;font-size:12px;font-weight:800;box-shadow:0 4px 25px #0005}footer{padding-bottom:90px}}@media(max-width:460px){.navcta{display:none}.menu{margin-left:auto}.hero h1{font-size:17vw}.hero-feature{width:74%}.project-grid{gap:9px}.reviewgrid{grid-template-columns:1fr}.teamgrid{grid-template-columns:repeat(2,1fr)}.service h3{font-size:9vw}.stats small{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Nexposure-aligned deep navy / electric blue / white theme. Exact source HEX values require original brand stylesheet for confirmation. */
.hero,.services,.contact{color:#fff;background:var(--acid)}.hero h1 em,.contact h2 em{color:transparent;-webkit-text-stroke:3px #fff}.hero h1 .period{color:#fff}.hero-feature{border-color:#fff}.hero-sticker{color:var(--ink)}.hero .button.dark,.contact .button.dark{background:#fff;color:var(--ink)}.hero .button.dark span{color:var(--ink)}.navcta,.filter.active,.filter:hover,.project .project-arrow{color:#fff}.service-list,.service{border-color:#fff}.services h2 span{-webkit-text-stroke:2px #fff}.stats strong span{color:var(--acid)}.contact form{color:var(--ink)}.break{background:#e0f0ff}.reviews{background:#eaf5ff}.ticker{color:#fff}.mobilecta{color:#fff}.work h2 i,.team h2 i{color:#58adff}.team-quote span{color:#58adff}@media(max-width:720px){.hero h1 em{-webkit-text-stroke:2px #fff}}

/* Native, responsive portfolio video dialog */
.project{cursor:default}.project-arrow{border:0;cursor:pointer;font-size:17px}.project-arrow:hover{transform:scale(1.07)}.video-note{font-size:12px;line-height:1.5;margin:15px 0;color:#b6bfd6}.video-note code{background:#29344e;padding:3px 5px}#video-dialog{background:#101522;color:white;border:1px solid #0884ff;padding:12px;box-shadow:0 25px 90px #000b;width:min(560px,95vw);max-height:94vh}#video-dialog::backdrop{background:rgba(0,0,0,.83)}#portfolio-player{display:block;width:100%;max-height:74vh;background:#000;aspect-ratio:9/16;object-fit:contain}.video-dialog-head{display:flex;gap:15px;justify-content:space-between;align-items:center;padding:10px 8px 16px;font-size:14px}.video-dialog-head button{background:#0884ff;color:#fff;border:0;padding:10px 14px;cursor:pointer}.video-dialog-head button:hover{background:#0884ff}#video-error{font-size:13px;margin:9px}#video-error a{text-decoration:underline;color:#88c5ff}

/* Inline SVG icon system & accessible entire-tile video buttons */
.ui-icon{width:1em;height:1em;display:inline-block;vertical-align:-.14em;flex-shrink:0}.logo-icon .ui-icon{font-size:12px}.hero-sticker .ui-icon{display:block;margin:.35em auto 0;font-size:21px}.ticker .ui-icon{vertical-align:middle;font-size:.75em;margin:0 .1em}.star .ui-icon{color:inherit}.project{appearance:none;border:0;padding:0;text-align:left;color:#fff;font:inherit;cursor:pointer;width:100%;border-radius:0;touch-action:manipulation}.project:focus-visible{outline:4px solid var(--accent,#0884ff);outline-offset:4px}.project .project-arrow{pointer-events:none}.project .project-arrow .ui-icon{width:19px;height:19px}.project-meta{pointer-events:none}.watch-label{display:block;font-weight:700;font-size:11px;letter-spacing:.12em;margin-top:9px}.menu .ui-icon{font-size:24px}.service>b .ui-icon{width:.85em;height:.85em}.video-dialog-head button .ui-icon{margin-right:5px}.video-note{color:#aaa;font-size:12px;margin-top:20px}#portfolio-player{display:block;width:100%;max-height:min(78vh,940px);height:auto;object-fit:contain;background:black}#video-dialog{max-width:min(92vw,980px)}

/* Reference-matched video tiles: neutral resting border and blue active preview */
.project-grid{gap:clamp(16px,2.1vw,30px)}
.project{border:1px solid #575d62!important;border-radius:18px!important;isolation:isolate;overflow:hidden;aspect-ratio:9/16;background:#080a0d;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;box-shadow:none;outline:none}
.project:hover,.project.is-hovered,.project:focus-visible{border-color:#0884ff!important;box-shadow:0 0 0 1px #0884ff,0 10px 34px rgba(0,139,255,.11)}
.project .project-poster,.project .project-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;border-radius:inherit}
.project .project-preview{z-index:1;opacity:0;pointer-events:none;transition:opacity .18s ease}
.project.is-previewing .project-preview{opacity:1}
.project:after{content:none!important}
.project .project-meta{z-index:3;opacity:0;transition:opacity .2s ease;background:linear-gradient(transparent,rgba(0,0,0,.82));padding:44px 15px 17px}
.project:hover .project-meta,.project.is-hovered .project-meta,.project:focus-visible .project-meta{opacity:1}
.project .project-arrow{display:none!important}
.project .watch-label{display:flex;align-items:center;gap:8px;color:#0884ff;font-size:10px}
.project .watch-label svg{width:12px;height:12px}
@media(hover:none){.project .project-meta{opacity:1}.project .project-preview{display:none}}
@media(prefers-reduced-motion:reduce){.project,.project .project-preview,.project .project-meta{transition:none!important}}

/* Sticky original-brand navigation */
.header{position:sticky;top:0;z-index:1000;isolation:isolate;box-shadow:0 2px 12px rgba(16,21,34,.07);}
.logo-original{display:inline-flex;align-items:center;min-width:145px;min-height:50px;max-width:210px;}
.original-brand-logo{display:block;width:auto;max-width:100%;height:47px;object-fit:contain;object-position:left center;}
.logo-fallback{font-family:"Archivo Black",Impact,sans-serif;font-size:21px;letter-spacing:-.05em;}
.logo-fallback[hidden]{display:none!important;}
[id]{scroll-margin-top:105px;}
@media(max-width:720px){.header{top:0;min-height:69px}.logo-original{max-width:155px;min-width:115px}.original-brand-logo{height:37px}[id]{scroll-margin-top:86px;}}

/* Black translucent glass sticky header */
.header{
  background:rgba(7,9,13,.82);
  -webkit-backdrop-filter:blur(14px) saturate(130%);
  backdrop-filter:blur(14px) saturate(130%);
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:0 8px 26px rgba(0,0,0,.16);
  color:#fff;
}
.header nav a{color:#f7f9ff;transition:color .18s ease}
.header nav a:hover,.header nav a:focus-visible{color:#78bfff}
.header .logo,.header .logo-fallback{color:#fff}
.header .menu{color:#fff}
.header .navcta{background:#0884ff;color:#fff}
.header .navcta:hover{background:#3199ff}
@media(max-width:720px){
  .header nav{background:rgba(7,9,13,.97);border-bottom:1px solid rgba(255,255,255,.15)}
  .header nav a{color:#fff}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .header{background:#080b10}
}

/* October 30 update: brand blue behind the dark translucent sticky header. */
.topline{background:#0884ff;color:#fff}
body{background:#0884ff}
.header{min-height:110px;height:110px;padding-block:10px}
.logo-original{max-width:315px;min-width:218px;min-height:76px}
.original-brand-logo{height:70.5px;max-height:70.5px;max-width:100%;width:auto}
.logo-fallback{font-size:31.5px}
/* Header is still dark translucent so the backdrop underneath shows through. */
@media(max-width:1050px){.logo-original{max-width:250px;min-width:175px}.original-brand-logo{height:58px;max-height:58px}.header{height:96px;min-height:96px}}
@media(max-width:720px){.header{height:88px;min-height:88px}.logo-original{min-width:145px;max-width:232px;min-height:57px}.original-brand-logo{height:55.5px;max-height:55.5px}.logo-fallback{font-size:25px}.header nav{top:88px}[id]{scroll-margin-top:102px}}
@media(max-width:380px){.logo-original{max-width:190px;min-width:125px}}

/* Update: black backgrounds and Nexposure blue glowing emphasis */
html,body{background:#050608;}
.topline{background:#050608;color:#fff;}
.hero,.services,.contact{background:#050608;color:#fff;}
/* Preserve the original translucent dark glass header over a black canvas. */
.header{background:rgba(5,6,8,.85);}
/* Brand glow on intentionally emphasized display words */
.hero h1 em,
.contact h2 em,
.reviews h2 em {
  color:#0884ff;
  -webkit-text-stroke:0;
  text-shadow:0 0 12px rgba(8,132,255,.66),0 0 32px rgba(8,132,255,.42),0 0 65px rgba(8,132,255,.23);
}
.work h2 i,.team h2 i,.manifesto h2 span {
  color:#0884ff;
  text-shadow:0 0 13px rgba(8,132,255,.5),0 0 32px rgba(8,132,255,.3);
}
.services h2 span {
  color:#0884ff;
  -webkit-text-stroke:0;
  text-shadow:0 0 12px rgba(8,132,255,.55),0 0 30px rgba(8,132,255,.32);
}
/* Buttons and other accents keep brand blue */
.hero .button.dark,.contact .button.dark{background:#0884ff;color:#fff;}
.hero .button.dark span,.contact .button.dark span{color:#fff;}
.hero-sticker{background:#0884ff;color:#fff;border-color:#0884ff;}
.hero-feature{border-color:#0884ff;}
.services .service-list,.services .service{border-color:rgba(255,255,255,.6);}
.services .service p,.contact-grid p{color:#e1e8f3;}
.contact form{background:#f8faff;color:#101522;}
.contact form .button.dark{background:#0884ff;color:white;}
@media(prefers-reduced-motion:reduce){
  .hero h1 em,.contact h2 em,.reviews h2 em,.work h2 i,.team h2 i,.services h2 span{ text-shadow:0 0 14px rgba(8,132,255,.35); }
}

/* White emphasis type with electric-blue outer aura */
.hero h1 em,.contact h2 em,.reviews h2 em,.work h2 i,.team h2 i,.manifesto h2 span,.services h2 span {
  color:#fff !important;
  -webkit-text-stroke:0 !important;
  text-shadow:0 0 10px rgba(8,132,255,.88), 0 0 24px rgba(8,132,255,.72), 0 0 52px rgba(8,132,255,.42), 0 0 90px rgba(8,132,255,.18) !important;
}
/* Enter-the-viewport animation: only attach styles after enhancement JS runs. */
@media(prefers-reduced-motion:no-preference){
  .motion-ready .fade-rise { opacity:0; filter:blur(9px); transform:translate3d(0,28px,0); transition:opacity 760ms cubic-bezier(.22,1,.36,1),filter 760ms cubic-bezier(.22,1,.36,1),transform 760ms cubic-bezier(.22,1,.36,1); transition-delay:var(--reveal-delay,0ms); }
  .motion-ready .fade-rise.is-visible { opacity:1;filter:blur(0);transform:translate3d(0,0,0); }
}
@media(prefers-reduced-motion:reduce){.fade-rise{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}}

/* Minimal video tiles: footage only, neatly rounded edge. */
.project{border-radius:18px!important;border:1px solid rgba(255,255,255,.27)!important;background:#050608;box-shadow:none!important;transform:none!important;aspect-ratio:9/16;}
.project:after,.project .project-meta,.project-arrow,.project .watch-label{display:none!important;}
.project:hover,.project.is-hovered,.project:focus-visible{border-color:#0884ff!important;box-shadow:0 0 0 1px rgba(8,132,255,.65)!important;}
.project img,.project .project-preview{border-radius:17px!important;transform:none!important;object-fit:cover;}
.project:hover img{transform:none!important;}
/* Modal is purely a black canvas with a rounded portrait video. Close is an unobtrusive button overlay. */
#video-dialog{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;width:fit-content!important;max-width:min(92vw,760px)!important;max-height:94dvh!important;overflow:visible;position:fixed;}
#video-dialog::backdrop{background:rgba(0,0,0,.94)}
#portfolio-player{display:block;width:auto!important;max-width:92vw!important;height:min(88dvh,900px)!important;max-height:88dvh!important;aspect-ratio:9/16!important;object-fit:contain!important;border:1px solid rgba(255,255,255,.22);border-radius:18px;background:#000;overflow:hidden;}
#close-video{position:absolute;top:8px;right:8px;z-index:5;border:0;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;background:rgba(0,0,0,.45);color:#fff;cursor:pointer;backdrop-filter:blur(7px);padding:0;}
#close-video .ui-icon{width:18px;height:18px;margin:0;}
#close-video:hover,#close-video:focus-visible{background:#0884ff;}
#video-error:empty{display:none}#video-error{position:absolute;bottom:0;left:0;right:0;background:#101522;padding:12px;margin:0;}
@media(hover:none){.project .project-preview{display:none!important}}

/* Cinematic Z-axis typographic entrance */
.entrance{display:none;position:fixed;inset:0;z-index:9999;background:#050608;color:white;overflow:hidden;align-items:center;justify-content:center;perspective:1100px}
.intro-pending .entrance{display:flex}
.entrance-inner{width:100%;text-align:center;transform-style:preserve-3d;padding:30px 12px}
.entrance-words{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(6px,1.4vh,20px);perspective:900px}
.entrance-words>span{font:normal clamp(3.1rem,11vw,11rem)/.88 'Archivo Black',Impact,sans-serif;letter-spacing:-.075em;display:block;opacity:0;transform:translateZ(-850px) scale(.25);filter:blur(22px);will-change:transform,opacity,filter;white-space:nowrap}
.entrance-words>span:nth-child(3){font-size:clamp(2.5rem,9.2vw,9rem)}
.entrance-dot{color:#0884ff;text-shadow:0 0 28px #0884ff}
.entrance-brand{opacity:0;transform:translateY(25px);margin:clamp(25px,5vh,60px) auto 0;display:flex;justify-content:center;align-items:center;min-height:55px}
.entrance-brand img{height:clamp(44px,7vw,82px);width:auto;max-width:80vw;object-fit:contain}
.entrance-brand span{font:normal clamp(24px,4vw,47px) 'Archivo Black',Impact,sans-serif;letter-spacing:-.05em}
.entrance-skip{position:absolute;right:clamp(16px,3vw,45px);bottom:30px;color:#ccc;background:transparent;border:1px solid #595d65;border-radius:3px;padding:12px 16px;display:flex;gap:10px;align-items:center;font-size:11px;letter-spacing:.08em;cursor:pointer}
.entrance-skip svg{width:15px;height:15px}
.entrance-skip:hover{border-color:#0884ff;color:#fff}
.intro-pending .hero h1,.intro-pending .hero-top,.intro-pending .hero-bottom,.intro-pending .hero-sticker{opacity:0}
.intro-run .entrance-words>span{animation:wordImpact .72s cubic-bezier(.13,.9,.25,1) both}
.intro-run .entrance-words>span:nth-child(1){animation-delay:.12s}
.intro-run .entrance-words>span:nth-child(2){animation-delay:.67s}
.intro-run .entrance-words>span:nth-child(3){animation-delay:1.22s}
.intro-run .entrance-brand{animation:brandArrive .45s ease-out 1.88s both}
.intro-run .entrance-inner{animation:introExit .43s cubic-bezier(.68,0,1,.55) 2.65s forwards}
.intro-run .entrance-skip{animation:skipExit .2s ease 2.65s forwards}
.intro-complete .hero h1{animation:heroMomentum .9s cubic-bezier(.18,.78,.25,1) both!important}
.intro-complete .hero-top{animation:heroMomentum .85s cubic-bezier(.18,.78,.25,1) .10s both!important}
.intro-complete .hero-bottom{animation:heroMomentum .9s cubic-bezier(.18,.78,.25,1) .20s both!important}
.intro-complete .hero-sticker{animation:stickerArrival .8s cubic-bezier(.18,.8,.3,1) .36s both!important}
@keyframes wordImpact{0%{opacity:0;transform:translateZ(-850px) scale(.25);filter:blur(22px)}70%{opacity:1;transform:translateZ(95px) scale(1.085);filter:blur(0)}87%{transform:translateZ(-20px) scale(.98)}100%{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}
@keyframes brandArrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@keyframes introExit{from{transform:translateY(0);opacity:1}to{transform:translateY(-130vh);opacity:0}}
@keyframes skipExit{to{opacity:0}}
@keyframes heroMomentum{0%{opacity:0;transform:translateX(-120px);filter:blur(8px)}68%{opacity:1;transform:translateX(12px);filter:blur(0)}83%{transform:translateX(-5px)}100%{opacity:1;transform:translateX(0);filter:blur(0)}}
@keyframes stickerArrival{0%{opacity:0;transform:translateX(-90px) rotate(-12deg)}75%{opacity:1;transform:translateX(6px) rotate(18deg)}100%{opacity:1;transform:translateX(0) rotate(15deg)}}
@media(max-width:520px){.entrance-words>span{font-size:12.5vw}.entrance-words>span:nth-child(3){font-size:10.2vw}}
@media(prefers-reduced-motion:reduce){.entrance{display:none!important}.hero h1,.hero-top,.hero-bottom,.hero-sticker{opacity:1!important;animation:none!important}}

/* Viewer-side drop-in: words fall away from camera and settle onto the screen. */
.entrance{perspective:850px}
.entrance-words{perspective:850px;transform-style:preserve-3d}
.entrance-words>span{transform:translate3d(0,-18vh,780px) scale(2.6);transform-origin:center;filter:blur(20px);opacity:0;backface-visibility:hidden}
@keyframes wordImpact{
  0%{opacity:0;transform:translate3d(0,-18vh,780px) scale(2.6);filter:blur(24px)}
  32%{opacity:1;filter:blur(6px)}
  69%{opacity:1;transform:translate3d(0,13px,-28px) scale(.965);filter:blur(0)}
  82%{transform:translate3d(0,-7px,12px) scale(1.018)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
}
.entrance-words>span:nth-child(3){color:#0884ff;text-shadow:0 0 10px rgba(8,132,255,.8),0 0 32px rgba(8,132,255,.58),0 0 72px rgba(8,132,255,.4)}
.entrance-words>span:nth-child(3) .entrance-dot{color:inherit}
/* Sticky mobile CTA: only appears after the hero leaves the viewport. */
@media(max-width:720px){
  .mobilecta{background:#0884ff!important;color:#fff!important;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(20px);transition:opacity .25s ease,transform .25s ease,visibility .25s ease}
  .mobilecta.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){.entrance-words>span{transform:none;filter:none}}
/* Refined physically weighted landing, with a small secondary bounce. */
.intro-run .entrance-words>span{animation-duration:.86s;animation-timing-function:linear;}
@keyframes wordImpact{
  0%{opacity:0;transform:translate3d(0,-25vh,840px) scale(2.85);filter:blur(25px)}
  24%{opacity:1;filter:blur(8px)}
  53%{transform:translate3d(0,24px,-35px) scale(.95);filter:blur(0);opacity:1}
  66%{transform:translate3d(0,-16px,22px) scale(1.029);filter:blur(0)}
  77%{transform:translate3d(0,7px,-9px) scale(.989)}
  89%{transform:translate3d(0,-3px,4px) scale(1.006)}
  100%{transform:translate3d(0,0,0) scale(1);opacity:1;filter:blur(0)}
}
/* White lettering with blue glow outside, never blue-filled. */
.entrance-words>span:nth-child(3),.entrance-words>span:nth-child(3) .entrance-dot{
  color:#fff!important;
  -webkit-text-stroke:0!important;
  text-shadow:0 0 9px rgba(8,132,255,.9),0 0 25px rgba(8,132,255,.65),0 0 56px rgba(8,132,255,.4)!important;
}
