:root{--accent:#ff6a24;--accent2:#2e9cff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#111214;color:#f4f4f5;font-family:Inter,Arial,sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 20%,rgba(255,111,32,.035),transparent 32%),radial-gradient(circle at 80% 65%,rgba(39,154,255,.04),transparent 35%);z-index:-2}
.ambient{position:fixed;border-radius:50%;filter:blur(100px);opacity:.16;pointer-events:none;z-index:-1;animation:pulse 12s ease-in-out infinite alternate}
.ambient-one{width:420px;height:420px;background:var(--accent);top:4%;left:-180px}
.ambient-two{width:520px;height:520px;background:#168dff;right:-230px;top:40%;animation-delay:-4s}
.ambient-three{width:360px;height:360px;background:var(--accent);left:35%;bottom:-220px;animation-delay:-7s}
@keyframes pulse{from{transform:translate3d(0,0,0) scale(.94);opacity:.10}to{transform:translate3d(25px,-18px,0) scale(1.08);opacity:.19}}
a{color:inherit;text-decoration:none}
.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;background:rgba(17,18,20,.82);backdrop-filter:blur(18px);z-index:20}
.brand{font:700 26px "Space Grotesk";letter-spacing:-1px}
.brand span,.hero h1 span,.hero h2 em,.section-head h2 span,.contact-box h2 span,.portfolio-page h1 span{color:var(--accent);font-style:normal}
.nav{display:flex;gap:30px;color:#a8a9ad;font-size:13px}
.nav a{transition:.25s}
.nav a:hover,.nav .active{color:#fff}
.header-cta{font-size:13px;border:1px solid rgba(255,255,255,.13);padding:11px 16px;border-radius:30px}
.header-cta span{color:var(--accent2)}
.section{padding:110px 7vw;position:relative}

/* =========================================================
   HOME HERO
   ========================================================= */

.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:5vw;padding-top:75px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.2px;color:#8f9197;margin:0 0 18px}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);margin-right:8px}
.hero h1{font:700 clamp(60px,8vw,116px)/.9 "Space Grotesk";letter-spacing:-5px;margin:0}
.hero h2{font:600 clamp(27px,3.2vw,48px)/1.1 "Space Grotesk";letter-spacing:-1.5px;max-width:780px;margin:28px 0 20px}
.hero-text{max-width:600px;color:#a4a5aa;line-height:1.75;font-size:15px}
.hero-actions{display:flex;align-items:center;gap:25px;margin-top:34px}
.btn{display:inline-flex;align-items:center;gap:16px;border-radius:5px;padding:15px 21px;font-weight:700;font-size:13px;transition:.3s}
.btn-primary{background:var(--accent);color:#111;box-shadow:0 10px 35px rgba(255,106,36,.15)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 15px 45px rgba(255,106,36,.25)}
.btn-outline{border:1px solid rgba(255,255,255,.18)}
.btn-outline:hover{border-color:var(--accent2);transform:translateY(-3px)}
.text-link{font-size:13px;color:#ddd}
.text-link span{color:var(--accent2);margin-left:7px}
.hero-meta{display:flex;gap:40px;margin-top:65px}
.hero-meta div{display:flex;flex-direction:column;gap:5px}
.hero-meta strong{font:700 22px "Space Grotesk"}
.hero-meta span{font-size:10px;color:#777a80;text-transform:uppercase;letter-spacing:1px}

/* HOME VIDEO - TRUE 16:9 */
.hero-visual{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    min-width:0;
}

.hero-video-box{
    position:relative;
    width:min(560px,100%);
    aspect-ratio:16 / 9;
    height:auto;
    overflow:hidden;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.18);
    background:#000;
    box-shadow:0 0 0 1px rgba(255,106,36,.08),0 35px 90px rgba(0,0,0,.5);
    animation:photoReveal 1.3s cubic-bezier(.2,.8,.2,1) both;
}

.hero-video{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    z-index:1;
    background:#000;
}

.hero-video-box img{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.hero-video-box:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(255,106,36,.08),transparent 45%,rgba(46,156,255,.08));
    pointer-events:none;
    z-index:2;
}

.portrait-wrap{position:relative;width:min(560px,100%)}
.portrait-frame{position:relative;width:100%;aspect-ratio:16/9;height:auto;border-radius:18px;overflow:hidden}
.portrait-frame img{display:block;width:100%;height:auto;object-fit:contain}
.portrait-glow{position:absolute;inset:-25px;background:radial-gradient(circle,rgba(255,106,36,.22),transparent 60%);filter:blur(30px);z-index:-1}

/* =========================================================
   STATS
   ========================================================= */

.stats{padding-top:55px;padding-bottom:80px}
.section-label{font-size:10px;letter-spacing:2px;color:#666970;margin-bottom:30px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.stats-grid article{padding:35px 22px;border-right:1px solid rgba(255,255,255,.1)}
.stats-grid article:last-child{border:0}
.stats-grid strong{font:700 clamp(36px,5vw,65px) "Space Grotesk";letter-spacing:-3px}
.stats-grid article>span{font:600 24px "Space Grotesk";color:var(--accent)}
.stats-grid p{margin:7px 0 0;color:#7e8086;font-size:11px;text-transform:uppercase;letter-spacing:1.3px}
.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:55px}
.section-head h2{font:700 clamp(35px,4.5vw,63px)/.98 "Space Grotesk";letter-spacing:-2.5px;margin:0}
.section-head>p{max-width:350px;color:#85878d;font-size:13px;line-height:1.7;margin:0}

/* SERVICES */
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.service-card{min-height:275px;padding:28px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.018);position:relative;transition:.35s}
.service-card:hover{transform:translateY(-7px);border-color:rgba(46,156,255,.35);background:rgba(255,255,255,.035)}
.service-card .icon{font-size:25px;color:var(--accent)}
.service-card h3{font:600 20px "Space Grotesk";margin:60px 0 12px}
.service-card p{font-size:12px;color:#85878d;line-height:1.7}
.service-card>span{position:absolute;right:22px;bottom:20px;color:#42444a;font-size:10px}

/* WORK */
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.project{min-width:0}
.project-art{aspect-ratio:16/9;border-radius:9px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:20px;transition:.5s}
.project-art:before{content:"";position:absolute;inset:-5%;background:inherit;transition:.6s}
.project:hover .project-art:before{transform:scale(1.07)}
.art-one{background:radial-gradient(circle at 70% 30%,#6b3d22,#17191e 45%,#0d0e10)}
.art-two{background:radial-gradient(circle at 30% 35%,#164e76,#17191e 50%,#0d0e10)}
.art-three{background:radial-gradient(circle at 75% 65%,#57402a,#17191e 50%,#0d0e10)}
.art-four{background:radial-gradient(circle at 40% 25%,#244b57,#17191e 50%,#0d0e10)}
.project-art span{position:relative;z-index:1;font-size:9px;letter-spacing:2px;color:#cfd0d2}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:55px;height:55px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;font-size:13px;padding-left:2px;z-index:2;opacity:.8}
.project-info{padding:15px 2px}
.project-info h3{font:600 19px "Space Grotesk";margin:0 0 5px}
.project-info p{font-size:11px;color:#777a80;margin:0}
.center{text-align:center;margin-top:50px}

/* TESTIMONIALS */
.testimonials{overflow:hidden}
.testimonial-window{overflow:hidden}
.testimonial-track{display:flex;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.quote{flex:0 0 100%;padding:55px 7vw 45px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.018);border-radius:12px}
.quote-mark{font:700 65px/0 "Space Grotesk";color:var(--accent)}
.quote p{font:500 clamp(22px,3vw,37px)/1.3 "Space Grotesk";max-width:920px;letter-spacing:-1px}
.quote div:last-child{display:flex;flex-direction:column;gap:5px;margin-top:35px}
.quote strong{font-size:12px}
.quote span{font-size:10px;color:#777a80}
.slider-controls{display:flex;gap:8px}
.slider-controls button{width:42px;height:42px;border:1px solid rgba(255,255,255,.13);background:transparent;color:#fff;border-radius:50%;cursor:pointer}
.slider-dots{text-align:center;margin-top:20px}
.slider-dots button{width:6px;height:6px;border:0;border-radius:50%;background:#4c4e54;margin:0 4px;cursor:pointer}
.slider-dots button.active{background:var(--accent)}

/* BRANDS */
.brands{padding-top:70px;padding-bottom:80px;overflow:hidden}
.centered{text-align:center}
.marquee{overflow:hidden;margin-top:30px;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;width:max-content;align-items:center;gap:35px;animation:marquee 28s linear infinite}
.marquee span{font:700 26px "Space Grotesk";color:#55585e;letter-spacing:2px}
.marquee i{font-style:normal;color:var(--accent);font-size:13px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* CONTACT */
.contact{padding-top:100px;padding-bottom:120px}
.contact-box{padding:85px 7vw;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:radial-gradient(circle at 80% 40%,rgba(46,156,255,.08),transparent 30%),radial-gradient(circle at 20% 80%,rgba(255,106,36,.09),transparent 30%);text-align:center}
.contact-box h2{font:700 clamp(45px,6vw,82px)/.95 "Space Grotesk";letter-spacing:-4px;margin:0 0 25px}
.contact-box>p:not(.eyebrow){max-width:520px;margin:0 auto 32px;color:#898b91;font-size:13px;line-height:1.7}

/* FOOTER */
.footer{display:grid;grid-template-columns:1fr auto auto;gap:35px;padding:45px 7vw;border-top:1px solid rgba(255,255,255,.08);position:relative}
.footer p{font-size:10px;color:#666970}
.footer-links,.socials{display:flex;gap:22px;align-items:center;font-size:11px;color:#888a90}
.socials a{border:1px solid rgba(255,255,255,.1);width:32px;height:32px;border-radius:50%;display:grid;place-items:center}
.copyright{grid-column:1/-1;font-size:9px;color:#4f5157}

/* PORTFOLIO */
.portfolio-page{padding-top:120px;padding-bottom:120px;min-height:80vh}
.portfolio-hero h1{font:700 clamp(60px,8vw,118px)/.9 "Space Grotesk";letter-spacing:-5px;margin:0 0 25px}
.portfolio-hero h1 span{color:var(--accent)}
.portfolio-intro{color:#85878d;max-width:620px;line-height:1.75;font-size:14px;margin:0}
.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:75px 0 35px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.09)}
.filter-tabs{display:flex;gap:8px;flex-wrap:wrap}
.filter-tab{font:500 11px Inter;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.02);color:#85878d;padding:11px 15px;border-radius:4px;cursor:pointer;transition:all .3s ease}
.filter-tab:hover{color:#fff;border-color:rgba(46,156,255,.35);transform:translateY(-2px)}
.filter-tab.active{color:#111;background:var(--accent);border-color:var(--accent);box-shadow:0 8px 28px rgba(255,106,36,.13)}
.project-count{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#5f6269;white-space:nowrap}
.portfolio-grid-full{grid-template-columns:repeat(3,1fr);gap:32px 20px}
.portfolio-card{min-width:0;transition:opacity .35s ease,transform .35s ease}
.portfolio-card.is-hidden{display:none}
.card-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.portfolio-card .project-art{border:1px solid rgba(255,255,255,.08);box-shadow:0 15px 45px rgba(0,0,0,.18)}
.portfolio-card:hover .project-art{transform:translateY(-7px);border-color:rgba(46,156,255,.3);box-shadow:0 22px 55px rgba(0,0,0,.35),0 0 35px rgba(46,156,255,.06)}
.portfolio-card-info{display:flex;justify-content:space-between;gap:15px;padding:15px 2px}
.portfolio-card-info h3{font:600 18px "Space Grotesk";margin:0 0 5px}
.portfolio-card-info p{font-size:10px;color:#777a80;margin:0}
.portfolio-card-info b{font-size:16px;color:var(--accent2);transition:.3s}
.portfolio-card:hover .portfolio-card-info b{transform:translate(3px,-3px)}
.lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:30px;visibility:hidden;opacity:0;transition:opacity .35s ease,visibility .35s ease}
.lightbox.open{visibility:visible;opacity:1}
.lightbox-backdrop{position:absolute;inset:0;background:rgba(4,5,7,.82);backdrop-filter:blur(18px)}
.lightbox-panel{position:relative;z-index:1;width:min(900px,94vw);max-height:90vh;overflow:auto;background:#17181b;border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 35px 100px rgba(0,0,0,.6);transform:translateY(25px) scale(.98);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.lightbox.open .lightbox-panel{transform:none}
.lightbox-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(15,16,18,.7);color:#fff;font-size:25px;line-height:1;cursor:pointer;z-index:3}
.lightbox-art{margin:18px;aspect-ratio:16/8.5}
.lightbox-copy{padding:10px 32px 38px}
.lightbox-copy h2{font:700 40px "Space Grotesk";letter-spacing:-1.5px;margin:0 0 12px}
.lightbox-copy p:last-child{color:#898b91;line-height:1.8;font-size:13px;max-width:700px}

/* REVEAL */
.reveal{opacity:0;transform:translateY(35px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:none}
.reveal-delay{transition-delay:.16s}
@keyframes photoReveal{from{opacity:0;transform:translateX(40px) scale(1.03);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}

/* CONTACT PAGE */
.contact-page-hero{min-height:67vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:8vw;padding-top:110px}
.contact-hero-copy h1{font:700 clamp(62px,8.5vw,120px)/.88 "Space Grotesk";letter-spacing:-6px;margin:0}
.contact-hero-copy h1 span{color:var(--accent)}
.contact-hero-copy>p:last-child{max-width:600px;color:#94969c;font-size:16px;line-height:1.8;margin-top:34px}
.contact-hero-note{justify-self:end;max-width:330px;padding:25px 0 25px 30px;border-left:1px solid rgba(255,255,255,.13);display:flex;flex-direction:column;gap:17px}
.contact-hero-note span{font-size:9px;letter-spacing:2px;color:var(--accent)}
.contact-hero-note strong{font:600 25px/1.3 "Space Grotesk";letter-spacing:-.7px}
.contact-main{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:start;padding-top:45px}
.contact-details{padding-top:20px}
.contact-details h2{font:700 clamp(42px,5vw,68px)/.95 "Space Grotesk";letter-spacing:-3px;margin:0}
.contact-details h2 span{color:var(--accent)}
.contact-details-copy{max-width:410px;color:#85878d;font-size:13px;line-height:1.8;margin:25px 0 35px}
.contact-detail-list{border-top:1px solid rgba(255,255,255,.09);max-width:520px}
.contact-detail{display:grid;grid-template-columns:45px 1fr 20px;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.09);transition:.3s}
.contact-detail:hover{padding-left:6px}
.contact-detail-icon{width:36px;height:36px;border:1px solid rgba(255,255,255,.12);border-radius:50%;display:grid;place-items:center;font:600 9px "Space Grotesk";color:var(--accent)}
.contact-detail span:nth-child(2){display:flex;flex-direction:column;gap:5px}
.contact-detail small{font-size:8px;letter-spacing:1.7px;color:#5f6268}
.contact-detail strong{font-size:12px;font-weight:500;color:#d0d1d4;word-break:break-word}
.contact-detail>b{font-size:14px;color:var(--accent2)}
.social-block{margin-top:45px}
.social-block>p{font-size:9px;letter-spacing:2px;color:#666970}
.contact-socials{display:flex;gap:10px;margin:15px 0}
.contact-socials a{width:42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:50%;display:grid;place-items:center;font:600 10px "Space Grotesk";color:#b9bbc0;transition:.3s}
.contact-socials a:hover{color:#fff;border-color:var(--accent);box-shadow:0 0 25px rgba(255,106,36,.1);transform:translateY(-3px)}
.social-block>small{display:block;color:#5f6268;font-size:9px;line-height:1.6;max-width:300px}
.contact-form-wrap{padding:35px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.018);box-shadow:0 25px 75px rgba(0,0,0,.25)}
.form-top{display:flex;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08);font-size:8px;letter-spacing:2px;color:#666970}
.form-top span:first-child{color:var(--accent)}
.form-invite{color:#85878d;font-size:12px;line-height:1.7;max-width:650px;margin:25px 0 30px}
.contact-form{display:flex;flex-direction:column;gap:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-field{display:flex;flex-direction:column;gap:9px}
.form-field>span{font-size:9px;letter-spacing:1.5px;color:#888a90}
.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid rgba(255,255,255,.1);border-radius:5px;background:#121316;color:#eee;padding:14px 15px;font:400 12px Inter;outline:none;resize:vertical;transition:border-color .3s ease,box-shadow .3s ease,background .3s ease,transform .3s ease}
.form-field input::placeholder,.form-field textarea::placeholder{color:#4f5259}
.form-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#6b6e75 50%),linear-gradient(135deg,#6b6e75 50%,transparent 50%);background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:rgba(46,156,255,.55);box-shadow:0 0 0 3px rgba(46,156,255,.07),0 0 30px rgba(46,156,255,.08);background:#15171a;transform:translateY(-1px)}
.form-submit{border:0;cursor:pointer;align-self:flex-start;margin-top:3px}
.form-status{font-size:10px;color:var(--accent);margin:0;min-height:14px}
.contact-bottom{padding-top:30px;padding-bottom:125px}
.contact-bottom-panel{display:grid;grid-template-columns:100px 1fr;gap:45px;padding:65px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:radial-gradient(circle at 80% 35%,rgba(46,156,255,.08),transparent 32%),rgba(255,255,255,.018)}
.contact-bottom-number{font:700 16px "Space Grotesk";color:var(--accent)}
.contact-bottom-panel h2{font:700 clamp(35px,5vw,60px)/1 "Space Grotesk";letter-spacing:-2.5px;margin:0}
.contact-bottom-panel h2 span{color:var(--accent)}
.contact-bottom-panel p:last-child{max-width:700px;color:#85878d;font-size:13px;line-height:1.8;margin-top:25px}

/* AWARDS */
.awards-hero{min-height:70vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:8vw;padding-top:110px}
.awards-hero-copy h1{font:700 clamp(62px,8.5vw,120px)/.88 "Space Grotesk";letter-spacing:-6px;margin:0}
.awards-hero-copy h1 span{color:var(--accent)}
.awards-hero-copy>p:last-child{max-width:610px;color:#94969c;font-size:16px;line-height:1.8;margin-top:34px}
.awards-hero-mark{justify-self:end;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}
.award-orbit{width:220px;height:220px;border:1px solid rgba(255,255,255,.1);border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,rgba(255,106,36,.08),transparent 58%);box-shadow:0 0 80px rgba(255,106,36,.06)}
.award-orbit:before,.award-orbit:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(46,156,255,.16)}
.award-orbit:before{inset:25px}
.award-orbit:after{inset:53px;border-color:rgba(255,106,36,.18)}
.award-orbit span{font-size:48px;color:var(--accent);text-shadow:0 0 35px rgba(255,106,36,.3);animation:awardPulse 3.5s ease-in-out infinite}
@keyframes awardPulse{0%,100%{transform:scale(.92);opacity:.7}50%{transform:scale(1.05);opacity:1}}
.awards-hero-mark p{font-size:9px;line-height:1.7;letter-spacing:2px;color:#666970;margin:0}
.awards-list{padding-top:50px}
.achievement-timeline{max-width:1000px;margin:75px auto 0;position:relative}
.achievement-line{position:absolute;left:42px;top:30px;bottom:30px;width:1px;background:rgba(255,255,255,.1);overflow:hidden}
.achievement-line span{display:block;width:100%;height:30%;background:linear-gradient(var(--accent),var(--accent2));animation:achievementLine 6s ease-in-out infinite alternate}
@keyframes achievementLine{from{transform:translateY(-30%)}to{transform:translateY(330%)}}
.achievement-card{position:relative;display:grid;grid-template-columns:100px 1fr;gap:35px;padding:0 0 65px}
.achievement-node{width:42px;height:42px;border:1px solid rgba(255,255,255,.16);background:#151619;border-radius:50%;display:grid;place-items:center;z-index:2;box-shadow:0 0 0 9px #111214}
.achievement-node span{font:600 10px "Space Grotesk";color:var(--accent)}
.achievement-year{font:600 10px/42px "Space Grotesk";letter-spacing:1.8px;color:#5f6268;text-align:right}
.achievement-content{grid-column:2;grid-row:1;padding:28px 32px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.018);display:grid;grid-template-columns:58px 1fr;gap:25px;transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease}
.achievement-content:hover{transform:translateX(7px);border-color:rgba(46,156,255,.28);box-shadow:0 20px 55px rgba(0,0,0,.3)}
.achievement-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,106,36,.3);color:var(--accent);background:rgba(255,106,36,.04)}
.achievement-icon.blue{border-color:rgba(46,156,255,.3);color:var(--accent2);background:rgba(46,156,255,.04)}
.achievement-type{font-size:8px;letter-spacing:2px;color:var(--accent);margin:2px 0 10px}
.achievement-content h3{font:600 clamp(25px,3vw,38px) "Space Grotesk";letter-spacing:-1.3px;margin:0 0 8px}
.achievement-giver{font-size:11px;color:#a0a2a7;margin:0 0 20px}
.achievement-description{font-size:12px;line-height:1.8;color:#7f8187;margin:0;max-width:650px}
.recognition-note{padding-top:30px}
.recognition-panel{display:grid;grid-template-columns:100px 1fr;gap:45px;padding:65px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:radial-gradient(circle at 80% 35%,rgba(46,156,255,.08),transparent 32%),rgba(255,255,255,.018)}
.recognition-number{font:700 16px "Space Grotesk";color:var(--accent)}
.recognition-panel h2{font:700 clamp(35px,5vw,62px)/1 "Space Grotesk";letter-spacing:-2.8px;margin:0}
.recognition-panel h2 span{color:var(--accent)}
.recognition-panel>div p:last-child{max-width:700px;color:#85878d;font-size:13px;line-height:1.8;margin-top:25px}
.awards-cta{padding-top:65px}

/* SERVICES PAGE */
.services-page-hero{min-height:70vh;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:7vw;padding-top:115px}
.services-hero-copy h1{font:700 clamp(62px,8.5vw,120px)/.88 "Space Grotesk";letter-spacing:-6px;margin:0}
.services-hero-copy h1 span{color:var(--accent)}
.services-hero-copy>p:last-child{max-width:610px;color:#94969c;font-size:16px;line-height:1.8;margin-top:34px}
.services-hero-side{align-self:end;padding:25px 0 25px 30px;border-left:1px solid rgba(255,255,255,.13);display:flex;flex-direction:column;gap:18px}
.services-hero-side span{font-size:9px;letter-spacing:2px;color:var(--accent)}
.services-hero-side strong{font:600 28px/1.2 "Space Grotesk";letter-spacing:-1px}
.services-list{padding-top:55px}
.service-page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:60px}
.service-page-card{min-height:475px;padding:32px;position:relative;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.018);display:flex;flex-direction:column;overflow:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .4s ease,box-shadow .4s ease}
.service-page-card:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-110px;top:-110px;background:var(--accent2);opacity:0;filter:blur(70px);transition:opacity .5s ease}
.service-page-card:nth-child(odd):before{background:var(--accent)}
.service-page-card:hover{transform:translateY(-8px);border-color:rgba(46,156,255,.3);box-shadow:0 25px 65px rgba(0,0,0,.3)}
.service-page-card:hover:before{opacity:.12}
.service-card-top{display:flex;justify-content:space-between;align-items:start}
.service-number{font:600 10px "Space Grotesk";color:#575960}
.service-icon{width:52px;height:52px;border:1px solid rgba(255,255,255,.12);border-radius:50%;display:grid;place-items:center;color:var(--accent);font-size:18px;transition:.35s}
.service-page-card:hover .service-icon{border-color:rgba(255,106,36,.45);box-shadow:0 0 30px rgba(255,106,36,.1);transform:rotate(5deg)}
.service-card-body{margin-top:65px;position:relative;z-index:1}
.service-kicker{font-size:9px;letter-spacing:2px;color:var(--accent2);margin:0 0 13px}
.service-card-body h3{font:600 clamp(25px,3vw,37px)/1.05 "Space Grotesk";letter-spacing:-1.3px;margin:0 0 17px;max-width:430px}
.service-card-body>p:last-child{font-size:12px;line-height:1.8;color:#83858b;max-width:450px}
.service-price{display:flex;align-items:baseline;gap:7px;margin-top:auto;padding-top:25px}
.service-price span{font-size:8px;letter-spacing:1.6px;color:#5f6268}
.service-price strong{font:700 31px "Space Grotesk";color:#fff}
.service-price small{font-size:10px;color:#777a80}
.service-link{margin-top:20px;padding-top:17px;border-top:1px solid rgba(255,255,255,.08);font-size:10px;color:#aaa;transition:.3s}
.service-link span{color:var(--accent2);margin-left:8px}
.service-link:hover{color:#fff}
.featured-service{border-color:rgba(255,106,36,.18);background:radial-gradient(circle at 80% 10%,rgba(255,106,36,.07),transparent 30%),rgba(255,255,255,.018)}
.service-badge{position:absolute;right:28px;top:29px;font-size:8px;letter-spacing:1.5px;color:#111;background:var(--accent);padding:7px 9px;border-radius:3px}
.featured-service .service-card-top{padding-top:7px}
.services-process{padding-top:30px}
.process-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;padding:65px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(255,255,255,.018)}
.process-panel h2{font:700 clamp(34px,4.5vw,58px)/1 "Space Grotesk";letter-spacing:-2.5px;margin:0}
.process-panel h2 span{color:var(--accent)}
.process-steps{display:grid;grid-template-columns:1fr 1fr;gap:35px 30px}
.process-steps div{border-top:1px solid rgba(255,255,255,.1);padding-top:17px}
.process-steps span{display:block;color:var(--accent);font:600 9px "Space Grotesk";margin-bottom:17px}
.process-steps strong{font:600 17px "Space Grotesk"}
.process-steps p{font-size:10px;color:#777a80;margin:7px 0 0}
.services-cta{padding-top:70px;padding-bottom:130px}

/* ABOUT */
.about-hero{min-height:78vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:7vw;padding-top:110px}
.about-hero-copy h1{font:700 clamp(62px,8.5vw,120px)/.88 "Space Grotesk";letter-spacing:-6px;margin:0}
.about-hero-copy h1 span{color:var(--accent)}
.about-lead{max-width:610px;color:#97999f;font-size:17px;line-height:1.7;margin:35px 0 0}
.about-intro-card{padding:42px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.018);box-shadow:0 30px 80px rgba(0,0,0,.22);position:relative}
.card-index{display:block;font-size:9px;letter-spacing:2px;color:var(--accent);margin-bottom:35px}
.about-intro-card p{font:500 clamp(18px,2.1vw,27px)/1.45 "Space Grotesk";color:#d5d6d8;letter-spacing:-.4px}
.about-intro-card p+p{font:400 13px/1.8 Inter;color:#83858b;margin-top:25px}
.story{padding-top:80px}
.timeline{max-width:950px;margin:80px auto 0;position:relative;padding-bottom:30px}
.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.1);transform:translateX(-50%);overflow:hidden}
.timeline-line span{display:block;width:100%;height:35%;background:linear-gradient(var(--accent),var(--accent2));animation:timelineGlow 5s ease-in-out infinite alternate}
@keyframes timelineGlow{from{transform:translateY(-20%)}to{transform:translateY(230%)}}
.timeline-item{width:50%;position:relative;padding:0 60px 95px}
.timeline-item:nth-child(even){margin-left:50%}
.timeline-item:nth-child(odd){text-align:right}
.timeline-marker{position:absolute;top:0;width:44px;height:44px;border:1px solid rgba(255,255,255,.15);background:#151619;border-radius:50%;display:grid;place-items:center;z-index:2;box-shadow:0 0 0 8px #111214}
.timeline-item:nth-child(odd) .timeline-marker{right:-22px}
.timeline-item:nth-child(even) .timeline-marker{left:-22px}
.timeline-marker span{font:600 10px "Space Grotesk";color:var(--accent)}
.timeline-date{font-size:9px;letter-spacing:2px;color:#666970;margin-bottom:12px}
.timeline-content h3{font:600 clamp(22px,2.5vw,32px) "Space Grotesk";letter-spacing:-1px;margin:0 0 12px}
.timeline-content p{color:#81838a;font-size:12px;line-height:1.8;margin:0}
.philosophy{padding-top:30px}
.philosophy-panel{display:grid;grid-template-columns:100px 1fr;gap:45px;padding:70px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:radial-gradient(circle at 80% 35%,rgba(46,156,255,.09),transparent 32%),rgba(255,255,255,.018)}
.philosophy-number{font:700 16px "Space Grotesk";color:var(--accent)}
.philosophy-panel h2{font:700 clamp(35px,5vw,64px)/1 "Space Grotesk";letter-spacing:-2.8px;max-width:900px;margin:0}
.philosophy-panel h2 span{color:var(--accent)}
.philosophy-copy{max-width:680px;color:#85878d;font-size:13px;line-height:1.8;margin-top:25px}
.skills{padding-top:100px}
.skills-list{max-width:1000px;margin:60px auto 0}
.skill{margin-bottom:34px}
.skill-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:10px}
.skill-head h3{font:600 17px "Space Grotesk";margin:0}
.skill-head span{font:600 11px "Space Grotesk";color:var(--accent)}
.skill-track{height:3px;background:#292b30;border-radius:10px;overflow:hidden}
.skill-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:10px;box-shadow:0 0 15px rgba(46,156,255,.2);transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.skill.meter-active .skill-track span{width:var(--skill-level)}
.mission{padding-top:60px;padding-bottom:130px}
.mission-box{padding:80px 8vw;text-align:center;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:radial-gradient(circle at 25% 60%,rgba(255,106,36,.08),transparent 28%),radial-gradient(circle at 75% 35%,rgba(46,156,255,.08),transparent 30%)}
.mission-label{font-size:9px;letter-spacing:2px;color:var(--accent);margin-bottom:25px}
.mission-box h2{font:700 clamp(42px,6vw,78px)/.98 "Space Grotesk";letter-spacing:-4px;max-width:1000px;margin:0 auto 25px}
.mission-box h2 span{color:var(--accent)}
.mission-box p{max-width:650px;margin:0 auto 35px;color:#85878d;font-size:13px;line-height:1.8}

/* PORTFOLIO VIDEO */
.lightbox-video{display:none;width:min(100%,900px);aspect-ratio:16/9;background:#0b0c0e;border-radius:8px;overflow:hidden;margin-bottom:22px;border:1px solid rgba(255,255,255,.08)}
.lightbox-video:not(:empty){display:block}
.lightbox-video iframe{width:100%;height:100%;border:0;display:block}
.video-available{display:inline-block;margin-top:10px;font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);font-weight:700}
.lightbox-video{width:calc(100% - 36px);aspect-ratio:16/9;background:#090a0c;border-radius:8px;overflow:hidden;margin:18px;border:1px solid rgba(255,255,255,.1)}
.lightbox-video iframe{width:100%;height:100%;border:0;display:block}
.drive-fallback{display:block;margin:9px 0 0;color:var(--accent2,#2e9cff);font-size:11px;text-decoration:none}
.drive-only{padding:15px;text-align:center;background:rgba(255,255,255,.04);border-radius:6px}
.lightbox-video.ratio-16-9{width:min(100%,900px);aspect-ratio:16/9;margin-left:auto;margin-right:auto}
.lightbox-video.ratio-9-16{width:min(100%,420px);aspect-ratio:9/16;margin-left:auto;margin-right:auto}
.lightbox-video.ratio-9-16 iframe{aspect-ratio:9/16}

/* PORTFOLIO FULLSCREEN */
.lightbox-video{position:relative}
.custom-video-fullscreen{position:absolute;right:14px;bottom:14px;z-index:20;display:flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:rgba(10,10,12,.82);color:#fff;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .25s ease,background .25s ease,border-color .25s ease}
.custom-video-fullscreen:hover{transform:translateY(-2px);background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4)}
.fullscreen-icon{font-size:18px;line-height:1}
.fullscreen-text{white-space:nowrap}
.lightbox-video:fullscreen{width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;background:#000;display:flex;align-items:center;justify-content:center}
.lightbox-video:fullscreen iframe{width:100%!important;height:100%!important}

/* SERVICE IMAGES */
.service-image{width:100%;height:210px;overflow:hidden;border-radius:9px 9px 0 0;margin:-1px -1px 20px;width:calc(100% + 2px);background:#111316;border-bottom:1px solid rgba(255,255,255,.08)}
.service-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s ease}
.service-page-card:hover .service-image img{transform:scale(1.035)}
.service-admin-preview{display:block}

.service-page-card .service-image{width:100%!important;height:auto!important;aspect-ratio:auto!important;overflow:hidden!important;padding:0!important;margin:0 0 20px 0!important;background:transparent!important;border-radius:9px!important}
.service-page-card .service-image img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important;padding:0!important;transform:none!important}
.service-page-card:hover .service-image img{transform:none!important}

/* RESPONSIVE */
@media(max-width:900px){
    .nav{
    display:flex !important;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px 20px;
    width:100%;
}
    .hero{grid-template-columns:1fr;padding-top:70px}
    .hero-visual{order:-1}
    .hero-video-box{width:min(600px,100%)}
    .hero h1{font-size:70px}
    .stats-grid,.service-grid{grid-template-columns:repeat(2,1fr)}
    .section-head{display:block}
    .section-head>p{margin-top:20px}
    .card-top{left:-5%}
    .card-bottom{right:-5%}
    .portfolio-grid-full{grid-template-columns:repeat(2,1fr)}
    .portfolio-toolbar{align-items:flex-start;flex-direction:column}
    .project-count{display:none}
    .about-hero{grid-template-columns:1fr;padding-top:80px}
    .timeline-item{padding-left:45px;padding-right:35px}
    .philosophy-panel{grid-template-columns:1fr;padding:50px 35px;gap:20px}
    .services-page-hero{grid-template-columns:1fr;padding-top:85px}
    .services-hero-side{align-self:auto;margin-top:35px}
    .service-page-grid{grid-template-columns:1fr}
    .process-panel{grid-template-columns:1fr;padding:50px 35px}
    .awards-hero{grid-template-columns:1fr;padding-top:85px}
    .awards-hero-mark{justify-self:start;flex-direction:row;text-align:left}
    .award-orbit{width:160px;height:160px}
    .achievement-card{grid-template-columns:70px 1fr;gap:20px}
    .achievement-line{left:34px}
    .recognition-panel{grid-template-columns:1fr;padding:50px 35px;gap:20px}
    .contact-page-hero{grid-template-columns:1fr;padding-top:85px}
    .contact-hero-note{justify-self:start;margin-top:30px}
    .contact-main{grid-template-columns:1fr;gap:55px}
    .contact-bottom-panel{grid-template-columns:1fr;padding:50px 35px;gap:20px}
}

@media(max-width:768px){
    .custom-video-fullscreen{right:10px;bottom:10px;padding:10px 12px}
    .fullscreen-text{display:none}
}

@media(max-width:600px){
    .site-header{padding:0 5vw}
    .header-cta{display:none}
    .section{padding:80px 6vw}
    .hero{min-height:auto}
    .hero h1{font-size:58px;letter-spacing:-3px}
    .hero h2{font-size:30px}
    .hero-meta{gap:18px;flex-wrap:wrap;margin-top:45px}
    .hero-video-box{width:100%!important;max-width:100%!important;aspect-ratio:16/9!important}
    .stats-grid,.service-grid,.work-grid,.portfolio-grid{grid-template-columns:1fr}
    .stats-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
    .service-card{min-height:235px}
    .section-head h2{font-size:42px}
    .footer{grid-template-columns:1fr}
    .footer-links{flex-wrap:wrap}
    .contact-box{padding:60px 25px}
    .contact-box h2{font-size:47px;letter-spacing:-2px}
    .quote{padding:40px 25px}
    .quote p{font-size:24px}
    .floating-card{transform:scale(.85)}
    .portfolio-page{padding-top:80px}
    .portfolio-hero h1{font-size:58px;letter-spacing:-3px}
    .portfolio-grid-full{grid-template-columns:1fr}
    .filter-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}
    .filter-tab{min-height:48px}
    .lightbox{padding:14px}
    .lightbox-art{margin:10px}
    .lightbox-copy{padding:10px 20px 28px}
    .lightbox-copy h2{font-size:31px}
    .about-hero-copy h1{font-size:58px;letter-spacing:-3px}
    .about-lead{font-size:15px}
    .about-intro-card{padding:28px}
    .timeline-line{left:17px}
    .timeline-item,.timeline-item:nth-child(even){width:100%;margin-left:0;text-align:left;padding:0 0 70px 55px}
    .timeline-item:nth-child(odd) .timeline-marker,.timeline-item:nth-child(even) .timeline-marker{left:-5px;right:auto}
    .philosophy-panel{padding:40px 25px}
    .philosophy-panel h2{font-size:39px;letter-spacing:-2px}
    .mission-box{padding:55px 22px}
    .mission-box h2{font-size:45px;letter-spacing:-2.5px}
    .services-hero-copy h1{font-size:58px;letter-spacing:-3px}
    .service-page-card{min-height:445px;padding:27px}
    .service-card-body{margin-top:50px}
    .service-badge{right:20px;top:22px}
    .process-panel{padding:40px 25px}
    .process-steps{grid-template-columns:1fr}
    .services-cta{padding-bottom:90px}
    .awards-hero-copy h1{font-size:58px;letter-spacing:-3px}
    .awards-hero-mark{margin-top:20px}
    .award-orbit{width:130px;height:130px}
    .award-orbit span{font-size:32px}
    .achievement-timeline{margin-top:55px}
    .achievement-card{grid-template-columns:45px 1fr;gap:10px;padding-bottom:45px}
    .achievement-line{left:21px}
    .achievement-node{width:42px}
    .achievement-year{grid-column:2;grid-row:1;line-height:1;text-align:left;padding-top:12px}
    .achievement-content{grid-column:2;grid-row:2;display:block;padding:25px}
    .achievement-icon{margin-bottom:25px}
    .achievement-content h3{font-size:28px}
    .recognition-panel{padding:40px 25px}
    .recognition-panel h2{font-size:40px;letter-spacing:-2px}
    .contact-hero-copy h1{font-size:58px;letter-spacing:-3px}
    .form-row{grid-template-columns:1fr}
    .contact-form-wrap{padding:25px 20px}
    .contact-bottom-panel{padding:40px 25px}
    .contact-bottom-panel h2{font-size:39px;letter-spacing:-2px}
    .contact-detail strong{font-size:11px}
    .lightbox-video.ratio-9-16{width:min(88vw,420px);max-height:78vh}
    .lightbox-video.ratio-16-9{width:100%;max-height:78vh}
}

/* HOME VIDEO - MOBILE */
@media (max-width:600px){
    .hero .hero-visual{
        width:100% !important;
        min-width:0 !important;
        display:flex !important;
        justify-content:center !important;
        align-items:center !important;
        margin:0 !important;
    }

    .hero-video-box{
        position:relative !important;
        width:100% !important;
        max-width:100% !important;
        height:auto !important;
        aspect-ratio:16 / 9 !important;
        overflow:hidden !important;
        border-radius:12px !important;
        background:#000 !important;
    }

    .hero-video-box .hero-video{
        position:absolute !important;
        inset:0 !important;
        width:100% !important;
        height:100% !important;
        max-width:none !important;
        object-fit:contain !important;
        object-position:center center !important;
    }
}




/* =========================================================
   MOBILE TOP NAVIGATION
   ========================================================= */

@media (max-width: 900px) {

    .site-header {
        flex-wrap: wrap !important;
        height: auto !important;
        min-height: 82px;
        padding-top: 18px !important;
        padding-bottom: 14px !important;
    }

    .site-header .nav {
        display: flex !important;
        width: 100% !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 12px 20px !important;
        order: 3 !important;
        padding-top: 14px !important;
        margin-top: 4px !important;
        border-top: 1px solid rgba(255,255,255,.08);
    }

    .site-header .nav a {
        display: block !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
        white-space: nowrap !important;
    }

    .site-header .header-cta {
        display: none !important;
    }
}


/* Smaller phones */
@media (max-width: 600px) {

    .site-header {
        padding-left: 5vw !important;
        padding-right: 5vw !important;
    }

    .site-header .nav {
        gap: 11px 16px !important;
        padding-top: 13px !important;
    }

    .site-header .nav a {
        font-size: 11px !important;
    }
}

/* MOBILE NAVIGATION - FINAL */
@media (max-width: 900px) {

    .site-header {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        height: auto !important;
        padding: 18px 5vw !important;
    }

    .site-header .nav {
        display: flex !important;
        width: 100% !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 10px 16px !important;
        margin-top: 15px !important;
        order: 3 !important;
    }

    .site-header .nav a {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        color: #f2f3f5 !important;
        font-size: 11px !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .site-header .nav a.active {
        color: #ff6a24 !important;
    }

    .site-header .header-cta {
        display: none !important;
    }
}

@media (max-width: 600px) {

    .site-header .nav {
        gap: 9px 13px !important;
        margin-top: 12px !important;
    }

    .site-header .nav a {
        font-size: 10px !important;
    }
}