
:root{--bg:#080908;--panel:#0e0f0e;--text:#ece8e0;--muted:#918d84;--line:rgba(236,232,224,.14);--line2:rgba(236,232,224,.22);--serif:'Space Grotesk',Arial,sans-serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;letter-spacing:.015em}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:27px 34px;color:#f4f1eb;mix-blend-mode:difference;pointer-events:none}.site-header>*{pointer-events:auto}.brand{display:flex;flex-direction:column;font-family:var(--serif);font-size:13px;line-height:.88;letter-spacing:.22em;font-weight:500}.brand small{font-family:var(--sans);font-size:8px;letter-spacing:.22em;margin-top:12px;color:#d7d4ce}.main-nav{display:flex;gap:31px;text-transform:uppercase;font-size:9px;letter-spacing:.2em}.main-nav a{opacity:.86}.main-nav a:hover{opacity:1}
.hero{min-height:100svh;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero img{position:absolute;inset:0;filter:saturate(.76) contrast(.98) brightness(.92);object-position:center 45%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.08) 42%,rgba(0,0,0,.72) 100%),linear-gradient(90deg,rgba(0,0,0,.80) 0%,rgba(0,0,0,.48) 24%,rgba(0,0,0,.08) 50%,rgba(0,0,0,.08) 72%,rgba(0,0,0,.30) 100%)}.hero-bottom-left,.hero-bottom-right,.hero-scroll{position:absolute;z-index:4;text-transform:uppercase;font-size:9px;letter-spacing:.2em}.hero-bottom-left{left:34px;bottom:42px;padding-left:24px;border-left:1px solid rgba(255,255,255,.65);line-height:1.8}.hero-bottom-right{right:17vw;bottom:52px;max-width:220px;line-height:1.55}.hero-scroll{right:34px;bottom:35px;writing-mode:vertical-rl;transform:rotate(180deg);opacity:.8}.hero-scroll:before{content:"↓";display:block;font-size:14px;margin-bottom:8px}
.catalogue{padding:0 3.1vw 56px}.feature-row{display:grid;grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr);min-height:390px;border-bottom:1px solid var(--line);position:relative}.feature-row .copy{padding:44px 34px 38px 8px;display:flex;flex-direction:column;justify-content:center}.feature-row .visual{position:relative;min-height:390px;overflow:hidden}.feature-row .visual img{transition:transform .8s cubic-bezier(.2,.7,.1,1);filter:saturate(.76) contrast(.98) brightness(.92)}.feature-row .visual:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.52) 0%,rgba(0,0,0,.23) 18%,rgba(0,0,0,.02) 48%),linear-gradient(180deg,rgba(0,0,0,.10) 0%,transparent 52%,rgba(0,0,0,.30) 100%)}.feature-row:hover .visual img{transform:scale(1.018)}.film-number{position:absolute;right:0;top:20px;font-size:9px;letter-spacing:.2em;color:#aaa49b}.feature-row h2,.card h3,.detail-title{font-family:var(--serif);font-weight:500;letter-spacing:-.025em}.feature-row h2{font-size:clamp(44px,4.5vw,74px);line-height:.9;margin:0 0 14px}.meta{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#c6c1b8;margin-bottom:24px}.synopsis{font-size:11px;line-height:1.75;color:#a9a49c;max-width:390px;margin:0 0 23px}.button{display:inline-flex;align-items:center;gap:20px;width:max-content;border:1px solid var(--line2);padding:12px 17px;text-transform:uppercase;font-size:9px;letter-spacing:.18em;transition:background .2s ease,border-color .2s ease}.button:hover{background:#f0ece3;color:#0a0a0a;border-color:#f0ece3}.status{margin-top:24px;font-size:8px;letter-spacing:.17em;text-transform:uppercase;color:#8e8a82}
.thumb-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:10px 0 12px}.thumb-strip img{aspect-ratio:2.1/1;object-fit:cover;filter:saturate(.70) contrast(.98) brightness(.88)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:8px}.card{min-height:270px;position:relative;overflow:hidden;border:1px solid var(--line);background:#101110}.card img{position:absolute;inset:0;transition:transform .8s cubic-bezier(.2,.7,.1,1);filter:saturate(.76) contrast(.98) brightness(.91)}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,4,.94) 0%,rgba(4,4,4,.68) 40%,rgba(4,4,4,.12) 70%,rgba(4,4,4,.18) 100%),linear-gradient(180deg,rgba(0,0,0,.06) 0%,transparent 48%,rgba(0,0,0,.38) 100%)}.card:hover img{transform:scale(1.025)}.card-copy{position:relative;z-index:3;padding:31px 28px;max-width:54%;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.card h3{margin:0 0 9px;font-size:clamp(26px,2.4vw,38px);line-height:.94}.card .meta{margin:0 0 18px}.card .button{padding:10px 14px;font-size:8px}.card-number{position:absolute;z-index:4;right:14px;top:14px;font-size:8px;letter-spacing:.2em;color:#c4bfb7}
.section-label{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-top:70px;text-transform:uppercase;font-size:9px;letter-spacing:.2em;color:#8f8b84}.experiments-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.experiment-card{position:relative;aspect-ratio:1.35/1;overflow:hidden;border:1px solid var(--line)}.experiment-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.72))}.experiment-card span{position:absolute;z-index:2;left:15px;bottom:13px;font-family:var(--serif);font-size:21px}.experiment-card img{filter:saturate(.7)}
.about{padding:96px 3.1vw 108px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:9vw}.about h2{font-family:var(--serif);font-size:clamp(44px,6vw,90px);line-height:.9;font-weight:500;margin:0}.about-copy{max-width:530px;align-self:end}.about-copy p{font-size:13px;line-height:1.8;color:#aaa59d}.about-kicker{text-transform:uppercase;font-size:9px;letter-spacing:.2em;color:#8e8a82;margin-bottom:29px}.about-copy .about-signoff{margin-top:30px;color:var(--paper);font-family:var(--serif);font-size:clamp(18px,1.8vw,26px);line-height:1.25;letter-spacing:-.015em}.footer{padding:31px 3.1vw 38px;border-top:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;text-transform:uppercase;font-size:8px;letter-spacing:.19em}.footer small{display:block;color:#77736d;margin-top:8px}.footer-links{display:flex;gap:24px}
.detail-hero{padding:118px 3.7vw 50px;min-height:72vh;display:grid;grid-template-columns:.78fr 1.22fr;gap:3vw;border-bottom:1px solid var(--line);align-items:end}.detail-copy{padding-bottom:16px}.back{display:inline-block;text-transform:uppercase;font-size:8px;letter-spacing:.19em;color:#a8a39a;margin-bottom:50px}.detail-title{font-size:clamp(60px,8vw,124px);line-height:.82;margin:0 0 20px}.detail-subtitle{font-size:.45em;color:#918d84}.detail-meta{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#b9b4ab;margin-bottom:24px}.detail-synopsis{max-width:540px;color:#aaa59c;font-size:13px;line-height:1.75}.detail-actions{display:flex;gap:10px;margin-top:28px}.detail-hero-image{height:min(66vh,690px);min-height:470px;position:relative;overflow:hidden;border:1px solid var(--line)}.detail-hero-image img{filter:saturate(.76) contrast(.98) brightness(.92)}.detail-hero-image:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.27) 0%,rgba(0,0,0,.07) 28%,transparent 46%),linear-gradient(180deg,rgba(0,0,0,.05) 0%,transparent 56%,rgba(0,0,0,.38) 100%)}
.gallery{padding:28px 3.7vw 76px}.gallery-head{display:flex;justify-content:space-between;padding:0 0 14px;border-bottom:1px solid var(--line);text-transform:uppercase;font-size:9px;letter-spacing:.2em;color:#8e8a82}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;margin-top:8px}.gallery-item{overflow:hidden;background:#111;min-height:240px;border:1px solid var(--line)}.gallery-item img{transition:transform .7s ease;filter:saturate(.80) contrast(.98) brightness(.96)}.gallery-item:hover img{transform:scale(1.015)}.gallery-item:nth-child(7n+1),.gallery-item:nth-child(7n+4){grid-column:span 7;aspect-ratio:2/1}.gallery-item:nth-child(7n+2),.gallery-item:nth-child(7n+3){grid-column:span 5;aspect-ratio:1.45/1}.gallery-item:nth-child(7n+5),.gallery-item:nth-child(7n+6),.gallery-item:nth-child(7n+7){grid-column:span 4;aspect-ratio:1.35/1}
.info-grid{margin:0 3.7vw 86px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:.75fr 1.5fr .85fr}.info-grid>div{padding:24px 24px 32px;border-right:1px solid var(--line)}.info-grid>div:first-child{padding-left:0}.info-grid>div:last-child{border-right:0}.info-grid h4{text-transform:uppercase;font-size:8px;letter-spacing:.2em;color:#8d8981;margin:0 0 16px}.info-grid p,.info-grid dl{font-size:10px;line-height:1.7;color:#aaa59d;margin:0}.info-grid dt{text-transform:uppercase;letter-spacing:.14em;color:#716e68}.info-grid dd{margin:0 0 8px}.next-row{margin:0 3.7vw 86px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.next-card{position:relative;min-height:270px;overflow:hidden;border:1px solid var(--line)}.next-card img{position:absolute;inset:0;filter:saturate(.72) brightness(.90)}.next-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.34) 42%,rgba(0,0,0,.10) 100%),linear-gradient(180deg,transparent 52%,rgba(0,0,0,.32) 100%)}.next-card div{position:absolute;z-index:2;left:24px;bottom:22px}.next-card small{text-transform:uppercase;letter-spacing:.18em;font-size:8px;color:#b8b3ab}.next-card strong{display:block;font-family:var(--serif);font-size:30px;font-weight:500;margin-top:7px}.experiments-page{padding:140px 3.7vw 90px}.experiments-page h1{font-family:var(--serif);font-size:clamp(64px,10vw,140px);font-weight:500;line-height:.85;margin:0 0 40px}.experiments-page p{max-width:560px;color:#aaa59d;line-height:1.7}.experiments-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:50px}
@media(max-width:900px){.hero-bottom-right{display:none}.feature-row{grid-template-columns:1fr}.feature-row .copy{order:2;padding:27px 0 36px}.feature-row .visual{min-height:54vw}.thumb-strip{grid-template-columns:repeat(3,1fr)}.grid,.experiments-grid{grid-template-columns:1fr}.card{min-height:52vw}.detail-hero{grid-template-columns:1fr;padding-top:110px}.detail-hero-image{height:60vw;min-height:420px}.back{margin-bottom:28px}.info-grid{grid-template-columns:1fr}.info-grid>div{border-right:0;border-bottom:1px solid var(--line);padding-left:0}.info-grid>div:last-child{border-bottom:0}.experiments-strip{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr;gap:50px}}
@media(max-width:640px){.site-header{padding:19px 18px}.brand{font-size:11px}.brand small{font-size:7px;margin-top:9px}.main-nav{gap:12px;font-size:7px;max-width:60%;flex-wrap:wrap;justify-content:flex-end}.hero-bottom-left{left:18px;bottom:28px}.hero-scroll{right:18px;bottom:24px}.catalogue{padding:0 18px 42px}.feature-row h2{font-size:48px}.feature-row .visual{min-height:62vw}.thumb-strip{grid-template-columns:repeat(2,1fr)}.card{min-height:72vw}.card-copy{max-width:72%;padding:22px}.experiments-strip{grid-template-columns:1fr}.about{padding:72px 18px 84px}.footer{padding:26px 18px 34px;align-items:flex-start;gap:25px;flex-direction:column}.detail-hero{padding:94px 18px 34px}.detail-title{font-size:60px}.detail-hero-image{height:74vw;min-height:320px}.gallery{padding:22px 18px 60px}.gallery-grid{grid-template-columns:1fr}.gallery-item,.gallery-item:nth-child(n){grid-column:auto!important;aspect-ratio:16/9!important;min-height:0}.info-grid{margin:0 18px 60px}.next-row{margin:0 18px 60px;grid-template-columns:1fr}.experiments-page{padding:110px 18px 70px}}


/* --- Film-look refinement: approved layout preserved --- */
.site-header .brand{font-size:28px;line-height:.84;letter-spacing:.18em}.site-header .brand small{font-size:9px;margin-top:15px;letter-spacing:.22em}

/* Experiments are intentionally a separate archive — no film cards repeated here. */
.experiments-separator{margin-top:82px;padding:34px 0 42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:end;gap:50px}.experiments-kicker{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.22em;color:#9b968e;margin-bottom:13px}.experiments-separator p{margin:0;max-width:640px;font-family:var(--serif);font-size:clamp(23px,2.5vw,39px);line-height:1.08;color:#d7d2c9}.experiments-link{display:inline-flex;gap:22px;border:1px solid var(--line2);padding:13px 17px;text-transform:uppercase;font-size:8px;letter-spacing:.19em;white-space:nowrap;transition:.2s ease}.experiments-link:hover{background:#eee9df;color:#090909;border-color:#eee9df}
.experiments-page{min-height:calc(100vh - 100px)}.experiments-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:end;border-bottom:1px solid var(--line);padding-bottom:58px}.experiments-intro h1{margin-bottom:0}.experiments-copy{padding-bottom:9px}.experiments-copy p{margin:0 0 16px}.experiments-empty{min-height:300px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.experiments-empty span{font-size:8px;letter-spacing:.2em;color:#706c65}.experiments-empty strong{font-family:var(--serif);font-size:clamp(34px,5vw,70px);font-weight:500;margin:10px 0 4px}.experiments-empty p{margin:0;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#77736c}

@media(max-width:900px){.experiments-separator,.experiments-intro{grid-template-columns:1fr}.experiments-separator{align-items:start}.experiments-link{justify-self:start}.experiments-copy{padding-bottom:0}}
@media(max-width:640px){.site-header .brand{font-size:19px;line-height:.86;letter-spacing:.16em}.site-header .brand small{font-size:7px;margin-top:10px}.experiments-separator{margin-top:58px;padding:28px 0 34px;gap:28px}.experiments-page .back{margin-bottom:38px}}

.next-card div{z-index:3}

/* --- Refinement v3: larger identity, no sticky overlap, consistent film frames --- */
.site-header{
  position:absolute;
}
.site-header .brand{
  font-size:40px;
  line-height:.80;
  letter-spacing:.14em;
}
.site-header .brand small{
  font-size:10px;
  margin-top:17px;
  letter-spacing:.20em;
}

/* Detail pages keep a generous clear zone beneath the larger masthead. */
.detail-hero{padding-top:168px;}
.experiments-page{padding-top:176px;}

/* Every project hero uses one consistent cinematic frame. */
.detail-hero-image{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:16/9;
}
.detail-hero-image img{object-fit:cover;}

/* Every selected still uses exactly the same frame size. */
.gallery-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.gallery-item,
.gallery-item:nth-child(n){
  grid-column:auto;
  aspect-ratio:16/9;
  min-height:0;
}
.gallery-item img{object-fit:cover;}

@media(max-width:900px){
  .site-header .brand{font-size:34px;}
  .detail-hero{padding-top:156px;}
  .experiments-page{padding-top:164px;}
}
@media(max-width:640px){
  .site-header .brand{font-size:25px;line-height:.82;letter-spacing:.13em;}
  .site-header .brand small{font-size:7px;margin-top:11px;}
  .detail-hero{padding-top:130px;}
  .experiments-page{padding-top:136px;}
  .gallery-grid{grid-template-columns:1fr;}
}

/* --- Refinement v4: masthead has real presence --- */
.site-header .brand{
  font-size:58px;
  line-height:.77;
  letter-spacing:.10em;
}
.site-header .brand small{
  font-size:11px;
  margin-top:20px;
  letter-spacing:.18em;
}
@media(max-width:900px){
  .site-header .brand{font-size:46px;line-height:.78;letter-spacing:.10em;}
}
@media(max-width:640px){
  .site-header .brand{font-size:31px;line-height:.80;letter-spacing:.10em;}
  .site-header .brand small{font-size:7px;margin-top:12px;}
}

/* --- Refinement v5: oversized masthead --- */
.site-header .brand{
  font-size:clamp(76px,6.2vw,104px);
  line-height:.72;
  letter-spacing:.075em;
}
.site-header .brand small{
  font-size:12px;
  margin-top:24px;
  letter-spacing:.18em;
}
@media(max-width:1100px){
  .site-header .brand{font-size:72px;line-height:.74;letter-spacing:.08em;}
}
@media(max-width:900px){
  .site-header .brand{font-size:60px;line-height:.76;letter-spacing:.08em;}
  .site-header .brand small{font-size:9px;margin-top:18px;}
}
@media(max-width:640px){
  .site-header .brand{font-size:40px;line-height:.78;letter-spacing:.075em;}
  .site-header .brand small{font-size:7px;margin-top:13px;}
}

/* --- Refinement v6: airier off-white masthead --- */
.site-header{mix-blend-mode:normal;}
.site-header .brand{
  color:#eee9df;
  line-height:.86;
  letter-spacing:.085em;
}
.site-header .brand span{display:block;}
.site-header .brand small{
  color:#d8d2c8;
  margin-top:28px;
}
.main-nav{color:#e5e0d7;}
@media(max-width:1100px){
  .site-header .brand{line-height:.86;}
}
@media(max-width:900px){
  .site-header .brand{line-height:.87;}
  .site-header .brand small{margin-top:22px;}
}
@media(max-width:640px){
  .site-header .brand{line-height:.88;letter-spacing:.08em;}
  .site-header .brand small{margin-top:15px;}
}

/* v7 — film detail pages: navigation only, no masthead overlay */
.film-header{justify-content:flex-end;}
.film-header .main-nav{margin-left:auto;}

/* Font comparison: keep masthead in Inter */
.brand{font-family:var(--sans)!important;}


/* v11 — final typography test: Space Grotesk + Barlow Condensed statements */
:root{--statement:'Barlow Condensed','Arial Narrow',Arial,sans-serif;}
.about h2{
  font-family:var(--statement);
  font-weight:500;
  letter-spacing:.005em;
  line-height:.82;
}
.experiments-separator p{
  font-family:var(--statement);
  font-weight:500;
  letter-spacing:.01em;
  line-height:.98;
}
.experiments-page h1{
  font-family:var(--statement);
  font-weight:500;
  letter-spacing:.005em;
  line-height:.82;
}
.experiments-empty strong{
  font-family:var(--statement);
  font-weight:500;
  letter-spacing:.005em;
}


/* v12 — experiments page uses clean navigation-only header */
.experiments-page{padding-top:132px;}
.experiments-page .experiments-intro{align-items:end;}
@media(max-width:900px){.experiments-page{padding-top:118px;}}
@media(max-width:640px){.experiments-page{padding-top:96px;}}

/* --- v13: final polish pass --- */
:root{--paper:#ece8e0;}
body{animation:mmm-page-in .36s ease both;transition:opacity .16s ease;}
body.is-leaving{opacity:0;}
@keyframes mmm-page-in{from{opacity:0}to{opacity:1}}

/* Navigation: quiet current-state indicator. */
.main-nav a{position:relative;transition:opacity .2s ease,color .2s ease;}
.main-nav a:after{content:"";position:absolute;left:0;right:.18em;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;opacity:.72;transition:transform .22s ease;}
.main-nav a:hover:after,.main-nav a.is-active:after{transform:scaleX(1);}
.main-nav a.is-active{opacity:1;color:#f1ede5;}

/* Buttons: small directional movement instead of a loud hover. */
.button span,.experiments-link span{display:inline-block;transition:transform .22s ease;}
.button:hover span,.experiments-link:hover span{transform:translateX(3px);}

/* Catalogue image interaction. */
.feature-row .visual:before{content:"VIEW FILM  →";position:absolute;z-index:4;right:22px;bottom:20px;font-size:8px;letter-spacing:.19em;text-transform:uppercase;color:#eee9df;opacity:0;transform:translateY(5px);transition:opacity .25s ease,transform .25s ease;}
.feature-row:hover .visual:before{opacity:.9;transform:none;}
.feature-row:hover .visual img{filter:saturate(.76) contrast(.98) brightness(.86);}
.thumb-strip img{transition:filter .28s ease,transform .28s ease;}
.thumb-strip img:hover{filter:saturate(.76) contrast(.99) brightness(.98);transform:scale(1.008);}
.card{transition:border-color .25s ease;}
.card:hover{border-color:rgba(236,232,224,.28);}
.card:hover img{filter:saturate(.78) contrast(.99) brightness(.84);}
.card .button{opacity:.78;transition:background .2s ease,border-color .2s ease,opacity .2s ease;}
.card:hover .button{opacity:1;}

/* Small spacing refinements. */
.feature-row .copy{padding:50px 48px 44px 10px;}
.card-copy{padding:34px 30px;}
.experiments-separator{padding-top:39px;padding-bottom:47px;}
.about{padding-top:104px;padding-bottom:116px;}
.about-copy p:first-child{margin-top:0;}
.about-copy p:last-child{margin-bottom:0;}
.footer-links a{opacity:.72;transition:opacity .2s ease;}
.footer-links a:hover{opacity:1;}

/* Detail pages: stronger rhythm and calmer image interactions. */
.detail-hero{gap:4vw;padding-bottom:60px;}
.detail-copy{padding-bottom:20px;padding-right:1vw;}
.back{transition:color .2s ease,transform .2s ease;}
.back:hover{color:#ece8e0;transform:translateX(-2px);}
.detail-meta{margin-bottom:27px;}
.detail-synopsis{line-height:1.82;}
.detail-actions{margin-top:32px;}
.gallery{padding-top:34px;padding-bottom:82px;}
.gallery-item{transition:border-color .25s ease;}
.gallery-item:hover{border-color:rgba(236,232,224,.26);}
.gallery-item:hover img{transform:scale(1.012);filter:saturate(.82) contrast(.99) brightness(1);}
.info-grid{margin-bottom:96px;}
.info-grid>div{padding-top:28px;padding-bottom:36px;}
.next-row{margin-bottom:100px;}
.next-card{transition:border-color .25s ease;}
.next-card img{transition:transform .7s cubic-bezier(.2,.7,.1,1),filter .3s ease;}
.next-card:hover{border-color:rgba(236,232,224,.28);}
.next-card:hover img{transform:scale(1.02);filter:saturate(.76) brightness(.82);}
.next-card strong{transition:transform .24s ease;}
.next-card:hover strong{transform:translateX(3px);}

/* Better mobile header behavior without touching the desktop masthead. */
@media(max-width:900px){
  .feature-row .copy{padding:31px 0 40px;}
  .detail-copy{padding-right:0;}
}
@media(max-width:640px){
  .site-header .brand + .main-nav{flex-direction:column;align-items:flex-end;gap:8px;max-width:none;line-height:1.3;}
  .site-header .brand + .main-nav a:after{bottom:-3px;}
  .feature-row .visual:before{display:none;}
  .card-copy{padding:24px;}
  .about{padding-top:78px;padding-bottom:90px;}
  .detail-hero{padding-bottom:42px;}
  .gallery{padding-top:26px;padding-bottom:66px;}
  .info-grid{margin-bottom:66px;}
  .next-row{margin-bottom:70px;}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  body{animation:none;transition:none;}
  .feature-row .visual img,.card img,.gallery-item img,.next-card img,.button span,.experiments-link span,.back,.next-card strong{transition:none!important;}
}

/* --- v14: minimal Bunny Stream player shell --- */
.video-shell{background:#050505;isolation:isolate;}
.video-shell>img{position:absolute;inset:0;z-index:1;transition:transform .7s cubic-bezier(.2,.7,.1,1),filter .3s ease;}
.video-shell:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.16)),radial-gradient(circle at 50% 50%,transparent 0 28%,rgba(0,0,0,.22) 100%);}
.video-shell:after{z-index:3;}
.video-poster-button{position:absolute;inset:0;z-index:5;border:0;background:transparent;color:#eee9df;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;cursor:pointer;}
.video-play-icon{width:74px;height:74px;border:1px solid rgba(238,233,223,.62);border-radius:999px;display:grid;place-items:center;padding-left:4px;font-size:18px;background:rgba(5,5,5,.20);backdrop-filter:blur(2px);transition:transform .22s ease,background .22s ease,border-color .22s ease;}
.video-play-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;text-shadow:0 1px 7px rgba(0,0,0,.65);}
.video-shell:hover .video-play-icon{transform:scale(1.055);background:rgba(5,5,5,.34);border-color:rgba(238,233,223,.88);}
.video-shell:hover>img{transform:scale(1.01);filter:saturate(.76) contrast(.98) brightness(.87);}
.video-shell.is-playing:before,.video-shell.is-playing:after,.video-shell.is-playing>img,.video-shell.is-playing>.video-poster-button{display:none;}
.video-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;z-index:6;}
.video-launch{appearance:none;background:transparent;color:inherit;cursor:pointer;}
.video-launch:focus-visible,.video-poster-button:focus-visible{outline:1px solid #ece8e0;outline-offset:4px;}
@media(max-width:640px){.video-play-icon{width:60px;height:60px;font-size:15px}.video-play-label{font-size:8px}}

/* v15 — subtle per-film copy link control */
.copy-page-link{
  appearance:none;
  border:0;
  background:transparent;
  color:#8f8a82;
  padding:9px 2px;
  margin-top:12px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  cursor:pointer;
  text-transform:uppercase;
  font-size:8px;
  letter-spacing:.18em;
  transition:color .2s ease,opacity .2s ease;
}
.copy-page-link:hover{color:#eee9df;}
.copy-page-link .copy-icon{font-size:11px;line-height:1;opacity:.8;transform:translateY(-.5px);}
.copy-page-link.is-copied{color:#d9d4ca;}
.copy-page-link:focus-visible{outline:1px solid #ece8e0;outline-offset:4px;}
@media(max-width:640px){.copy-page-link{margin-top:10px;font-size:8px;padding:8px 1px}}

/* --- v20: restrained cinematic micro-interactions --- */
/* Page transitions use a black curtain instead of fading the entire page. */
body{animation:none!important;opacity:1!important;transition:none!important;}
body.is-leaving{opacity:1!important;}
.page-curtain{
  position:fixed;inset:0;z-index:9999;background:#050505;opacity:0;
  pointer-events:none;transition:opacity .2s ease;
}
.page-curtain.is-entering,body.is-leaving .page-curtain{opacity:1;}

/* Images sit slightly restrained, then breathe a little on hover. */
.feature-row .visual,.card{overflow:hidden;}
.feature-row .visual img,.card>img{
  transform:scale(1.006) translate3d(0,0,0);
  filter:saturate(.72) contrast(.99) brightness(.80);
  transition:transform 1.05s cubic-bezier(.18,.72,.12,1),filter .42s ease!important;
  will-change:transform;
}
.feature-row:hover .visual img{
  transform:scale(1.024) translate3d(-.28%,.16%,0);
  filter:saturate(.80) contrast(1) brightness(.89);
}
.card:hover>img{
  transform:scale(1.032) translate3d(-.32%,.18%,0);
  filter:saturate(.80) contrast(1) brightness(.90);
}

/* Scroll reveal: almost static, just enough to remove the hard page-build feeling. */
.reveal-ready .mmm-reveal{
  opacity:.80;transform:translate3d(0,8px,0);
  transition:opacity .48s ease,transform .62s cubic-bezier(.2,.72,.12,1);
}
.reveal-ready .mmm-reveal.is-visible{opacity:1;transform:none;}

/* Gallery stills open into a deliberately minimal black lightbox. */
.gallery-item{cursor:zoom-in;position:relative;}
.gallery-item:after{
  content:"VIEW +";position:absolute;right:14px;bottom:12px;z-index:2;
  font-size:7px;letter-spacing:.18em;color:#eee9df;opacity:0;
  transform:translateY(3px);transition:opacity .2s ease,transform .2s ease;
  text-transform:uppercase;pointer-events:none;
}
.gallery-item:hover:after{opacity:.82;transform:none;}
.still-lightbox{
  position:fixed;inset:0;z-index:9998;background:rgba(3,3,3,.97);
  display:grid;place-items:center;opacity:0;visibility:hidden;
  transition:opacity .18s ease,visibility 0s linear .18s;
}
.still-lightbox.is-open{opacity:1;visibility:visible;transition-delay:0s;}
.still-lightbox-image{
  display:block;max-width:min(92vw,1800px);max-height:88vh;width:auto;height:auto;
  object-fit:contain;box-shadow:0 0 0 1px rgba(236,232,224,.08);
}
.still-lightbox-close,.still-lightbox-nav{
  position:absolute;border:0;background:transparent;color:#e6e0d6;cursor:pointer;
  font-family:var(--sans);font-weight:300;opacity:.72;transition:opacity .18s ease,transform .18s ease;
}
.still-lightbox-close{top:22px;right:26px;font-size:26px;line-height:1;padding:8px;}
.still-lightbox-nav{top:50%;transform:translateY(-50%);font-size:30px;padding:18px 16px;}
.still-lightbox-prev{left:18px;}.still-lightbox-next{right:18px;}
.still-lightbox-close:hover,.still-lightbox-nav:hover{opacity:1;}
.still-lightbox-prev:hover{transform:translate(-3px,-50%);}
.still-lightbox-next:hover{transform:translate(3px,-50%);}
.still-lightbox-count{
  position:absolute;left:50%;bottom:20px;transform:translateX(-50%);
  color:#8f8a82;font-size:7px;letter-spacing:.2em;text-transform:uppercase;
}
body.lightbox-open{overflow:hidden;}

@media(max-width:640px){
  .gallery-item:after{display:none;}
  .still-lightbox-image{max-width:94vw;max-height:82vh;}
  .still-lightbox-close{top:12px;right:12px;}
  .still-lightbox-nav{font-size:24px;padding:14px 9px;}
  .still-lightbox-prev{left:4px}.still-lightbox-next{right:4px}
}

@media(prefers-reduced-motion:reduce){
  .page-curtain,.mmm-reveal,.feature-row .visual img,.card>img,.still-lightbox{transition:none!important;}
  .reveal-ready .mmm-reveal{opacity:1;transform:none;}
  .feature-row:hover .visual img,.card:hover>img{transform:none;}
}


/* --- v21 release pass --- */
.hero>img,.feature-row .visual img,.card>img,.detail-media>img,.video-shell>img,.gallery-item img,.next-card img{object-fit:cover;object-position:center center;}
.detail-media,.video-shell{aspect-ratio:16/9;min-height:0;}
.gallery-item{aspect-ratio:16/9;min-height:0;}
.gallery-item img{width:100%;height:100%;}
.card-copy h3,.detail-copy h1,.feature-row .copy h2{overflow-wrap:anywhere;text-wrap:balance;}
@media(max-width:760px){
  .site-header{padding-left:18px;padding-right:18px;}
  .hero{min-height:82svh;}
  .hero-bottom-left,.hero-bottom-right{bottom:18px;}
  .hero-bottom-right{right:18px;font-size:7px;line-height:1.45;}
  .hero-bottom-left{left:18px;font-size:7px;}
  .catalogue{padding-left:18px;padding-right:18px;}
  .card-copy h3{font-size:clamp(28px,10vw,44px);line-height:.92;}
  .detail-hero{padding-left:18px;padding-right:18px;gap:28px;}
  .detail-copy h1{font-size:clamp(42px,13vw,70px);line-height:.88;}
  .detail-actions{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;}
  .gallery{grid-template-columns:1fr;gap:12px;padding-left:18px;padding-right:18px;}
  .info-grid,.next-row{margin-left:18px;margin-right:18px;}
  .next-card{min-height:150px;}
  .footer{padding-left:18px;padding-right:18px;}
}
@media(max-width:420px){
  .site-header{align-items:flex-start;}
  .main-nav{gap:7px!important;}
  .hero{min-height:76svh;}
  .hero-bottom-right{max-width:46vw;}
  .detail-copy h1{font-size:clamp(38px,12.5vw,58px);}
  .button{min-height:40px;display:inline-flex;align-items:center;}
}

/* --- v22 final title-wrap fix --- */
.title-line{display:block;white-space:nowrap;overflow-wrap:normal;word-break:normal;}

/* FINAL TITLE LOCKS */
.forced-title-line{display:block!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all!important;}

/* v25 — locked line breaks for long film titles */
.locked-title{overflow-wrap:normal!important;word-break:normal!important;text-wrap:wrap!important;}
.locked-title>span{display:block;white-space:nowrap;}
.white-follower-title{font-size:clamp(54px,7.2vw,112px);}
@media(max-width:640px){.white-follower-title{font-size:54px!important;}}

/* v27: keep THE GATHERER on one line */
.gatherer-title{white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;font-size:clamp(54px,7vw,112px)!important;}
.gatherer-title .forced-title-line{display:block!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all!important;}
@media(max-width:640px){.gatherer-title{font-size:clamp(42px,13vw,58px)!important;letter-spacing:-.04em!important;}}


/* --- v29: keep film player column identical across detail pages --- */
.detail-hero{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);}
.detail-copy,.detail-hero-image{min-width:0;}
.detail-hero-image{width:100%;}
.out-there-title{font-size:clamp(48px,6vw,96px)!important;letter-spacing:-.04em!important;}
@media(max-width:900px){
  .detail-hero{grid-template-columns:1fr;}
  .out-there-title{font-size:clamp(54px,10vw,82px)!important;}
}
@media(max-width:640px){
  .out-there-title{font-size:clamp(48px,13vw,68px)!important;}
}
