
:root{--ink:#19140f;--paper:#f1ece2;--gold:#b38b49;--gold2:#d5b675;--dark:#241a14;--muted:#786f63;--line:rgba(179,139,73,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.7}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;padding:12px 5vw;display:flex;justify-content:space-between;align-items:center;color:#fff;background:rgba(24,17,12,.9)}.brand{display:flex;align-items:center;gap:12px;font-family:"Cormorant Garamond",serif;font-size:1.25rem}.brand img{height:58px}.site-header nav{display:flex;gap:22px;align-items:center;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.nav-contact{border:1px solid var(--gold2);padding:8px 13px}.menu-toggle{display:none}
.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:120px 8vw 70px;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url("assets/organo-mellado.jpg") center/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,8,6,.9),rgba(10,8,6,.35))}.hero-content{position:relative;z-index:2;max-width:780px}.hero-logo{width:145px}.hero-collage,.scroll{display:none}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--gold2);font-weight:600}h1,h2,h3{font-family:"Cormorant Garamond",serif;line-height:1;margin-top:0}h1{font-size:clamp(4rem,8vw,8rem);margin:18px 0}h2{font-size:clamp(3rem,5vw,5rem)}h3{font-size:2rem}.motto,.lead{font-family:"Cormorant Garamond",serif;font-size:1.7rem}.button{display:inline-block;border:1px solid var(--gold2);padding:12px 18px;margin:8px 8px 0 0;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.primary{background:var(--gold2);color:#1b140d}
.section{padding:110px 8vw}.dark{background:var(--dark);color:#f4eee3}.narrow,.section-head{max-width:900px;margin:auto;text-align:center}.split{max-width:1250px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.portrait img{width:100%;max-height:600px;object-fit:cover}.portrait figcaption{font-size:.75rem;color:var(--muted)}.people-grid,.service-grid{max-width:1300px;margin:55px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.person{background:#fff}.person img{height:390px;width:100%;object-fit:cover}.person div,.service-grid article{padding:26px}.service-grid article{border:1px solid var(--line)}.feature-video,.archive-video{max-width:1150px;margin:60px auto 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:center}.feature-video video,.archive-video video{width:100%}
.project-grid{max-width:1300px;margin:55px auto 0;display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.project{position:relative;background:#111;color:#fff;min-height:360px}.project.feature{grid-row:span 2}.project img{width:100%;height:100%;object-fit:cover;position:absolute}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.85))}.project-caption{position:absolute;z-index:2;bottom:0;padding:25px}.archive-note{text-align:center;color:var(--muted)}
.proof{background:#e5dccb}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.proof-grid strong{font-family:"Cormorant Garamond",serif;font-size:2.5rem;color:#7c5a2e;display:block}.legacy{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.archive-video{grid-column:1/-1}.legacy-quote blockquote{font-family:"Cormorant Garamond",serif;font-size:3rem;color:var(--gold2)}
.contact-card{max-width:1000px;margin:auto;text-align:center}.contact-links{display:grid;grid-template-columns:1.4fr 1fr 1fr;border:1px solid #c9bda9}.contact-links a{padding:22px;border-right:1px solid #c9bda9}.contact-links small{display:block;text-transform:uppercase;color:var(--muted)}
footer{padding:50px 8vw;background:#15100c;color:#ddd;text-align:center}footer img{width:75px;margin:auto}
.case-study{padding-top:130px}.case-hero{max-width:1320px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:center}.case-hero img{width:100%;height:620px;object-fit:cover}.case-manifesto{max-width:1320px;margin:80px auto;display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}.case-manifesto strong{font-family:"Cormorant Garamond",serif;font-size:1.5rem}.process-intro,.case-close{max-width:850px;margin:60px auto;text-align:center}.process-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.process-card{margin:0;background:#17120f;border:1px solid var(--line)}.process-card.wide{grid-column:1/-1}.process-card img{width:100%;height:430px;object-fit:cover}.process-card.wide img{height:560px}.process-card figcaption{padding:22px;display:grid}.process-card b{font-family:"Cormorant Garamond",serif;font-size:1.5rem;color:var(--gold2)}.process-card span{font-size:.88rem;color:#cfc4b3}
@media(max-width:900px){.site-header nav{display:none}.menu-toggle{display:block}.split,.people-grid,.service-grid,.project-grid,.legacy,.feature-video,.archive-video,.case-hero,.process-grid{grid-template-columns:1fr}.project.feature{grid-row:auto}.project{height:390px}.case-manifesto{grid-template-columns:auto 1fr}.process-card.wide{grid-column:auto}.process-card img,.process-card.wide img,.case-hero img{height:360px}.contact-links,.proof-grid{grid-template-columns:1fr}.section{padding:80px 7vw}}

.zacatecas-case{background:#eee7db;color:#201812}.zacatecas-case .process-card{background:#251b15}.zacatecas-case .case-manifesto{border-color:rgba(128,91,46,.35)}

.documents{background:#f4efe6}.documents .section-head{max-width:900px}
.documents-grid{max-width:1320px;margin:55px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.document-card{margin:0;background:#fff;border:1px solid rgba(120,88,46,.18);box-shadow:0 14px 38px rgba(45,31,20,.08);overflow:hidden}
.document-card a{display:block;background:#ded7ca;overflow:hidden}
.document-card img{width:100%;height:480px;object-fit:contain;transition:transform .35s ease}
.document-card:hover img{transform:scale(1.025)}
.document-card figcaption{padding:22px;display:grid;gap:7px}
.document-card b{font-family:"Cormorant Garamond",serif;font-size:1.55rem;color:#5f4428}
.document-card span{font-size:.86rem;color:#665e54}.document-card small{text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;color:#9a7a4c;margin-top:5px}
.document-close{max-width:850px;margin:70px auto 0;text-align:center;border-top:1px solid rgba(120,88,46,.2);padding-top:50px}.document-close h3{font-size:3rem}
@media(max-width:1000px){.documents-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.documents-grid{grid-template-columns:1fr}.document-card img{height:auto;max-height:620px}}

.document-card-double{grid-column:span 2}
.document-pages{display:grid;grid-template-columns:1fr 1fr;background:#ded7ca}
.document-pages a{position:relative;border-right:1px solid rgba(120,88,46,.18)}
.document-pages a:last-child{border-right:0}
.document-pages img{height:520px}
.document-pages em{position:absolute;left:14px;bottom:14px;background:rgba(28,20,14,.88);color:#f3e7cf;padding:6px 9px;font-style:normal;text-transform:uppercase;letter-spacing:.1em;font-size:.6rem}
@media(max-width:650px){.document-card-double{grid-column:auto}.document-pages{grid-template-columns:1fr}.document-pages img{height:auto;max-height:620px}}

.recognitions-grid{max-width:1220px;margin:60px auto 0;display:grid;gap:55px}
.recognition-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center;border-top:1px solid rgba(213,182,117,.25);padding-top:55px}
.recognition-card.reverse{grid-template-columns:1.2fr .8fr}.recognition-card.reverse a{order:2}
.recognition-card a{background:#100d0b;padding:12px;box-shadow:0 22px 55px rgba(0,0,0,.25)}
.recognition-card img{width:100%;max-height:610px;object-fit:contain}
.recognition-card h3{font-size:2.6rem;margin-bottom:18px}.recognition-card p{color:#d4cabd}.recognition-card strong{color:#f0dfbd}
.recognitions-close{max-width:820px;margin:80px auto 0;text-align:center;border-top:1px solid rgba(213,182,117,.25);padding-top:55px}.recognitions-close h3{font-size:3rem}
@media(max-width:800px){.recognition-card,.recognition-card.reverse{grid-template-columns:1fr}.recognition-card.reverse a{order:0}.recognition-card img{max-height:650px}}
.construction{background:#e9e0d1;color:#201710}.construction-hero{max-width:1320px;margin:auto;display:grid;grid-template-columns:.72fr 1.28fr;gap:6vw;align-items:center}.construction-main{margin:0}.construction-main img{width:100%;height:650px;object-fit:cover}.construction-main figcaption{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#7b674f;margin-top:10px}.work-spectrum{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.work-spectrum span{border:1px solid rgba(122,88,44,.35);padding:7px 10px;font-size:.67rem;text-transform:uppercase;letter-spacing:.1em}.construction-intro{max-width:850px;margin:90px auto 45px;text-align:center}.construction-intro h3{font-size:3rem}.construction-gallery{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:22px}.construction-photo{margin:0;background:#fff}.construction-photo.console{grid-column:1/-1;display:grid;grid-template-columns:1.35fr .65fr;align-items:center}.construction-photo img{width:100%;height:500px;object-fit:cover}.construction-photo.console img{height:580px;object-fit:contain;background:#d8cebf}.construction-photo figcaption{padding:22px 24px;display:grid}.construction-photo b{font-family:"Cormorant Garamond",serif;font-size:1.55rem;color:#654724}.construction-photo span{font-size:.86rem;color:#6e655b}.construction-close{max-width:850px;margin:80px auto 0;text-align:center;border-top:1px solid rgba(122,88,44,.25);padding-top:55px}.construction-close h3{font-size:3rem}@media(max-width:900px){.construction-hero,.construction-gallery,.construction-photo.console{grid-template-columns:1fr}.construction-main img,.construction-photo img,.construction-photo.console img{height:auto;max-height:650px}.construction-photo.console{grid-column:auto}}
/* Wesslowski con los Hermanos Madrigal: mayor presencia visual */
.wesslowski-portrait{margin-left:-4vw;margin-right:-1vw}
.wesslowski-portrait img{max-height:none;height:auto;width:115%;max-width:none;object-fit:contain}
@media(max-width:900px){.wesslowski-portrait{margin-left:0;margin-right:0}.wesslowski-portrait img{width:100%;max-width:100%}}

.zoomable-photo{display:block;position:relative;cursor:zoom-in}
.zoomable-photo:after{content:"＋";position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(20,14,10,.84);color:#e3c17e;font-size:1.35rem;border:1px solid rgba(227,193,126,.5);transition:.2s ease}
.zoomable-photo:hover:after{transform:scale(1.06)}
.zoomable-photo img{display:block}

/* Ajuste final: fotografía Wesslowski sin invadir el texto */
.wesslowski-portrait{
  margin-left:0 !important;
  margin-right:0 !important;
  max-width:100%;
}
.wesslowski-portrait .zoomable-photo{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.wesslowski-portrait .zoomable-photo img,
.wesslowski-portrait img{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

/* Reconocimientos: conservar la escala visual compacta de la sección original */
.recognitions-grid{
  max-width:1120px !important;
}
.recognition-card{
  grid-template-columns:0.68fr 1.32fr !important;
  gap:48px !important;
}
.recognition-card.reverse{
  grid-template-columns:1.32fr 0.68fr !important;
}
.recognition-card a{
  max-width:430px;
  width:100%;
  justify-self:center;
}
.recognition-card img{
  width:100% !important;
  height:auto !important;
  max-height:540px !important;
  object-fit:contain !important;
}
@media(max-width:800px){
  .recognition-card,
  .recognition-card.reverse{
    grid-template-columns:1fr !important;
  }
  .recognition-card a{
    max-width:520px;
  }
}
