@font-face{font-family:Manrope;src:url('assets/fonts/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--bg:#080808;--fg:#f2eee6;--muted:#a4a3a0;--rule:#2a2a28;--red:#df352f;--gutter:clamp(22px,5.3vw,100px);color-scheme:dark;font-family:Manrope,Arial,sans-serif;font-size:16px;font-weight:400;background:var(--bg);color:var(--fg)}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:105px}html.is-ready{scroll-behavior:smooth}body{margin:0}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,summary,a{-webkit-tap-highlight-color:transparent}button{background:none;border:0}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--fg);outline-offset:7px}button:disabled{opacity:.5}::selection{background:var(--fg);color:var(--bg)}h1,h2,h3,p{margin:0;font-weight:400}img,video{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.skip-link{position:fixed;top:10px;left:100px;z-index:30;background:var(--fg);color:var(--bg);padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:20;inset:0 0 auto;display:flex;align-items:center;padding:13px 28px;gap:30px;transition:background .25s;background:linear-gradient(#08080880,transparent)}.site-header.scrolled{background:#080808f5}.brand{display:flex;align-items:center;justify-content:center;width:64px;height:64px;flex:none}.brand img{width:58px;height:58px}.primary-nav{margin-left:auto;display:flex;align-items:center;gap:34px;font-size:14px;letter-spacing:-.025em}.primary-nav a{padding:12px 0;position:relative}.primary-nav a:after{content:'';height:1px;position:absolute;bottom:8px;left:0;right:0;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.primary-nav a:hover:after{transform:scaleX(1)}.language{font-size:12px;min-height:44px;min-width:38px;color:var(--muted)}.language:hover{color:var(--fg)}.menu-toggle{display:none}.mobile-menu{position:fixed;z-index:19;inset:0;background:var(--bg);padding:130px var(--gutter) 50px;flex-direction:column;gap:30px}.mobile-menu a{font-size:clamp(30px,6vw,46px);letter-spacing:-.045em}
.hero{padding:0}.hero-frame{height:100svh;min-height:320px;position:relative;background:#111;overflow:hidden}.hero-frame>video{width:100%;height:100%;object-fit:cover}.hero-controls{position:absolute;bottom:24px;right:24px;display:flex;gap:8px;align-items:center}.hero-controls button{min-height:44px;background:#080808b3;border:1px solid #ffffff25;border-radius:24px;padding:0 16px;font-size:12px;display:flex;align-items:center;gap:13px;transition:background .2s}.hero-controls button:hover{background:#080808ba}#hero-play{width:44px;padding:0;justify-content:center}#hero-play svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.works{padding:76px var(--gutter) 88px;max-width:1920px;margin:auto}.section-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:58px;font-size:13px;color:var(--muted)}.section-label h2{font-size:14px;letter-spacing:-.025em}.section-label>span{font-size:12px}.work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:48px;align-items:start}.work--one{grid-column:1/8;grid-row:1}.work--portrait{grid-column:10/13;grid-row:1;margin-top:130px}.work--three{grid-column:2/8;grid-row:2}.work--four{grid-column:7/13;grid-row:3;margin-top:-40px}.work-media{display:block;position:relative;padding:0;width:100%;aspect-ratio:16/9;overflow:hidden;background:#111;border-radius:0;isolation:isolate}.work-media img,.work-media video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform 1s cubic-bezier(.2,.6,.2,1)}.work-media video{opacity:0}.work-media.is-playing video{opacity:1}.work-media--portrait{aspect-ratio:9/16}.work-media:hover img,.work-media:hover video{transform:scale(1.025)}.work-caption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:18px;letter-spacing:-.025em}.work-caption h3{font-size:16px}.work-caption>span{font-size:12px;color:var(--muted);text-align:right}.work-role{color:#878783;font-size:12px;margin-top:7px;line-height:1.6}.work--portrait .work-caption{flex-direction:column;gap:5px}.work--portrait .work-caption>span{text-align:left}
.services,.brands{margin:0 var(--gutter);display:grid;grid-template-columns:1fr 2fr;gap:7vw}.studio{padding:140px 0 150px;border-top:1px solid var(--rule)}.studio-heading img{margin:-15px 0 22px -12px}.studio h2,.services h2,.brands h2{font-size:14px;color:var(--muted);letter-spacing:-.02em}.statement{font-size:clamp(34px,4.7vw,74px);line-height:1.06;letter-spacing:-.057em;max-width:15ch;margin-bottom:35px}.studio-copy>p:last-child{font-size:18px;line-height:1.6;letter-spacing:-.025em;max-width:42ch;color:var(--muted)}.services{padding:0 0 130px}.services h2{padding-top:20px}.service-list details{border-top:1px solid var(--rule)}.service-list summary{padding:20px 0;list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:clamp(21px,2.5vw,38px);letter-spacing:-.045em}.service-list summary::-webkit-details-marker{display:none}.expand{font-size:20px;color:var(--muted);transition:transform .25s}.service-list details[open] .expand{transform:rotate(45deg)}.service-list details p{font-size:16px;line-height:1.65;color:var(--muted);max-width:50ch;padding:0 35px 28px 0}.text-link{display:inline-block;margin-top:32px;font-size:14px;border-bottom:1px solid #6b6b68;padding-bottom:5px}.brands{padding:0 0 150px}.brands h2{padding-top:5px}.brand-links{display:flex;flex-direction:column;gap:20px}.brand-links a{font-size:20px;letter-spacing:-.025em;max-width:430px;display:flex;justify-content:space-between}
footer{margin:0 var(--gutter);border-top:1px solid var(--rule);padding:64px 0 28px}.contact-top{display:flex;justify-content:space-between;align-items:baseline;gap:40px}.contact-top p{font-size:14px;color:var(--muted)}.contact-top>a{font-size:clamp(36px,7vw,110px);letter-spacing:-.065em;line-height:1.1}.footer-wordmark{width:100%;height:auto;margin:85px 0 65px;opacity:.93}.footer-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--muted)}.footer-meta a:hover{color:var(--fg)}
/* A full-screen film with one accessible close control. */
.film-dialog{position:fixed;inset:0;border:0;margin:0;padding:calc(env(safe-area-inset-top,0px) + 60px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:#080808;color:var(--fg);width:100%;max-width:none;height:100dvh;max-height:none;overflow:hidden}.film-dialog::backdrop{background:#080808}.film-dialog[open]{display:flex;align-items:center;justify-content:center}#film-close{position:absolute;z-index:2;top:calc(env(safe-area-inset-top,0px) + 6px);right:calc(env(safe-area-inset-right,0px) + 8px);width:48px;height:48px;padding:12px;display:grid;place-items:center;border:0;border-radius:50%;background:#080808;color:var(--fg)}#film-close svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}#film-close:hover{background:#222}#film-close:focus-visible{outline:1px solid var(--fg);outline-offset:-5px}#film-player{display:block;width:100%;height:100%;min-height:0;object-fit:contain;background:#080808}
@media(min-width:1700px){.work--portrait{margin-top:160px}.work-grid{row-gap:64px}.works{padding-bottom:100px}}
@media(max-width:1000px){.work--one{grid-column:1/9}.work--portrait{grid-column:9/13;margin-top:110px}.work--three{grid-column:1/9}.work--four{grid-column:5/13}.work-grid{column-gap:28px;row-gap:44px}.services,.brands{grid-template-columns:1fr 2fr;gap:45px}.studio{padding:100px 0}.hero-frame{min-height:320px}}
@media(max-width:640px){html{scroll-padding-top:85px}.site-header{padding:8px 13px;gap:12px}.brand{width:48px;height:52px}.brand img{width:48px;height:48px}.primary-nav{display:none}.language{margin-left:auto}.menu-toggle{display:block;font-size:14px;min-width:52px;min-height:44px}.mobile-menu:not([hidden]){display:flex}.hero{padding:0}.hero-frame{height:100svh;min-height:320px;max-height:none}.hero-controls{right:14px;bottom:14px}.works{padding-top:48px;padding-bottom:64px}.section-label{margin-bottom:36px}.work-grid{display:flex;flex-direction:column;gap:36px}.work{width:94%;margin:0!important}.work--portrait{width:66%;align-self:flex-end}.work--three{width:92%}.work--four{width:94%;align-self:flex-end}.work-caption{flex-wrap:wrap;gap:6px}.work-caption h3{font-size:16px}.work-caption>span{font-size:12px}.services,.brands{display:block}.studio{padding:70px 0 90px}.studio-heading{display:flex;align-items:center;gap:14px;margin-bottom:32px}.studio-heading img{width:47px;height:47px;margin:0}.statement{font-size:42px;max-width:15ch;margin-bottom:26px}.studio-copy>p:last-child{font-size:16px;line-height:1.7}.services{padding-bottom:85px}.services h2,.brands h2{margin-bottom:26px;padding:0}.service-list summary{font-size:24px;padding:20px 0}.brands{padding-bottom:90px}.brand-links{gap:24px}.brand-links a{font-size:18px}footer{padding-top:36px}.contact-top{display:block}.contact-top>a{display:inline-block;margin-top:25px;font-size:55px}.footer-wordmark{margin:60px 0 45px}.footer-meta{display:grid;grid-template-columns:1fr 1fr;font-size:12px;gap:20px 12px}.footer-meta>:nth-child(even){text-align:right}}
@media(prefers-reduced-motion:reduce){html,html.is-ready{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Scroll motion, proportion-aware work layout and studio photography. */
.hero-frame>video{transform:var(--hero-transform,scale(1.04))}
.work-media:not(.work-media--portrait) img,.work-media:not(.work-media--portrait) video{transform:translateY(var(--parallax-y,0px)) scale(1.18);transition:none}
.work--four{grid-column:6/13;grid-row:3;margin-top:-45px}.work--five{grid-column:1/8;grid-row:4;margin-top:-15px}
.photography{padding:0 0 150px;overflow:hidden}.photo-heading{margin:0 var(--gutter) 38px;display:flex;align-items:center;justify-content:space-between;gap:24px}.photo-heading h2{font-size:16px;letter-spacing:-.03em}.photo-controls{display:flex;align-items:center;gap:10px}.photo-controls>span{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;margin-right:18px}.photo-controls button{width:44px;height:44px;border:1px solid var(--rule);border-radius:50%;font-size:21px;transition:background .2s,color .2s}.photo-controls button:not(:disabled):hover{background:var(--fg);color:var(--bg)}.photo-track{display:flex;align-items:flex-start;gap:34px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);padding:0 var(--gutter) 14px;scrollbar-width:none;cursor:grab;position:relative;overscroll-behavior-x:contain}.photo-track:focus-visible{outline:1px solid var(--muted);outline-offset:-1px}.photo-track::-webkit-scrollbar{display:none}.photo-track.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.photo-slide{flex:none;width:clamp(245px,27vw,450px);margin:0;scroll-snap-align:start}.photo-slide:nth-child(even){padding-top:64px;width:clamp(220px,23vw,390px)}.photo-slide img{width:100%;height:auto;object-fit:contain;user-select:none}.photo-slide:nth-child(2) img,.photo-slide:nth-child(5) img{object-fit:contain;background:#101010}.photo-slide figcaption{font-size:12px;color:var(--muted);margin-top:14px}.photo-bottom{display:flex;justify-content:space-between;align-items:center;gap:32px;margin:35px var(--gutter) 0}.photo-bottom p{font-size:13px;color:var(--muted)}.photo-progress{height:1px;width:180px;background:var(--rule)}.photo-progress span{display:block;height:100%;width:100%;background:var(--fg);transform:scaleX(.06);transform-origin:left}
@media(max-width:1000px){.work--four{grid-column:5/13}.work--five{grid-column:1/9}.photo-track{gap:24px}}
@media(max-width:640px){.work--four{width:100%}.work--five{width:94%;align-self:flex-start}.work-media--portrait{aspect-ratio:9/16}.work-media--portrait img,.work-media--portrait video{object-fit:contain}.photography{padding-bottom:95px}.photo-heading{margin-bottom:28px;gap:12px}.photo-heading h2{font-size:14px}.photo-controls{gap:7px}.photo-controls>span{margin-right:4px}.photo-controls button{width:40px;height:40px}.photo-track{gap:20px}.photo-slide{width:72vw}.photo-slide:nth-child(even){width:64vw;padding-top:38px}.photo-bottom{margin-top:26px;gap:20px}.photo-progress{width:90px}.photo-bottom p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-poster img,.hero-frame>video,.work-media:not(.work-media--portrait) img,.work-media:not(.work-media--portrait) video{transform:none;will-change:auto}}

/* Portfolio sequence: Maserati, Jack Daniel's, Spa, Sandra López, Nieve. */
.work--one{grid-column:1/8;grid-row:1}.work--two{grid-column:6/13;grid-row:2}.work--three{grid-column:1/8;grid-row:3}.work--four{grid-column:10/13;grid-row:3/5;margin-top:130px}.work--five{grid-column:1/8;grid-row:4;margin-top:0}
@media(min-width:1700px){.work--four{margin-top:160px}}
@media(max-width:1000px){.work--one,.work--three,.work--five{grid-column:1/9}.work--two{grid-column:5/13}.work--four{grid-column:9/13;margin-top:110px}}
@media(max-width:640px){.work--one,.work--two,.work--three,.work--five{width:94%}.work--two{align-self:flex-end}.work--three{align-self:flex-start}.work--four{width:66%;align-self:flex-end}.work--five{align-self:flex-start}}

/* A single screen of text, illuminated by the reader's scroll. */
.studio.manifesto{margin:0;min-height:100svh;border:0;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;gap:0;width:100%;padding:110px var(--gutter);position:relative}
.manifesto-text{width:min(100%,1280px);min-width:0;margin-inline:auto;text-align:center;font-size:clamp(28px,2.7vw,46px);line-height:1.5;letter-spacing:-.035em;text-wrap:pretty}
.manifesto-word{display:inline-block;color:var(--fg);opacity:var(--word-light,1)}
@media(max-width:640px){.studio.manifesto{padding:95px var(--gutter)}.manifesto-text{font-size:clamp(25px,6.5vw,32px);line-height:1.45;letter-spacing:-.025em}}
@media(prefers-reduced-motion:reduce){.manifesto-word{opacity:1!important;text-shadow:none!important}}

@media(max-height:500px) and (min-width:641px){.studio.manifesto{padding-block:60px}.manifesto-text{font-size:clamp(23px,2.7vw,36px);line-height:1.4}}
@media(max-height:500px) and (max-width:640px){.studio.manifesto{padding-block:50px}.manifesto-text{font-size:clamp(20px,4vw,25px);line-height:1.4}}

/* Fine ivory outlines keep dark media distinct from the page. */
:root{--media-outline:rgba(242,238,230,.32)}
.hero-frame::after,.work-media::after{content:'';position:absolute;inset:0;z-index:2;border:1px solid var(--media-outline);pointer-events:none}
.hero-controls{z-index:3}
.photo-slide img{outline:1px solid var(--media-outline);outline-offset:-1px}

.work{transform:translateY(var(--work-y,0px))}
@media(prefers-reduced-motion:reduce){.work{transform:none;will-change:auto}}

/* Promote only visible moving layers; avoid retaining the entire portfolio on the GPU. */
.work.is-motion-active,.hero-frame.is-motion-active>video,.work.is-motion-active .work-media:not(.work-media--portrait) img,.work.is-motion-active .work-media:not(.work-media--portrait) video{will-change:transform}
/* Phone cards move as one unit; their images keep the original framing. */
@media(max-width:640px),(max-width:1000px) and (max-height:500px) and (pointer:coarse){.work-media img,.work-media video,.work.is-motion-active .work-media img,.work.is-motion-active .work-media video{transform:none;will-change:auto}}
@media(prefers-reduced-motion:reduce){.work.is-motion-active,.hero-frame.is-motion-active>video,.work.is-motion-active .work-media img,.work.is-motion-active .work-media video{will-change:auto}}

@keyframes panel-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.contact-channels{display:flex;justify-content:flex-end;align-items:center;gap:16px;flex-wrap:wrap;margin-top:30px}.contact-channels a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 19px;border:1px solid var(--rule);border-radius:28px;font-size:13px;transition:border-color .2s}.contact-channels a:hover{border-color:var(--fg)}.contact-channels .contact-whatsapp{background:var(--fg);color:var(--bg);border-color:var(--fg)}.contact-channels .contact-handle{color:var(--muted);font-size:12px}.contact-icon{width:19px;height:19px;flex:none}
@media(max-width:640px){.contact-channels{align-items:stretch;justify-content:flex-start;gap:12px;margin-top:28px}.contact-channels a{width:100%;flex-wrap:wrap}}
.film-dialog[open],.mobile-menu:not([hidden]){animation:panel-enter .2s cubic-bezier(.22,1,.36,1) both}
.work-media::after{transition:opacity .18s;opacity:.75}.work-media:hover::after,.work-media:focus-visible::after{opacity:1}

/* Local service context and crawlable language navigation. */
.language{display:inline-flex;align-items:center;justify-content:center}
.services-intro p{font-size:15px;line-height:1.65;max-width:28ch;margin-top:22px;color:var(--muted)}
@media(max-width:640px){.services-intro{margin-bottom:32px}.services-intro h2{margin-bottom:12px}.services-intro p{max-width:42ch;margin-top:0}}

/* Keep a real image on screen until the first decoded video frame, including iOS webviews. */
.hero-poster{position:absolute;inset:0;display:block}
.hero-poster img{width:100%;height:100%;object-fit:cover;transform:var(--hero-transform,scale(1.04))}
.hero-frame>video{position:relative;opacity:0}
.hero-frame.is-playing>video{opacity:1}
.work-caption h3 a:hover{text-decoration:underline;text-underline-offset:4px}
/* Each film also has an accessible, shareable watch page. */
.watch-header{display:flex;align-items:center;gap:28px;padding:18px var(--gutter);font-size:13px}.watch-header>a:nth-child(2){margin-left:auto}.watch-header img{width:54px;height:54px}
.watch-page{max-width:1440px;margin:auto;padding:36px var(--gutter) 72px}.watch-page h1{font-size:clamp(23px,3vw,44px);letter-spacing:-.035em;margin-bottom:26px}.watch-player{width:100%;aspect-ratio:16/9;max-height:72svh;object-fit:contain;background:#111;outline:1px solid var(--media-outline)}.watch-player--portrait{aspect-ratio:9/16;width:auto;max-width:100%;height:68svh;margin:auto}.watch-description{max-width:70ch;line-height:1.7;font-size:16px;margin:24px 0 10px}.watch-role{font-size:13px;color:var(--muted);margin-bottom:24px}
@media(max-width:640px){.watch-header{gap:18px}.watch-page{padding-top:24px}.watch-player{max-height:65svh}.watch-description{font-size:15px}}

/* Center the expanded phone menu. */
.menu-toggle{display:none;min-height:44px;min-width:52px;font-size:14px;margin-left:auto}
.primary-nav+.menu-toggle{margin-left:0}
.mobile-menu:not([hidden]){display:flex}
.mobile-menu{justify-content:center;align-items:center;text-align:center;gap:clamp(14px,3svh,30px);padding:88px var(--gutter);overflow-y:auto}
.mobile-menu a{display:flex;align-items:center;justify-content:center;min-height:44px}
.mobile-menu .language{margin:10px 0 0;font-size:16px;color:var(--muted)}
@media(max-width:640px){.primary-nav+.menu-toggle{margin-left:auto}.work-grid{gap:90px}.works{padding-top:72px;padding-bottom:100px}}
@media(max-height:500px){.mobile-menu{gap:4px;padding-block:62px 20px}.mobile-menu a{font-size:24px;min-height:36px}.mobile-menu .language{margin-top:0;font-size:14px}}

.watch-header{position:relative;z-index:4}.watch-menu summary{min-height:44px;display:flex;align-items:center;cursor:pointer;list-style:none}.watch-menu summary::-webkit-details-marker{display:none}.watch-menu nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:24px var(--gutter) 32px;background:var(--bg);border-bottom:1px solid var(--rule)}.watch-menu nav a{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:22px}.watch-menu nav a:last-child{font-size:16px;color:var(--muted)}

/* Show the complete navigation on desktop/tablet; use only Menu on phones. */
.primary-nav{display:flex;gap:clamp(16px,2.4vw,34px)}
.primary-nav .language{margin-left:0;font-size:14px}
.mobile-menu:not([hidden]){display:none}
.watch-nav{display:flex;align-items:center;gap:clamp(16px,2.4vw,34px);margin-left:auto;font-size:14px}
.watch-nav a{display:flex;align-items:center;min-height:44px}
.watch-nav a[hreflang]{color:var(--muted)}
.watch-menu{display:none;margin-left:auto}
@media(max-width:640px), (max-width:1000px) and (max-height:500px) and (pointer:coarse){
  .primary-nav,.watch-nav{display:none}
  .menu-toggle{display:block}
  .primary-nav+.menu-toggle{margin-left:auto}
  .mobile-menu:not([hidden]){display:flex}
  .watch-menu{display:block}
}
.watch-menu nav{max-height:calc(100svh - 90px);overflow-y:auto}
@media(max-height:500px){.watch-menu nav{padding-block:8px 16px;gap:4px}.watch-menu nav a{min-height:36px;font-size:20px}}
.footer-legal{display:flex;justify-content:flex-end;gap:24px;margin-top:14px;font-size:12px;color:var(--muted)}.footer-legal a{display:flex;align-items:center;min-height:44px}.footer-legal a:hover{color:var(--fg)}
.legal-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px var(--gutter);border-bottom:1px solid var(--rule)}.legal-header img{width:160px;height:auto}.legal-header nav,.legal-bottom nav{display:flex;gap:24px;font-size:13px}.legal-header nav a,.legal-bottom a{min-height:44px;display:flex;align-items:center}.legal-page{max-width:850px;margin:auto;padding:56px 26px 70px}.legal-date{font-size:12px;color:var(--muted)}.legal-page h1{font-size:clamp(32px,5vw,54px);line-height:1.15;letter-spacing:-.045em;margin:20px 0 45px}.legal-page h3{font-size:20px;letter-spacing:-.02em;margin:32px 0 12px}.legal-page p:not(.legal-date){font-size:15px;line-height:1.85;color:#c2c0b9}.legal-page p+p{margin-top:15px}.legal-page p a{text-decoration:underline;text-underline-offset:4px}.legal-contact{margin-top:42px;border-top:1px solid var(--rule);padding-top:30px}.legal-contact h2{font-size:25px;margin-bottom:15px}.legal-button{display:inline-flex;align-items:center;min-height:48px;margin-top:24px;padding:13px 22px;background:var(--fg);color:var(--bg);border-radius:30px;font-size:13px}.legal-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:16px;font-size:12px;color:var(--muted)}@media(max-width:640px){.legal-header img{width:120px}.legal-header nav{gap:16px;font-size:12px}.legal-page{padding-top:35px}.footer-legal{justify-content:flex-start}.legal-bottom{flex-wrap:wrap}}

/* Each website uses its own current project artwork. */
.web-projects{max-width:1920px;margin:auto;padding:30px var(--gutter) 150px}.web-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:52px}.web-heading>p{font-size:clamp(36px,4.6vw,76px);line-height:1.08;letter-spacing:-.055em;max-width:12ch}.web-heading>span{font-size:13px;color:var(--muted);padding-bottom:5px}.web-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 28px}.web-project{min-width:0;display:block}.web-visual{position:relative;overflow:hidden;background:#141412;border:1px solid var(--rule);aspect-ratio:1200/630}.web-visual img{width:100%;height:100%;object-fit:contain;transition:transform .6s cubic-bezier(.2,.6,.2,1)}.web-project:hover .web-visual img{transform:scale(1.025)}.web-open{display:flex;align-items:center;justify-content:center;position:absolute;right:18px;bottom:18px;width:42px;height:42px;border-radius:50%;background:var(--fg);color:var(--bg);font-size:22px;transition:transform .25s}.web-project:hover .web-open{transform:translate(2px,-2px)}.web-caption{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding-top:18px;font-size:12px;color:var(--muted)}.web-caption h3{color:var(--fg);font-size:16px;letter-spacing:-.025em}
.legal-page h2{font-size:20px;letter-spacing:-.02em;margin:32px 0 12px}.legal-contact h2{font-size:25px;margin-top:0}
@media(max-width:640px){.web-projects{padding-top:0;padding-bottom:95px}.web-projects .section-label{margin-bottom:30px}.web-heading{display:block;margin-bottom:32px}.web-heading>p{font-size:42px}.web-heading>span{display:block;margin-top:20px}.web-grid{grid-template-columns:1fr;gap:34px}.web-caption{gap:8px;flex-wrap:wrap;font-size:11px}.web-caption h3{font-size:15px}.web-open{right:12px;bottom:12px;width:36px;height:36px;font-size:20px}}

@media(prefers-reduced-motion:reduce){.hero-frame{--hero-transform:none}.web-visual img,.web-open{transition:none}.web-project:hover .web-visual img,.web-project:hover .web-open{transform:none}}

/* A compact brand signature and clearly grouped footer navigation. */
#contact{padding-top:0}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(28px,4vw,70px);padding:60px 0 70px}.footer-brand{padding-right:25px;min-width:0}.footer-brand>a{display:block;width:min(100%,240px)}.footer-logo{width:100%;height:auto}.footer-brand p{font-size:13px;color:var(--muted);line-height:1.6;margin-top:24px}.footer-brand>span{display:block;font-size:12px;color:var(--muted);margin-top:12px}.footer-column{min-width:0}.footer-column h2{font-size:13px;color:var(--muted);margin:0 0 18px;line-height:1.5}.footer-column nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0;font-size:14px;color:var(--fg)}.footer-column nav a{display:flex;align-items:center;gap:8px;min-height:40px;line-height:1.5;padding:4px 0;border:0}.footer-column nav a:hover{text-decoration:underline;text-underline-offset:5px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--rule);padding-top:20px;font-size:12px;color:var(--muted)}.footer-bottom>a{min-height:44px;display:flex;align-items:center;gap:12px}.footer-bottom>a:hover{color:var(--fg)}
@media(max-width:900px){.footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:40px 28px}.footer-brand{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;align-items:center;padding:0}.footer-brand>a{max-width:200px}.footer-brand p,.footer-brand>span{margin:0}}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr 1fr;padding:38px 0 40px;gap:34px 24px}.footer-brand{display:block;grid-column:1/-1;padding-bottom:8px}.footer-brand>a{max-width:190px}.footer-brand p{margin-top:18px}.footer-brand>span{margin-top:8px}.footer-column h2{margin-bottom:12px;font-size:12px}.footer-column nav{font-size:13px;gap:0}.footer-column nav a{min-height:44px}.footer-bottom{padding-top:14px;font-size:11px}}

@media(max-width:640px){.footer-grid>.footer-column:nth-child(2){grid-column:1;grid-row:2/4}.footer-contact{grid-column:2;grid-row:2}.footer-grid>.footer-column:last-child{grid-column:2;grid-row:3}}
