
:root{--paper:#f2f0e9;--ink:#11110f;--muted:#77736a;--line:rgba(17,17,15,.18);--pad:clamp(22px,4vw,70px);--max:1540px}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{display:block;width:100%;user-select:none;-webkit-user-drag:none}.site-header{position:fixed;z-index:90;left:0;right:0;top:0;padding:22px var(--pad);display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:12px;letter-spacing:.19em;text-transform:uppercase;font-weight:700;transition:color .25s}
.site-header.is-on-light{color:var(--ink)}.nav{display:flex;gap:clamp(18px,3vw,48px)}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .25s}.nav a:hover:after{right:0}.menu-btn{display:none;background:none;border:0;color:inherit;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.hero{height:100svh;background:#111;position:relative;overflow:hidden}.hero-image{height:100%}.hero-image img{height:100%;object-fit:cover;object-position:center 45%}.scroll-cue{position:absolute;right:var(--pad);bottom:38px;color:#fff;font-size:10px;letter-spacing:.2em;text-transform:uppercase;display:flex;gap:12px;align-items:center}.scroll-cue span{display:block;width:40px;height:1px;background:#fff}.protected-image{position:relative;overflow:hidden}.protected-image:after{content:"© Manas Bharadwaj";position:absolute;right:14px;bottom:12px;color:rgba(255,255,255,.42);font-size:9px;letter-spacing:.13em;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.65);pointer-events:none}.about-section,.contact-section,.exhibition-section{padding:120px var(--pad);max-width:var(--max);margin:auto}.section-kicker{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700}.work-section{background:#0e0e0d;color:#f5f2e9;padding:140px var(--pad);min-height:100svh}.section-head{max-width:var(--max);margin:0 auto 85px;display:grid;grid-template-columns:1fr 3fr;gap:40px}.section-head h1{font-family:Georgia,serif;font-size:clamp(64px,10vw,155px);font-weight:400;line-height:.88;letter-spacing:-.055em;margin:0}.section-head p{font-family:Georgia,serif;font-size:clamp(20px,2vw,32px);max-width:720px;margin:22px 0 0;color:#c8c4bb}.album-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px)}.album-card{border:0;background:none;color:inherit;text-align:left;padding:0;cursor:pointer}.album-card .protected-image{background:#171716}.album-card img{aspect-ratio:4/3;object-fit:cover;transition:transform .5s}.album-card:hover img{transform:scale(1.015)}.album-info{display:grid;grid-template-columns:110px 1fr auto;gap:25px;align-items:end;border-top:1px solid rgba(255,255,255,.25);padding-top:16px;margin-top:18px}.album-info>span{font-size:10px;letter-spacing:.17em;text-transform:uppercase}.album-info h2{font-family:Georgia,serif;font-size:clamp(38px,4vw,64px);font-weight:400;margin:0;line-height:1}.open-label b{font-size:20px}.exhibition-section{padding-top:150px}.exhibition-top{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(45px,7vw,120px);align-items:end}.exhibition-top h1{font-family:Georgia,serif;font-size:clamp(70px,10vw,155px);font-weight:400;line-height:.86;letter-spacing:-.06em;margin:15px 0 35px}.exhibition-lead{font-family:Georgia,serif;font-size:clamp(22px,2.2vw,35px);max-width:780px}.poster-main{width:560px;max-width:100%;margin-left:auto}.details{margin-top:85px;padding:65px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.details h3{font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 10px}.details p,.details a{font-family:Georgia,serif;font-size:20px;line-height:1.4;margin:0}.details a{border-bottom:1px solid}.essay{max-width:1050px;margin:110px auto 0}.standfirst{font-family:Georgia,serif;font-size:clamp(30px,3.2vw,48px);line-height:1.2;margin:0 0 80px}.essay-block{display:grid;grid-template-columns:1fr 3fr;gap:40px;padding:50px 0;border-top:1px solid var(--line)}.essay-block h2{font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin:7px 0}.essay-block p{font-family:Georgia,serif;font-size:clamp(19px,1.65vw,26px);line-height:1.55;margin:0 0 1.2em}.closing{font-family:Georgia,serif;font-size:clamp(42px,6vw,90px);line-height:1.02;letter-spacing:-.04em;margin:110px 0 0}.about-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(55px,8vw,140px);align-items:start}.about-copy h1{font-family:Georgia,serif;font-size:clamp(60px,8vw,120px);font-weight:400;line-height:.9;letter-spacing:-.05em;margin:16px 0 55px}.about-copy p{font-family:Georgia,serif;font-size:clamp(19px,1.65vw,27px);line-height:1.55;margin:0 0 1.25em}.about-final{font-size:clamp(25px,2.6vw,42px)!important;line-height:1.25!important;margin-top:55px!important}.contact-section{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(60px,9vw,150px);align-items:start;padding-bottom:150px}.contact-intro h1{font-family:Georgia,serif;font-size:clamp(56px,7.5vw,118px);font-weight:400;line-height:.9;letter-spacing:-.05em;margin:16px 0 35px}.contact-intro p{font-family:Georgia,serif;font-size:22px;max-width:600px}.contact-form{padding-top:30px}.contact-form label{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:26px}.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:12px 0;font-family:Georgia,serif;font-size:21px;border-radius:0;outline:none}.contact-form textarea{resize:vertical}.contact-form button{border:0;background:var(--ink);color:var(--paper);padding:18px 22px;display:flex;justify-content:space-between;width:100%;font-size:11px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}.form-note{font-size:11px;color:var(--muted);margin-top:15px}footer{padding:32px var(--pad);border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.16em;text-transform:uppercase}footer a{border-bottom:1px solid transparent;transition:border-color .2s}footer a:hover{border-color:currentColor}.viewer{position:fixed;inset:0;background:#080808;color:#fff;z-index:120;display:none;align-items:center;justify-content:center}.viewer.open{display:flex}.viewer-stage{max-width:calc(100vw - 180px);max-height:calc(100vh - 100px)}.viewer-stage img{max-width:100%;max-height:calc(100vh - 100px);width:auto;height:auto;object-fit:contain}.viewer-close,.viewer-arrow{position:absolute;border:0;background:rgba(0,0,0,.2);color:#fff;cursor:pointer;z-index:2}.viewer-close{right:28px;top:20px;font-size:42px;font-weight:200}.viewer-arrow{top:50%;transform:translateY(-50%);font-size:38px;width:70px;height:70px;border-radius:50%}.viewer-prev{left:22px}.viewer-next{right:22px}.viewer-caption{position:absolute;left:30px;right:30px;bottom:18px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.viewer-stage:after{font-size:10px;right:18px;bottom:16px}.viewer-title{font-weight:700}
@media(max-width:800px){.site-header{padding:18px 20px}.menu-btn{display:block}.nav{position:fixed;inset:0;background:var(--paper);color:var(--ink);mix-blend-mode:normal;display:none;flex-direction:column;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:36px;letter-spacing:-.02em;text-transform:none;gap:24px}.nav.open{display:flex}.about-section,.contact-section,.exhibition-section{padding:85px 20px}.album-grid,.section-head,.exhibition-top,.about-section,.contact-section,.essay-block{grid-template-columns:1fr}.work-section{padding:100px 20px}.section-head{gap:25px}.album-info{grid-template-columns:70px 1fr}.open-label{display:none}.poster-main{width:76%;margin:0 auto}.details{grid-template-columns:1fr}.essay-block{gap:20px}.about-section{gap:40px}.viewer-stage{max-width:calc(100vw - 20px);max-height:calc(100vh - 120px)}.viewer-stage img{max-height:calc(100vh - 120px)}.viewer-arrow{width:46px;height:46px;font-size:25px;background:rgba(0,0,0,.5)}.viewer-prev{left:5px}.viewer-next{right:5px}footer{flex-direction:column;gap:10px}}

/* V10 immersive floating scroll */
body{overflow-x:hidden}
.floating-section{position:relative}
.work-section,.exhibition-section,.about-section,.contact-section{min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.reveal-up{opacity:0;transform:translateY(70px) scale(.985);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}
.reveal-up.is-visible{opacity:1;transform:translateY(0) scale(1)}
.section-head,.album-grid,.about-image,.about-copy,.contact-intro,.contact-form{opacity:0;transform:translateY(65px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.floating-section.is-active .section-head,.floating-section.is-active .album-grid,.floating-section.is-active .about-image,.floating-section.is-active .about-copy,.floating-section.is-active .contact-intro,.floating-section.is-active .contact-form{opacity:1;transform:translateY(0)}
.float-media{will-change:transform;transition:transform .15s linear}
.exhibition-section{max-width:none;padding:0;background:var(--paper)}
.exhibition-top,.details,.essay{width:min(var(--max),calc(100% - 2*var(--pad)));margin-left:auto;margin-right:auto}
.exhibition-top{min-height:100svh;padding-top:130px;padding-bottom:90px}
.detail-link{display:inline-flex;gap:18px;align-items:center;margin-top:28px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:6px}
.detail-link span{font-size:18px}
.details{margin-top:0}
.essay{padding-top:120px;padding-bottom:140px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-up,.section-head,.album-grid,.about-image,.about-copy,.contact-intro,.contact-form{opacity:1!important;transform:none!important;transition:none!important}}
@media(max-width:800px){.work-section,.exhibition-section,.about-section,.contact-section{min-height:auto}.exhibition-top{min-height:100svh;padding-top:110px}.reveal-up{transform:translateY(35px)}}

/* V11 corrections */
#work{margin-top:0}
.work-section{background:#0e0e0d!important;color:#f5f2e9!important}
.about-section{min-height:100svh;scroll-snap-align:start;padding-top:clamp(110px,10vh,160px);padding-bottom:clamp(90px,10vh,150px)}
.about-section .about-copy,.about-section .about-image{opacity:1;transform:none}
.about-section .section-kicker{color:var(--muted)}
@media(max-width:800px){.about-section{min-height:auto;padding-top:100px;padding-bottom:90px}}

/* V12 final About spread */
@media (min-width: 1001px) {
  .about-section {
    width: 100%;
    max-width: var(--max);
    height: 100svh;
    min-height: 720px;
    padding: clamp(82px, 8vh, 110px) var(--pad) clamp(54px, 6vh, 82px);
    display: grid;
    grid-template-columns: minmax(340px, .86fr) minmax(520px, 1.14fr);
    column-gap: clamp(64px, 8vw, 138px);
    align-items: center;
    overflow: hidden;
  }

  .about-image {
    width: min(100%, 510px);
    height: min(72vh, 690px);
    justify-self: center;
    align-self: center;
    background: #e8e5dc;
  }

  .about-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
  }

  .about-copy {
    width: 100%;
    max-width: 760px;
    justify-self: start;
    align-self: center;
  }

  .about-copy h1 {
    font-size: clamp(52px, 5.5vw, 88px);
    line-height: .92;
    margin: 12px 0 clamp(26px, 3.2vh, 42px);
  }

  .about-copy p {
    font-size: clamp(16px, 1.18vw, 20px);
    line-height: 1.48;
    margin: 0 0 .9em;
    max-width: 70ch;
  }

  .about-copy .about-final {
    font-size: clamp(20px, 1.65vw, 29px)!important;
    line-height: 1.28!important;
    margin-top: clamp(24px, 3vh, 40px)!important;
    max-width: 34ch;
  }
}

@media (min-width: 1001px) and (max-height: 820px) {
  .about-section {
    padding-top: 72px;
    padding-bottom: 42px;
    column-gap: clamp(52px, 6vw, 100px);
  }
  .about-image { height: min(68vh, 590px); }
  .about-copy h1 { font-size: clamp(46px, 4.9vw, 74px); margin-bottom: 22px; }
  .about-copy p { font-size: clamp(15px, 1.05vw, 18px); line-height: 1.42; margin-bottom: .72em; }
  .about-copy .about-final { font-size: clamp(18px, 1.45vw, 24px)!important; margin-top: 20px!important; }
}

@media (max-width: 1000px) {
  .about-section {
    display: grid;
    grid-template-columns: 1fr;
    min-height: auto;
    height: auto;
    padding-top: 100px;
    padding-bottom: 90px;
    gap: 48px;
    overflow: visible;
  }
  .about-image {
    width: min(78vw, 500px);
    justify-self: center;
  }
  .about-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .about-copy {
    max-width: 720px;
    justify-self: center;
  }
}

/* V13 — definitive About spread: portrait left, essay right */
@media (min-width: 760px) {
  #about.about-section {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    height: 100svh;
    min-height: 680px;
    padding: clamp(74px, 8vh, 110px) clamp(34px, 5vw, 88px) clamp(42px, 5vh, 72px);
    margin: 0;
    display: grid !important;
    grid-template-columns: minmax(280px, 42%) minmax(390px, 58%);
    grid-template-rows: minmax(0, 1fr);
    gap: clamp(42px, 6vw, 110px);
    align-items: center;
    justify-items: stretch;
    overflow: hidden;
  }

  #about .about-image {
    grid-column: 1;
    grid-row: 1;
    width: min(100%, 500px);
    height: min(72svh, 680px);
    max-height: calc(100svh - 150px);
    margin: 0 auto;
    align-self: center;
    justify-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    overflow: visible;
  }

  #about .about-image img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    aspect-ratio: auto;
    object-fit: contain !important;
    object-position: 50% 50% !important;
  }

  #about .about-image::after {
    right: 10px;
    bottom: 8px;
  }

  #about .about-copy {
    grid-column: 2;
    grid-row: 1;
    width: min(100%, 760px);
    max-width: 760px;
    max-height: calc(100svh - 140px);
    margin: 0;
    padding: 0 clamp(8px, 1vw, 18px) 0 0;
    align-self: center;
    justify-self: start;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }

  #about .about-copy h1 {
    font-size: clamp(44px, 5vw, 82px);
    line-height: .94;
    margin: 12px 0 clamp(20px, 2.5vh, 34px);
  }

  #about .about-copy p {
    font-size: clamp(14px, 1.12vw, 19px);
    line-height: 1.46;
    margin: 0 0 .78em;
    max-width: 68ch;
  }

  #about .about-copy .about-final {
    font-size: clamp(18px, 1.55vw, 27px) !important;
    line-height: 1.28 !important;
    margin-top: clamp(18px, 2.4vh, 32px) !important;
    max-width: 36ch;
  }
}

