    :root{
      color-scheme:only light;
      --ink:#181714;
      --paper:#f2eee7;
      --paper-2:#e7e0d6;
      --stone:#252421;
      
      --line:rgba(24,23,20,.18);
      --accent:#a92f28;
      --green:#23382d;
      --header-h:74px;
      --pad:clamp(22px,5vw,86px);
      --canvas:1920px;
      --ease:cubic-bezier(.22,.72,.18,1);
      --shadow:0 30px 90px rgba(32,27,21,.12);
    }

    *{box-sizing:border-box;}
    html{scroll-behavior:smooth;background:#d6cec3;}
    body{
      margin:0;
      overflow-x:hidden;
      background:#d6cec3;
      color:var(--ink);
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      text-rendering:optimizeLegibility;
      -webkit-font-smoothing:antialiased;
    }
    body.is-loading,body.lightbox-open{overflow:hidden;}

    img{display:block;max-width:100%;}
    img{height:auto;}
    button,a{font:inherit;color:inherit;}
    button{border:0;}
    a{text-decoration:none;}
    ::selection{background:var(--accent);color:#fff;}

    .serif{
      font-family:"Iowan Old Style","Baskerville","Times New Roman",serif;
      font-weight:400;
      letter-spacing:-.035em;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:12px;
      
      
      
      text-transform:uppercase;
    }
    .eyebrow::before{
      content:"";
      width:34px;
      height:1px;
      background:currentColor;
      opacity:.62;
    }
    .action{
      display:inline-flex;
      align-items:center;
      gap:12px;
      padding:0 0 8px;
      border-bottom:1px solid currentColor;
      background:none;
      cursor:pointer;
      
      
      text-transform:uppercase;
      transition:opacity .25s,transform .35s var(--ease);
    }
    .action::after{content:"↗";line-height:1;}
    .action:hover,.action:focus-visible{transform:translateY(-2px);outline:none;opacity:.72;}
    .project-end-link{
      position:relative;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:12px;
      width:max-content;
      margin:0 auto 52px;
      padding:9px 0 13px;
      color:inherit;
      text-decoration:none;
      text-transform:uppercase;
      font-size:8px;
      letter-spacing:.20em;
      opacity:.68;
      transition:opacity .25s var(--ease),transform .3s var(--ease);
    }
    .project-end-link::after{content:"";position:absolute;left:50%;bottom:0;width:42px;height:1px;background:currentColor;opacity:.26;transform:translateX(-50%);transition:width .28s var(--ease),opacity .28s var(--ease);}
    .project-end-link:hover,.project-end-link:focus-visible{opacity:1;transform:translateX(-3px);outline:none;}
    .project-end-link:hover::after,.project-end-link:focus-visible::after{width:58px;opacity:.56;}
    body.in-closing .progress-rail,body.in-closing .progress-index{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease;}

    
    .loader{
      position:fixed;
      inset:0;
      z-index:1000;
      display:grid;
      place-items:center;
      background:#171713;
      color:#f5f1e9;
      transition:opacity .7s var(--ease),visibility .7s;
    }
    .loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none;}
    .loader-inner{width:min(430px,calc(100vw - 56px));text-align:center;}
    .loader-title{font-size:clamp(35px,5vw,64px);line-height:.95;margin:0 0 32px;}
    .loader-track{height:1px;background:rgba(255,255,255,.2);overflow:hidden;}
    .loader-progress{display:block;width:0;height:100%;background:#fff;transition:width .3s ease;}
    .loader-meta{display:flex;justify-content:space-between;margin-top:12px;text-transform:uppercase;opacity:.55;}

    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    
    main{
      width:min(100%,var(--canvas));
      margin:0 auto;
      overflow:hidden;
      background:var(--paper);
      box-shadow:var(--shadow);
    }
    .section{position:relative;overflow:hidden;}
    .progress-rail{
      position:fixed;
      z-index:300;
      left:max(17px,calc((100vw - min(var(--canvas),100vw))/2 + 17px));
      top:50%;
      width:1px;
      height:144px;
      transform:translateY(-50%);
      background:rgba(255,255,255,.25);
      mix-blend-mode:difference;
    }
    .progress-fill{display:block;width:100%;height:0;background:#fff;}
    .progress-index{
      position:fixed;
      z-index:300;
      left:max(10px,calc((100vw - min(var(--canvas),100vw))/2 + 10px));
      top:calc(50% + 84px);
      color:#fff;
      mix-blend-mode:difference;
      writing-mode:vertical-rl;
      
      letter-spacing:.15em;
    }

    
    .reveal{opacity:0;transform:translateY(24px);transition:opacity .85s var(--ease),transform .85s var(--ease);}
    .reveal.in-view{opacity:1;transform:none;}
    .delay-1{transition-delay:.1s;}.delay-2{transition-delay:.2s;}.delay-3{transition-delay:.3s;}

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    
    .concept{background:var(--paper);}
    .concept-grid{display:grid;align-items:start;margin:0 auto;}
    .concept-index{display:grid;gap:28px;position:sticky;top:120px;}
    .concept-index p{margin:0;color:var(--muted);}
    .concept-copy h2{font-size:clamp(54px,7.2vw,116px);line-height:.9;margin:0 0 46px;}
    .concept-lead{margin:0;}
    .concept-details{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);}
    .concept-detail b{display:block;text-transform:uppercase;}
    
    .palette{display:flex;gap:10px;margin-top:12px;}
    .swatch{width:30px;height:30px;border-radius:50%;border:1px solid rgba(0,0,0,.08);}
    .swatch:nth-child(1){background:#232320;}.swatch:nth-child(2){background:#6e4930;}.swatch:nth-child(3){background:#d8c9b4;}.swatch:nth-child(4){background:#2e4335;}

    
    
    
    
    
    
    
    
    
    
    
    
    

    
    .editorial{background:var(--paper);}
    .editorial:nth-of-type(even){background:var(--paper-2);}
    .editorial-grid{display:grid;margin:0 auto;}
    .editorial.reverse .editorial-copy{order:2;}
    .editorial.reverse .editorial-media{order:1;}
    
    .editorial-copy > p{margin:0;}
    .details{display:grid;border-top:1px solid var(--line);}
    .detail{display:grid;}
    .detail b{text-transform:uppercase;}
    .detail span{color:var(--muted);}
    .editorial-media{position:relative;overflow:hidden;background:#cfc6bb;cursor:zoom-in;}
    .editorial-media img{width:100%;height:auto;object-fit:cover;transition:transform 1.1s var(--ease);}
    .editorial-media:hover img{transform:scale(1.018);}
    .editorial-media::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(24,23,20,.1);pointer-events:none;}

    
    .full-image{min-height:min(100svh,1080px);background:#191814;color:#fff;}
    .full-image .media{position:absolute;inset:0;}
    .full-image .media img{width:100%;height:100%;object-fit:cover;}
    .full-image .media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,7,.58),transparent 60%),linear-gradient(0deg,rgba(8,8,7,.5),transparent 42%);}
    .full-inner{position:relative;z-index:2;min-height:inherit;padding:calc(var(--header-h) + 50px) var(--pad) 58px;display:flex;flex-direction:column;justify-content:space-between;}
    .full-caption{max-width:640px;}
    .full-caption h2{font-size:clamp(56px,7vw,118px);line-height:.87;margin:18px 0 26px;}
    .full-caption p{max-width:480px;margin:0 0 32px;color:rgba(255,255,255,.72);}
    .full-bottom{display:flex;justify-content:flex-end;}

    
    .diptych{background:#1d1c18;color:#fff;padding:clamp(105px,11vw,180px) var(--pad);}
    .diptych-head{max-width:1500px;margin:0 auto 50px;display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:end;}
    .diptych-head h2{font-size:clamp(52px,6.5vw,102px);line-height:.9;margin:18px 0 0;}
    .diptych-head p{margin:0;max-width:520px;}
    .diptych-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2vw,34px);max-width:1500px;margin:0 auto;}
    .diptych-card{position:relative;overflow:hidden;background:#0d0d0b;cursor:zoom-in;}
    .diptych-card img{width:100%;aspect-ratio:4/4.8;object-fit:cover;transition:transform 1.1s var(--ease);}
    .diptych-card:first-child img{object-position:center 46%;}
    .diptych-card:hover img{transform:scale(1.02);}
    .diptych-label{position:absolute;left:20px;bottom:18px;padding:9px 12px;background:rgba(15,15,12,.46);backdrop-filter:blur(10px);text-transform:uppercase;}

    
    .frame-section{background:var(--paper);}
    .frame-wrap{position:relative;}
    .frame-wrap img{width:100%;aspect-ratio:16/9;object-fit:cover;}
    .frame-overlay{position:absolute;inset:auto auto 0 0;width:min(520px,46%);padding:34px 38px;background:rgba(242,238,231,.94);backdrop-filter:blur(12px);}
    .frame-overlay h2{font-size:clamp(42px,5vw,78px);line-height:.92;margin:16px 0 20px;}
    .frame-overlay p{margin:0 0 26px;color:var(--muted);font-size:13px;line-height:1.7;}

    
    .closing{min-height:min(88svh,900px);display:grid;place-items:center;background:#171713;color:#f3eee6;text-align:center;padding:100px var(--pad);}
    .closing-inner{max-width:850px;}
    .closing h2{font-size:clamp(68px,10vw,154px);line-height:.78;margin:20px 0 38px;}
    .closing p{max-width:610px;margin:0 auto 34px;color:rgba(255,255,255,.58);}
    .closing-logo{width:120px;height:auto;aspect-ratio:512/95;margin:0 auto;opacity:.92;}
    .closing-meta{margin-top:55px;text-transform:uppercase;color:rgba(255,255,255,.34);}

    
    .lightbox{
      position:fixed;
      inset:0;
      z-index:var(--project-overlay-z);
      display:grid;
      grid-template-rows:auto 1fr auto;
      background:rgba(13,13,11,.98);
      color:#fff;
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transition:opacity .3s,visibility .3s;
    }
    body.lightbox-open .lightbox{opacity:1;visibility:visible;pointer-events:auto;}
    .lightbox-top,.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px var(--pad);}
    .lightbox-close,.lightbox-nav{background:none;color:#fff;cursor:pointer;text-transform:uppercase;}
    .lightbox-close{padding:10px 0;}
    .lightbox-stage{min-height:0;display:grid;place-items:center;padding:0 var(--pad);}
    .lightbox-stage img{max-width:100%;max-height:calc(100svh - 160px);object-fit:contain;}
    .lightbox-caption{font-family:Georgia,"Times New Roman",serif;font-size:18px;}
    .lightbox-count{letter-spacing:.16em;opacity:.6;}
    .lightbox-arrows{display:flex;gap:26px;}

    @media (max-width:1000px){
      .concept-grid{grid-template-columns:1fr;}.concept-index{position:static;grid-template-columns:1fr 1fr;align-items:start;}.concept-copy h2{margin-top:8px;}
      .editorial-grid{grid-template-columns:1fr;gap:44px;}.editorial.reverse .editorial-copy,.editorial.reverse .editorial-media{order:initial;}.editorial-media{max-width:none;}
      .diptych-head{grid-template-columns:1fr;gap:24px;}
      .frame-overlay{position:relative;width:100%;padding:32px 0 0;background:transparent;backdrop-filter:none;}
    }

    @media (prefers-reduced-motion:reduce){
      html{scroll-behavior:auto;}
      *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important;}
      .reveal{opacity:1;transform:none;}
    }

    
    :root{--muted:#655f56;}

    .eyebrow{font-size:11px;letter-spacing:.20em;line-height:1.3;}
    .action{font-size:11px;letter-spacing:.145em;padding-bottom:9px;}
    .action::after{font-size:15px;}
    .loader-meta{font-size:10px;letter-spacing:.16em;}

    
    
    
    .progress-index{font-size:9px;}
    
    
    

    
    .loader.is-ready .loader-track{opacity:.45;}

    
    .concept{padding:clamp(105px,10vw,175px) var(--pad);}
    .concept-grid{
      grid-template-columns:minmax(280px,.62fr) minmax(560px,1.38fr);
      gap:clamp(56px,7vw,120px);
      max-width:1500px;
    }
    .concept-index p{max-width:390px;font-size:15px;line-height:1.8;}
    .concept-lead{max-width:790px;font-size:clamp(20px,1.65vw,30px);line-height:1.5;}
    .concept-details{gap:36px;margin-top:54px;padding-top:28px;}
    .concept-detail b{margin-bottom:10px;font-size:11px;letter-spacing:.15em;}
    .concept-detail span{font-size:15px;line-height:1.72;color:var(--muted);}

    
    
    
    
    
    
    

    
    .editorial{padding:clamp(100px,8.5vw,155px) var(--pad);}
    .editorial-grid{
      grid-template-columns:minmax(320px,.56fr) minmax(680px,1.44fr);
      gap:clamp(46px,5.5vw,88px);
      align-items:center;
      max-width:1600px;
    }
    .editorial.reverse .editorial-grid{
      grid-template-columns:minmax(680px,1.44fr) minmax(320px,.56fr);
    }
    .editorial-copy{min-width:0;}
    .editorial-copy h2{font-size:clamp(52px,5.35vw,94px);line-height:.92;margin:18px 0 26px;}
    .editorial-copy > p{max-width:520px;font-size:16px;line-height:1.82;color:var(--muted);}
    .details{gap:16px;margin:34px 0 38px;padding-top:21px;}
    .detail{grid-template-columns:130px 1fr;gap:22px;font-size:13px;line-height:1.72;}
    .detail b{font-size:10px;letter-spacing:.13em;}
    .editorial-media{min-width:0;}
    .editorial-media img{aspect-ratio:16/9;}

    
    .full-caption p{font-size:16px;line-height:1.8;}
    .diptych-head p{font-size:16px;line-height:1.8;color:rgba(255,255,255,.69);}
    .diptych-label{font-size:10px;letter-spacing:.14em;}

    
    .frame-section{padding:clamp(100px,8.5vw,155px) var(--pad);}
    .frame-wrap{
      display:grid;
      grid-template-columns:minmax(320px,.56fr) minmax(680px,1.44fr);
      gap:clamp(46px,5.5vw,88px);
      align-items:center;
      max-width:1600px;
      margin:0 auto;
    }
    .frame-copy{min-width:0;}
    .frame-copy h2{font-size:clamp(52px,5.35vw,94px);line-height:.92;margin:18px 0 26px;}
    .frame-copy p{max-width:520px;margin:0 0 34px;color:var(--muted);font-size:16px;line-height:1.82;}
    .frame-media{position:relative;min-width:0;overflow:hidden;background:#cfc6bb;cursor:zoom-in;}
    .frame-media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform 1.1s var(--ease);}
    .frame-media:hover img{transform:scale(1.018);}
    .frame-media::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(24,23,20,.1);pointer-events:none;}

    
    .closing p{font-size:16px;line-height:1.84;}
    .closing-meta{font-size:10px;letter-spacing:.15em;}
    .lightbox-close,.lightbox-nav{font-size:11px;letter-spacing:.14em;}
    .lightbox-count{font-size:10px;}

    @media (max-width:1100px){
      .concept-grid{grid-template-columns:1fr;gap:52px;}
      .concept-index{position:static;grid-template-columns:1fr 1fr;align-items:start;}
      .editorial-grid,.editorial.reverse .editorial-grid,.frame-wrap{grid-template-columns:1fr;gap:38px;}
      .editorial .editorial-media,.editorial.reverse .editorial-media,.frame-media{order:1;}
      .editorial .editorial-copy,.editorial.reverse .editorial-copy,.frame-copy{order:2;max-width:760px;}
      .editorial-media img,.frame-media img{aspect-ratio:16/9;}
    }

    
    @media (max-width:780px){
      :root{
        --header-h:72px;
        --pad:22px;
      }

      html{background:var(--paper);}
      body{background:var(--paper);}
      main{width:100%;box-shadow:none;overflow:hidden;}
      .section{scroll-margin-top:calc(var(--header-h) + 10px);}
      .progress-rail,.progress-index{display:none;}

      

      
      
      
      
      

      
      
      
      
      
      
      
      
      
      
      
      
      

      
      .concept{padding:66px var(--pad) 72px;}
      .concept-grid{display:grid;grid-template-columns:1fr;gap:42px;max-width:none;}
      .concept-index{position:static;display:grid;grid-template-columns:1fr;gap:22px;}
      .concept-index p{max-width:none;font-size:16px;line-height:1.78;}
      .concept-copy h2{
        margin:0 0 28px;
        font-size:clamp(48px,14vw,60px);
        line-height:.91;
      }
      .concept-lead{max-width:none;font-size:18px;line-height:1.62;}
      .concept-details{grid-template-columns:1fr;gap:22px;margin-top:42px;padding-top:24px;}
      .concept-detail b{font-size:10px;}
      .concept-detail span{font-size:15px;line-height:1.72;}

      
      
      
      
      
      
      
      
      
      
      

      
      .editorial,.frame-section{padding:60px var(--pad) 68px;}
      .editorial-grid,.editorial.reverse .editorial-grid,.frame-wrap{
        display:grid;
        grid-template-columns:1fr;
        gap:30px;
        max-width:none;
      }
      .editorial .editorial-media,.editorial.reverse .editorial-media,.frame-media{order:1;}
      .editorial .editorial-copy,.editorial.reverse .editorial-copy,.frame-copy{order:2;max-width:none;}
      .editorial-media img,.frame-media img{aspect-ratio:16/9;}
      .editorial-copy h2,.frame-copy h2{
        max-width:100%;
        margin:18px 0 22px;
        font-size:clamp(46px,13vw,56px);
        line-height:.91;
        overflow-wrap:anywhere;
      }
      .editorial-copy > p,.frame-copy p{
        max-width:none;
        margin:0;
        font-size:16px;
        line-height:1.76;
      }
      .details{display:none;}
      .editorial-copy .action,.frame-copy .action{margin-top:32px;}

      
      .full-image{
        min-height:auto;
        display:block;
        background:#171713;
      }
      .full-image .media{
        position:relative;
        inset:auto;
        width:100%;
        aspect-ratio:16/10;
      }
      .full-image .media img{width:100%;height:100%;object-fit:cover;object-position:center;}
      .full-image .media::after{background:linear-gradient(0deg,rgba(12,12,10,.16),transparent 48%);}
      .full-inner{
        position:relative;
        min-height:0;
        padding:52px var(--pad) 62px;
        display:block;
        background:#171713;
        color:#f4f0e8;
      }
      .full-caption{max-width:none;margin-top:34px;}
      .full-caption h2{
        max-width:100%;
        margin:0 0 24px;
        font-size:clamp(46px,13vw,56px);
        line-height:.9;
        overflow-wrap:anywhere;
      }
      .full-caption p{max-width:none;margin:0 0 32px;font-size:16px;line-height:1.74;}
      .full-bottom{justify-content:flex-start;margin-top:38px;}

      
      .diptych{padding:62px var(--pad) 70px;}
      .diptych-head{display:block;max-width:none;margin:0 0 34px;}
      .diptych-head h2{
        max-width:100%;
        margin:18px 0 0;
        font-size:clamp(46px,13vw,56px);
        line-height:.91;
        overflow-wrap:anywhere;
      }
      .diptych-head p{max-width:none;margin:24px 0 0;font-size:16px;line-height:1.74;}
      .diptych-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:none;align-items:start;}
      .diptych-card img{aspect-ratio:4/5.05;}
      .diptych-label{
        left:10px;
        bottom:10px;
        max-width:calc(100% - 20px);
        padding:7px 9px;
        font-size:7px;
        letter-spacing:.15em;
        white-space:nowrap;
      }

      
      .closing{
        min-height:auto;
        display:block;
        padding:72px var(--pad) 82px;
        text-align:left;
      }
      .closing-inner{max-width:none;}
      .closing h2{
        max-width:100%;
        margin:22px 0 28px;
        font-size:clamp(52px,14vw,64px);
        line-height:.86;
        overflow-wrap:anywhere;
      }
      .closing p{max-width:none;margin:0 0 42px;font-size:16px;line-height:1.76;text-align:left;}
      .closing-logo{width:92px;height:auto;aspect-ratio:512/95;margin:0 0 34px;}
      .closing-meta{margin-top:0;font-size:8px;line-height:1.65;letter-spacing:.14em;}
      .closing .project-end-link{margin:0 0 38px;justify-content:flex-start;}

      
      .lightbox-stage{padding:0 12px;}
      .lightbox-top,.lightbox-bottom{padding:18px 20px;}
      .lightbox-caption{font-size:15px;}
    }

    @media (max-width:420px){
      
      .concept-copy h2,.editorial-copy h2,.frame-copy h2,.full-caption h2,.diptych-head h2{font-size:clamp(43px,12.5vw,52px);}
      .closing h2{font-size:clamp(48px,13.5vw,58px);}
      
      .diptych-grid{gap:10px;}
      .diptych-label{font-size:6.5px;padding:6px 8px;left:8px;bottom:8px;max-width:calc(100% - 16px);}
    }
  
