@font-face{font-family:Gotham;src:url('/media/1.%20IDENTIDAD/Gotham-Light(1).ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:Gotham;src:url('/media/1.%20IDENTIDAD/Gotham-Medium.otf') format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:Gotham;src:url('/media/1.%20IDENTIDAD/GOTHAM-BLACK.TTF') format('truetype');font-weight:900;font-display:swap}
@font-face{font-family:Didot;src:url('/media/1.%20IDENTIDAD/Didot%20HTF%20L06%20Light%20Italic.otf') format('opentype');font-style:italic;font-display:swap}
@view-transition{navigation:none}
:root{--ink:#0d0d0d;--paper:#f4f4f5;--accent:#c9db40;--line:rgba(13,13,13,.14);--rail:80px;--inset:clamp(28px,2.73vw,40px);--edge:calc(var(--rail) + var(--inset));--header:106px;--ease:cubic-bezier(.26,1,.48,1);--reveal:cubic-bezier(.34,0,0,1);color-scheme:light;font-family:Gotham,Arial,sans-serif;font-weight:300;color:var(--ink);background:var(--paper);scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}
:root[data-theme=coral]{--accent:#fc5360}
:root[data-theme=violet]{--accent:#9895ee}
:root[data-theme=blue]{--accent:#68cdea}
:root{--scrollbar-track:color-mix(in srgb,var(--accent) 24%,var(--paper));--scrollbar-thumb:color-mix(in srgb,var(--accent) 82%,var(--ink) 10%)}
html{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:var(--scrollbar-track)}
*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:2px solid var(--scrollbar-track)}
*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--scrollbar-thumb) 88%,var(--ink))}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-size:16px;line-height:1.35;-webkit-font-smoothing:antialiased}
body:has(dialog[open]){overflow:hidden}
body[data-page=home]{background:var(--accent);transition:background-color 1s var(--reveal)}
body[data-page=project]{background:var(--paper)}
::selection{background:var(--accent);color:var(--ink)}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
img,video{display:block;max-width:100%}
h1,h2,h3,p,ul,figure{margin:0;font-weight:inherit}
ul{padding:0;list-style:none}
svg{display:block;width:24px;height:24px}
button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}
[hidden]{display:none!important}
.skip-link{position:fixed;top:12px;left:12px;padding:12px 20px;background:var(--paper);z-index:200;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.content-grid{padding-inline:var(--edge);position:relative}
.site-header{position:fixed;inset:0 0 auto;z-index:40;height:var(--header);display:flex;align-items:center;padding-right:calc(var(--rail) + var(--inset));transition:color .3s,background-color .3s}
.site-header::before{content:'';position:absolute;inset:0;background:var(--paper);opacity:0;transition:opacity .4s;z-index:-1}
.site-header.is-scrolled::before{opacity:.97}
.site-header.is-dark{color:var(--paper)}
.site-header.is-dark::before{background:var(--ink)}
.wordmark{font-weight:900;font-size:12px;letter-spacing:-.7px;width:var(--rail);align-self:stretch;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wordmark span{font-size:29px;line-height:1;font-weight:500;display:none}
.desktop-nav{display:flex;gap:44px;align-items:center;padding-left:var(--inset)}
.nav-link{font-weight:500;font-size:14px;position:relative;padding-block:9px}
.nav-clip{position:relative;display:block;overflow:hidden;line-height:1.2}
.nav-clip>span{display:block;transition:transform .3s var(--ease)}
.nav-clip>span:last-child{position:absolute;inset:0;transform:translateY(110%)}
.nav-link:hover .nav-clip>span:first-child,.nav-link:focus-visible .nav-clip>span:first-child{transform:translateY(-110%)}
.nav-link:hover .nav-clip>span:last-child,.nav-link:focus-visible .nav-clip>span:last-child{transform:translateY(0)}
.nav-link::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-link:hover::after,.nav-link.is-active::after{transform:scaleX(1)}
.header-tools{display:flex;align-items:center;gap:30px;margin-left:auto}
.theme-picker{display:flex;gap:8px;align-items:center}
.theme-dot{width:16px;height:16px;border-radius:50%;background:var(--swatch);position:relative;transition:transform .3s var(--ease)}
.theme-dot::before{content:'';position:absolute;inset:-5px;border:1px solid currentColor;border-radius:50%;opacity:0;transform:scale(.7);transition:opacity .3s,transform .3s}
.theme-dot[aria-pressed=true]::before{opacity:1;transform:scale(1)}
.theme-dot::after{content:'';position:absolute;inset:-7px}
.theme-dot:hover{transform:scale(1.1)}
.pill{display:grid;grid-template-columns:100%;grid-template-rows:1fr;border-radius:100px;background:var(--ink);color:var(--paper);padding:14px 18px 14px 20px;font-size:14px;font-weight:500;line-height:1;min-height:44px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);width:fit-content;transition:background-color .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease)}
.pill>span{grid-area:1/1;display:flex;align-items:center;gap:12px}
.pill-rest .dot{width:6px;height:6px;position:relative;display:block;overflow:hidden;flex-shrink:0}
.pill-rest .dot::before{content:'';position:absolute;inset:0;background:var(--accent);border-radius:50%;transition:transform .3s var(--ease)}
.label-clip{display:block;overflow:hidden;padding:1px 0}
.label-clip>span{display:block;transition:transform .3s var(--ease)}
.pill-hover{justify-content:space-between}
.pill-hover .label-clip>span{transform:translateY(120%)}
.pill-hover .arrow-circle{transform:translateX(-100%);opacity:0;transition:transform .3s var(--ease),opacity .3s}
.pill:hover,.pill:focus-visible{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(13,13,13,.2)}
.pill:hover .pill-rest .label-clip>span,.pill:focus-visible .pill-rest .label-clip>span{transform:translateY(-120%)}
.pill:hover .dot::before,.pill:focus-visible .dot::before{transform:translateX(120%)}
.pill:hover .pill-hover .label-clip>span,.pill:focus-visible .pill-hover .label-clip>span{transform:none}
.pill:hover .pill-hover .arrow-circle,.pill:focus-visible .pill-hover .arrow-circle{transform:none;opacity:1}
.pill-outline{background:transparent;color:var(--paper);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.arrow-circle{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:var(--ink);font-style:normal;font-size:13px;flex-shrink:0}
.arrow-circle svg{width:16px;height:16px}
.text-link{font-size:16px;display:inline-flex;gap:12px;align-items:center;line-height:1.3;width:fit-content}
.text-link .arrow-circle{overflow:hidden}
.text-link svg{transition:transform .3s var(--ease)}
.text-link:hover svg{transform:translateX(2px)}
.underline{background:linear-gradient(90deg,currentColor 40%,transparent 40%) 0 100%/250% 1px repeat-x;padding-bottom:3px}
.underline:hover{animation:underline .5s var(--reveal)}
@keyframes underline{to{background-position-x:-166.667%}}
.eyebrow{text-transform:uppercase;font-weight:500;font-size:11px;letter-spacing:.16em;line-height:1.5}
.ruled{padding-bottom:16px;border-bottom:1px solid currentColor;width:240px}
.menu-toggle{display:none;width:44px;height:44px;position:relative}
.menu-toggle span{display:block;width:30px;height:1px;background:currentColor;margin:4px auto}
.mobile-menu{border:0;padding:0;background:var(--paper);color:var(--ink);width:100%;height:100dvh;max-height:none;max-width:none;margin:0;inset:0;z-index:100}
.mobile-menu::backdrop{background:var(--paper)}
.menu-top{height:80px;display:flex;justify-content:space-between;padding-right:28px}
.icon-close{width:44px;height:44px;align-self:center;position:relative}
.icon-close span{position:absolute;top:21px;left:6px;width:32px;height:1px;background:currentColor;transform:rotate(45deg)}
.icon-close span:last-child{transform:rotate(-45deg)}
.mobile-menu nav{padding:20px 38px 50px;display:grid;gap:8px}
.mobile-menu .nav-link{font-size:38px;font-weight:300;width:fit-content}
.menu-bottom{padding:20px 38px 40px;display:grid;gap:20px}
.menu-bottom .theme-picker{padding-block:12px}
.mobile-menu[open] nav .nav-link{animation:menu-enter .65s var(--reveal) both}
.mobile-menu[open] nav .nav-link:nth-child(2){animation-delay:.07s}
.mobile-menu[open] nav .nav-link:nth-child(3){animation-delay:.14s}
.mobile-menu[open] nav .nav-link:nth-child(4){animation-delay:.21s}
@keyframes menu-enter{from{clip-path:inset(100% 0 0);transform:translateY(40px)}to{clip-path:inset(0);transform:none}}
.home-hero{position:relative;background:var(--accent);transition:background-color 1s var(--reveal)}
.hero-grid-lines{position:absolute;top:var(--header);left:0;right:0;bottom:0;pointer-events:none;z-index:0;color:var(--line)}
.hero-left,.hero-right{position:relative;z-index:1}
.hero-grid-lines i{position:absolute;top:0;bottom:0;width:1px;background:currentColor}
.hero-grid-lines i:nth-child(1){left:var(--rail)}
.hero-grid-lines i:nth-child(2){left:50%}
.hero-grid-lines i:nth-child(3){right:var(--rail)}
.hero-grid{margin-inline:var(--rail);display:grid;grid-template-columns:1fr 1fr;min-height:max(100svh,56.5vw);position:relative}
.hero-left{padding-top:var(--header);min-width:0}
.hero-films{position:relative;height:100%;min-height:540px;background:var(--ink);overflow:hidden}
.hero-film{position:absolute;inset:0;visibility:hidden;pointer-events:none}
.hero-film.is-current{visibility:visible;pointer-events:auto;z-index:2}
.hero-film.is-leaving{visibility:visible;z-index:1}
.media-frame{position:relative;overflow:hidden;background:var(--ink)}
.media-frame>img,.media-frame>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-frame>video{opacity:0;transition:opacity .6s;pointer-events:none}
.media-frame.is-playing>video{opacity:1}
.hero-film-frame{height:100%}
.hero-film-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),transparent 65%);pointer-events:none}
.media-pause,.photo-pause{position:absolute;bottom:24px;left:28px;z-index:4;width:32px;height:32px;border:1px solid rgba(255,255,255,.4);border-radius:50%;color:white;display:grid;place-items:center;font-size:13px;background:rgba(0,0,0,.15);backdrop-filter:blur(6px)}
.media-pause:focus-visible{outline-color:var(--paper)}
.hero-title{position:absolute;z-index:3;top:29%;left:var(--inset);width:calc(200% - 2 * var(--inset));color:var(--paper);pointer-events:none;font-size:clamp(76px,8.4vw,160px);line-height:1.03;letter-spacing:-.065em;font-weight:900}
.title-line{display:block;overflow:hidden;padding-bottom:.06em}
.title-line>span{display:block;animation:title-enter 1.2s var(--reveal) both;transform-origin:left bottom}
.title-line:nth-child(2)>span{animation-delay:.12s}
@keyframes title-enter{from{transform:translateY(120%) rotate(6deg)}to{transform:none}}
.hero-profession{display:block;font-size:clamp(11px,1.05vw,18px);font-weight:500;letter-spacing:.055em;margin-top:28px;line-height:1.5;max-width:440px}
.hero-right{display:grid;grid-template-rows:1fr auto;min-width:0}
.photo-slideshow{position:relative;overflow:hidden;min-height:420px;background:var(--ink)}
.photo-slide{position:absolute;inset:0;visibility:hidden}
.photo-slide.is-current{visibility:visible;z-index:2}
.photo-slide.is-leaving{visibility:visible;z-index:1}
.photo-slide img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.photo-slide:nth-child(4) img{object-position:50% 55%}
.photo-pause{left:auto;right:24px;bottom:24px}
.hero-statement{background:var(--ink);color:var(--paper);padding:32px var(--inset);min-height:194px;display:flex;flex-wrap:wrap;align-content:center;gap:26px}
.hero-statement h2{font-size:clamp(22px,1.875vw,32px);line-height:1.16;letter-spacing:-.05em;flex:1 1 100%;font-weight:900}
.hero-statement .pill{align-self:flex-start}
.manifesto-section{background:var(--ink);color:var(--paper);padding-block:130px 135px}
.manifesto-copy{width:75%;margin-inline:auto}
.manifesto-copy h2,.manifesto-copy p{font-size:clamp(30px,3.15vw,54px);letter-spacing:-.055em;line-height:1.2}
.manifesto-copy h2{margin-bottom:34px}
.manifesto-copy .text-link{margin-top:52px}
.featured-section{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);padding-block:100px 140px;min-height:0;align-items:start}
.featured-section>.eyebrow{grid-column:1/-1;margin-bottom:55px}
.featured-list{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:12px;position:relative;z-index:2;margin-top:130px}
.featured-title{font-family:Gotham,Arial,sans-serif;font-weight:300;font-size:clamp(52px,6.8vw,125px);line-height:1.12;letter-spacing:-.07em;width:fit-content;white-space:nowrap;transition:color .3s,opacity .3s}
.featured-title span{display:inline-block;transition:transform .5s var(--ease)}
.featured-title.is-selected span{transform:translateX(8px)}
.featured-title:hover,.featured-title:focus-visible{color:color-mix(in srgb,var(--ink) 55%,transparent)}
.view-all{margin-top:54px;color:#666}
.featured-detail{grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:36px;width:100%;max-width:min(100%,680px);justify-self:end;margin-top:130px;padding-left:var(--inset)}
.featured-preview{position:relative;width:100%;aspect-ratio:16/10;z-index:4}
.feature-preview-hit{position:absolute;inset:0;z-index:6;border-radius:4px;cursor:pointer}
.feature-preview-hit:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
.feature-asset{position:absolute;inset:0;opacity:0;transform:translateY(20px) rotate(2deg) scale(.98);transition:opacity .45s,transform .65s var(--ease);pointer-events:none;z-index:1}
.feature-asset.is-selected{opacity:1;transform:translateY(0) rotate(-2deg) scale(1);z-index:2}
.feature-preview-hit:hover .card-hover>span,.feature-preview-hit:focus-visible .card-hover>span{opacity:1;transform:scale(1)}
.feature-media{height:100%;border-radius:4px}
.feature-media .media-pause{display:none}
.featured-description{position:relative;width:100%;min-height:200px;padding:0}
.feature-description{position:absolute;inset:0 auto auto 0;width:100%;opacity:0;transform:translateY(18px);transition:opacity .4s,transform .5s var(--ease);pointer-events:none}
.feature-description.is-selected{opacity:1;transform:none;pointer-events:auto;position:relative}
.featured-brand{font-size:16px;font-weight:500}
.feature-description p{font-size:clamp(26px,2.7vw,44px);line-height:1.15;letter-spacing:-.06em;margin-top:28px}
.feature-description .text-link{margin-top:32px}
.site-footer{background:var(--ink);color:var(--paper);position:relative}
.site-footer a,.site-footer button,.site-footer .footer-intro h2,.site-footer .availability li,.site-footer .footer-legal>span{transition:color .3s var(--ease),opacity .3s var(--ease),background-color .3s var(--ease),border-color .3s var(--ease)}
.site-footer a,.site-footer button{width:fit-content;max-width:100%}
.site-footer a:not(.marquee-link):hover,.site-footer a:not(.marquee-link):focus-visible,.site-footer button:hover,.site-footer button:focus-visible{color:var(--accent)}
.site-footer .footer-intro h2,.site-footer .availability li,.site-footer .footer-legal>span{cursor:pointer}
.site-footer .footer-intro h2:hover,.site-footer .availability li:hover,.site-footer .footer-legal>span:hover{color:var(--accent)}
.site-footer .social-unavailable:hover,.site-footer .social-unavailable:focus-visible{color:var(--accent);opacity:1}
.footer-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;width:100%;padding-top:110px;padding-bottom:105px;gap:24px clamp(20px,4vw,48px)}
.footer-intro{justify-self:start;text-align:left}
.footer-intro h2{font-size:32px;line-height:1.2;letter-spacing:-.045em;margin-bottom:32px}
.availability{font-size:20px;line-height:1.4;display:grid;gap:8px;justify-items:start}
.footer-capabilities{font-size:22px;line-height:1.35;display:flex;flex-direction:column;align-items:center;justify-self:center;text-align:center;gap:8px}
.footer-capabilities a{width:fit-content}
.footer-side{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;justify-self:end;text-align:right;align-self:stretch;min-height:100%}
.site-footer .social-links{display:grid;gap:8px;font-size:22px;line-height:1.35;justify-items:end;width:100%}
.site-footer .social-links a,.site-footer .social-links .social-unavailable{font-size:inherit;line-height:inherit;cursor:pointer}
.social-unavailable{opacity:.5}
.site-footer .social-unavailable{opacity:1}
.site-footer .back-top{font-size:22px;font-weight:500;line-height:1.35;white-space:nowrap;margin-top:36px}
.marquee{position:relative;background:var(--accent);color:var(--ink);overflow:hidden;padding-block:25px;transition:background-color 1s var(--reveal)}
.marquee-link{display:block}
.marquee-track{display:flex;width:max-content;animation:marquee 40s linear infinite;transition:color .3s var(--ease)}
.marquee-track>span{display:flex;align-items:center;gap:32px;padding-inline:25px;font-size:clamp(70px,10vw,190px);line-height:1.05;letter-spacing:-.07em;white-space:nowrap}
.marquee-track svg{width:.65em;height:.65em;flex-shrink:0}
.site-footer .marquee-link:hover .marquee-track,.site-footer .marquee-link:focus-visible .marquee-track{color:color-mix(in srgb,var(--ink) 58%,var(--paper))}
.marquee:has(a:focus-visible) .marquee-track,.marquee.is-paused .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.marquee-pause{position:absolute;bottom:8px;right:12px;border:1px solid currentColor;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:12px;background:var(--accent)}
.site-footer .marquee-pause:hover,.site-footer .marquee-pause:focus-visible{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.logo-marquee{background:var(--ink);color:var(--paper);padding-block:32px}
.logo-marquee .marquee-track{animation-duration:70s}
.logo-marquee .marquee-track>span{gap:56px;padding-inline:28px;font-size:0;line-height:0}
.logo-marquee img{height:56px;width:auto;max-width:180px;object-fit:contain;flex-shrink:0}
.logo-marquee .marquee-pause{background:var(--ink);color:var(--paper);border-color:currentColor}
.site-footer .logo-marquee .marquee-pause:hover,.site-footer .logo-marquee .marquee-pause:focus-visible{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.footer-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;padding:55px var(--edge);font-size:10px;width:100%}
.footer-brand{font-weight:900;font-size:13px;letter-spacing:-.03em}
.site-footer .back-top:hover .arrow-circle,.site-footer .back-top:focus-visible .arrow-circle{transform:translateY(-2px)}
.page-intro{padding-top:calc(var(--header) + 15px);padding-bottom:75px;background:var(--paper)}
.page-intro h1{font-size:clamp(64px,7.3vw,140px);line-height:1.02;letter-spacing:-.067em;margin-bottom:46px;max-width:1300px;font-weight:900}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:55px;padding-right:150px}
.filter{border:1px solid var(--line);border-radius:50px;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;transition:background .3s,color .3s;min-height:32px}
.filter.is-selected,.filter:hover{background:var(--ink);color:var(--paper)}
.result-count{position:absolute;right:var(--edge);margin-top:-86px;font-size:10px;letter-spacing:.1em;font-weight:500}
.intro-description{font-size:clamp(28px,3.2vw,58px);line-height:1.12;letter-spacing:-.06em;max-width:1250px}
.portfolio-feature{background:var(--paper);padding-bottom:100px}
.portfolio-feature .project-media{aspect-ratio:2.15}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px calc(var(--inset) * 2);padding-bottom:135px;background:var(--paper)}
.project-grid .project-card:nth-child(even){transform:translateY(180px)}
.project-grid{padding-bottom:315px}
.project-grid.is-filtered .project-card{transform:none}
.project-grid.is-filtered .project-card.filter-offset{transform:translateY(180px)}
.project-card{min-width:0;break-inside:avoid}
.project-image-link{display:block;position:relative}
.project-visual{position:relative}
.project-media{aspect-ratio:.84;border-radius:6px}
.project-media>img,.project-media>video{transition:opacity .5s,transform 1s var(--ease)}
.project-image-link:hover .project-media>img,.project-image-link:focus-visible .project-media>img{transform:scale(1.035)}
.project-caption{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:clamp(16px,1.65vw,24px);line-height:1.12;letter-spacing:-.035em;margin-top:16px}
.card-hover{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.card-hover>span{background:var(--accent);color:var(--ink);width:70px;height:70px;border-radius:50%;display:grid;place-items:center;opacity:0;transform:scale(.65);transition:opacity .4s,transform .4s var(--ease)}
.card-hover svg{width:32px;height:32px}
.project-image-link:hover .card-hover>span,.project-image-link:focus-visible .card-hover>span,.bts-image:hover .card-hover>span,.bts-image:focus-visible .card-hover>span{opacity:1;transform:scale(1)}
.empty-results{padding:50px var(--edge) 150px;background:var(--paper);font-size:28px}
.reel-intro{padding-bottom:55px}
.reel-intro h1{font-size:clamp(52px,5.7vw,110px);max-width:1250px}
.reel-capabilities{display:flex;gap:10px;flex-wrap:wrap}
.reel-capabilities span{font-size:11px;border:1px solid var(--line);border-radius:20px;padding:6px 12px}
.reel-section{padding-bottom:130px;background:var(--paper)}
.reel-section>.eyebrow{margin-bottom:36px}
.full-film{width:100%}
.full-film video{width:100%;background:var(--ink);aspect-ratio:16/9}
.reel-cover{display:block;position:relative}
.reel-cover-media{aspect-ratio:16/9}
.watch-overlay{position:absolute;inset:0;display:flex;flex-direction:column;gap:16px;justify-content:center;align-items:center;color:var(--paper);font-size:16px;pointer-events:none}
.watch-overlay i{font-style:normal;display:grid;place-items:center;width:84px;height:84px;border:1px solid rgba(255,255,255,.7);border-radius:50%;backdrop-filter:blur(8px);background:rgba(0,0,0,.2);transition:background .3s}
.reel-cover:hover .watch-overlay i{background:var(--accent);color:var(--ink)}
.reel-selection{display:grid;grid-template-columns:repeat(2,1fr);margin-top:35px;gap:0 40px}
.reel-selection a{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.services-intro{padding-bottom:140px}
.services-intro h1{margin-bottom:60px}
.services-layout{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--inset) * 2)}
.services-copy{padding-right:60px}
.services-copy p{font-size:clamp(24px,2.6vw,40px);letter-spacing:-.04em;line-height:1.22;margin-bottom:40px}
.service-groups{padding-left:0}
.service-group{margin-bottom:50px}
.service-group h2{font-size:20px;font-weight:500;text-transform:uppercase;letter-spacing:-.035em;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px}
.service-group li{font-size:24px;line-height:1.35;letter-spacing:-.04em}
.bts-intro{padding-bottom:100px}
.bts-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px calc(var(--inset) * 2);padding-bottom:300px}
.bts-card:nth-child(even){transform:translateY(160px)}
.bts-image{display:block;width:100%;position:relative;overflow:hidden;border-radius:5px;background:var(--ink)}
.bts-image>img{width:100%;height:auto;aspect-ratio:1.12;object-fit:cover;transition:transform .8s var(--ease)}
.bts-card.is-portrait .bts-image>img{aspect-ratio:.75}
.bts-image:hover>img{transform:scale(1.035)}
.bts-card figcaption{display:flex;justify-content:space-between;font-size:16px;margin-top:15px}
.gallery-dialog{border:0;padding:70px 70px 20px;inset:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:var(--ink);color:var(--paper);margin:0;opacity:0;transition:opacity .35s,display .35s allow-discrete,overlay .35s allow-discrete}
.gallery-dialog[open]{opacity:1}
.gallery-dialog::backdrop{background:var(--ink)}
@starting-style{.gallery-dialog[open]{opacity:0}}
.gallery-close{position:absolute;top:25px;right:30px}
.pill-close{border-radius:40px;background:var(--paper);color:var(--ink);display:flex;gap:50px;align-items:center;padding:13px 20px;font-size:14px;font-weight:500}
.pill-close span{font-size:22px;line-height:.7}
.gallery-image-container{height:calc(100% - 60px);display:grid;place-items:center}
.gallery-image-container img{max-height:100%;max-width:100%;object-fit:contain;width:auto;height:auto}
.gallery-toolbar{display:flex;justify-content:center;align-items:center;gap:45px;height:60px;font-size:12px}
.gallery-toolbar button{width:44px;height:44px;font-size:25px}
.project-hero{background:var(--accent);position:relative;overflow:hidden;min-height:max(100svh,740px);transition:background-color 1s var(--reveal)}
.project-hero-bg{position:absolute;inset:0;opacity:.14;pointer-events:none}
.project-hero-bg img{width:100%;height:100%;object-fit:cover;filter:blur(3px)}
.project-hero-grid{padding-top:calc(var(--header) + 130px);padding-bottom:90px;display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--inset)*2);align-items:start}
.project-hero-player{position:relative;width:100%;aspect-ratio:var(--project-aspect,16/9);max-height:min(78svh,920px);border-radius:6px;overflow:hidden;background:var(--ink);cursor:pointer}
.project-hero-film{width:100%;height:100%;display:block;object-fit:contain;background:var(--ink)}
.project-film-exit{position:absolute;top:18px;right:18px;z-index:5}
.project-hero-player.is-fullscreen,.project-hero-player:fullscreen{background:var(--ink);display:grid;place-items:center;width:100%;height:100%;max-height:none;border-radius:0;cursor:default}
.project-hero-player.is-fullscreen .project-hero-film,.project-hero-player:fullscreen .project-hero-film{object-fit:contain;max-height:100%;max-width:100%;width:100%;height:100%}
.project-hero-player:fullscreen .project-film-exit,.project-hero-player.is-fullscreen .project-film-exit{display:flex}
.project-hero-title{padding-left:0}
.project-client{font-size:clamp(36px,4.1vw,70px);line-height:1.1;letter-spacing:-.055em;margin-bottom:20px}
.project-hero-title h1{font-size:clamp(44px,4.6vw,84px);line-height:1.03;letter-spacing:-.055em;margin-bottom:35px;font-weight:900}
.project-hero-title>.eyebrow{margin-bottom:35px}
.next-project{display:block;position:relative;height:75svh;min-height:480px;overflow:hidden;background:var(--ink);color:var(--paper)}
.next-project>img{width:100%;height:100%;object-fit:cover;opacity:.65;transition:transform 1s var(--ease)}
.next-project:hover>img{transform:scale(1.04)}
.next-project-label{position:absolute;left:var(--edge);right:var(--edge);bottom:90px;font-size:clamp(50px,7vw,130px);line-height:1.05;letter-spacing:-.06em}
.next-project-label svg{display:inline-block;width:.75em;height:.75em;margin-left:20px}
.contact-header .desktop-nav{display:none}
.contact-header .header-cta{margin-left:auto}
.contact-header .wordmark{color:var(--paper)}
.contact-header::before{display:none}
.contact-page{padding-inline:var(--rail);display:grid;grid-template-columns:1fr 1fr;min-height:100svh;background:linear-gradient(90deg,var(--ink) 50%,var(--paper) 50%)}
.contact-left,.contact-right{padding:160px var(--inset) 80px}
.contact-left{color:var(--paper)}
.contact-left h1{font-size:clamp(50px,5.2vw,94px);line-height:1.07;letter-spacing:-.06em;margin-bottom:85px;font-weight:900}
.contact-info{font-size:18px;display:grid;gap:30px}
.contact-right{padding-left:80px}
.contact-right h2{font-size:40px;letter-spacing:-.06em;margin-bottom:55px;font-weight:900}
.contact-email{font-size:clamp(20px,2vw,32px);overflow-wrap:anywhere}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}
.contact-social{font-size:24px;gap:10px;margin:55px 0 65px}
.contact-social a,.contact-social .social-unavailable{transition:color .3s var(--ease);cursor:pointer}
.contact-social a:hover,.contact-social a:focus-visible,.contact-social .social-unavailable:hover{color:var(--accent)}
.contact-note{font-size:20px;line-height:1.4}
[data-reveal]{opacity:1}
.js [data-reveal]{transition:opacity .8s var(--reveal),clip-path .85s var(--reveal);clip-path:inset(0);opacity:1}
.js [data-reveal].reveal-pending{opacity:0;clip-path:inset(100% 0 0)}
@media(min-width:1450px){.hero-statement{flex-wrap:nowrap;gap:25px;align-items:flex-start}.hero-statement h2{flex:1 1 auto}.hero-statement .pill{flex-shrink:0}.hero-profession{font-size:16px}}
@media(max-width:1100px){:root{--rail:40px;--inset:28px}.desktop-nav{gap:24px}.header-tools{gap:22px}.theme-picker{gap:6px}.theme-dot{width:14px;height:14px}.featured-detail{padding-left:10px;max-width:min(100%,560px)}.footer-inner{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-capabilities{padding-left:0}.footer-side{padding-left:0}.services-copy{padding-right:15px}.contact-right{padding-left:45px}}
@media(max-width:767px){
 :root{--rail:18px;--inset:18px;--header:68px;--edge:36px}
 html{-webkit-text-size-adjust:100%}
 body{font-size:15px;overflow-x:clip}
 .hero-grid-lines i:nth-child(2){display:none}
 .site-header{padding-right:10px;padding-top:env(safe-area-inset-top);height:calc(var(--header) + env(safe-area-inset-top));justify-content:space-between}
 .wordmark{width:auto;min-width:0;padding-left:18px;justify-content:flex-start;font-size:13px}
 .desktop-nav,.header-tools{display:none}
 .menu-toggle{display:block}
 .home-hero{height:100svh;height:100dvh;max-height:100svh;max-height:100dvh;overflow:hidden}
 .hero-grid{display:flex;flex-direction:column;height:100%;min-height:0;max-height:100%;margin-inline:var(--rail)}
 .hero-left{flex:1 1 0;min-height:0;padding-top:calc(var(--header) + env(safe-area-inset-top));height:auto;order:0;display:flex;flex-direction:column;container-type:inline-size}
 .hero-films{flex:1 1 0;height:auto;min-height:0}
 .hero-title{top:auto;bottom:12px;left:10px;width:calc(100% - 20px);font-size:16.2vw;font-size:min(17.6cqi,16.2vw);line-height:.92;letter-spacing:-.055em;font-weight:900}
 .hero-title .title-line{font-weight:900;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;-webkit-text-stroke:1.6px currentColor;paint-order:stroke fill;text-shadow:.5px 0 currentColor,-.5px 0 currentColor,0 .5px currentColor,0 -.5px currentColor}
 .hero-profession{font-size:10px;max-width:250px;margin-top:10px;letter-spacing:.04em;font-weight:500;-webkit-text-stroke:0;text-shadow:none}
 .hero-right{display:contents}
 .photo-slideshow{flex:0 0 15svh;height:15svh;min-height:88px;max-height:132px;order:1;margin-top:0;z-index:3}
 .hero-statement{flex:0 0 auto;order:2;padding:14px 18px calc(14px + env(safe-area-inset-bottom));min-height:0;gap:12px;align-content:center}
 .hero-statement h2{font-size:clamp(18px,5.2vw,22px);max-width:none;letter-spacing:-.06em}
 .pill{font-size:14px;min-height:44px}
 .hero-film-frame .media-pause{display:none}
 .photo-pause{right:14px;bottom:14px}
 .manifesto-section{padding-block:64px 72px}
 .manifesto-copy{width:100%}
 .manifesto-copy h2,.manifesto-copy p{font-size:24px;letter-spacing:-.05em;line-height:1.28}
 .manifesto-copy h2{margin-bottom:22px}
 .manifesto-copy .text-link{margin-top:28px}
 .featured-section{display:block;min-height:0;padding-block:64px 72px}
 .featured-section>.eyebrow{margin-bottom:28px}
 .ruled{width:min(240px,100%)}
 .featured-list{gap:10px;margin-top:0}
 .featured-title{font-size:clamp(40px,10.5vw,68px);line-height:1.12;white-space:normal;letter-spacing:-.065em;font-weight:300}
 .featured-title.is-selected span{transform:none}
 .view-all{margin-top:22px;font-size:14px}
 .featured-detail{max-width:none;margin:36px 0 0;padding:0;gap:22px}
 .featured-preview{width:100%;max-width:none;margin:0;aspect-ratio:16/10;overflow:hidden}
 .feature-asset,.feature-asset.is-selected{transform:none}
 .featured-description{margin:0;padding:0;min-height:0}
 .feature-description p{font-size:26px;margin-top:10px}
 .feature-description .text-link{margin-top:16px}
 .footer-inner{grid-template-columns:1fr;gap:32px;padding-block:56px}
 .footer-intro,.footer-capabilities,.footer-side{justify-self:stretch;text-align:left;align-items:flex-start}
 .footer-intro h2{font-size:24px;margin-bottom:16px}
 .availability{font-size:17px;gap:6px;justify-items:start}
 .footer-capabilities{padding:0;font-size:17px;line-height:1.5;gap:6px;align-items:flex-start}
 .footer-side{grid-column:1/-1;flex-direction:column;flex-wrap:nowrap;gap:28px;align-items:flex-start;justify-content:flex-start;min-height:0;text-align:left}
 .site-footer .social-links{justify-items:start;font-size:17px;line-height:1.5;gap:6px;width:auto}
 .site-footer .back-top{font-size:17px;margin-top:0}
 .marquee{padding-block:18px}
 .marquee-track>span{font-size:clamp(42px,14vw,64px);gap:16px;padding-inline:16px}
 .logo-marquee{padding-block:20px}
 .logo-marquee .marquee-track>span{gap:28px;padding-inline:16px}
 .logo-marquee img{height:36px;max-width:120px}
 .footer-legal{flex-wrap:wrap;justify-content:flex-start;gap:12px 16px;padding:28px var(--edge) calc(28px + env(safe-area-inset-bottom));font-size:9px}
 .footer-brand{flex:1 1 100%;font-size:13px}
 .page-intro{padding-top:calc(var(--header) + env(safe-area-inset-top) + 28px);padding-bottom:44px}
 .page-intro h1{font-size:clamp(36px,11vw,48px);letter-spacing:-.067em;line-height:1.05;margin-bottom:28px}
 .filters{padding-right:0;gap:8px;margin-bottom:24px}
 .filter{min-height:40px;font-size:9px;padding:8px 12px}
 .result-count{position:static;margin:0 0 24px;font-size:10px}
 .intro-description{font-size:24px;line-height:1.2}
 .portfolio-feature{padding-bottom:40px}
 .portfolio-feature .project-media{aspect-ratio:16/10}
 .project-grid{grid-template-columns:1fr;gap:40px;padding-bottom:72px}
 .project-grid .project-card:nth-child(even){transform:none}
 .project-grid.is-filtered .project-card.filter-offset{transform:none}
 .project-media{aspect-ratio:16/10}
 .project-caption{grid-template-columns:1fr;font-size:16px;gap:6px;margin-top:12px}
 .media-pause{bottom:14px;left:14px}
 .reel-intro h1{font-size:32px;line-height:1.16}
 .reel-capabilities{gap:8px}
 .reel-capabilities span{font-size:10px}
 .reel-section{padding-bottom:72px}
 .reel-selection{grid-template-columns:1fr;margin-top:20px}
 .reel-selection a{grid-template-columns:1fr auto;gap:10px;font-size:14px}
 .watch-overlay i{width:60px;height:60px}
 .services-layout{grid-template-columns:1fr;gap:20px}
 .services-copy{padding:0}
 .services-copy p{font-size:22px;margin-bottom:22px}
 .services-intro{padding-bottom:56px}
 .service-group{margin-top:24px;margin-bottom:28px}
 .service-group h2{font-size:14px;padding-bottom:12px;margin-bottom:14px}
 .service-group li{font-size:20px}
 .bts-intro{padding-bottom:44px}
 .bts-grid{grid-template-columns:1fr;gap:36px;padding-bottom:72px}
 .bts-card:nth-child(even){transform:none}
 .bts-card figcaption{font-size:14px;gap:12px}
 .gallery-dialog{padding:75px 18px 12px;width:100%;height:100dvh}
 .gallery-close{right:16px;top:calc(16px + env(safe-area-inset-top))}
 .project-hero{min-height:100svh;min-height:100dvh}
 .project-hero-grid{min-height:100svh;min-height:100dvh;padding-top:calc(var(--header) + env(safe-area-inset-top) + 20px);padding-bottom:max(32px,env(safe-area-inset-bottom));grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:24px;align-content:stretch}
 .project-hero-player{height:100%;max-height:calc(100svh - var(--header) - env(safe-area-inset-top) - 200px);align-self:center}
 .project-client{font-size:clamp(28px,9vw,36px);margin-bottom:12px}
 .project-hero-title h1{font-size:clamp(32px,10vw,42px);margin-bottom:16px}
 .project-hero-title>.eyebrow{margin-bottom:18px}
 .film-credit{font-size:13px;gap:20px}
 .next-project{height:50svh;min-height:280px}
 .next-project-label{font-size:clamp(28px,9vw,40px);bottom:36px}
 .menu-top{padding-top:env(safe-area-inset-top);height:calc(68px + env(safe-area-inset-top));padding-right:10px}
 .mobile-menu nav,.menu-bottom{padding-inline:24px}
 .mobile-menu .nav-link{font-size:32px}
 .contact-header{padding-right:18px}
 .contact-header .header-cta{font-size:12px;padding:12px 16px}
 .contact-page{display:block;padding-inline:0;background:var(--paper)}
 .contact-left{background:var(--ink);padding:120px var(--edge) 60px}
 .contact-left h1{font-size:42px;margin-bottom:36px}
 .contact-info{font-size:16px;gap:25px}
 .contact-right{padding:48px var(--edge) 64px}
 .contact-right h2{font-size:32px;margin-bottom:24px}
 .contact-social{font-size:20px;margin:36px 0}
 .contact-email{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
 :root{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .marquee-track{animation:none!important}
 .title-line>span{transform:none}
 .js [data-reveal].reveal-pending{opacity:1;clip-path:none}
 .card-hover>span{transform:none}
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

/* Four staggered curtains follow the same rails as every page. */
.page-transition{position:fixed;inset:0;z-index:1000;visibility:hidden;pointer-events:none}
.page-transition.is-active,.nav-arriving .page-transition{visibility:visible;pointer-events:auto}
.is-navigating,.nav-arriving{overflow:hidden}
.transition-mask-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
[data-transition-mask]{transform:scaleY(0);transform-origin:center top;transform-box:fill-box}
.transition-background{position:absolute;inset:0;display:grid;grid-template-columns:var(--rail) 1fr 1fr var(--rail)}
.transition-background>i{background:#222;transform:scaleY(0);transform-origin:center top}
.transition-foreground{position:absolute;inset:0;background:var(--accent);color:var(--ink);mask:url(#everson-page-mask);-webkit-mask:url(#everson-page-mask);display:grid;place-items:center}
.transition-logo{width:200px;text-align:center;transform:translateY(-100px);line-height:1}
.transition-logo>span{font-weight:900;font-size:33px;letter-spacing:-1.8px;display:block}
.transition-logo>small{font-weight:300;font-size:13px;letter-spacing:7px;margin-top:10px;padding-left:7px;display:block}
.transition-lines{position:absolute;inset:0;pointer-events:none}
.transition-lines>i{position:absolute;inset-block:0;width:1px;background:rgba(13,13,13,.15)}
.transition-lines>i:nth-child(1){left:var(--rail)}
.transition-lines>i:nth-child(2){left:50%}
.transition-lines>i:nth-child(3){right:var(--rail)}
.nav-arriving [data-transition-mask],.nav-arriving .transition-background>i{transform:scaleY(1)}
.nav-arriving .transition-logo{transform:none}
.nav-arriving .title-line>span{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.page-transition{display:none!important}.nav-arriving,.is-navigating{overflow:visible}}