@media (min-width: 760px) and (max-height: 760px) {
  #about.about-section {
    min-height: 600px;
    padding-top: 62px;
    padding-bottom: 30px;
  }
  #about .about-image {
    height: min(66svh, 560px);
    max-height: calc(100svh - 110px);
  }
  #about .about-copy {
    max-height: calc(100svh - 105px);
  }
  #about .about-copy h1 {
    font-size: clamp(40px, 4.4vw, 66px);
    margin-bottom: 18px;
  }
  #about .about-copy p {
    font-size: clamp(13px, .98vw, 16px);
    line-height: 1.4;
    margin-bottom: .62em;
  }
  #about .about-copy .about-final {
    font-size: clamp(17px, 1.25vw, 22px) !important;
    margin-top: 16px !important;
  }
}

@media (max-width: 759px) {
  #about.about-section {
    display: grid !important;
    grid-template-columns: 1fr;
    height: auto;
    min-height: auto;
    padding: 92px 20px 80px;
    gap: 42px;
    overflow: visible;
  }
  #about .about-image {
    width: min(76vw, 430px);
    height: auto;
    margin: 0 auto;
    overflow: visible;
  }
  #about .about-image img {
    width: 100%;
    height: auto;
    object-fit: contain !important;
    object-position: center !important;
  }
  #about .about-copy {
    width: 100%;
    max-width: 680px;
    max-height: none;
    overflow: visible;
    margin: 0 auto;
  }
}

