/* General Sans © Indian Type Foundry. Official, unmodified font under ITF FFL. */
@font-face{font-family:General Sans;src:url('/assets/fonts/general-sans-variable.woff2') format('woff2');font-weight:200 700;font-style:normal;font-display:swap}
/* Avaria composition, adapted to Antares: fixed media and neutral surfaces. */
body.home{--bg:#fff;--fg:#111;--muted:#666;--rule:#e5e5e5;--gutter:clamp(20px,4vw,60px);background:#fff;color:#111;color-scheme:light;font-family:General Sans,Arial,sans-serif}
/* Match the homepage canvas to its opening film. Safari owns its native edge effect. */
body.home:not(.studio-page){background:#080808}
.home:not(.studio-page) main{background:#fff}
.home .site-header{height:67px;inset:0 45px auto;padding:0;border-bottom:1px solid #ffffff38;background:transparent;color:#fff;gap:20px;transition:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.home .site-header.scrolled,.home.studio-page .site-header{inset:0;height:67px;padding:0 28px;background:#fff;color:#111;border-color:#e5e5e5;-webkit-backdrop-filter:none;backdrop-filter:none}
.home .brand{position:absolute;left:50%;transform:translateX(-50%);width:118px;height:44px}
.home .brand img{width:118px;height:auto;max-height:35px;object-fit:contain;filter:brightness(0) invert(1)}
.home .site-header.scrolled .brand img,.home.studio-page .brand img{filter:brightness(0)}
.home .primary-nav{margin:0;gap:22px;font-size:13px;letter-spacing:-.02em}
.home .header-actions{margin-left:auto;display:flex;align-items:center;gap:25px;font-size:13px}
.home .language{display:flex;align-items:center;color:inherit;font-size:12px}
.home .header-contact,.home .menu-toggle{display:flex;align-items:center;justify-content:center;min-height:36px;padding:9px 18px;background:#fff;color:#111;border-radius:999px;font-size:13px;line-height:18px}
.home .menu-toggle{display:none;min-height:40px}
.home .site-header.scrolled .header-contact,.home.studio-page .header-contact{background:#111;color:#fff}
.home .mobile-menu{background:#fff;color:#111;gap:24px;padding:120px 24px 40px;overflow-y:auto}
.home .mobile-menu:not([hidden]){display:flex}
.home .mobile-menu .language{color:#666;font-size:16px}
.home .hero{padding:0}
.home .hero-frame{height:100svh;min-height:480px;max-height:none;border-radius:0;color:#fff;background:#111}
.home .hero-frame::after{display:none}
.home .hero-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#00000050 0%,transparent 28%,transparent 50%,#00000050 100%)}
.home .hero-content{position:absolute;z-index:3;left:50px;right:70px;bottom:50px;max-width:500px;padding:0}
.home .hero h1{font-size:44px;font-weight:500;letter-spacing:0;line-height:1.21;max-width:12ch;margin:0}
.home .hero-actions{display:flex;margin-top:15px}
.home .hero-link{font-size:14px;line-height:1.2;padding:0;display:inline-block}
.home .hero-description{font-size:8px;line-height:1.2;max-width:none;color:#fff;margin-top:14px}
.home .hero-controls{z-index:4;right:24px;bottom:24px}
.home #hero-play{width:36px;height:36px;min-height:36px;color:#fff;background:#00000025;border-color:#ffffff45}
.home #hero-play svg{width:16px}
.home .hero-poster img,.home .hero-frame>video{filter:grayscale(1)}
.home .works{padding:15px;max-width:none;margin:0}
.home .work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:stretch}
.home .work{grid-column:auto;grid-row:auto;width:100%;margin:0;position:relative;min-width:0;border-radius:10px;overflow:hidden;isolation:isolate}
.home .work-media{aspect-ratio:1;width:100%;height:100%;border-radius:10px;background:#111}
.home .featured-grid>.work:nth-child(3){grid-column:1/-1}
.home .featured-grid>.work:nth-child(3) .work-media{aspect-ratio:2/1}
.home .work-media img,.home .work-media video{object-fit:cover}
.home .work-media::after{border:0;border-radius:10px;background:linear-gradient(180deg,transparent 45%,#00000010 62%,#00000085 100%);opacity:1;transition:none;z-index:2}
.home .work-open{position:absolute;z-index:4;bottom:40px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;background:#000;color:#fff;padding:10px 19px;font-size:13px;line-height:16px;pointer-events:none}
.home .work-open svg{display:none}
.home .work-caption{position:absolute;z-index:3;bottom:95px;left:20px;right:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:0;color:#fff;letter-spacing:-.025em;pointer-events:none}
.home .work-caption h3{font-size:28px;font-weight:500;line-height:1.2;order:2}
.home .work-caption h3 a{pointer-events:auto}
.home .work-caption>span{font-size:13px;line-height:1.4;color:#ffffffb8;text-align:center;order:1}
.home .work-role{display:none}
.home .home-intro{max-width:1800px;margin:0 auto;padding:80px 45px 85px}
.home .home-intro-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}
.home .home-intro h2{font-size:32px;font-weight:500;letter-spacing:-.035em}
.home .home-intro-heading>a{border:1px solid #ddd;border-radius:999px;padding:10px 18px;font-size:13px;white-space:nowrap}
.home .intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.home .intro-grid article{border-top:1px solid var(--rule);padding:22px 0 0}
.home .intro-grid article.studio-card{border:0;padding:0}.home .studio-card img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:10px;margin-bottom:18px}.home .studio-card .eyebrow{font-size:12px}.home .studio-card h3{font-size:24px;margin:8px 0 0}.home .studio-card a{display:block}
.home .intro-grid h3{font-size:22px;margin:12px 0;font-weight:500;letter-spacing:-.025em}
.home .intro-grid p{font-size:14px;line-height:1.6;color:#666;max-width:40ch}
.home .eyebrow,.home .step-number{font-size:12px;color:#666;line-height:1.5}
.home footer{background:#000;color:#fff;margin:0;padding:60px var(--gutter) 25px;--fg:#fff;--muted:#aaa;--rule:#333}
.home .contact-invitation{max-width:1500px;margin:0 auto 40px;padding-bottom:50px;border-bottom:1px solid #333}
.home .contact-invitation h2{font-size:clamp(34px,4vw,58px);font-weight:500;line-height:1.15;max-width:17ch;letter-spacing:-.04em;margin:18px 0 28px}
.home .contact-action{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.home .pill{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border-radius:999px;padding:12px 22px;background:#fff;color:#111;font-size:13px}
.home .contact-action>span{font-size:12px;color:#aaa}
.home .footer-grid,.home .footer-bottom{max-width:1500px;margin-inline:auto}
.home .footer-logo{filter:brightness(0) invert(1)}
.home .film-dialog{--bg:#080808;--fg:#fff;--muted:#aaa;--rule:#333;color:#fff;color-scheme:dark}
.home .film-dialog button:focus-visible{outline-color:#fff}
/* Disable inherited scrolling and hover transformations. */
.home .work,.home .hero-poster img,.home .hero-frame>video,.home .work-media img,.home .work-media video,.home .work-media:not(.work-media--portrait) img,.home .work-media:not(.work-media--portrait) video,.home .web-visual img{transform:none!important;transition:none!important;will-change:auto!important}
.home .manifesto-word{opacity:1}
/* Secondary studio page keeps the complete service and production information. */
.home.studio-page main{padding-top:67px}
.home .studio.manifesto{display:block;min-height:0;max-width:1300px;margin:auto;padding:85px var(--gutter);text-align:left;border:0}
.home .studio.studio-intro{display:block;margin:auto;max-width:1400px;padding:85px var(--gutter);border:0}.home .studio-intro :is(h1,h2){color:#111;font-size:clamp(40px,5vw,70px);line-height:1.1;letter-spacing:-.03em;font-weight:500;margin:24px 0}.home .studio-description{font-size:clamp(23px,2.4vw,35px);line-height:1.4;max-width:40ch;margin-bottom:25px;letter-spacing:-.025em}
.home .manifesto-text{font-size:clamp(27px,3vw,44px);font-weight:400;line-height:1.3;letter-spacing:-.04em;max-width:34ch;width:100%;margin:24px 0;text-align:left}
.home .studio-note{font-size:13px;color:#666;line-height:1.6}
.home .services{max-width:1500px;margin:auto;padding:65px var(--gutter) 90px;grid-template-columns:1fr 1.5fr;border-top:1px solid var(--rule);gap:70px}
.home .services h2,.home .section-heading h2,.home .photo-heading h2,.home .web-projects .section-label h2{font-size:34px;font-weight:500;line-height:1.2;letter-spacing:-.04em;color:#111;margin:15px 0 24px;padding:0;max-width:18ch}
.home .services-intro>p:last-child{font-size:14px;color:#666;line-height:1.7;max-width:36ch}
.home .service-list summary{font-size:26px;padding:22px 0}.home .service-list details p{font-size:14px;line-height:1.7}
.home .process{background:#f6f6f6;padding:65px var(--gutter)}
.home .process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:35px}
.home .process-grid article{border-top:1px solid #ddd;padding-top:20px}.home .process h3{font-size:23px;margin:20px 0 12px}.home .process-grid p{font-size:14px;line-height:1.7;color:#666}
.home .photography{padding:80px 0}.home .photo-heading{align-items:center}.home .photo-heading h2{margin:0}.home .photo-slide:nth-child(even){padding-top:0}.home .photo-slide img{border-radius:10px;outline:0}.home .photo-progress{background:#ddd}.home .photo-progress span{background:#111}
.home .web-projects{padding:30px var(--gutter) 85px;max-width:1600px;margin:auto}.home .web-heading{display:flex;justify-content:space-between;gap:24px;margin-bottom:28px;color:#666;font-size:13px}.home .web-visual{border-radius:10px}.home .web-caption{color:#111}.home .web-caption>span{color:#666}
@media(max-width:1439px) and (min-width:701px){
 .home main{padding-top:0}.home .site-header{inset:0;padding:0 15px;background:transparent;color:#fff;border:0}.home .brand img{filter:brightness(0) invert(1)}.home .header-contact{background:#fff;color:#111}
 .home .hero{padding:0}.home .hero-frame{height:100svh;min-height:420px;border-radius:0}.home .hero-content{left:35px;bottom:35px}
}
@media(max-width:1000px){.home .primary-nav{gap:17px;font-size:12px}.home .header-actions{gap:15px}.home .hero h1{font-size:38px}.home .services{gap:35px}}
@media(max-width:700px){
 .home main{padding-top:0}.home .site-header{inset:0;height:100px;padding:0 16px;background:transparent;color:#fff;border:0;backdrop-filter:none}.home .site-header.scrolled,.home.studio-page .site-header{inset:0;height:100px;padding:0 16px;background:#fff;color:#111;border:0;backdrop-filter:none}
 .home .brand{position:static;transform:none;justify-content:flex-start;width:150px;height:52px}.home .brand img{width:150px;filter:brightness(0) invert(1)}
 .home .primary-nav,.home .header-actions{display:none}.home .menu-toggle{display:flex;margin-left:auto;background:#fff;color:#111;min-height:36px}
 .home .hero{padding:0}.home .hero-frame{height:100svh;min-height:550px;max-height:none;border-radius:0}.home .hero-content{left:15px;right:42px;bottom:30px;max-width:350px}
 .home .hero h1{font-size:28px;line-height:1.21;letter-spacing:0;max-width:12ch}.home .hero-actions{margin-top:12px}.home .hero-link{font-size:14px}.home .hero-description{font-size:8px;line-height:1.2;margin-top:13px;max-width:none}
 .home .hero-controls{right:13px;bottom:22px}.home #hero-play{width:30px;min-height:30px;height:30px}.home #hero-play svg{width:13px}
 .home .works{padding:15px}.home .work-grid{grid-template-columns:1fr;gap:15px}.home .work{width:100%;align-self:auto;margin:0!important}.home .featured-grid>.work:nth-child(3){grid-column:auto}
 .home .work-media,.home .featured-grid>.work:nth-child(3) .work-media{aspect-ratio:auto;height:490px;border-radius:10px}.home .work-caption{bottom:87px;left:15px;right:15px;gap:3px}.home .work-caption h3{font-size:24px}.home .work-caption>span{font-size:12px}.home .work-open{bottom:30px;font-size:13px}
 .home .home-intro{padding:55px 20px}.home .home-intro-heading{align-items:start;gap:15px}.home .home-intro h2{font-size:27px}.home .home-intro-heading>a{font-size:11px;padding:10px 13px}.home .intro-grid{grid-template-columns:1fr;gap:25px}.home .intro-grid h3{font-size:22px}
 .home .studio.studio-intro{padding:55px 25px}
 .home footer{padding:45px 25px 24px}.home .contact-invitation{margin-bottom:30px;padding-bottom:35px}.home .contact-invitation h2{font-size:36px}.home .contact-action{gap:18px;flex-direction:column;align-items:flex-start}
 .home.studio-page main{padding-top:100px}.home .studio.manifesto{padding:55px 25px}.home .manifesto-text{font-size:28px}.home .services{display:block;padding:45px 25px 60px}.home .services h2,.home .section-heading h2,.home .photo-heading h2,.home .web-projects .section-label h2{font-size:30px}.home .service-list{margin-top:30px}.home .service-list summary{font-size:23px}.home .process{padding:45px 25px}.home .process-grid{grid-template-columns:1fr;gap:26px}.home .photography{padding:55px 0}.home .photo-heading{display:block}.home .photo-controls{margin-top:24px;justify-content:flex-end}.home .photo-controls>span{margin-right:auto}.home .photo-slide,.home .photo-slide:nth-child(even){width:76vw;padding-top:0}.home .web-projects{padding:10px 25px 60px}.home .web-heading{display:block}.home .web-heading>span{display:block;margin-top:9px}.home .web-grid{grid-template-columns:1fr;gap:28px}
}
@media(max-height:500px) and (max-width:1000px) and (pointer:coarse){.home .primary-nav,.home .header-actions{display:none}.home .menu-toggle{display:flex;margin-left:auto;background:#fff;color:#111}.home .brand{position:static;transform:none}}

.home .hero-description span{display:block}
/* Business message and breathing room, across both languages. */
.home .hero h1{max-width:18ch;text-wrap:balance}
.home .hero-description{font-size:12px;line-height:1.5;max-width:46ch;margin-top:20px}
.home .hero-description span+span{margin-top:6px}
.home .home-intro-copy{font-size:16px;line-height:1.7;color:#555;max-width:72ch;margin:0 0 48px}
.home #contact{padding-top:96px;border-top:0}
.home .contact-invitation{padding:0 0 72px;margin-bottom:0}
.home .contact-invitation .eyebrow{color:#aaa;margin:0 0 26px}
.home .contact-invitation h2{font-size:clamp(34px,3.8vw,54px);line-height:1.18;letter-spacing:-.035em;max-width:22ch;margin:0 0 40px}
.home .contact-action{gap:24px 36px}
.home .contact-action .pill{padding:16px 26px;min-height:52px;font-size:14px}
.home .footer-grid{padding-top:64px}
.home .primary-nav{gap:18px}
@media(min-width:701px) and (max-width:1100px){.home .primary-nav{gap:12px;font-size:11px}.home .brand,.home .brand img{width:100px}}
@media(max-width:700px){
 .home .hero h1{max-width:18ch}
 .home .hero-description{font-size:11px;line-height:1.5;max-width:36ch;margin-top:17px}
 .home .home-intro-copy{font-size:15px;margin-bottom:32px}
 .home #contact{padding-top:64px}
 .home .contact-invitation{padding-bottom:48px}
 .home .contact-invitation h2{font-size:34px;margin-bottom:32px}
 .home .contact-invitation .eyebrow{margin-bottom:22px}
 .home .contact-action{gap:24px}
 .home .footer-grid{padding-top:48px}
}

.home .service-text-link{display:inline-block;font-size:14px;text-decoration:underline;text-underline-offset:4px;margin-top:24px;line-height:1.6}

/* The header overlays the hero; a solid surface is used only after the hero or with the menu open. */
.home .site-header.scrolled .menu-toggle,.home.studio-page .menu-toggle{background:#111;color:#fff}
.home .site-header:has(.menu-toggle[aria-expanded="true"]){background:#fff;color:#111;border-color:transparent;backdrop-filter:none}
.home .site-header:has(.menu-toggle[aria-expanded="true"]) .brand img{filter:brightness(0)}
.home .site-header:has(.menu-toggle[aria-expanded="true"]) .menu-toggle{background:#111;color:#fff}
