@font-face{font-family:Syne;src:url('fonts/syne-extra-bold.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:Syne;src:url('fonts/syne-bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Host;src:url('fonts/host-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Host;src:url('fonts/host-medium.ttf') format('truetype');font-weight:500;font-display:swap}

:root{--blue:#c3daee;--navy:#1f2a4a;--yellow:#f4e4a6;--white:#f9f9f6;--gutter:clamp(22px,4.3vw,88px);--sans:Host,Arial,sans-serif;--display:Syne,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--blue);color:var(--navy);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
body.menu-open,body.dialog-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;cursor:pointer;border:0;border-radius:0;padding:0}
a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}
button:disabled{opacity:.35;cursor:default}
img,video{display:block;width:100%;max-width:100%}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:400;line-height:1}
::selection{background:var(--navy);color:var(--yellow)}
.skip-link{position:fixed;top:10px;left:10px;z-index:100;background:var(--yellow);color:var(--navy);padding:12px 18px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.site-header{position:relative;z-index:30;display:flex;align-items:center;gap:45px;justify-content:space-between;height:96px;padding:0 var(--gutter);background:var(--navy);color:var(--white)}
.brand{display:block;width:136px;height:83px;overflow:hidden;flex-shrink:0}
.brand img{width:100%;height:100%;object-fit:cover;object-position:center 53%}
.header-description{font-size:12px;line-height:1.4;margin-right:auto;color:var(--blue)}
.site-menu{display:flex;align-items:center;gap:36px;font-size:13px}
.site-menu>a{padding:7px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.site-menu>a:hover{color:var(--yellow);border-color:currentColor}
.site-menu .nav-contact{padding:10px 19px;border:1px solid #c3daee70;color:var(--yellow);margin-left:15px}
.site-menu .nav-contact:hover{background:var(--yellow);color:var(--navy)}
.menu-toggle{display:none}
.hero{padding:32px var(--gutter) 70px;overflow:hidden}
.hero-topline{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.055em;font-weight:500}
.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(80px,12.9vw,340px);line-height:.95;letter-spacing:-.085em;white-space:nowrap;text-align:center;margin:38px 0 0;padding-right:.07em}
.hero-stage{max-width:1320px;margin:-12px auto 0;position:relative;z-index:1;display:grid;grid-template-columns:.95fr 1.18fr .85fr;gap:6.5%;align-items:center}
.hero-stills{position:relative;height:370px;min-width:0}
.still{position:absolute;overflow:hidden}
.still img{width:100%;height:100%;object-fit:cover}
.still-place{width:66%;height:265px;left:8%;top:4px;transform:rotate(-7deg)}
.still-place img{object-position:50% 52%}
.still-detail{width:85%;aspect-ratio:1.6;left:19%;top:209px;transform:rotate(6deg);border:6px solid var(--blue)}
.still-detail img{object-position:55% center}
.still-note{position:absolute;left:4%;bottom:0;font-size:12px;letter-spacing:-.02em}
.hero-feature{position:relative;transform:rotate(-2deg);min-width:0}
.hero-screen{position:relative;display:block;width:100%;aspect-ratio:.8;background:var(--navy);overflow:hidden;text-align:left;color:#fff}
.hero-screen::after{position:absolute;inset:0;content:'';background:linear-gradient(transparent 60%,#10172365);pointer-events:none}
.hero-screen video{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transition:transform .6s}
.hero-screen:hover video{transform:scale(1.035)}
.feature-open{position:absolute;bottom:19px;left:19px;z-index:1;font-size:10px;letter-spacing:.06em;background:#1f2a4ac9;padding:9px 12px;transition:background .2s,color .2s}
.hero-screen:hover .feature-open{background:var(--yellow);color:var(--navy)}
.feature-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;font-size:9px;letter-spacing:.025em}
#hero-motion{padding:4px 0 4px 10px;text-decoration:underline;text-underline-offset:3px;font-size:11px}
.hero-aside{padding-top:30px}
.hero-pitch{font:700 clamp(24px,2.7vw,50px)/1.07 var(--display);letter-spacing:-.065em}
.hero-description{font-size:14px;line-height:1.65;margin:25px 0 26px;max-width:230px}
.solid-link{display:inline-flex;justify-content:center;align-items:center;min-height:49px;padding:13px 23px;background:var(--navy);color:var(--white);font-size:13px;line-height:1.4;border:1px solid var(--navy);transition:background .2s,color .2s}
.solid-link:hover{background:var(--yellow);color:var(--navy)}
.hero-signature{font-size:11px;line-height:1.5;margin-top:34px}
.films{padding:90px 0 60px;background:var(--white);overflow:hidden}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;padding:0 var(--gutter);margin-bottom:42px}
.eyebrow{font-size:10px;line-height:1.6;letter-spacing:.06em;font-weight:500}
.section-head h2{font:800 clamp(48px,6.1vw,110px)/1.05 var(--display);letter-spacing:-.075em;margin-top:10px}
.rail-controls{display:flex;align-items:center;gap:16px;margin-bottom:12px;font-size:12px;line-height:1.5}
.rail-controls button{padding:10px 0;border-bottom:1px solid transparent}
.rail-controls button:not(:disabled):hover{border-color:currentColor}
.rail-controls>span{opacity:.35}
.film-rail{display:flex;align-items:flex-start;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-color:var(--navy) #dde1e4;scrollbar-width:thin;padding:0 var(--gutter) 28px;scroll-padding-left:var(--gutter)}
.film-card{flex:0 0 clamp(260px,28vw,480px);display:block;min-width:0;text-align:left;scroll-snap-align:start}
.film-image{position:relative;display:block;aspect-ratio:.86;overflow:hidden;background:var(--navy)}
.film-image>img,.film-image>video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.film-image>img{transition:transform .7s}
.film-landscape .film-image>img,.film-landscape .film-image>video{object-position:60% center}
.film-image>video{opacity:0;pointer-events:none}
.film-card.is-previewing .film-image>video{opacity:1}
.film-card:hover .film-image>img{transform:scale(1.02)}
.film-watch{position:absolute;bottom:18px;left:18px;padding:9px 12px;background:#1f2a4ac9;color:#fff;font-size:9px;letter-spacing:.06em;transition:background .2s,color .2s}
.film-card:hover .film-watch,.film-card:focus-visible .film-watch{background:var(--yellow);color:var(--navy)}
.film-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:14px}
.film-caption strong{font-size:18px;font-weight:400;letter-spacing:-.02em}
.film-caption>span{font-size:9px;letter-spacing:.06em}
.demo-note{font-size:10px;line-height:1.5;padding:15px var(--gutter) 0;color:#5e6470}
.agency{padding:100px var(--gutter) 85px;background:var(--navy);color:var(--white)}
.agency-intro{position:relative;display:grid;grid-template-columns:1.5fr 1fr;gap:0 10%;align-items:end}
.agency-intro>.eyebrow{grid-column:1/-1;margin-bottom:30px;color:var(--blue)}
.agency h2{font:700 clamp(42px,5.5vw,102px)/1.03 var(--display);letter-spacing:-.068em}
.agency h2>span{color:var(--blue);white-space:nowrap}
.agency-copy{max-width:360px;margin-bottom:6px}
.agency-copy p{font-size:15px;line-height:1.7}
.agency-copy p+p{margin-top:20px;color:var(--blue)}
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:90px;padding-top:35px;border-top:1px solid #c3daee50}
.services article{padding:0 11% 0 0}
.services article+article{border-left:1px solid #c3daee50;padding-left:11%}
.services article:last-child{padding-right:0}
.services h3{font:800 clamp(36px,4.3vw,84px)/1 var(--display);letter-spacing:-.07em;color:var(--yellow)}
.services p{font-size:14px;line-height:1.7;max-width:280px;margin:22px 0 28px}
.services article>span{font-size:8px;line-height:1.7;letter-spacing:.045em;color:var(--blue);display:block}
.contact{padding:75px var(--gutter) 70px;background:var(--yellow);overflow:hidden}
.contact h2{font:800 clamp(78px,12.5vw,290px)/1 var(--display);letter-spacing:-.085em;margin:20px 0 40px;white-space:nowrap}
.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:40px;border-top:1px solid #1f2a4a70;padding-top:25px}
.contact-bottom>p{font-size:14px;line-height:1.6}
.contact .solid-link:hover{background:transparent}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px var(--gutter);background:var(--navy);color:var(--white);font-size:10px;line-height:1.5}
.site-footer>a{text-decoration:underline;text-underline-offset:4px}
.project-dialog{width:min(1120px,94vw);max-height:94dvh;overflow-y:auto;overscroll-behavior:contain;padding:24px;background:var(--navy);color:var(--white);border:0}
.project-dialog::backdrop{background:#11182be8}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:20px}
.dialog-heading h2{font:700 28px/1.15 var(--display);letter-spacing:-.045em;margin-top:6px}
#dialog-category{font-size:10px;line-height:1.5;color:var(--blue)}
.close-project{padding:10px 15px;border:1px solid #c3daee70;font-size:12px}
.close-project:hover{background:var(--blue);color:var(--navy)}
.dialog-video-wrap{height:min(62dvh,650px);min-height:200px;background:#11182b}
.dialog-video-wrap video{height:100%;width:100%;max-height:62dvh;object-fit:contain}
.dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px;font-size:12px}
.dialog-bottom>button{padding:10px 0;text-decoration:underline;text-underline-offset:4px;font-size:12px}
.dialog-bottom>p{text-align:center;font-size:11px}
.dialog-bottom small{display:block;font-size:8px;line-height:1.5;color:var(--blue);margin-top:4px}

@media(min-width:1700px){.hero-stage{max-width:1500px}.hero-description{font-size:16px;max-width:280px}.hero-stills{height:440px}.still-place{height:330px}.still-detail{top:255px}.hero-signature{font-size:13px}.feature-caption{font-size:11px}.hero{padding-bottom:90px}.agency-copy{max-width:440px}.agency-copy p{font-size:17px}.services p{font-size:16px;max-width:350px}}
@media(max-width:1100px){.site-header{gap:25px;height:88px}.header-description{font-size:11px}.site-menu{gap:25px}.site-menu .nav-contact{margin-left:0}.hero-stage{gap:5%;grid-template-columns:.8fr 1.15fr .85fr;margin-top:5px}.hero-stills{height:290px}.still-place{width:78%;height:215px;left:0;top:5px}.still-detail{width:100%;left:3%;top:170px;border-width:4px}.still-note{bottom:-8px}.hero-pitch{font-size:3.1vw}.hero-description{font-size:12px;margin-top:20px}.hero-signature{font-size:10px;margin-top:25px}.solid-link{font-size:12px;padding:12px 18px;min-height:46px}.hero-aside{padding-top:10px}.agency-intro{gap:0 7%;grid-template-columns:1.4fr 1fr}.agency-copy p{font-size:13px}.agency-copy p+p{margin-top:15px}.services p{font-size:13px}.services article>span{font-size:7px}.films{padding-top:70px}.film-card{flex-basis:32vw}.contact-bottom>p{font-size:13px}}
@media(max-width:760px){:root{--gutter:22px}html{scroll-padding-top:25px}.site-header{height:82px;padding-left:17px;padding-right:22px;gap:20px}.brand{width:115px;height:76px}.header-description{font-size:10px;margin-left:0}.menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:42px;height:42px;margin-right:-9px}.menu-toggle>span{width:22px;height:1px;background:var(--blue);transition:transform .2s}.menu-toggle.is-open>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle.is-open>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-menu{display:none;position:absolute;top:100%;left:0;right:0;padding:28px 22px 35px;background:var(--navy);border-top:1px solid #c3daee50;flex-direction:column;align-items:flex-start;gap:16px;box-shadow:0 20px 25px #11182b20}.site-menu.is-open{display:flex}.site-menu>a{font-size:23px}.site-menu .nav-contact{font-size:14px;margin-top:5px}.hero{padding-top:24px;padding-bottom:40px}.hero-topline{font-size:8px;gap:14px;letter-spacing:.015em}.hero h1{font-size:16.6vw;letter-spacing:-.085em;margin-top:30px;line-height:1.05}.hero-stage{grid-template-columns:1.1fr .8fr;gap:0 7%;margin-top:10px;align-items:center}.hero-stills{display:none}.hero-feature{margin-top:10px;transform:rotate(-2deg)}.hero-screen{aspect-ratio:.7}.feature-open{font-size:7px;padding:7px 8px;left:11px;bottom:12px}.feature-caption{font-size:6px;letter-spacing:0;gap:6px;padding-top:9px}#hero-motion{font-size:9px;padding-left:0;flex-shrink:0}.hero-pitch{font-size:clamp(20px,5vw,34px);letter-spacing:-.065em}.hero-description{font-size:11px;line-height:1.65;margin:17px 0 18px}.hero-aside{padding-top:0;min-width:0}.hero-aside .solid-link{padding:10px 12px;min-height:41px;font-size:11px}.hero-signature{font-size:8px;margin-top:20px}.films{padding-top:45px;padding-bottom:35px}.section-head{gap:18px;margin-bottom:26px;align-items:flex-end}.eyebrow{font-size:8px;letter-spacing:.03em}.section-head h2{font-size:10vw;letter-spacing:-.075em;margin-top:10px}.rail-controls{font-size:10px;gap:8px;margin-bottom:0}.rail-controls button{font-size:10px;padding-bottom:5px}.film-rail{gap:16px;padding-bottom:20px;scroll-snap-type:x mandatory}.film-card{flex-basis:76vw;max-width:460px}.film-image{aspect-ratio:.9}.film-watch{font-size:8px;padding:8px 10px;left:14px;bottom:14px}.film-caption strong{font-size:17px}.film-caption>span{font-size:8px}.demo-note{font-size:8px;padding-top:13px}.agency{padding-top:55px;padding-bottom:45px}.agency-intro{display:block}.agency-intro>.eyebrow{margin-bottom:25px}.agency h2{font-size:9.1vw;line-height:1.06;letter-spacing:-.065em}.agency-copy{max-width:none;margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.agency-copy p{font-size:12px;line-height:1.7}.agency-copy p+p{margin-top:0}.services{grid-template-columns:1fr;margin-top:35px;padding-top:0}.services article,.services article+article,.services article:last-child{padding:23px 0;border-left:0;display:grid;grid-template-columns:.8fr 1.15fr;gap:12px 22px;align-items:start}.services article+article{border-top:1px solid #c3daee50}.services h3{font-size:9.5vw;line-height:1.03;grid-row:1/3}.services p{font-size:12px;line-height:1.65;margin:0;max-width:none}.services article>span{font-size:6px;line-height:1.5}.contact{padding-top:40px;padding-bottom:38px}.contact h2{font-size:15.1vw;margin:20px 0 25px;line-height:1.05}.contact-bottom{display:block;padding-top:20px}.contact-bottom>p{font-size:12px}.contact-bottom .solid-link{margin-top:22px;min-height:48px;padding:13px 20px}.site-footer{flex-wrap:wrap;gap:14px 22px;padding-top:23px;padding-bottom:23px;font-size:8px}.site-footer>p:nth-child(2){display:none}.site-footer>a{margin-left:auto}.project-dialog{width:94vw;max-height:96dvh;padding:16px}.dialog-heading{gap:16px;padding-bottom:15px}.dialog-heading h2{font-size:21px}.close-project{font-size:11px;padding:8px 12px}#dialog-category{font-size:8px}.dialog-video-wrap{height:61dvh;min-height:170px}.dialog-video-wrap video{max-height:61dvh}.dialog-bottom>button{font-size:11px}.dialog-bottom small{font-size:6px;max-width:100px}.dialog-bottom{gap:12px}}
@media(max-width:375px){:root{--gutter:18px}.header-description{font-size:9px}.site-header{gap:14px;padding-right:18px}.brand{width:105px}.hero-topline{font-size:7px}.hero-stage{gap:0 6%;grid-template-columns:1fr .85fr}.hero-description{font-size:10px}.hero-pitch{font-size:5.2vw}.hero-signature{display:none}.hero-aside .solid-link{font-size:10px;padding:10px}.feature-caption>span{font-size:5px}.section-head{display:block}.rail-controls{margin-top:12px;justify-content:flex-end}.section-head h2{font-size:11.3vw}.agency-copy{grid-template-columns:1fr;gap:14px}.services article,.services article+article,.services article:last-child{gap:12px 16px}.services p{font-size:11px}.contact .eyebrow{font-size:7px}}
@media(max-width:760px){.hero h1{font-size:12.5vw}.contact h2{font-size:12.2vw}.services h3{font-weight:700}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-feature,.still{transform:none}.hero-screen:hover video,.film-card:hover .film-image>img{transform:none}}