/* V14 — final editorial polish and cinematic homepage */
:root{
  --paper:#f0eee7;
  --ink:#0d0d0c;
  --muted:#6f6b63;
  --display: Georgia, 'Times New Roman', serif;
  --sans: Arial, Helvetica, sans-serif;
}
body{font-family:var(--sans);letter-spacing:.002em}
.section-kicker,.site-header,.album-info>span,.detail-link,.details h3,.viewer-caption,footer{letter-spacing:.17em}
.section-head h1,.exhibition-top h1,.about-copy h1,.contact-intro h1,.closing,.album-info h2{font-family:var(--display)}
.section-head p,.exhibition-lead,.details p,.essay-block p,.standfirst,.about-copy p,.contact-intro p,.contact-form input,.contact-form textarea{font-family:var(--display)}

/* cinematic first frame */
.hero{isolation:isolate;background:#050505}
.hero:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,0) 45%,rgba(0,0,0,.28) 100%);pointer-events:none}
.hero-image img{transform:scale(1.035);animation:hero-breathe 14s cubic-bezier(.2,.65,.25,1) forwards;will-change:transform;object-position:center 47%}
.hero-signature{position:absolute;z-index:4;left:var(--pad);bottom:37px;color:rgba(255,255,255,.82);font-size:10px;line-height:1;letter-spacing:.23em;text-transform:uppercase}
.scroll-cue{z-index:4;right:var(--pad);bottom:34px;color:rgba(255,255,255,.82)}
.scroll-cue span{width:48px;transform-origin:right center;animation:cue-pulse 2.8s ease-in-out infinite}
@keyframes hero-breathe{to{transform:scale(1)}}
@keyframes cue-pulse{0%,100%{transform:scaleX(.55);opacity:.5}50%{transform:scaleX(1);opacity:1}}