/* Portada editorial y fotografía de zona social. */
.hero{padding:calc(var(--project-header-h) + 58px) var(--pad) 64px;background:var(--paper);color:var(--ink)}
.hero-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(42px,5vw,94px);align-items:center;max-width:1540px;margin:auto}
.hero-copy{min-width:0}.hero-copy .eyebrow{margin-bottom:30px}
.hero-title{margin:0;font-size:clamp(72px,7.1vw,128px);line-height:.84}
.hero-sub{max-width:40ch;margin:clamp(28px,3.1vw,45px) 0 0;color:var(--muted);font-size:clamp(14px,1vw,17px);line-height:1.8}
.scroll-cue{display:flex;align-items:center;gap:12px;margin-top:48px;padding:0;background:none;color:var(--muted);font-size:8px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer}
.scroll-cue::after{content:"";width:58px;height:1px;background:currentColor;opacity:.28}
.social-section{padding:clamp(64px,8.5vw,145px) var(--pad);background:#171713;color:#fff}
.social-head,.social-frame{max-width:1600px;margin:0 auto}.social-head{margin-bottom:36px}.social-head h2{font-size:clamp(48px,6.2vw,104px);line-height:.92;margin:18px 0 0}
.social-frame{cursor:zoom-in}.social-frame img{width:100%;height:auto;display:block}
@media(max-width:1050px){.hero-layout{grid-template-columns:minmax(0,1fr);gap:52px}.hero-title{font-size:clamp(72px,12vw,116px)}.hero-sub{max-width:55ch}.film-frame{max-width:900px}}
@media(max-width:560px){.hero{padding:calc(var(--project-header-h) + 52px) 20px 56px}.hero-layout{gap:38px}.hero-title{font-size:clamp(46px,14.5vw,76px)}.hero-sub{margin-top:28px}.social-head h2{font-size:clamp(48px,14vw,60px)}.film-foot{font-size:8px;letter-spacing:.08em;flex-direction:column;align-items:flex-start;gap:6px}.film-play{width:60px}}
.film-frame{
  min-width:0;
  margin:0;
  background:#d9d0c6;
}
.film-screen{
  width:100%;
  aspect-ratio:16/9;
  position:relative;
  overflow:hidden;
  background:#171612;
}
.film-poster{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  cursor:pointer;
  overflow:hidden;
  color:#fff;
  background:#171612;
  text-align:left;
}
.film-poster img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .65s var(--ease);
}
.film-poster::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(12,10,8,.54));
  pointer-events:none;
}
.film-poster:hover img{transform:scale(1.035)}
.film-play{
  position:absolute;
  z-index:1;
  top:50%;
  left:50%;
  display:grid;
  place-items:center;
  width:clamp(64px,6.5vw,88px);
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.85);
  border-radius:50%;
  background:rgba(22,19,16,.21);
  transform:translate(-50%,-50%);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  transition:background .25s ease,scale .25s ease;
}
.film-play svg{display:block;width:26px;height:26px;margin-left:4px;fill:currentColor}
.film-poster:hover .film-play,
.film-poster:focus-visible .film-play{background:rgba(22,19,16,.46);scale:1.06}
.film-poster:focus-visible{outline:3px solid #8b7360;outline-offset:-3px}
.film-foot{
  position:absolute;
  z-index:1;
  left:clamp(18px,2.5vw,34px);
  right:clamp(18px,2.5vw,34px);
  bottom:clamp(18px,2.5vw,30px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  font-size:clamp(8px,.76vw,11px);
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.film-screen iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}

/* Header local: sólo la disposición y el contraste propios de Materia y Luz.
   El resto de las portadas conserva el CSS compartido sin modificaciones. */
body[data-project="residencia-22"] .project-shell-center{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  max-width:32vw;
  opacity:.8;
  pointer-events:auto;
}
body[data-project="residencia-22"] .project-shell-center:hover{opacity:1}
body[data-project="residencia-22"] .project-shell-center:focus-visible{
  opacity:1;
  outline:1px solid currentColor;
  outline-offset:3px;
}
body[data-project="residencia-22"] .project-shell-contact{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
body[data-project="residencia-22"] .project-shell-talk{
  color:inherit;
  font:600 9px/1 "Manrope","Avenir Next","Segoe UI",sans-serif;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
  opacity:.78;
  transition:opacity .2s ease;
}
body[data-project="residencia-22"] .project-shell-talk:hover,
body[data-project="residencia-22"] .project-shell-talk:focus-visible{
  opacity:1;
  outline:1px solid currentColor;
  outline-offset:3px;
}
body[data-project="residencia-22"] .project-shell-whatsapp{
  width:30px;
  height:30px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:#fff;
  background:#25d366;
  box-shadow:0 4px 14px rgba(0,0,0,.16);
  transition:transform .24s var(--ease),filter .24s ease;
}
body[data-project="residencia-22"] .project-shell-whatsapp svg{
  display:block;
  width:16px;
  height:16px;
}
body[data-project="residencia-22"] .project-shell-whatsapp:hover,
body[data-project="residencia-22"] .project-shell-whatsapp:focus-visible{
  outline:2px solid currentColor;
  outline-offset:2px;
  transform:translateY(-2px);
  filter:brightness(1.05);
}
@media (max-width:760px){
  body[data-project="residencia-22"] .project-shell-center{
    display:inline-flex;
    font-size:8px;
    letter-spacing:.13em;
  }
  body[data-project="residencia-22"] .project-shell-talk{
    font-size:8px;
    letter-spacing:.07em;
  }
}
@media (max-width:540px){
  body[data-project="residencia-22"] .brand{width:clamp(73px,18vw,88px)}
  body[data-project="residencia-22"] .topbar-inner{gap:4px}
  body[data-project="residencia-22"] .project-shell-center{
    font-size:7.5px;
    letter-spacing:.10em;
  }
  body[data-project="residencia-22"] .project-shell-tools{gap:6px}
  body[data-project="residencia-22"] .project-shell-lang{gap:6px}
  body[data-project="residencia-22"] .project-shell-lang button{
    min-width:23px;
    min-height:40px;
    padding:10px 0;
    font-size:7px;
    letter-spacing:0;
  }
  body[data-project="residencia-22"] .project-shell-lang button+button::before{left:-5px}
  body[data-project="residencia-22"] .project-shell-contact{gap:7px}
  body[data-project="residencia-22"] .project-shell-talk{font-size:8px;letter-spacing:0}
  body[data-project="residencia-22"] .project-shell-whatsapp{width:25px;height:25px}
  body[data-project="residencia-22"] .project-shell-whatsapp svg{width:14px;height:14px}
}
@media (max-width:359px){
  body[data-project="residencia-22"] .project-shell-tools{gap:4px}
  body[data-project="residencia-22"] .project-shell-lang{gap:4px}
  body[data-project="residencia-22"] .project-shell-lang button{min-width:20px}
  body[data-project="residencia-22"] .project-shell-lang button+button::before{left:-4px}
  body[data-project="residencia-22"] .project-shell-contact{gap:5px}
  body[data-project="residencia-22"] .project-shell-talk{font-size:7px}
  body[data-project="residencia-22"] .project-shell-center{font-size:7px;letter-spacing:0}
  body[data-project="residencia-22"] .project-shell-whatsapp{width:23px;height:23px}
  body[data-project="residencia-22"] .project-shell-whatsapp svg{width:13px;height:13px}
}

html:not([lang="en"]) [data-palette-lang="en"],html[lang="en"] [data-palette-lang="es"]{display:none}
