
:root{--ink:#090909;--paper:#f2efe8;--gold:#b59a68;--muted:#77736c;--line:rgba(10,10,10,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.header{height:76px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#080808;color:#fff;position:sticky;top:0;z-index:20}
.brand-logo{height:48px;width:auto;display:block}
.back{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#d7d3cb}.back span{color:var(--gold);margin-right:10px}
.hero{padding:85px 6.5% 70px;background:#0b0b0b;color:#fff}
.kicker{font-size:8px;letter-spacing:.22em;color:var(--gold);margin-bottom:20px}
h1{font:500 clamp(42px,6vw,82px)/1 Montserrat;margin:0;letter-spacing:-.05em;max-width:1050px}
.hero p{max-width:760px;color:#aaa69e;font-size:14px;line-height:1.85;margin:28px 0 0}
.meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.12);margin-top:52px;padding-top:22px;gap:25px}
.meta span{font-size:7px;letter-spacing:.18em;color:#696660;display:block;margin-bottom:7px}.meta strong{font-size:11px;font-weight:500;color:#ddd9d1}
.gallery-section{padding:80px 6.5% 105px}
.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}
.gallery-head h2{font:500 clamp(32px,4vw,56px)/1.05 Montserrat;margin:0;letter-spacing:-.04em}
.gallery-head p{max-width:480px;font-size:11px;line-height:1.8;color:#6e6a63}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.photo{background:#ddd;overflow:hidden;min-height:320px;display:flex;align-items:center;justify-content:center}
.photo:first-child{grid-column:1/-1;min-height:560px}
.photo img{width:100%;height:100%;max-height:720px;object-fit:cover;display:block;transition:transform .4s ease;cursor:zoom-in}
.photo:hover img{transform:scale(1.015)}
.source-note{margin-top:35px;padding-top:22px;border-top:1px solid var(--line);font-size:9px;line-height:1.7;color:#77736c}
.cta{padding:75px 6.5%;background:var(--gold);display:flex;justify-content:space-between;align-items:center;gap:40px}
.cta h2{font:500 clamp(32px,4vw,55px)/1.05 Montserrat;margin:0;letter-spacing:-.04em}
.cta a{border:1px solid #111;padding:15px 22px;font-size:9px;letter-spacing:.16em;text-transform:uppercase}
footer{padding:30px 6.5%;background:#050505;color:#77736c;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.14em}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:999;display:none;align-items:center;justify-content:center;padding:35px}
.lightbox.open{display:flex}.lightbox img{max-width:96vw;max-height:90vh;object-fit:contain}.lightbox button{position:absolute;right:25px;top:20px;background:none;border:0;color:#fff;font-size:34px;cursor:pointer}
@media(max-width:720px){.header{height:66px}.brand-logo{height:42px}.hero{padding:65px 6% 55px}.meta{grid-template-columns:1fr}.gallery-section{padding:65px 6% 80px}.gallery-head{display:block}.gallery-head p{margin-top:18px}.gallery{grid-template-columns:1fr}.photo:first-child{grid-column:auto;min-height:320px}.photo{min-height:280px}.cta{align-items:flex-start;flex-direction:column}footer{flex-direction:column;gap:10px}}


/* Ajuste de logo completo en fichas de proyecto */
.header{min-height:88px;height:auto;padding-top:8px;padding-bottom:8px}
.brand-logo{
  display:block;
  width:auto;
  height:72px;
  max-width:none;
  object-fit:contain;
  overflow:visible;
}
@media(max-width:720px){
  .header{min-height:78px}
  .brand-logo{height:60px;max-width:230px}
}


/* Logo ligeramente más grande también en fichas de proyecto */
.header{min-height:98px}
.brand-logo{
  height:82px;
  width:auto;
  max-width:none;
  object-fit:contain;
}
@media(max-width:720px){
  .header{min-height:86px}
  .brand-logo{height:68px;max-width:250px}
}


.project-nav{
  display:grid;grid-template-columns:1fr 1fr;background:#151515;color:#fff;border-top:1px solid rgba(255,255,255,.1)
}
.project-nav a{
  padding:34px 6.5%;min-height:135px;display:flex;flex-direction:column;justify-content:center;
  transition:.2s
}
.project-nav a:hover{background:#1d1d1d}
.project-nav .next{text-align:right;border-left:1px solid rgba(255,255,255,.1)}
.project-nav span{font-size:7px;letter-spacing:.18em;color:#8b877f;margin-bottom:10px}
.project-nav strong{font:500 16px/1.35 Montserrat;color:#fff}
@media(max-width:720px){
  .project-nav{grid-template-columns:1fr}
  .project-nav .next{border-left:0;border-top:1px solid rgba(255,255,255,.1);text-align:left}
  .project-nav a{min-height:110px;padding:26px 6%}
}


/* --- Galería estándar de fichas ---
   Todas las fotos usan un marco uniforme y se muestran completas. */
.gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.photo,
.photo:first-child{
  grid-column:auto;
  width:100%;
  min-height:0;
  height:auto;
  aspect-ratio:4 / 3;
  background:#e6e2d9;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.photo img,
.photo:first-child img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
  object-position:center;
  display:block;
}
.photo:hover img{transform:none}

@media(max-width:720px){
  .gallery{grid-template-columns:1fr;gap:14px}
  .photo,
  .photo:first-child{
    min-height:0;
    height:auto;
    aspect-ratio:4 / 3;
  }
}