/* more deliberate editorial rhythm */
.work-section{padding-top:clamp(105px,12vh,165px);padding-bottom:clamp(95px,11vh,150px)}
.section-head{align-items:end;margin-bottom:clamp(52px,7vh,88px)}
.section-head h1{font-size:clamp(62px,9vw,142px)}
.section-head p{max-width:620px;font-size:clamp(18px,1.65vw,27px);line-height:1.42}
.album-grid{gap:clamp(32px,5vw,82px)}
.album-card img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.album-card:hover img{transform:scale(1.025)}
.album-info{margin-top:20px;padding-top:18px}

/* gallery viewer feels like a darkroom */
.viewer{background:rgba(5,5,5,.985)}
.viewer-stage img{animation:viewer-in .45s ease both}
@keyframes viewer-in{from{opacity:0;transform:scale(.992)}to{opacity:1;transform:scale(1)}}
.viewer-arrow{transition:background .25s,transform .25s}
.viewer-arrow:hover{background:rgba(255,255,255,.12);transform:translateY(-50%) scale(1.05)}

/* fine typography */
.essay-block p{max-width:64ch}
.about-copy p{max-width:66ch}
.contact-form input,.contact-form textarea{line-height:1.35}

/* mobile is composed, not merely stacked */
@media(max-width:759px){
  .site-header{font-size:10px}.brand{max-width:58vw;white-space:nowrap}
  .hero{height:48svh}
  .hero-image img{object-position:14% center}
  .hero-signature{left:20px;bottom:72px;max-width:220px;line-height:1.5;font-size:9px}
  .scroll-cue{right:20px;bottom:28px}
  .work-section{padding:94px 20px 82px}
  .section-head{margin-bottom:46px}.section-head h1{font-size:clamp(56px,18vw,82px)}
  .section-head p{font-size:19px;line-height:1.45}
  .album-grid{gap:58px}
  .album-card img{aspect-ratio:auto;object-fit:cover}
  .album-info{grid-template-columns:68px 1fr;margin-top:15px;padding-top:14px}
  .album-info h2{font-size:42px}
  .exhibition-top h1{font-size:clamp(58px,17vw,86px)}
  .exhibition-lead{font-size:21px;line-height:1.45}
  .essay{padding-top:80px;padding-bottom:100px}.standfirst{margin-bottom:55px}
  #about .about-copy h1{font-size:clamp(54px,16vw,76px)}
  #about .about-copy p{font-size:18px;line-height:1.52}
  .contact-intro h1{font-size:clamp(52px,15vw,74px)}
  .viewer-caption{left:16px;right:16px}.viewer-title{max-width:65vw}
}

@media(prefers-reduced-motion:reduce){.hero-image img,.scroll-cue span{animation:none!important;transform:none!important}}
