:root{--paper:oklch(99% .003 85);--ink:oklch(23% .006 80);--muted:oklch(54% .008 80);--accent:oklch(48% .055 50);--line:oklch(88% .009 80);--soft:oklch(96% .004 80);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--ease:cubic-bezier(.22,1,.36,1);--text-body:1rem;--text-small:.8125rem;--text-lead:1.375rem;--text-heading:clamp(2rem,3.2vw,3.7rem);--text-display:clamp(3rem,6vw,7rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--text-body)/1.65 var(--font);font-kerning:normal;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance}h1{font-size:var(--text-display);line-height:1.025;letter-spacing:-.055em;font-weight:600}h2{font-size:var(--text-heading);line-height:1.09;letter-spacing:-.045em;font-weight:550}h3{font-size:1.25rem;line-height:1.3;letter-spacing:-.025em;font-weight:500}p{text-wrap:pretty}p+p{margin-top:24px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%;height:auto}[hidden]{display:none!important}::selection{background:var(--accent);color:var(--paper)}.skip-link{position:fixed;z-index:50;top:-80px;left:20px;background:var(--paper);padding:12px 22px}.skip-link:focus{top:10px}.eyebrow{font-size:var(--text-small);font-weight:500;line-height:1.5;letter-spacing:.09em;margin-bottom:22px;color:var(--muted)}.section{max-width:1440px;margin:0 auto;padding:100px clamp(24px,5vw,80px)}.lead{font-size:var(--text-lead);line-height:1.55;letter-spacing:-.025em}.inline-link{display:inline-flex;gap:28px;align-items:center;padding:12px 0;font-size:.9375rem;font-weight:500;line-height:1.4;position:relative}.inline-link:after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.inline-link:hover:after{transform:scaleX(1)}.inline-link span{transition:transform .25s var(--ease)}.inline-link:hover span{transform:translate(3px,-2px)}.inline-link:active{transform:translateY(1px)}
.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,80px);position:relative;z-index:10}.brand{width:154px}.brand img{width:100%;height:auto}.site-header nav{display:flex;align-items:center;gap:34px;font-size:.8125rem;font-weight:500}.site-header nav a{padding:12px 0;position:relative}.site-header nav a[aria-current=page]:after{content:"";position:absolute;bottom:6px;left:0;width:16px;height:1px;background:currentColor}.nav-contact{margin-left:25px}.nav-contact span{margin-left:15px}.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;height:1px;background:currentColor;width:24px;margin:6px 0;transition:transform .25s var(--ease)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}#mobile-menu{position:absolute;top:82px;left:0;right:0;background:var(--paper);z-index:9;padding:20px 24px 32px;border-bottom:1px solid var(--line)}#mobile-menu a{display:block;padding:11px 0;font-size:1.125rem}
.home-hero{position:relative}.hero-copy .hero-description{margin-top:24px}.hero-description{font-size:1.125rem;line-height:1.6;letter-spacing:-.015em;color:var(--muted)}.hero-link{margin-top:18px}.hero-photo{display:block;overflow:hidden;background:var(--soft)}.hero-photo img{width:100%;height:100%;object-fit:cover}.photo-caption{font-size:.75rem;display:flex;justify-content:space-between;margin-top:14px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:50px}.section-heading .eyebrow{margin-bottom:14px}.section-heading h2{max-width:700px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.work-item{min-width:0}.work-photo{overflow:hidden;aspect-ratio:1;background:var(--soft)}.work-photo img{height:100%;width:100%;object-fit:cover;transition:transform .6s var(--ease)}a.work-item:hover img{transform:scale(1.025)}.work-caption{display:flex;justify-content:space-between;gap:15px;margin-top:18px}.work-caption h3{font-size:1rem;line-height:1.6}.studio-intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--line)}.studio-intro .inline-link{margin-top:30px}.studio-intro p{max-width:60ch}.discipline-list{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:var(--text-small);color:var(--muted);border-top:1px solid var(--line);padding-top:30px;margin-top:35px}
.about-hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:6vw;padding:55px clamp(24px,5vw,80px) 80px;max-width:1600px;margin:auto}.about-title h1{font-size:clamp(3rem,5.8vw,6rem)}.about-title .hero-description{margin-top:30px}.portrait-wrap{overflow:hidden}.portrait-wrap img{width:100%;aspect-ratio:1;object-fit:cover}.portrait-caption{display:flex;justify-content:space-between;gap:15px;font-size:var(--text-small);padding-top:18px}.portrait-caption span{color:var(--muted)}.biography{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line)}.biography p{max-width:65ch}.studio-values{padding-top:20px}.studio-values>h2{margin-bottom:45px}.values-list article{display:grid;grid-template-columns:70px .8fr 1.5fr;gap:30px;border-top:1px solid var(--line);padding:40px 0}.value-number{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums}.values-list h3{font-size:1.375rem}.values-list p{max-width:65ch;color:var(--muted)}.ethos{max-width:900px;text-align:center;padding-top:45px}.ethos h2{margin-bottom:25px}.ethos p:last-child{max-width:60ch;margin:auto;color:var(--muted)}
.project-opening{display:grid;grid-template-columns:.9fr 1.3fr;align-items:center;gap:50px;padding:50px clamp(24px,5vw,80px) 65px;max-width:1600px;margin:auto}.project-title h1{font-size:clamp(3rem,5.5vw,6.5rem)}.project-title .hero-description{margin-top:27px}.project-location{font-size:var(--text-small);margin-top:35px;display:flex;align-items:center;gap:40px;color:var(--muted)}.project-cover{overflow:hidden}.project-cover img{width:100%;aspect-ratio:1.12;object-fit:cover}.project-story{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line);align-items:start}.project-story h2{margin-bottom:40px}.story-copy{max-width:65ch;color:var(--muted);font-size:1.0625rem}.story-copy p{margin-top:24px}dl{margin:0;font-size:var(--text-small)}dl div{display:flex;gap:25px;padding:10px 0}dt{width:70px;color:var(--muted)}dd{margin:0}.project-gallery{padding-top:10px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;align-items:start}.gallery-link{display:block;overflow:hidden;cursor:zoom-in;background:var(--soft)}.gallery-link img{width:100%;height:auto;transition:transform .6s var(--ease)}.gallery-link:hover img{transform:scale(1.025)}.gallery-link:nth-child(3n+1){grid-column:1/-1}.gallery-link:nth-child(3n+1) img{max-height:680px;object-fit:cover}.gallery-note{font-size:var(--text-small);color:var(--muted)}.project-outro{text-align:center;padding-top:35px}.project-outro .inline-link{margin-top:24px}
footer{background:var(--soft);padding:90px clamp(24px,5vw,80px) 28px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;max-width:1280px;margin:0 auto 80px}.footer-top h2{font-size:clamp(2.5rem,4.2vw,4.7rem);margin-bottom:30px}.contact-email{font-size:1.125rem;letter-spacing:-.02em;border-bottom:1px solid var(--line);padding:12px 0;display:inline-block}.contact-email span{margin-left:20px}.footer-details{align-self:end;font-size:.875rem;line-height:1.9;color:var(--muted)}.footer-details>a{display:block;width:max-content}.footer-details>p{margin-bottom:20px}.footer-details>div{display:flex;gap:26px;margin-top:26px}.footer-bottom{max-width:1280px;margin:auto;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;font-size:.75rem;color:var(--muted)}
/* 01: a bright, composed, product-like clarity. */
.clarity{--accent:oklch(48% .09 245);--soft:oklch(96% .003 245);--muted:oklch(49% .008 245)}.clarity .home-hero{padding:35px clamp(24px,4vw,64px) 0;max-width:1600px;margin:auto;text-align:center}.clarity .hero-copy{padding-bottom:38px}.clarity .hero-copy h1{font-size:clamp(3.4rem,5.2vw,5.75rem);font-weight:650;letter-spacing:-.055em}.clarity .hero-copy .eyebrow{margin-bottom:17px}.clarity .hero-description{margin-top:20px;font-size:1.125rem}.clarity .hero-link{margin-top:12px;color:var(--accent)}.clarity .hero-photo{height:62vh;min-height:400px;max-height:800px;border-radius:18px}.clarity .photo-caption{padding:0 6px}.clarity .portrait-wrap img,.clarity .project-cover{border-radius:14px}.clarity .work-photo{border-radius:12px}.clarity .work-caption h3{font-weight:550}.clarity .selected-work{padding-top:90px}.clarity .studio-intro{background:var(--soft);max-width:none}.clarity .about-hero{padding-top:50px}.clarity .about-title h1{font-weight:600}.clarity .project-title h1{font-weight:600}
/* 02: warm paper and quiet typography, like a studio journal. */
.atelier{--paper:oklch(96.5% .015 78);--ink:oklch(29% .02 66);--muted:oklch(48% .024 65);--accent:oklch(46% .067 53);--line:oklch(83% .021 68);--soft:oklch(92% .02 75)}.atelier h1,.atelier h2{font-weight:350;letter-spacing:-.055em}.atelier .site-header{height:112px;border-bottom:1px solid var(--line);margin:0 5vw;padding:0}.atelier .home-hero{display:grid;grid-template-columns:1fr 1.15fr;gap:4.5vw;align-items:center;max-width:1600px;margin:auto;padding:52px 5vw 0}.atelier .hero-copy{padding-right:0}.atelier .hero-copy h1{font-size:clamp(3.2rem,5.3vw,6.5rem);line-height:1.045}.atelier .hero-copy .eyebrow{margin-bottom:44px}.atelier .hero-photo{height:72vh;min-height:540px;max-height:850px}.atelier .hero-description{margin-top:35px}.atelier .hero-link{margin-top:27px}.atelier .photo-caption{grid-column:2;margin-top:-24px}.atelier .work-grid{grid-template-columns:1.25fr 1fr 1fr;gap:32px}.atelier .work-item:nth-child(2){margin-top:70px}.atelier .work-item:nth-child(3){margin-top:140px}.atelier .work-photo{aspect-ratio:.85}.atelier .work-item:first-child .work-photo{aspect-ratio:1}.atelier .selected-work{padding-top:115px;padding-bottom:120px}.atelier .studio-intro{padding-top:90px}.atelier .portrait-wrap img{aspect-ratio:.9}.atelier .about-hero{padding-top:60px;padding-bottom:105px;grid-template-columns:1.1fr 1fr}.atelier .about-title .eyebrow{margin-bottom:38px}.atelier .values-list article{padding:48px 0}.atelier .ethos{padding-bottom:110px}.atelier .project-opening{grid-template-columns:1fr 1.15fr;padding-top:60px;padding-bottom:90px;gap:5vw}.atelier .project-cover img{aspect-ratio:.95}.atelier .project-title h1{font-weight:350}.atelier .project-gallery .gallery-grid{gap:36px}
/* 03: immersive photography, warm white space, restrained architectural motion. */
.cinema{--paper:oklch(98.8% .005 85);--ink:oklch(27% .009 80);--muted:oklch(49% .012 78);--accent:oklch(46% .035 65);--line:oklch(87% .009 80);--soft:oklch(95.5% .01 80);line-height:1.75}.cinema.page-home .brand img{filter:brightness(0) invert(.95)}.cinema .site-header{height:98px}.cinema.page-home .site-header{position:absolute;inset:0 0 auto;color:oklch(98% .005 75)}.cinema .home-hero{height:calc(100svh - 20px);min-height:640px;position:relative;color:oklch(98% .005 75)}.cinema .hero-photo{position:absolute;inset:0;z-index:0}.cinema .hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,oklch(18% .008 80 / .3),transparent 25%,oklch(17% .008 80 / .72))}.cinema .hero-copy{position:absolute;left:5vw;bottom:100px;z-index:1;pointer-events:none}.cinema .hero-copy a{pointer-events:auto}.cinema .hero-copy h1{font-size:clamp(3.6rem,7vw,8rem);font-weight:600;line-height:1.015;letter-spacing:-.06em}.cinema .hero-copy .eyebrow,.cinema .hero-copy .hero-description{color:oklch(95% .005 75)}.cinema .hero-copy .eyebrow{margin-bottom:22px}.cinema .hero-description{margin-top:23px}.cinema .photo-caption{position:absolute;bottom:25px;left:5vw;right:5vw;z-index:1;color:oklch(95% .005 75);border-top:1px solid oklch(95% .005 75 / .3);padding-top:15px}.cinema .work-photo{aspect-ratio:.9}.cinema .work-grid{gap:28px}.cinema .studio-intro{border-top-color:var(--line)}.cinema .about-title h1{font-weight:550}.cinema .portrait-wrap img{aspect-ratio:.95}.cinema .about-hero{padding-top:42px;padding-bottom:85px}.cinema .project-opening{display:block;padding:0;position:relative;height:calc(100svh - 98px);min-height:570px;max-width:none}.cinema .project-cover{position:absolute;inset:0}.cinema .project-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,oklch(18% .008 80 / .73),oklch(18% .008 80 / .1) 80%)}.cinema .project-cover img{height:100%;width:100%;object-fit:cover;aspect-ratio:auto}.cinema .project-title{position:absolute;left:5vw;bottom:65px;z-index:1;color:oklch(98% .005 75)}.cinema .project-title h1{font-size:clamp(3.5rem,6.5vw,7rem)}.cinema .project-title .eyebrow,.cinema .project-title .hero-description,.cinema .project-title .project-location{color:oklch(95% .005 75)}.cinema .project-story{border-top:0}.cinema .gallery-grid{gap:18px}
/* Motion stays brief, composited, and secondary to the work. */
@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes image-enter{from{opacity:.5;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes atelier-image{from{opacity:.5;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
[data-enter]{animation:enter .7s var(--ease) both}.hero-copy [data-enter]:nth-child(2),.about-title [data-enter]:nth-child(2),.project-title [data-enter]:nth-child(2){animation-delay:.08s}.hero-copy [data-enter]:nth-child(3),.about-title [data-enter]:nth-child(3),.project-title [data-enter]:nth-child(3){animation-delay:.16s}.hero-copy [data-enter]:nth-child(4),.project-title [data-enter]:nth-child(4){animation-delay:.23s}.hero-photo img,.portrait-wrap>img,.project-cover img{animation:image-enter .85s var(--ease) both}.atelier .hero-photo,.atelier .portrait-wrap,.atelier .project-cover{animation:atelier-image .8s var(--ease) both}.reveal-wait{opacity:0;transform:translateY(22px)}.reveal-visible{opacity:1;transform:translateY(0);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--reveal-delay,0ms)}.motion-off [data-enter],.motion-off .hero-photo img,.motion-off .portrait-wrap,.motion-off .portrait-wrap>img,.motion-off .project-cover,.motion-off .project-cover img,.motion-off .hero-photo{animation:none!important;opacity:1;transform:none}.motion-off .reveal-wait,.motion-off .reveal-visible{opacity:1;transform:none;transition:none}.motion-off *{scroll-behavior:auto!important;transition:none!important}
/* Cinema keeps photographs still; content settles once with only six pixels of travel. */
@keyframes cinema-enter{from{opacity:.8;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.cinema [data-enter]{animation-name:cinema-enter;animation-duration:.5s}.cinema .hero-photo img,.cinema .portrait-wrap>img,.cinema .project-cover img{animation:none}.cinema .reveal-wait{opacity:.86;transform:translateY(6px)}.cinema .reveal-visible{transition-duration:.45s,.5s;transition-delay:0ms}.cinema a.work-item:hover img,.cinema .gallery-link:hover img,.cinema .inline-link:hover span{transform:none}
.lightbox{padding:55px 60px;border:0;background:var(--paper);color:var(--ink);width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.lightbox[open]{display:flex;align-items:center;justify-content:center;gap:20px}.lightbox::backdrop{background:var(--paper)}.lightbox figure{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox figure img{max-height:calc(100dvh - 140px);width:auto;max-width:100%;object-fit:contain}.lightbox figcaption{font-size:.8125rem;margin-top:15px;font-variant-numeric:tabular-nums}.lightbox button{border:0;background:transparent;font-size:1.5rem;padding:10px}.close-gallery{position:absolute;top:10px;right:20px}body.gallery-open{overflow:hidden}.lightbox[open] figure{animation:enter .25s var(--ease)}.cinema .lightbox[open] figure{animation:none}
@media(max-width:1000px){.site-header nav{gap:25px}.nav-contact{margin-left:0}.section{padding:75px 5vw}.studio-intro,.biography,.project-story{gap:50px}.atelier .hero-copy h1{font-size:clamp(2.9rem,5.8vw,5.3rem)}.atelier .hero-photo{min-height:480px}.values-list article{grid-template-columns:40px .7fr 1.4fr;gap:25px}.about-hero{gap:4vw}.work-grid{gap:18px}}
@media(max-width:680px){:root{--text-heading:2.35rem;--text-display:3.2rem;--text-lead:1.25rem}.site-header{height:82px;padding:0 24px}.brand{width:137px}.site-header nav{display:none}.menu-toggle{display:block}.section{padding:64px 24px}.eyebrow{font-size:.75rem;margin-bottom:17px}.hero-description{font-size:1rem}.section-heading{display:block;margin-bottom:30px}.section-heading>.inline-link,.section-heading>.gallery-note{margin-top:20px}.work-grid{grid-template-columns:1fr;gap:30px}.work-photo{aspect-ratio:1.25}.work-caption{margin-top:12px}.studio-intro,.biography,.project-story{grid-template-columns:1fr;gap:35px}.discipline-list{margin-top:25px}.about-hero{grid-template-columns:1fr;gap:40px;padding:38px 24px 58px}.about-title h1{font-size:3.1rem}.portrait-wrap{max-width:550px}.portrait-wrap img{aspect-ratio:1.05}.about-title .hero-description{margin-top:22px}.portrait-caption{font-size:.75rem;padding-top:13px}.values-list article{grid-template-columns:28px 1fr;gap:15px;padding:30px 0}.values-list h3{font-size:1.25rem}.values-list p{grid-column:2}.studio-values{padding-top:15px}.ethos{padding-top:15px}.project-opening{grid-template-columns:1fr;gap:35px;padding:35px 24px 55px}.project-title h1{font-size:3.5rem}.project-location{margin-top:22px;justify-content:space-between;gap:20px}.project-title .hero-description{margin-top:20px}.project-cover img{aspect-ratio:1.15}.project-story h2{margin-bottom:25px}.gallery-grid{gap:15px}.gallery-link:nth-child(3n+1) img{max-height:none}.project-gallery{padding-top:15px}.project-outro{padding-top:10px}footer{padding:60px 24px 25px}.footer-top{grid-template-columns:1fr;gap:40px;margin-bottom:40px}.footer-top h2{font-size:2.8rem}.footer-bottom{gap:20px;flex-wrap:wrap;font-size:.6875rem}.contact-email{font-size:1rem;display:flex;justify-content:space-between;gap:10px;max-width:100%;overflow-wrap:anywhere}.contact-email span{margin-left:0}.footer-details{font-size:.875rem}.clarity .home-hero{padding:26px 20px 0}.clarity .hero-copy h1{font-size:3.05rem}.clarity .hero-copy{padding-bottom:25px}.clarity .hero-copy .eyebrow{font-size:.75rem}.clarity .hero-description{font-size:1rem;margin-top:19px}.clarity .hero-link{margin-top:8px}.clarity .hero-photo{height:54vh;min-height:350px;border-radius:12px}.clarity .hero-photo img{object-position:48% center}.clarity .selected-work{padding-top:65px}.clarity .about-hero{padding-top:35px}.clarity .about-title h1{font-size:3.1rem}.atelier .site-header{height:82px;margin:0 24px}.atelier .home-hero{display:block;padding:45px 24px 0}.atelier .hero-copy h1{font-size:3.15rem;line-height:1.055}.atelier .hero-copy .eyebrow{margin-bottom:25px}.atelier .hero-description{margin-top:25px}.atelier .hero-link{margin-top:13px}.atelier .hero-photo{height:57vh;min-height:400px;margin-top:25px}.atelier .photo-caption{margin-top:13px}.atelier .work-grid{grid-template-columns:1fr;gap:35px}.atelier .work-item:nth-child(2),.atelier .work-item:nth-child(3){margin-top:0}.atelier .work-photo,.atelier .work-item:first-child .work-photo{aspect-ratio:1.2}.atelier .selected-work{padding-top:70px;padding-bottom:70px}.atelier .studio-intro{padding-top:60px}.atelier .about-hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:65px}.atelier .about-title .eyebrow{margin-bottom:25px}.atelier .portrait-wrap img{aspect-ratio:1}.atelier .values-list article{padding:30px 0}.atelier .project-opening{grid-template-columns:1fr;padding-top:40px;padding-bottom:65px}.atelier .project-title h1{font-size:3.5rem}.atelier .project-cover img{aspect-ratio:1}.atelier .project-gallery .gallery-grid{gap:16px}.cinema .site-header{height:82px}.cinema .home-hero{height:calc(100svh - 15px);min-height:660px}.cinema .hero-copy{left:24px;right:24px;bottom:92px}.cinema .hero-copy h1{font-size:3.65rem}.cinema .hero-copy .eyebrow{font-size:.75rem}.cinema .hero-photo img{object-position:52% center}.cinema .hero-photo:after{background:linear-gradient(180deg,oklch(18% .008 80 / .37),transparent 18%,oklch(17% .008 80 / .83))}.cinema .photo-caption{left:24px;right:24px;bottom:22px}.cinema .work-photo{aspect-ratio:1.2}.cinema .about-title h1{font-size:3.1rem}.cinema .about-hero{padding-top:35px;padding-bottom:60px}.cinema .project-opening{height:calc(100svh - 82px);min-height:600px;padding:0}.cinema .project-title{left:24px;right:24px;bottom:40px}.cinema .project-title h1{font-size:3.7rem}.cinema .project-title .hero-description{font-size:1rem}.cinema .project-title .eyebrow{font-size:.75rem}.cinema .project-location{justify-content:flex-start;gap:35px}.cinema .project-cover img{aspect-ratio:auto;object-position:50% center}.cinema .project-cover:after{background:linear-gradient(180deg,transparent,oklch(18% .008 80 / .82))}.lightbox{padding:50px 8px}.lightbox[open]{gap:0}.lightbox button{padding:4px}.lightbox figure img{max-height:calc(100dvh - 150px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-wait,.reveal-visible{opacity:1!important;transform:none!important}}

.motion-off a.work-item:hover img,.motion-off .gallery-link:hover img,.motion-off .inline-link:hover span{transform:none}@media(prefers-reduced-motion:reduce){a.work-item:hover img,.gallery-link:hover img,.inline-link:hover span{transform:none}}

/* Confirmed Cinema typography. */
.cinema{--font:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;margin:-1px;padding:0}
/* The homepage retains every original component within Cinema's light palette. */
.cinema .featured-slide{isolation:isolate}.cinema .featured-slide:after{z-index:1;pointer-events:none}.cinema .featured-slide img{position:relative;z-index:0}.cinema .featured-slide{transition:opacity .45s ease-in-out}
.cinema .featured-title{position:absolute;top:125px;right:5vw;z-index:2;font-size:1rem;opacity:0;transition:opacity .2s ease-out;padding:12px 18px;background:oklch(25% .008 80 / .65);color:oklch(98% .005 80);display:flex;gap:28px;align-items:center}.cinema .featured-slide:hover .featured-title,.cinema .featured-slide:focus-visible .featured-title{opacity:1}
.cinema .home-hero .hero-copy{z-index:2}.cinema .home-hero .photo-caption{z-index:3;align-items:center;padding-top:10px;bottom:20px}.featured-controls{display:flex;align-items:center;gap:18px}.featured-controls button{width:44px;height:40px;background:transparent;border:1px solid oklch(95% .005 75 / .35);font-size:1.125rem}.featured-controls button:hover{background:oklch(95% .005 75 / .12)}.featured-count{font-size:.75rem;font-variant-numeric:tabular-nums;min-width:48px;text-align:center}
.cinema .work-grid{row-gap:46px}.cinema .work-photo{position:relative;aspect-ratio:1.1}.cinema .work-hover-title{position:absolute;top:0;left:0;right:0;padding:18px 20px;background:oklch(25% .008 80 / .75);color:oklch(98% .005 80);display:flex;justify-content:space-between;opacity:0;transition:opacity .2s ease-out;font-size:.9375rem}.cinema .work-item:hover .work-hover-title,.cinema .work-item:focus-visible .work-hover-title{opacity:1}
.cinema-details,.cinema-sketches{max-width:1600px;margin:auto}.cinema .details-image,.cinema .sketch-image{width:100%;height:auto}.cinema-identity{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:start}.cinema-identity .inline-link{margin-top:24px}.identity-copy p+p{margin-top:25px}.identity-copy>p:not(.lead){color:var(--muted)}.studio-awards{display:block;max-width:360px;margin-top:42px}.studio-awards img{width:100%;height:auto}.cinema-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service-item img{width:100%;height:auto;aspect-ratio:1.58;object-fit:cover}.service-item h3{font-size:1rem;margin-top:18px}.cinema.page-home .footer-details h3{color:var(--ink);margin-bottom:24px}.cinema.page-home .footer-details>div{flex-wrap:wrap;gap:15px 22px}
@media(hover:none){.cinema .featured-title{opacity:0}.cinema .work-hover-title{opacity:1;background:oklch(25% .008 80 / .65)}}
@media(max-width:680px){.cinema .featured-title{top:105px;right:24px;max-width:calc(100% - 48px);font-size:.875rem;padding:10px 14px;gap:16px}.cinema .home-hero .hero-copy{bottom:112px}.cinema .home-hero .photo-caption{left:24px;right:24px;bottom:20px;gap:12px;font-size:.6875rem}.featured-controls{gap:9px}.featured-controls button{width:36px;height:36px}.featured-count{min-width:44px;font-size:.6875rem}.cinema .work-photo{aspect-ratio:1.2}.cinema .work-grid{row-gap:32px}.cinema-identity{grid-template-columns:1fr;gap:35px}.studio-awards{max-width:300px;margin-top:30px}.cinema-details,.cinema-sketches{padding:0 12px}.cinema-service-grid{grid-template-columns:1fr;gap:35px}.cinema .sketch-image{min-height:110px;object-fit:contain}.cinema .site-header nav{gap:23px}}

/* Final portfolio: quiet photographs and compact project metadata. */
.cinema .hero-cinema .hero-photo:after{background:linear-gradient(180deg,oklch(18% .008 80 / .28),transparent 25%,transparent 80%,oklch(18% .008 80 / .16))}
.cinema .hero-cinema .photo-caption{justify-content:flex-end;border-top:0}
.featured-controls button:disabled{cursor:default}
.cinema .work-location{font-size:.75rem;line-height:1.5;color:var(--muted);margin:6px 0 0}
.cinema .portfolio-intro{padding-top:70px;padding-bottom:55px}
.cinema .portfolio-intro h1{font-size:clamp(3.5rem,6vw,6.5rem);max-width:1000px}
.cinema .portfolio-intro .lead{margin:25px 0}
.cinema .portfolio-work{padding-top:10px}
.cinema .project-title h1{max-width:1050px;font-size:clamp(2.6rem,5.5vw,6rem);line-height:1.06;overflow-wrap:break-word}
.cinema .project-gallery{padding-top:75px}

.cinema.page-project .project-cover:after{content:none}
.cinema .project-heading{padding-bottom:35px}
.cinema .project-heading h1{font-size:clamp(2.6rem,5.5vw,6rem);line-height:1.08;max-width:1100px}
.cinema .project-heading .project-location{color:var(--muted)}
.cinema .project-heading + .project-story{padding-top:45px}
@media(max-width:680px){.cinema .project-heading{padding-top:48px}.cinema .project-heading h1{font-size:2.7rem}}

/* Original studio identity within the approved Cinema presentation. */
.cinema{--brown:#93603f;--accent:#93603f}
.cinema h1,.cinema h2,.cinema h3,.cinema .footer-details h3,.cinema.page-home .footer-details h3{color:var(--brown)}
.cinema .site-header{display:block;height:124px;position:relative;padding:0 5vw;background:var(--paper)}
.cinema.page-home .site-header{background:linear-gradient(180deg,rgba(250,248,244,.92),rgba(250,248,244,.78));color:#70492f}
.cinema .site-header .cinema-desktop-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:70px;height:100%;align-items:center}
.cinema .site-header .nav-side{display:flex;gap:40px;align-items:center}
.cinema .site-header .nav-left{justify-content:flex-end}.cinema .site-header .nav-right{justify-content:flex-start}
.cinema .site-header .brand{width:180px;margin:0}.cinema.page-home .brand img{filter:none}
.cinema .site-header nav a{color:#70492f;font-size:.8125rem;letter-spacing:.03em}
.cinema .site-header nav .brand{padding:0;border:0}
.cinema #work .section-heading{display:block;text-align:center;margin-bottom:40px}
.cinema #work .section-heading h2{max-width:none;font-size:2rem;letter-spacing:.03em;text-transform:uppercase;line-height:1.3}
.cinema .project-rail{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.cinema .project-rail::-webkit-scrollbar{display:none}
.cinema .project-rail .work-grid{display:flex;gap:28px}
.cinema .project-rail .work-item{flex:0 0 calc((100% - 56px)/3);scroll-snap-align:start}
.cinema .work-hover-title{inset:0;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:rgba(38,29,23,.48);font-size:1.125rem;line-height:1.4;text-align:center;opacity:0}
.cinema .work-item:hover .work-hover-title,.cinema .work-item:focus-visible .work-hover-title{opacity:1}
.cinema .work-item:focus-visible{outline:2px solid var(--brown);outline-offset:4px}
.cinema .rail-controls{display:flex;gap:30px;align-items:center;justify-content:center;margin-top:36px}
.cinema .rail-controls button{width:40px;height:40px;background:transparent;border:1px solid var(--line);color:var(--brown)}
.cinema .rail-controls button:disabled{opacity:.35;cursor:default}
.cinema .portfolio-intro{padding-top:48px;padding-bottom:48px;text-align:center}
.cinema .portfolio-intro h1{max-width:none;font-size:clamp(2.5rem,4vw,4rem)}
.cinema .project-opening{height:calc(100svh - 124px)}
.cinema .media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}
.cinema .media-cover{height:370px;background:var(--soft);overflow:hidden;padding:20px;display:flex;align-items:center;justify-content:center}
.cinema .media-cover img{width:100%;height:100%;object-fit:contain}
.cinema .media-card h2{font-size:1rem;line-height:1.5;letter-spacing:0;margin:16px 0 0}
.cinema .media-card:hover h2{text-decoration:underline;text-underline-offset:5px}
.cinema .media-loading{text-align:center;margin-top:50px}.cinema .media-loading p{font-size:.8125rem;color:var(--muted)}
.cinema .load-more{border:1px solid var(--brown);background:transparent;color:var(--brown);padding:14px 34px;font:inherit;font-size:.875rem;cursor:pointer;margin-bottom:12px}
.cinema .article-heading{text-align:center;padding-bottom:40px}.cinema .article-heading h1{font-size:clamp(2rem,4vw,4rem);max-width:1000px;margin:25px auto 15px;line-height:1.15}
.cinema .article-copy{max-width:900px;margin:auto;color:var(--muted);padding:0 5vw 35px}
.cinema .article-gallery{padding-top:0}.cinema.page-article .gallery-link img{max-height:none;object-fit:contain}
.cinema .article-date{font-size:.8125rem;color:var(--muted)}
@media(max-width:1000px){.cinema .site-header .cinema-desktop-nav{gap:40px}.cinema .site-header .nav-side{gap:25px}.cinema .media-cover{height:300px}}
@media(max-width:680px){.cinema .site-header{height:100px;padding:0 24px}.cinema .site-header .cinema-desktop-nav{grid-template-columns:1fr;justify-items:center;gap:0}.cinema .site-header .nav-side{display:none}.cinema .site-header .brand{width:160px}.cinema .menu-toggle{position:absolute;right:24px;top:38px;color:var(--brown)}.cinema #mobile-menu{top:100px}.cinema .project-opening{height:calc(100svh - 100px)}.cinema .project-rail .work-grid{gap:18px}.cinema .project-rail .work-item{flex-basis:88%}.cinema #work .section-heading h2{font-size:1.6rem}.cinema .work-hover-title{font-size:1rem;opacity:0}.cinema .media-grid{grid-template-columns:1fr;gap:30px}.cinema .media-cover{height:420px}.cinema .portfolio-intro{padding-top:38px;padding-bottom:38px}.cinema .rail-controls{margin-top:25px;gap:24px}}

.cinema .featured-title{top:150px}
@media(max-width:680px){.cinema .featured-title{top:120px}}

/* Active navigation stays clean; keyboard focus remains accessible. */
.cinema .site-header nav a[aria-current=page]::after{content:none;display:none}

/* Big photographs in full-width rows, scrolled down the page (Sneha, Nov 2026: no sideways scrolling). */
.cinema .photo-work{max-width:none;padding:0 0 48px}
.cinema .photo-work>.section-heading{padding:0 5vw;margin-bottom:36px}
.cinema .photo-rows{--photo-gap:6px;display:flex;flex-direction:column;gap:var(--photo-gap)}
/* A row fills the width; the height cap keeps a lone photograph inside the screen. */
.cinema .photo-row{display:flex;gap:var(--photo-gap);width:100%;width:min(100%,calc(88svh*var(--row-ratio)));margin-inline:auto}
.cinema .photo-cell{flex:var(--ratio) 1 0%;min-width:0;aspect-ratio:var(--ratio);overflow:hidden;background:var(--soft)}
.cinema .photo-cell>a{display:block;width:100%;height:100%}
.cinema .photo-cell .work-photo{aspect-ratio:auto;height:100%}
.cinema .photo-cell img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;transform:none}
.cinema .photo-row-single{width:100%;margin-inline:0}
.cinema .photo-row-single .photo-cell{flex:0 0 calc(50% - var(--photo-gap)/2)}
.cinema .photo-rows .work-hover-title{padding:20px;font-size:clamp(1rem,1.35vw,1.25rem);transition:opacity 250ms cubic-bezier(.25,1,.5,1)}
.cinema .photo-cell>a:focus-visible{outline:2px solid var(--brown);outline-offset:-3px}
/* Project covers are muted as on the previous site (55% grey); colour returns on hover or focus. */
.cinema .work-photo img{filter:grayscale(55%);transition:filter 400ms cubic-bezier(.25,1,.5,1)}
.cinema a.work-item:hover .work-photo img,.cinema a.work-item:focus-visible .work-photo img{filter:none}
@media(max-width:680px){.cinema .photo-work>.section-heading{padding:0 24px}.cinema .photo-rows{--photo-gap:4px}.cinema .photo-row,.cinema .photo-row-single{flex-direction:column;width:100%}.cinema .photo-cell,.cinema .photo-row-single .photo-cell{flex:none;width:100%}}


/* One quiet glint over the studio mark; photography remains the focus. */
.cinema .site-header .brand{position:relative;overflow:hidden;isolation:isolate}
.cinema .site-header .brand::before{content:"";position:absolute;inset:-15% 0;pointer-events:none;z-index:1;background:linear-gradient(105deg,transparent 32%,oklch(99% .006 85 / .65) 50%,transparent 68%);transform:translateX(-125%);opacity:0}
.cinema .brand.light-ready::before{animation:studio-light-pass 2200ms cubic-bezier(.25,1,.5,1) 200ms 1 both}
@keyframes studio-light-pass{0%{transform:translateX(-125%);opacity:0}16%{opacity:.5}74%{opacity:.5}100%{transform:translateX(125%);opacity:0}}
.cinema .hero-photo img.image-ready{animation:studio-image-arrival 1100ms cubic-bezier(.25,1,.5,1) 1 both}
@keyframes studio-image-arrival{from{opacity:.88}to{opacity:1}}
.cinema .reveal-wait{opacity:0;transform:translateY(6px)}
.cinema .reveal-visible{transition:opacity 700ms cubic-bezier(.25,1,.5,1),transform 700ms cubic-bezier(.25,1,.5,1);transition-delay:var(--reveal-delay,0ms)}
.cinema .rail-controls button,.cinema .load-more{transition:background-color 200ms cubic-bezier(.25,1,.5,1),border-color 200ms cubic-bezier(.25,1,.5,1)}
.cinema .rail-controls button:hover:not(:disabled),.cinema .load-more:hover{background-color:oklch(92% .015 65);border-color:var(--brown)}
.cinema.motion-off .brand::before{display:none}.cinema.motion-off .hero-photo img.image-ready{animation:none}
@media(prefers-reduced-motion:reduce){.cinema .brand::before{display:none}.cinema .hero-photo img.image-ready{animation:none}.cinema .reveal-wait,.cinema .reveal-visible{opacity:1!important;transform:none!important;transition:none!important}}
