@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#101110;--ink:#f2f3ec;--muted:#a5a8a1;--accent:#f49a00;--line:#33362e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 'Montserrat',sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:7px}header{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:20px 5%;border-bottom:1px solid var(--line)}.brand{font-family:'Montserrat',sans-serif;font-size:36px;font-weight:800;letter-spacing:-2px;line-height:1}.brand span{display:block;font:10px/1.8 'Montserrat',sans-serif;letter-spacing:5px;margin-left:4px}nav{display:flex;gap:34px;font-size:14px}nav a:hover,.text-link:hover{color:var(--accent)}.contact-link{font-size:14px;border:1px solid #686b60;border-radius:30px;padding:11px 19px}.contact-link span{margin-left:15px}.contact-link:hover{background:var(--accent);color:var(--bg)}.hero,.section{padding:60px 5% 80px}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:500}.hero>.eyebrow{display:flex;justify-content:space-between;color:var(--muted);margin-bottom:32px}h1,h2,h3,p{margin-top:0}h1,h2,.big-contact{font-family:'Montserrat',sans-serif}h1{font-size:clamp(52px,7.8vw,118px);letter-spacing:-.065em;line-height:1.06;font-weight:500;margin-bottom:35px}em{font-style:normal;color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin:20px 0 48px}.hero-bottom p{margin:0;color:var(--muted);font-size:17px}.round-link{display:flex;gap:22px;align-items:center;font-size:14px}.round-link b{border:1px solid #777b6e;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;font-size:23px;font-weight:400;transition:.3s}.round-link:hover b{background:var(--accent);color:var(--bg);transform:translateY(4px)}.hero-film{display:block;height:460px;position:relative;overflow:hidden;background:#262c2d}.hero-film>img{width:100%;height:100%;object-fit:cover;transform:scale(1.35);transition:transform 1.2s}.hero-film:hover>img{transform:scale(1.4)}.hero-film:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#000b)}.film-overlay{position:absolute;z-index:1;bottom:35px;left:35px;display:flex;align-items:center;gap:20px;font-size:14px;letter-spacing:1px}.play{display:grid;place-items:center;border:1px solid #fffa;border-radius:50%;height:56px;width:56px;background:#ffffff14}.film-overlay small{display:block;font-size:13px;letter-spacing:0;color:#ddd;margin-top:5px}.image-caption{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);letter-spacing:1.1px;padding:15px 0}.section{border-top:1px solid var(--line);padding-top:85px;padding-bottom:95px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:40px}h2{font-size:clamp(38px,4.3vw,66px);letter-spacing:-.05em;line-height:1.12;font-weight:500;margin-bottom:0}.section-heading>p{color:var(--muted);max-width:335px;margin-bottom:4px}.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 28px}.project-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:#252722}.project-image img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform .7s,filter .7s;filter:saturate(.75)}.project:hover img{transform:scale(1.12);filter:saturate(1)}.project-play{position:absolute;right:20px;bottom:20px;border:1px solid #fff9;background:#0006;border-radius:50%;width:44px;height:44px;display:grid;place-items:center}.project-info{padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:10px}.project h3{font-size:19px;font-weight:500;margin:0}.project-info>span{font-size:11px;letter-spacing:1px;color:var(--muted)}.text-link{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid #656956;max-width:310px;margin-top:45px;font-size:15px}.photo-section{background:#1b1e18}.photo-heading{display:flex;gap:60px;justify-content:space-between;align-items:end}.photo-heading p{max-width:330px;color:var(--muted);margin:0}.photo-links{margin-top:55px}.photo-links a{border-top:1px solid #454a3e;padding:25px 0;display:flex;justify-content:space-between;gap:20px}.photo-links a:last-child{border-bottom:1px solid #454a3e}.photo-links a>span:first-child{font-size:23px}.photo-links a>span:last-child{color:var(--muted);font-size:14px}.photo-links a:hover{color:var(--accent)}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-copy{padding-top:5px;max-width:590px}.about-copy>p{color:var(--muted);font-size:17px}.about-copy>.lead{font-size:27px;line-height:1.35;color:var(--ink);margin-bottom:30px}.services{margin-top:40px}.services>div{padding:18px 0;display:grid;grid-template-columns:30px 115px 1fr;border-top:1px solid var(--line);gap:15px}.services span{font-size:12px;color:var(--accent)}.services h3{font-size:16px;margin:0;font-weight:500}.services p{font-size:14px;color:var(--muted);margin:0}.contact{background:var(--accent);color:#15170e}.big-contact{display:block;font-size:clamp(42px,6vw,90px);line-height:1.15;letter-spacing:-.05em;position:relative;padding-right:90px;margin:40px 0 50px}.big-contact>span{position:absolute;right:0;top:0;font-size:100px}.big-contact:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:12px}.contact-details{border-top:1px solid #80933c;display:flex;justify-content:space-between;gap:30px;padding-top:25px}.contact-details p{margin:0}.contact-details>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.contact-details a{font-size:20px}.contact-details a:hover{text-decoration:underline}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:40px 5%;font-size:13px;color:var(--muted)}footer p{margin:0}footer>div{display:flex;gap:20px}footer .brand{color:var(--ink)}.skip{position:absolute;top:-100px;padding:14px;background:var(--accent);color:#111;z-index:5}.skip:focus{top:5px}.reveal{animation:rise .7s ease both}@keyframes rise{from{opacity:.2;transform:translateY(25px)}to{opacity:1;transform:none}}@media(min-width:1500px){main,header,footer{max-width:1800px;margin:auto}}@media(max-width:800px){header{flex-wrap:wrap;gap:18px;padding:20px 6%}header nav{order:3;width:100%;justify-content:space-between;gap:15px}.contact-link{font-size:12px;padding:9px 12px}.brand{font-size:31px}.hero,.section{padding:40px 6% 55px}.hero>.eyebrow{display:block;font-size:10px}.hero>.eyebrow span:last-child{display:block;margin-top:8px}h1{font-size:clamp(45px,9.3vw,72px)}.hero-bottom{gap:25px;align-items:start;flex-direction:column;margin-bottom:30px}.hero-film{height:340px}.film-overlay{left:20px;bottom:20px;font-size:12px}.image-caption span:last-child{display:none}.section-heading,.photo-heading{display:block}.section-heading>p,.photo-heading>p{margin-top:25px}.film-grid{gap:30px;grid-template-columns:1fr}.project-info>span{font-size:10px}.project h3{font-size:17px}.about{grid-template-columns:1fr;gap:38px}.services>div{grid-template-columns:22px 100px 1fr;gap:10px}.photo-links a{flex-direction:column;gap:5px}.photo-links a>span:first-child{font-size:20px}.contact-details{flex-direction:column}.big-contact{padding-right:38px;font-size:clamp(37px,7.5vw,60px)}.big-contact>span{font-size:48px}footer{flex-wrap:wrap;padding:35px 6%}footer>div{width:100%}.contact-details a{font-size:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Zwazo original identity */
:root{--bg:#09110e;--line:#29372e;--muted:#b3bcb6;--accent:#f49a00}header{min-height:124px}.brand{display:block;flex-shrink:0}.brand img{display:block;width:220px;height:100px;object-fit:cover;object-position:center;border-radius:2px}h1{font-size:clamp(42px,5.8vw,87px);letter-spacing:-.035em;line-height:1.18}.hero-bottom p{max-width:730px}.brand-banner{width:100%;overflow:hidden;background:#00120b}.brand-banner img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover;object-position:50% 50%}.photo-section{background:#101e16}.contact{color:#10150d}.contact-details{border-color:#805100}.project-filters{display:flex;flex-wrap:wrap;gap:10px;margin:38px 0 14px}.project-filters button{font:500 15px/1.4 'Montserrat',sans-serif;color:var(--ink);border:1px solid #526056;border-radius:25px;background:transparent;padding:12px 20px;cursor:pointer}.project-filters button:hover,.project-filters button.active{background:var(--accent);color:#111;border-color:var(--accent)}.project-filters button:focus-visible{outline:2px solid white;outline-offset:3px}.filter-status{color:var(--muted);font-size:14px;margin-bottom:38px}.film-category{margin-bottom:56px}.film-category[hidden]{display:none}.category-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-bottom:24px}.category-heading h3{font-size:28px;margin:0;font-weight:500}.category-heading>span{color:var(--muted);font-size:13px;letter-spacing:1px}.project h4{font-size:18px;font-weight:500;margin:0;line-height:1.5}.project-info{align-items:start;flex-wrap:wrap}.project-info>span{font-size:13px;letter-spacing:0}.project-image{aspect-ratio:16/9}.project-image img{transform:scale(1.01)}.project:hover img{transform:scale(1.06)}.portrait{display:block;width:100%;height:auto;margin-top:35px;border-radius:2px}.about{align-items:start}.about h2{font-size:clamp(32px,3.4vw,52px)}footer{font-size:17px;flex-wrap:wrap;padding-top:35px;padding-bottom:35px}footer .brand img{width:240px;height:140px}footer>div{gap:28px}footer a:not(.brand){padding:12px 0}footer p{font-size:15px}.contact-link,nav{font-size:16px}.eyebrow{font-size:13px}.hero>.eyebrow{gap:25px}@media(max-width:800px){header{gap:14px}.brand img{width:150px;height:80px}header .contact-link{max-width:170px;font-size:13px}.hero-bottom{align-items:stretch}.hero-bottom p{font-size:16px}.brand-banner img{height:auto;max-height:none;object-fit:contain}.hero>.eyebrow{font-size:11px}.project-filters{gap:8px}.project-filters button{font-size:14px;padding:10px 14px}.project h4{font-size:17px}.category-heading h3{font-size:24px}footer{font-size:18px}footer .brand img{width:220px;height:130px}footer>div{width:auto;flex-wrap:wrap}h1{font-size:clamp(36px,7vw,58px);letter-spacing:-.035em}}

/* Logo and typography motion */
header .brand img{width:110px;height:110px;object-fit:contain}footer .brand img{width:125px;height:125px;object-fit:contain}.brand img{transition:transform .6s cubic-bezier(.22,1,.36,1),filter .6s}.brand:hover img,.brand:focus-visible img{transform:translateY(-5px) rotate(-4deg);filter:drop-shadow(0 7px 16px #f49a0033)}.title-line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.title-line>span{display:block;animation:title-enter 1.1s cubic-bezier(.16,1,.3,1) both}.title-line:nth-child(2)>span{animation-delay:.16s}header .brand{animation:logo-enter 1.1s cubic-bezier(.16,1,.3,1) both}.hero .eyebrow,.hero-bottom{animation:soft-enter 1s ease .25s both}.brand-banner{animation:banner-enter 1.2s cubic-bezier(.16,1,.3,1) .2s both}.brand-banner img{transition:transform 1.2s cubic-bezier(.22,1,.36,1)}.brand-banner:hover img{transform:scale(1.025)}.motion-in{animation:soft-enter .85s cubic-bezier(.16,1,.3,1) both}.brand.motion-in{animation:logo-enter 1s cubic-bezier(.16,1,.3,1) both}.big-contact>span{transition:transform .5s}.big-contact:hover>span{transform:translate(7px,-7px)}nav a{position:relative}nav a:after{content:'';position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s}nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}@keyframes title-enter{from{transform:translateY(110%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes logo-enter{from{transform:translateY(15px) scale(.92) rotate(-6deg);opacity:0}to{transform:none;opacity:1}}@keyframes soft-enter{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}@keyframes banner-enter{from{clip-path:inset(10% 0 0 0);opacity:0;transform:translateY(20px)}to{clip-path:inset(0);opacity:1;transform:none}}@media(max-width:800px){header .brand img{width:85px;height:85px}footer .brand img{width:110px;height:110px}}@media(prefers-reduced-motion:reduce){.title-line>span,header .brand,.hero .eyebrow,.hero-bottom,.brand-banner,.motion-in{animation:none!important;transform:none!important;opacity:1!important}.brand:hover img,.brand:focus-visible img,.brand-banner:hover img,.big-contact:hover>span{transform:none}}
