
@font-face{font-family:Bebas;src:url('BebasNeue-Regular.otf') format('opentype');font-display:swap}
@font-face{font-family:Bebas;src:url('BebasNeue-Bold.otf') format('opentype');font-weight:700;font-display:swap}
:root{--yellow:#ffc31c;--black:#050505;--panel:#111;--white:#f5f2e9;--muted:#b8b8b8;--line:#2a2a2a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif}
img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}a{color:inherit;text-decoration:none}
.wrap{width:min(1220px,calc(100% - 36px));margin:auto}
header{position:sticky;top:0;z-index:30;background:rgba(5,5,5,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.nav{min-height:124px;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{width:290px;height:auto;object-fit:contain}
.nav-dropdown{position:relative;margin-left:auto}
.nav-trigger{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:34px;padding:0;background:none;border:0;color:#fff;cursor:pointer;line-height:1}
.nav-label{display:inline-flex;align-items:center;justify-content:center;height:24px;line-height:24px;margin:0;padding:0;font-family:Bebas;font-size:1.45rem;letter-spacing:.08em;text-transform:uppercase}
.hamburger{display:inline-flex;flex-direction:column;align-items:stretch;justify-content:center;gap:4px;width:28px;height:24px;margin:0;padding:0}
.hamburger i{display:block;flex:0 0 3px;width:28px;height:3px;margin:0;background:var(--yellow);border-radius:999px;transition:.25s}
.nav-trigger[aria-expanded="true"] .hamburger i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-trigger[aria-expanded="true"] .hamburger i:nth-child(2){opacity:0}
.nav-trigger[aria-expanded="true"] .hamburger i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.dropdown-menu{display:none;position:absolute;right:0;top:calc(100% + 12px);width:min(320px,82vw);padding:14px;background:rgba(8,8,8,.98);border:1px solid #323232;box-shadow:0 24px 60px rgba(0,0,0,.45);z-index:60}
.dropdown-menu.open{display:grid}
.dropdown-menu a{width:100%;padding:14px 16px;border-bottom:1px solid #242424;font-family:Bebas;font-size:1.2rem;letter-spacing:.05em;text-transform:uppercase}
.dropdown-menu a:last-child{border-bottom:0}.dropdown-menu a:hover,.dropdown-menu a.active{background:#151515;color:var(--yellow)}
h1,h2,h3{font-family:Bebas;text-transform:uppercase;line-height:.92;margin:0}
.hero{min-height:760px;display:grid;align-items:center;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero:before{content:"";position:absolute;left:-15%;right:-15%;bottom:3%;height:220px;background:radial-gradient(ellipse at center,rgba(255,195,28,.25),rgba(255,195,28,.06) 38%,transparent 70%);filter:blur(20px);animation:wave 10s ease-in-out infinite alternate}
@keyframes wave{from{transform:translateX(-7%) skewY(-2deg);opacity:.55}to{transform:translateX(9%) skewY(2deg);opacity:.9}}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center;padding:70px 0}
.hero h1{font-size:clamp(5rem,10vw,9rem)}.service-line{display:flex;gap:11px;white-space:nowrap;color:var(--yellow);font-family:Bebas;font-size:clamp(1.15rem,1.8vw,2.2rem);margin:28px 0}
.hero p,.intro,.copy{color:var(--muted);line-height:1.75;font-size:1.08rem}.hero-mark img{object-fit:contain;animation:float 5s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-12px)}}
.btn{display:inline-block;border:2px solid var(--yellow);padding:14px 22px;font-family:Bebas;font-size:1.28rem;letter-spacing:.05em;margin:18px 10px 0 0;background:none;color:#fff;cursor:pointer}.btn.fill{background:var(--yellow);color:#050505}
section{padding:92px 0;border-bottom:1px solid var(--line)}.title{font-size:clamp(4rem,8vw,7rem);color:var(--yellow)}.intro{max-width:820px;margin:18px 0 38px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#111;border:1px solid #2d2d2d;overflow:hidden;transition:.3s}.card:hover{transform:translateY(-6px);border-color:var(--yellow)}
.card-image{aspect-ratio:1/1;background:#fff;overflow:hidden}.contain img{object-fit:contain}.card-copy{padding:20px}.card-copy h3{font-size:2rem;color:var(--yellow)}.card-copy p{color:var(--muted);line-height:1.55;margin:8px 0 0}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:20px}.feature-card{aspect-ratio:1/1;position:relative;overflow:hidden;border:1px solid #303030;background:#111;padding:0}.feature-card span{position:absolute;left:18px;bottom:16px;background:rgba(0,0,0,.8);border-left:4px solid var(--yellow);padding:9px 13px;font-family:Bebas;font-size:1.25rem;color:#fff;z-index:2}
.feature-video-card video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.featured-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.featured-heading h3{font-size:clamp(3rem,6vw,5rem);margin-top:18px}.feature-card-action{position:absolute;right:18px;top:18px;background:var(--yellow);color:#050505;padding:10px 13px;font-family:Bebas;letter-spacing:.04em}
.featured-work .wrap{display:flex;flex-direction:column;align-items:center}.featured-showcase-copy{width:100%;text-align:left}.featured-showcase-copy h3{font-size:clamp(3rem,6vw,5rem);margin-top:18px;color:var(--yellow)}.featured-showcase-copy .intro{max-width:900px}.featured-video-shell{width:min(900px,100%);margin:18px auto 0;aspect-ratio:16/9;background:#000;border:1px solid #303030;overflow:hidden}.featured-video-shell video{display:block;width:100%;height:100%;object-fit:contain;background:#000;margin:0 auto}.featured-showcase-actions{width:100%;display:flex;justify-content:center;text-align:center;margin-top:12px}
.light{background:#f1f1f1;color:#111}.light .title{color:#111}.light .intro{color:#555}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.process article{background:#fff;border:1px solid #d7d7d7;padding:26px;min-height:240px}.process span{font-family:Bebas;color:#9a6c00;font-size:2rem}.process h3{font-size:2rem;margin-top:18px}.process p{color:#555;line-height:1.65}
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center}.about img{object-fit:contain}.about h1,.contact h1,.case h1{font-size:clamp(5rem,9vw,8rem);color:var(--yellow)}
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px}form{display:grid;grid-template-columns:1fr 1fr;gap:15px}input,select,textarea{background:#111;border:1px solid #333;color:#fff;padding:15px;font-size:1rem}textarea{grid-column:1/-1;min-height:145px}.full{grid-column:1/-1}.submit{background:var(--yellow);color:#050505;border:0;padding:16px;font-family:Bebas;font-size:1.3rem;cursor:pointer}
.case{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.case img{aspect-ratio:1/1}.cta{text-align:center;padding:115px 0}.cta h2{font-size:clamp(4rem,9vw,8rem);color:var(--yellow)}
footer{padding:58px 0}.footer{display:grid;grid-template-columns:1fr 1fr;align-items:start}.footer img{width:330px;height:auto;object-fit:contain;object-position:left top}.footer-right{text-align:right}.footer-right h3{font-size:2rem;color:var(--yellow)}.socials{display:flex;gap:18px;justify-content:flex-end;flex-wrap:wrap;font-family:Bebas;font-size:1.2rem}
.eyebrow{margin:0 0 18px;color:var(--yellow);font-family:Bebas;font-size:1.25rem;letter-spacing:.12em;text-transform:uppercase}.case-section-title{font-size:clamp(3.8rem,7vw,6.5rem);max-width:900px}.case-hero{padding:0;overflow:hidden}.case-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:720px;align-items:stretch}.case-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:80px 60px 80px 0}.case-hero-copy h1{font-size:clamp(5.5rem,11vw,10rem);color:var(--yellow)}.case-lead{max-width:650px;color:var(--muted);font-size:1.15rem;line-height:1.75}.case-hero-art{min-height:620px;background:#111;user-select:none}.case-hero-art img{object-position:center top;pointer-events:none;-webkit-user-drag:none}.case-actions{margin-top:8px}.case-overview-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}.case-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.case-facts article{padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0c0c0c}.case-facts span{display:block;margin-bottom:10px;color:var(--yellow);font-family:Bebas;font-size:1rem;letter-spacing:.08em;text-transform:uppercase}.case-facts strong{font-family:Bebas;font-size:1.55rem;color:var(--yellow);font-weight:400}.case-video-section{background:#0a0a0a;text-align:center;padding-bottom:125px}.case-video-wrap{display:flex;flex-direction:column;align-items:center;text-align:center}.case-video-wrap .eyebrow,.case-video-wrap .title,.case-video-wrap .intro{width:100%;text-align:center}.case-video-wrap .intro{max-width:760px;margin:20px auto 0}.case-video-frame{width:min(1050px,100%);margin:42px auto 0;border:1px solid #333;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.45)}.case-video-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#000;margin:0 auto}.case-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:46px}.case-steps article{padding:28px;background:#111;border:1px solid #2c2c2c;min-height:260px}.case-steps span{font-family:Bebas;color:var(--yellow);font-size:2rem}.case-steps h3{margin-top:20px;font-size:2.2rem;color:var(--yellow)}.case-steps p{color:var(--muted);line-height:1.65}.case-print{background:#101010}.case-print-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.case-print-note{padding:34px;border:1px solid #333;background:#080808}.case-print-note span{display:block;margin-bottom:12px;color:var(--yellow);font-family:Bebas;font-size:1rem;letter-spacing:.1em;text-transform:uppercase}.case-print-note strong{display:block;color:var(--yellow);font-family:Bebas;font-size:2.4rem;font-weight:400}.case-print-note p{margin:16px 0 0;color:var(--muted);line-height:1.65}.case-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.case-study-page h1,.case-study-page h2,.case-study-page h3{color:var(--yellow)}
.logo-hero{padding:0}.logo-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;min-height:680px}.logo-hero h1{font-size:clamp(5rem,10vw,9rem);color:var(--yellow)}.logo-lead{max-width:700px;color:var(--muted);font-size:1.15rem;line-height:1.75}.logo-hero-mark{aspect-ratio:1/1;background:#fff;border:1px solid #333;padding:50px}.logo-hero-mark img{object-fit:contain}.logo-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}.logo-tile{background:#111;border:1px solid #2d2d2d}.logo-tile-image{aspect-ratio:4/3;background:#fff;padding:35px}.logo-tile-image img{object-fit:contain}.logo-tile-copy{padding:24px}.logo-tile-copy h3{font-size:2.4rem;color:var(--yellow)}.logo-tile-copy p{color:var(--muted);line-height:1.6}.logo-studies{background:#0b0b0b}.logo-study-grid{display:grid;gap:28px;margin-top:42px}.logo-study{display:grid;grid-template-columns:1fr 1fr;min-height:430px;border:1px solid #2d2d2d}.logo-study.reverse .logo-study-image{order:2}.logo-study-image{background:#fff;padding:45px}.logo-study-image img{object-fit:contain}.logo-study-copy{display:flex;flex-direction:column;justify-content:center;padding:50px}.logo-study-copy span{font-family:Bebas;font-size:2rem;color:var(--yellow)}.logo-study-copy h3{font-size:clamp(3rem,6vw,5.5rem);color:var(--yellow);margin:18px 0}.logo-study-copy p{color:var(--muted);line-height:1.75;font-size:1.06rem}.logo-page h1,.logo-page h2,.logo-page h3{color:var(--yellow)}
@media(max-width:900px){.hero-grid,.about,.contact,.case,.case-hero-grid,.case-overview-grid,.case-print-grid,.logo-hero-grid,.logo-study{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr}.featured-heading{align-items:start;flex-direction:column}.case-hero-copy{padding:70px 0 45px}.case-hero-art{min-height:520px}.case-steps{grid-template-columns:1fr 1fr}.case-next-grid{grid-template-columns:1fr 1fr}.case-video-frame{width:min(900px,100%)}.logo-gallery{grid-template-columns:1fr 1fr}.logo-study.reverse .logo-study-image{order:0}.logo-hero-grid{padding:70px 0}.logo-hero-mark{max-width:620px;width:100%;margin:auto}}
@media(max-width:620px){.nav{flex-direction:row;align-items:center}.brand img{width:230px}.nav-label{font-size:1.25rem}.grid,.feature,.process,form,.case-facts,.case-steps,.case-next-grid,.logo-gallery{grid-template-columns:1fr}.service-line{font-size:1rem;gap:6px}.footer{grid-template-columns:1fr;gap:28px}.footer-right{text-align:left}.socials{justify-content:flex-start}.case-hero-art{min-height:390px}.case-hero-copy h1{font-size:5rem}.case-section-title{font-size:3.6rem}.featured-video-shell{width:100%;margin-left:auto;margin-right:auto}.case-video-section{padding-bottom:95px}.case-video-frame{width:100%;margin-top:30px}.logo-hero h1{font-size:4.7rem}.logo-hero-mark,.logo-tile-image,.logo-study-image{padding:24px}.logo-study-copy{padding:30px}}

/* Site-wide portfolio image enlargement */
.site-zoomable{cursor:zoom-in;pointer-events:auto!important;transition:opacity .3s ease}
@media(hover:hover) and (pointer:fine){.site-zoomable:hover{opacity:.8}.artist53-custom-cursor-active .site-zoomable{cursor:none}}
.artist53-image-cursor{position:fixed;left:0;top:0;z-index:10001;display:none;width:58px;height:58px;border:1px solid rgba(255,255,255,.85);border-radius:50%;background:rgba(5,5,5,.5);pointer-events:none;transform:translate(-50%,-50%);backdrop-filter:blur(3px)}
.artist53-image-cursor::before,.artist53-image-cursor::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;background:#fff;transform:translate(-50%,-50%)}
.artist53-image-cursor::after{transform:translate(-50%,-50%) rotate(90deg)}
.artist53-image-cursor.is-visible{display:block}
.artist53-image-cursor.is-close::after{transform:translate(-50%,-50%) rotate(45deg)}
.artist53-image-cursor.is-close::before{transform:translate(-50%,-50%) rotate(-45deg)}
.artist53-lightbox{position:fixed;inset:0;z-index:10000;visibility:hidden;overflow:hidden;background:#000;opacity:0;transition:opacity .28s ease;cursor:zoom-out;user-select:none;-webkit-user-select:none}
.artist53-lightbox.is-open{visibility:visible;opacity:1}
.artist53-lightbox__image{position:fixed!important;display:block!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:contain!important;scale:none!important;filter:none!important;opacity:1!important;box-shadow:none!important;transition:left .42s cubic-bezier(.22,.61,.36,1),top .42s cubic-bezier(.22,.61,.36,1),width .42s cubic-bezier(.22,.61,.36,1),height .42s cubic-bezier(.22,.61,.36,1)}
body.artist53-lightbox-open{overflow:hidden}
@media(max-width:620px){.artist53-lightbox__image{transition-duration:.32s}}
@media(prefers-reduced-motion:reduce){.site-zoomable,.artist53-lightbox,.artist53-lightbox__image{transition:none}.site-zoomable:hover{opacity:1}}
