:root{
  --black:#050505;--black2:#0a0a0d;--surface:#111116;--surface2:#18181f;
  --white:#f5f5f5;--muted:#aaaab1;--muted2:#6f7078;
  --red:#e10612;--red2:#ff1d2c;--blue:#123a8c;--blue2:#245bd5;
  --border:rgba(255,255,255,.12);--border2:rgba(255,255,255,.24);
  --display:"Bebas Neue",Impact,sans-serif;--body:"Inter",Arial,sans-serif;
  --container:1440px;--pad:clamp(1.2rem,4vw,4rem);--section:clamp(5rem,9vw,9rem);
  --ease:cubic-bezier(.22,1,.36,1)
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--body);overflow-x:hidden}
body.menu-open{overflow:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
::selection{background:var(--red);color:#fff}
.skip-link{position:fixed;left:1rem;top:-100px;z-index:9999;background:#fff;color:#000;padding:.8rem 1rem;font-weight:800}
.skip-link:focus{top:1rem}
:focus-visible{outline:3px solid var(--red2);outline-offset:4px}
.container{width:min(calc(100% - (var(--pad)*2)),var(--container));margin-inline:auto}
.section{position:relative;padding-block:var(--section)}
.dark{background:var(--black2)}
.surface{background:var(--surface)}
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.eyebrow::before{content:"";width:2rem;height:2px;background:var(--red)}
.display-title,.section-title,.card-title{font-family:var(--display);font-weight:400;text-transform:uppercase}
.display-title{font-size:clamp(4.6rem,10vw,10rem);line-height:.82;margin:1rem 0 1.5rem}
.section-title{font-size:clamp(3.4rem,7vw,7.5rem);line-height:.88;margin:1rem 0 1.5rem}
.body-copy{max-width:760px;color:var(--muted);font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.82}
.kicker{color:var(--muted2);font-size:.67rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:3.5rem;padding:.95rem 1.5rem;border:1px solid transparent;font-size:.73rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:transform .22s var(--ease),background .22s,border-color .22s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:var(--red2)}
.button-secondary{border-color:var(--border2);background:rgba(0,0,0,.25)}.button-secondary:hover{border-color:#fff;background:rgba(255,255,255,.07)}
.button .arrow{transition:transform .2s}.button:hover .arrow{transform:translateX(5px)}
.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;border-bottom:1px solid transparent;transition:background .25s,border-color .25s,backdrop-filter .25s}
.site-header.is-scrolled,.site-header.inner{background:rgba(5,5,5,.9);border-color:var(--border);backdrop-filter:blur(18px)}
.navbar{min-height:5.2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.nav-logo{position:relative;z-index:1002;width:clamp(160px,17vw,245px)}
.nav-logo img{width:100%;max-height:68px;object-fit:contain;object-position:left center}
.desktop-nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2.4rem)}
.desktop-nav a:not(.nav-cta){position:relative;font-size:.69rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}
.desktop-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-.55rem;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .22s var(--ease)}
.desktop-nav a:hover::after,.desktop-nav a.active::after{transform:scaleX(1);transform-origin:left}
.nav-cta{padding:.9rem 1.15rem;background:var(--red);font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.mobile-menu-toggle{position:relative;z-index:1002;display:none;width:48px;height:48px;padding:0;border:1px solid var(--border);background:rgba(0,0,0,.35);cursor:pointer}
.mobile-menu-toggle span{position:absolute;left:12px;width:22px;height:2px;background:#fff;transition:top .25s,transform .25s}
.mobile-menu-toggle span:first-child{top:19px}.mobile-menu-toggle span:last-child{top:27px}
.mobile-menu-toggle.is-open span:first-child{top:23px;transform:rotate(45deg)}.mobile-menu-toggle.is-open span:last-child{top:23px;transform:rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:1001;display:grid;align-content:center;padding:7rem var(--pad) 3rem;background:linear-gradient(135deg,rgba(18,58,140,.17),transparent 38%),linear-gradient(-40deg,rgba(225,6,18,.16),transparent 42%),var(--black);opacity:0;visibility:hidden;transition:opacity .28s,visibility .28s}
.mobile-menu.is-open{opacity:1;visibility:visible}.mobile-menu nav{display:flex;flex-direction:column;gap:.6rem}
.mobile-menu nav a{font-family:var(--display);font-size:clamp(3.2rem,14vw,6rem);line-height:.95;text-transform:uppercase}
.mobile-menu nav a:hover{color:var(--red)}
.site-intro{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;background:radial-gradient(circle at center,#17171b 0%,#070708 42%,#000 100%);transition:opacity .7s var(--ease),visibility .7s}
.site-intro.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.intro-content{position:relative;z-index:2;width:min(760px,82vw);text-align:center;animation:introIn 1.05s var(--ease) both}
.intro-content img{width:100%;max-height:390px;object-fit:contain}
.intro-tag{margin-top:1rem;color:rgba(255,255,255,.7);font-size:.72rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase}
.intro-progress{width:130px;height:2px;margin:1.5rem auto 0;background:rgba(255,255,255,.13);overflow:hidden}
.intro-progress::after{content:"";display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--blue),#fff,var(--red));transform-origin:left;animation:progress 2.6s linear forwards}
.skip-intro{position:absolute;right:1.5rem;bottom:1.5rem;border:0;background:transparent;color:var(--muted);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
@keyframes introIn{from{opacity:0;transform:scale(.94);filter:blur(8px)}to{opacity:1;transform:scale(1);filter:blur(0)}}
@keyframes progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#060607}
.hero-media,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;transform:scale(1.035);background-image:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.52) 45%,rgba(0,0,0,.16) 75%),linear-gradient(0deg,rgba(0,0,0,.96),transparent 60%),var(--hero-image);background-position:center;background-size:cover;transition:opacity 1s,transform 7s}
.hero-slide.contain{background-size:cover,cover,contain;background-repeat:no-repeat;background-color:#070709}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero::before,.page-hero::before{content:"";position:absolute;width:58vw;height:3px;right:-12vw;top:34%;z-index:2;transform:rotate(-10deg);background:linear-gradient(90deg,transparent,var(--red),transparent);opacity:.55}
.hero::after,.page-hero::after{content:"";position:absolute;width:50vw;height:2px;right:-5vw;top:38%;z-index:2;transform:rotate(-10deg);background:linear-gradient(90deg,transparent,var(--blue2),transparent);opacity:.65}
.hero-content{position:relative;z-index:4;padding-top:10rem;padding-bottom:clamp(5rem,8vw,7rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:4rem;align-items:end}
.hero-brand{display:flex;align-items:center;gap:.8rem;margin-bottom:1.4rem;color:rgba(255,255,255,.72);font-size:.7rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase}
.hero-brand::before{content:"";width:44px;height:2px;background:var(--red)}
.hero h1{max-width:1020px;margin:0;font-family:var(--display);font-size:clamp(5rem,10vw,11rem);line-height:.79;font-weight:400;text-transform:uppercase}
.hero h1 span{display:block}.hero h1 .outline{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.9)}
.hero-copy{max-width:700px;margin-top:2rem;color:rgba(255,255,255,.75);font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.75}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
.hero-services{border-top:1px solid var(--border)}.hero-side-label{margin-bottom:1rem;color:var(--muted);font-size:.65rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.hero-service{display:flex;justify-content:space-between;gap:1rem;padding-block:.9rem;border-bottom:1px solid var(--border);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero-service span:last-child{color:var(--muted2)}
.hero-pagination{position:absolute;z-index:6;left:var(--pad);bottom:1.5rem;display:flex;gap:.5rem}.hero-dot{width:36px;height:3px;padding:0;border:0;background:rgba(255,255,255,.22);cursor:pointer}.hero-dot.is-active{background:var(--red)}
.page-hero{position:relative;min-height:76vh;display:flex;align-items:flex-end;padding-top:8rem;overflow:hidden;background:radial-gradient(circle at 80% 30%,rgba(18,58,140,.2),transparent 35%),radial-gradient(circle at 25% 80%,rgba(225,6,18,.12),transparent 32%),linear-gradient(135deg,#0c0c0f,#050505)}
.page-hero-content{position:relative;z-index:3;padding-bottom:clamp(4rem,8vw,7rem)}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:4rem;align-items:end}
.page-hero-side{padding-bottom:.7rem;color:var(--muted);line-height:1.75}
.intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:clamp(3rem,7vw,7rem);align-items:end}.intro-grid .body-copy{margin-left:auto}
.service-stack{margin-top:4rem;border-top:1px solid var(--border)}
.service-row{position:relative;display:grid;grid-template-columns:80px .8fr 1fr 60px;gap:2rem;align-items:center;min-height:175px;padding-block:2rem;border-bottom:1px solid var(--border);overflow:hidden}
.service-row::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(225,6,18,.09),transparent 55%);opacity:0;transition:opacity .3s}.service-row:hover::before{opacity:1}
.service-number,.service-name,.service-description,.service-arrow{position:relative;z-index:1}.service-number{color:var(--muted2);font-size:.68rem}.service-name{font-family:var(--display);font-size:clamp(2.5rem,5vw,5rem);line-height:.95;text-transform:uppercase}.service-description{color:var(--muted);line-height:1.7}.service-arrow{font-size:1.5rem;transition:transform .25s var(--ease)}.service-row:hover .service-arrow{transform:translateX(8px)}
.media-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:1rem;margin-top:3.5rem}
.media-card{position:relative;grid-column:span 4;min-height:390px;overflow:hidden;border:1px solid var(--border);background:#101014}
.media-card.wide{grid-column:span 8}.media-card.tall{min-height:580px}
.media-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.media-card.contain img{object-fit:contain;padding:1rem;background:#f5f5f5}
.media-card:hover img{transform:scale(1.04)}.media-card.contain:hover img{transform:scale(1.015)}
.media-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.94),transparent 62%)}
.media-info{position:absolute;z-index:2;left:1.35rem;right:1.35rem;bottom:1.35rem}.media-cat{color:rgba(255,255,255,.58);font-size:.63rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.media-title{margin-top:.35rem;font-family:var(--display);font-size:clamp(2rem,3vw,3.3rem);line-height:1;text-transform:uppercase}
.about-home{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,8rem);align-items:center}
.brand-panel{position:relative;min-height:590px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--border);background:radial-gradient(circle at 65% 30%,rgba(36,91,213,.2),transparent 30%),radial-gradient(circle at 35% 70%,rgba(225,6,18,.17),transparent 35%),#0d0d11}
.brand-panel img{width:min(90%,680px);max-height:520px;object-fit:contain}.brand-panel .label{position:absolute;top:2rem;right:0;padding:.9rem 1.15rem;background:var(--red);font-size:.64rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.about-copy p,.story-copy p{color:var(--muted);font-size:1.04rem;line-height:1.85}.about-copy strong,.story-copy strong{color:#fff}
.ccc{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.ccc-row{display:grid;grid-template-columns:100px minmax(0,1fr) minmax(250px,.55fr);gap:2rem;align-items:center;min-height:31vh;padding:clamp(3rem,5vw,5rem) var(--pad);border-bottom:1px solid var(--border)}.ccc-row:last-child{border-bottom:0}
.ccc-number{color:var(--muted2);font-size:.68rem}.ccc-word{font-family:var(--display);font-size:clamp(5rem,13vw,12rem);line-height:.8;text-transform:uppercase;transition:transform .4s var(--ease),color .4s}.ccc-row:hover .ccc-word{transform:translateX(1rem)}.ccc-row:nth-child(1):hover .ccc-word{color:var(--blue2)}.ccc-row:nth-child(2):hover .ccc-word{color:var(--red)}.ccc-description{color:var(--muted);line-height:1.7}
.process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:4rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.process-step{min-height:240px;padding:1.7rem;border-right:1px solid var(--border)}.process-step:last-child{border-right:0}.process-number{color:var(--red);font-size:.65rem;font-weight:800;letter-spacing:.16em}.process-name{margin-top:4rem;font-family:var(--display);font-size:clamp(2rem,3vw,3rem);text-transform:uppercase}.process-copy{margin-top:.8rem;color:var(--muted);font-size:.86rem;line-height:1.6}
.service-detail{padding-block:clamp(5rem,9vw,9rem);border-top:1px solid var(--border)}.service-detail-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:clamp(3rem,8vw,8rem)}.service-detail-index{color:var(--red);font-size:.7rem;font-weight:800;letter-spacing:.18em}.service-detail h2{margin:0;font-family:var(--display);font-size:clamp(4rem,8vw,8rem);line-height:.82;font-weight:400;text-transform:uppercase}.service-detail-copy{max-width:850px;margin-top:2rem;color:var(--muted);font-size:1.04rem;line-height:1.85}
.service-visual{margin-top:2.5rem;min-height:360px;position:relative;overflow:hidden;border:1px solid var(--border);background:#0b0b0e}.service-visual img{width:100%;height:100%;min-height:360px;position:absolute;inset:0;object-fit:cover}.service-visual.contain img{object-fit:contain;background:#f7f7f7;padding:1rem}
.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:3rem;border-top:1px solid var(--border)}.capability{min-height:120px;padding:1.4rem 0;border-bottom:1px solid var(--border)}.capability:nth-child(odd){padding-right:2rem}.capability:nth-child(even){padding-left:2rem;border-left:1px solid var(--border)}.capability-title{font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.capability p{margin-bottom:0;color:var(--muted);font-size:.86rem;line-height:1.6}
.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:3rem 0}.filter-button{padding:.8rem 1rem;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.filter-button:hover,.filter-button.is-active{background:var(--red);border-color:var(--red);color:#fff}.portfolio-item.is-hidden{display:none}
.story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem);align-items:start}.story-visual{position:sticky;top:8rem;min-height:620px;display:grid;place-items:center;border:1px solid var(--border);background:#0d0d11;overflow:hidden}.story-visual img{width:92%;max-height:560px;object-fit:contain}
.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:4rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.value-card{min-height:290px;padding:2rem;border-right:1px solid var(--border)}.value-card:last-child{border-right:0}.value-number{color:var(--red);font-size:.66rem}.value-title{margin-top:4rem;font-family:var(--display);font-size:clamp(2.4rem,4vw,4rem);text-transform:uppercase}.value-card p{color:var(--muted);line-height:1.7}
.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,8rem)}.contact-sidebar{position:sticky;top:8rem}.contact-detail{padding-block:1.35rem;border-bottom:1px solid var(--border)}.contact-label{color:var(--muted2);font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.contact-value{margin-top:.55rem;color:#fff;line-height:1.6}.contact-value.pending{color:var(--muted)}
.quote-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.6rem}.form-group.full{grid-column:1/-1}.form-group label{color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.form-control{width:100%;padding:1rem;border:1px solid var(--border);outline:none;background:#0c0c0f;color:#fff}.form-control:focus{border-color:var(--red)}textarea.form-control{min-height:180px;resize:vertical}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.checkbox{display:flex;align-items:center;gap:.75rem;min-height:58px;padding:.9rem;border:1px solid var(--border);cursor:pointer}.checkbox input{accent-color:var(--red)}.form-note{color:var(--muted2);font-size:.76rem;line-height:1.6}.form-message{display:none;grid-column:1/-1;padding:1rem;border:1px solid var(--border);background:var(--surface);line-height:1.6}.form-message.is-visible{display:block}
.large-cta{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 40%,rgba(225,6,18,.16),transparent 35%),#0a0a0d}.large-cta::after{content:"";position:absolute;width:65vw;height:3px;top:35%;right:-15vw;transform:rotate(-10deg);background:linear-gradient(90deg,transparent,var(--blue2),var(--red),transparent);opacity:.45}.cta-content{position:relative;z-index:2;max-width:1000px}
.site-footer{position:relative;overflow:hidden;padding:clamp(4rem,8vw,7rem) 0 2rem;background:#030303}.footer-watermark{position:absolute;right:-3vw;bottom:-5vw;color:rgba(255,255,255,.022);font-family:var(--display);font-size:clamp(15rem,35vw,40rem);line-height:.7;pointer-events:none}.footer-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr repeat(3,.55fr);gap:3rem}.footer-logo{width:min(330px,100%);max-height:220px;object-fit:contain;object-position:left center}.footer-tagline{margin-top:1.4rem;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.25em;text-transform:uppercase}.footer-heading{margin-bottom:1rem;color:var(--muted2);font-size:.63rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.footer-links{display:flex;flex-direction:column;gap:.8rem}.footer-links a{color:rgba(255,255,255,.76);font-size:.86rem}.footer-links a:hover{color:var(--red)}.footer-links a.disabled{color:var(--muted2);pointer-events:none}.footer-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;gap:2rem;margin-top:5rem;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--muted2);font-size:.66rem}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.desktop-nav{display:none}.mobile-menu-toggle{display:block}.hero-grid,.page-hero-grid,.intro-grid,.service-detail-grid,.about-home,.story-grid,.contact-layout{grid-template-columns:1fr}.hero-side{display:none}.intro-grid .body-copy{margin-left:0}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-step{border-bottom:1px solid var(--border)}.media-card,.media-card.wide{grid-column:span 6}.story-visual,.contact-sidebar{position:relative;top:auto}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.site-header .container{width:calc(100% - 2rem)}.navbar{min-height:4.7rem}.nav-logo{width:165px}.hero h1{font-size:clamp(4.3rem,20vw,7rem)}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.service-row{grid-template-columns:42px 1fr 30px;gap:1rem;min-height:0;padding-block:1.6rem}.service-description{grid-column:2/4}.media-grid{display:block}.media-card,.media-card.wide{min-height:430px;margin-bottom:1rem}.media-card.tall{min-height:520px}.ccc-row{grid-template-columns:1fr;min-height:auto;gap:1rem;padding-block:3rem}.ccc-row:hover .ccc-word{transform:none}.process-grid{grid-template-columns:1fr}.process-step{min-height:0;border-right:0}.capability-grid{grid-template-columns:1fr}.capability:nth-child(odd),.capability:nth-child(even){padding-inline:0;border-left:0}.value-grid{grid-template-columns:1fr}.value-card{min-height:0;border-right:0;border-bottom:1px solid var(--border)}.quote-form,.checkbox-grid{grid-template-columns:1fr}.form-group.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.site-intro{display:none}.reveal{opacity:1;transform:none}}

.social-inline a{color:#fff;text-decoration:none}.social-inline a:hover{color:var(--red)}
