/* ═══════════════════════════════════════════════════
   MERCEDES CHANQUÍA-AGUIRRE · Styles v3
   Direction: Maison de mode · Editorial · Premium
   ═══════════════════════════════════════════════════ */

/* ── Variables ── */
:root {
  --ink:      #070707;
  --ink2:     #0d0d0d;
  --ink3:     #141414;
  --shade:    #1c1c1c;
  --wire:     #282828;
  --dim:      #3a3a3a;
  --ash:      #5e5e5e;
  --mist:     #888;
  --parchment:#c8bfb2;
  --cream:    #e2dbd2;
  --white:    #f0ebe4;
  --gold:     #b8935a;
  --gold2:    #cca96e;
  --gold-dim: #7a5f35;

  --serif:  'Playfair Display', 'Times New Roman', serif;
  --sans:   'DM Sans', system-ui, sans-serif;
  --caps:   'Inter', serif;

  --ease:   cubic-bezier(.16,1,.3,1);
  --ease2:  cubic-bezier(.4,0,.2,1);
  --fast:   .25s var(--ease2);
  --mid:    .55s var(--ease);
  --slow:   .9s  var(--ease);

  --nav-h:  68px;
  --gutter: clamp(1.5rem, 5vw, 4rem);
  --max:    1280px;
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  background:var(--ink);
  color:var(--cream);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.75;
  overflow-x:hidden;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  -webkit-font-smoothing:antialiased;
  font-size:15px;
}
a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
ul{list-style:none}
em{font-style:italic}
img{display:block;max-width:100%}
#app{flex:1}
::-webkit-scrollbar{width:2px}
::-webkit-scrollbar-thumb{background:var(--dim)}

/* ── Navigation ── */
#nav{
  position:fixed;
  inset:0 0 auto;
  height:var(--nav-h);
  z-index:900;
  transition: background var(--fast),border-color var(--fast);
}
#nav.solid{
  background:rgba(7,7,7,.93);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--wire);
}
.nav-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
  height:100%;
  display:flex;
  align-items:center;
  gap:2rem;
}
.nav-logo{
  margin-right:auto;
  font-family:var(--serif);
  font-size:.95rem;
  font-weight:400;
  color:var(--white);
  letter-spacing:.01em;
}
.nav-logo em{
  color:var(--gold);
  font-style:italic;
}
.nav-links{
  display:flex;
  gap:2.2rem;
  align-items:center;
}
.nav-links a{
  font-family:var(--sans);
  font-size:.68rem;
  font-weight:400;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--mist);
  position:relative;
  padding-bottom:3px;
  transition:color var(--fast);
}
.nav-links a::after{
  content:'';
  position:absolute;
  bottom:0;left:0;
  width:0;height:1px;
  background:var(--gold);
  transition:width var(--fast);
}
.nav-links a:hover,.nav-links a.on{color:var(--white)}
.nav-links a:hover::after,.nav-links a.on::after{width:100%}
.nav-links a.on{color:var(--gold)}

.nav-lang{
  position:relative;
  border-left:1px solid var(--wire);
  padding-left:1.4rem;
}
.lang-toggle{
  display:flex;
  align-items:center;
  gap:.35rem;
  font-family:var(--caps);
  font-size:.58rem;
  letter-spacing:.15em;
  color:var(--ash);
  padding:.25rem .45rem;
  border:1px solid transparent;
  transition:all var(--fast);
  cursor:pointer;
}
.lang-toggle:hover,.nav-lang.open .lang-toggle{color:var(--gold);border-color:var(--gold)}
.lang-chevron{transition:transform var(--fast)}
.nav-lang.open .lang-chevron{transform:rotate(180deg)}
.lang-menu{
  position:absolute;
  top:calc(100% + .6rem);
  right:0;
  background:var(--ink);
  border:1px solid var(--wire);
  list-style:none;
  padding:.3rem 0;
  min-width:3.5rem;
  opacity:0;
  pointer-events:none;
  transform:translateY(-4px);
  transition:opacity var(--fast),transform var(--fast);
  z-index:999;
}
.nav-lang.open .lang-menu{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.lang-menu .l{
  display:block;
  width:100%;
  text-align:center;
  font-family:var(--caps);
  font-size:.58rem;
  letter-spacing:.15em;
  color:var(--ash);
  padding:.4rem .6rem;
  border:none;
  transition:all var(--fast);
  cursor:pointer;
}
.lang-menu .l.active,.lang-menu .l:hover{color:var(--gold);background:rgba(255,255,255,.04)}

/* Burger */
.nav-burger{
  display:none;
  flex-direction:column;
  gap:6px;
  padding:6px;
  margin-left:auto;
}
.nav-burger span{
  display:block;
  width:20px;height:1px;
  background:var(--cream);
  transition:all var(--fast);
}
.nav-burger.x span:first-child{transform:translateY(3.5px) rotate(45deg)}
.nav-burger.x span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

/* ── Page shell ── */
.page{
  padding-top:var(--nav-h);
  min-height:100vh;
  animation:pgIn .65s var(--ease) both;
}
@keyframes pgIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.wrap{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
}

/* ── Typography helpers ── */
.eyebrow{
  font-family:var(--caps);
  font-size:.58rem;
  letter-spacing:.5em;
  text-transform:uppercase;
  color:var(--gold);
  display:flex;
  align-items:center;
  gap:.8rem;
}
.eyebrow::before{
  content:'';
  display:inline-block;
  width:32px;height:1px;
  background:var(--gold);
  flex-shrink:0;
}
.display{
  font-family:var(--serif);
  font-weight:400;
  color:var(--white);
  line-height:1.05;
}
.display em{
  font-style:italic;
  color:var(--gold);
}

/* ── Horizontal rule ── */
.hr{
  border:none;
  border-top:1px solid var(--wire);
}

/* ── Fade-in on scroll ── */
.reveal{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .75s var(--ease),transform .75s var(--ease);
}
.reveal.in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.1s}
.reveal[data-delay="2"]{transition-delay:.2s}
.reveal[data-delay="3"]{transition-delay:.3s}
.reveal[data-delay="4"]{transition-delay:.4s}
.reveal[data-delay="5"]{transition-delay:.5s}
.reveal[data-delay="6"]{transition-delay:.6s}

/* ═══════════════════════════════════════════════════
   HOME
   ═══════════════════════════════════════════════════ */
.home{
  position:relative;
  overflow:hidden;
  background:var(--ink);
}

/* Grain */
.home::before{
  content:'';
  position:fixed;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E");
  pointer-events:none;
  z-index:1;
  mix-blend-mode:overlay;
}

/* Art word wall — scattered layout */
.art-wall{
  position:fixed;
  right:0;
  top:0;
  width:44vw;
  height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:5vh;
  padding-top:calc(var(--nav-h) + 4rem);
  padding-bottom:6vh;
  box-sizing:border-box;
  z-index:0;
  pointer-events:none;
  user-select:none;
}
.aw-row{
  opacity:0;
  transition:opacity .8s var(--ease);
  padding-left:var(--indent, 2vw);
}
.aw-row.aw-on{ opacity:1; }
.aw-row span{
  font-family:var(--caps);
  font-size:clamp(1.2rem,1.9vw,2.3rem);
  font-weight:400;
  letter-spacing:.5em;
  text-transform:uppercase;
  color:rgba(184,147,90,.28);
  white-space:nowrap;
}
@media(max-width:1024px){ .art-wall{ display:none; } }

/* Hero */
.hero{
  position:relative;
  z-index:2;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:calc(var(--nav-h) + 4rem) var(--gutter) 4rem;
  max-width:900px;
}
.hero-kicker{
  font-family:var(--caps);
  font-size:.6rem;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:3rem;
  opacity:0;
  animation:up .9s .1s var(--ease) forwards;
}
.hero-name{
  font-family:var(--serif);
  font-size:clamp(4.5rem,11vw,10rem);
  font-weight:400;
  line-height:.95;
  color:var(--white);
  letter-spacing:-.01em;
  opacity:0;
  animation:up .9s .25s var(--ease) forwards;
}
.hero-name em{
  display:block;
  font-style:italic;
  color:var(--gold);
}
.hero-rule{
  width:52px;height:1px;
  background:var(--gold);
  margin:3rem 0;
  opacity:0;
  animation:up .9s .4s var(--ease) forwards;
}
.hero-sub{
  font-family:var(--serif);
  font-size:clamp(1rem,1.8vw,1.2rem);
  font-style:italic;
  color:var(--mist);
  line-height:1.9;
  max-width:480px;
  margin-bottom:3.5rem;
  opacity:0;
  animation:up .9s .5s var(--ease) forwards;
}
.hero-cta{
  display:inline-flex;
  align-items:center;
  gap:1rem;
  font-family:var(--caps);
  font-size:.6rem;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:var(--cream);
  border:1px solid var(--wire);
  padding:.95rem 2.2rem;
  transition:all var(--mid);
  opacity:0;
  animation:up .9s .65s var(--ease) forwards;
}
.hero-cta::after{
  content:'→';
  font-family:var(--sans);
  font-size:.8rem;
  letter-spacing:0;
  transition:transform var(--fast);
}
.hero-cta:hover{
  border-color:var(--gold);
  color:var(--gold);
}
.hero-cta:hover::after{transform:translateX(4px)}

/* Word dots */
.word-dots{
  position:fixed;
  bottom:2.5rem;
  left:var(--gutter);
  z-index:3;
  display:flex;
  gap:.6rem;
  align-items:center;
  opacity:0;
  animation:fadeIn 1s 1s var(--ease) forwards;
}
.wd{
  width:4px;height:4px;
  border-radius:50%;
  background:var(--wire);
  cursor:pointer;
  transition:background var(--fast),transform var(--fast);
}
.wd.on{background:var(--gold);transform:scale(1.5)}

@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ── Bio on Home ── */
.home-bio{
  position:relative;
  z-index:2;
  border-top:1px solid var(--wire);
  padding:7rem var(--gutter);
  background:linear-gradient(180deg,transparent,var(--ink2) 20%,var(--ink2));
}
.home-bio-grid{
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:5rem;
  align-items:start;
}
.home-bio-left{}
.bio-eyebrow{margin-bottom:1.5rem}
.bio-heading{
  font-size:clamp(2.2rem,4vw,3.5rem);
  margin-bottom:0;
}
.bio-facts{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  margin-top:3rem;
}
.bio-fact{
  border-left:1px solid var(--wire);
  padding-left:1.2rem;
}
.fact-l{
  font-family:var(--caps);
  font-size:.55rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--gold);
  display:block;
  margin-bottom:.3rem;
}
.fact-v{
  font-family:var(--serif);
  font-size:.95rem;
  color:var(--parchment);
  font-style:italic;
}
.home-bio-right{
  display:flex;
  flex-direction:column;
  gap:1.8rem;
  padding-top:.5rem;
}
.bio-p{
  font-size:1.02rem;
  color:var(--parchment);
  line-height:1.92;
}

/* ── Stats ── */
.stats-band{
  position:relative;
  z-index:2;
  border-top:1px solid var(--wire);
  padding:5rem var(--gutter);
  background:var(--ink3);
}
.stats-inner{
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2px;
}
.stat-cell{
  padding:3rem 2.5rem;
  border-right:1px solid var(--wire);
  text-align:center;
}
.stat-cell:last-child{border-right:none}
.stat-num{
  font-family:var(--serif);
  font-size:clamp(3rem,5vw,5rem);
  font-weight:400;
  font-style:italic;
  color:var(--gold);
  line-height:1;
  display:block;
  margin-bottom:.5rem;
}
.stat-label{
  font-family:var(--caps);
  font-size:.55rem;
  letter-spacing:.35em;
  text-transform:uppercase;
  color:var(--ash);
}

/* ═══════════════════════════════════════════════════
   GALLERY WALL  (home section ②)
   Each card floats at a slight rotation set via CSS
   custom properties --r, --tx, --ty, --sc.
   On hover the active card snaps upright and comes
   forward; the others dim slightly.
   ═══════════════════════════════════════════════════ */

.gw-section{
  position:relative;
  z-index:2;
  border-top:1px solid var(--wire);
  padding:5rem var(--gutter) 6rem;
  background:var(--ink2);
  overflow:hidden;
}

/* Header row: eyebrow + "see all" link */
.gw-eyebrow-row{
  max-width:var(--max);
  margin:0 auto 3.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
}
.gw-eyebrow{ flex-shrink:0; }
.gw-see-all{
  font-family:var(--caps);
  font-size:.55rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold);
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  transition:gap var(--fast);
}
.gw-see-all::after{ content:'→'; font-family:var(--sans); font-size:.8rem; letter-spacing:0; }
.gw-see-all:hover{ gap:.9rem; }

/* The wall container */
.gw-wall{
  max-width:var(--max);
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  gap:0;
  justify-content:center;
  /* Subtle parallax offset driven by JS --mx/--my */
  transform:
    perspective(1200px)
    rotateX(calc(var(--my, 0) * -3deg))
    rotateY(calc(var(--mx, 0) *  3deg));
  transition:transform .4s var(--ease);
}

/* Individual card */
.gw-card{
  position:relative;
  width:clamp(180px, 18vw, 280px);
  margin:clamp(-.5rem, -1.5vw, -1.8rem); /* negative margin = natural overlap */
  transform:
    rotate(var(--r, 0deg))
    translate(var(--tx, 0), var(--ty, 0))
    scale(var(--sc, 1));
  transform-origin:center bottom;
  transition:
    transform  .5s var(--ease),
    z-index    0s,
    box-shadow .5s var(--ease),
    filter     .4s ease;
  cursor:pointer;
  z-index:1;
  text-decoration:none;
  color:inherit;
  /* Gold frame border */
  box-shadow:
    0 0 0 1px rgba(184,147,90,.2),
    0 8px 32px rgba(0,0,0,.55);
  filter:brightness(.85) saturate(.8);
}

/* Hide cards with broken images */
.gw-broken{ display:none !important; }

/* Front (hovered) card */
.gw-card.gw-front{
  transform:
    rotate(0deg)
    translate(0, -16px)
    scale(1.08);
  z-index:20;
  box-shadow:
    0 0 0 1px rgba(184,147,90,.5),
    0 24px 64px rgba(0,0,0,.8),
    0 0 40px rgba(184,147,90,.08);
  filter:brightness(1) saturate(1);
}

/* Image inside card */
.gw-img-wrap{
  display:block;
  width:100%;
  aspect-ratio:3/4;
  overflow:hidden;
  background:var(--shade);
}
.gw-img-wrap picture{
  display:block;
  width:100%;
  height:100%;
}
.gw-img-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s var(--ease);
}
.gw-card.gw-front .gw-img-wrap img{
  transform:scale(1.05);
}

/* Label that appears on hover */
.gw-label{
  position:absolute;
  bottom:0; left:0; right:0;
  padding:.8rem 1rem;
  background:linear-gradient(to top, rgba(7,7,7,.92) 60%, transparent);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:.5rem;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .35s ease, transform .35s var(--ease);
}
.gw-card.gw-front .gw-label{
  opacity:1;
  transform:none;
}
.gw-label-text{
  font-family:var(--serif);
  font-size:clamp(.7rem,.9vw,.85rem);
  font-style:italic;
  color:var(--cream);
  line-height:1.3;
}
.gw-label-arrow{
  font-size:.75rem;
  color:var(--gold);
  flex-shrink:0;
}

/* Dim non-focused cards when wall has a front */
.gw-wall:has(.gw-front) .gw-card:not(.gw-front){
  filter:brightness(.6) saturate(.5);
}

/* ── Mobile: staggered stack instead of scattered ── */
@media(max-width:900px){
  .gw-wall{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:3px;
    transform:none !important;
  }
  .gw-card{
    width:100%;
    margin:0;
    /* Reduce rotation on mobile */
    transform:
      rotate(calc(var(--r) * .4))
      translate(0,0)
      scale(1) !important;
    filter:brightness(.95) saturate(.9);
  }
  .gw-card.gw-front{
    transform:rotate(0deg) scale(1) !important;
  }
  .gw-label{opacity:1;transform:none;}
  .gw-wall:has(.gw-front) .gw-card:not(.gw-front){
    filter:none;
  }
}
@media(max-width:600px){
  .gw-section{padding:4rem var(--gutter) 4rem;}
  .gw-wall{grid-template-columns:repeat(2,1fr);gap:2px;}
}

/* ═══════════════════════════════════════════════════
   COMPANIES LIST PAGE
   ═══════════════════════════════════════════════════ */
.co-list-page{
  padding:calc(var(--nav-h) + 5rem) 0 6rem;
}
.page-head{
  margin-bottom:5rem;
}
.page-head .eyebrow{margin-bottom:1.2rem}
.page-title{
  font-size:clamp(2.8rem,5.5vw,5rem);
}

/* Company card */
.co-cards{
  display:flex;
  flex-direction:column;
  gap:0;
}
.co-card{
  border-top:1px solid var(--wire);
  transition:background var(--fast);
}
.co-card:last-child{border-bottom:1px solid var(--wire)}

.co-card-main{
  display:grid;
  grid-template-columns:var(--img-col,220px) 1fr auto;
  gap:3.5rem;
  align-items:center;
  padding:3rem 0;
  cursor:pointer;
}
.co-img{
  width:100%;
  aspect-ratio:4/3;
  background:var(--shade);
  border:1px solid var(--wire);
  overflow:hidden;
  flex-shrink:0;
  display:block;
  position:relative;
}
/* picture, img-wrap and site-img must all fill .co-img absolutely */
.co-img > picture,
.co-img .img-wrap{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.co-img img,
.co-img .site-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.co-img-ph{
  font-family:var(--caps);
  font-size:.5rem;
  letter-spacing:.2em;
  color:var(--dim);
  text-align:center;
  padding:1rem;
}
.co-info{}
.co-years-tag{
  font-family:var(--caps);
  font-size:.55rem;
  letter-spacing:.35em;
  color:var(--gold);
  display:block;
  margin-bottom:.7rem;
}
.co-name-big{
  font-size:clamp(1.8rem,3.5vw,3rem);
  margin-bottom:.6rem;
}
.co-tagline-txt{
  font-family:var(--serif);
  font-size:.95rem;
  font-style:italic;
  color:var(--mist);
}
.co-arrow{
  font-size:1.2rem;
  color:var(--wire);
  transition:transform var(--fast),color var(--fast);
  padding:0 .5rem;
}
.co-card-main:hover{background:var(--ink3)}
.co-card-main:hover .co-arrow{transform:translateX(6px);color:var(--gold)}

/* Expanded panel */
.co-expand{
  display:none;
  border-top:1px solid var(--wire);
  padding:2.5rem 0 3rem;
  animation:expandIn .45s var(--ease) both;
}
.co-expand.open{display:grid;grid-template-columns:220px 1fr;gap:3.5rem}
@keyframes expandIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

.co-expand-desc{
  font-size:.95rem;
  color:var(--parchment);
  line-height:1.88;
  padding-top:.2rem;
}
.co-works-title{
  font-family:var(--caps);
  font-size:.55rem;
  letter-spacing:.35em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1.5rem;
  padding-top:.2rem;
}
.co-works-mini{
  display:flex;
  flex-direction:column;
}
.cwm-row{
  display:flex;
  align-items:baseline;
  gap:1.2rem;
  padding:.8rem 0;
  border-bottom:1px solid var(--wire);
  cursor:pointer;
  transition:all var(--fast);
}
.cwm-row:first-child{border-top:1px solid var(--wire)}
.cwm-row:hover{padding-left:.8rem;background:var(--ink3)}
.cwm-year{
  font-family:var(--caps);
  font-size:.65rem;
  color:var(--gold);
  letter-spacing:.1em;
  flex-shrink:0;
  white-space:nowrap;
  width:6.5rem;
}
.cwm-title{
  font-family:var(--serif);
  font-size:1.05rem;
  font-style:italic;
  color:var(--cream);
  flex:1;
}
.cwm-tag{
  font-size:.7rem;
  color:var(--ash);
  margin-left:auto;
  font-family:var(--sans);
  flex-shrink:0;
}
.cwm-arr{
  font-size:.75rem;
  color:var(--wire);
  transition:transform var(--fast),color var(--fast);
}
.cwm-row:hover .cwm-arr{transform:translateX(4px);color:var(--gold)}

/* View all link */
.co-see-all{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--caps);
  font-size:.55rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold);
  margin-top:1.5rem;
  transition:gap var(--fast);
}
.co-see-all::after{content:'→';font-family:var(--sans);font-size:.75rem;letter-spacing:0}
.co-see-all:hover{gap:.9rem}

/* ═══════════════════════════════════════════════════
   COMPANY DETAIL PAGE
   ═══════════════════════════════════════════════════ */
.co-detail-page{
  padding:calc(var(--nav-h) + 4rem) 0 6rem;
}
.back-link{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  font-family:var(--caps);
  font-size:.55rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--ash);
  margin-bottom:3.5rem;
  transition:color var(--fast),gap var(--fast);
}
.back-link::before{content:'←';font-family:var(--sans);font-size:.8rem;letter-spacing:0}
.back-link:hover{color:var(--gold);gap:.5rem}

.co-detail-header{
  display:grid;
  grid-template-columns:1fr auto;
  gap:3rem;
  align-items:end;
  padding-bottom:3.5rem;
  border-bottom:1px solid var(--wire);
  margin-bottom:4rem;
}
.co-detail-years{
  font-family:var(--caps);
  font-size:.68rem;
  letter-spacing:.35em;
  color:var(--gold);
  display:block;
  margin-bottom:1rem;
}
.co-detail-title{
  font-size:clamp(3rem,6vw,5.5rem);
  margin-bottom:1rem;
}
.co-detail-tagline{
  font-family:var(--serif);
  font-size:1.1rem;
  font-style:italic;
  color:var(--mist);
}
.co-detail-img{
  width:280px;
  aspect-ratio:4/3;
  background:var(--shade);
  border:1px solid var(--wire);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.co-detail-img img{width:100%;height:100%;object-fit:cover}
.img-ph-txt{
  font-family:var(--caps);
  font-size:.5rem;
  letter-spacing:.2em;
  color:var(--dim);
  text-align:center;
}

.co-detail-desc{
  font-size:1rem;
  color:var(--parchment);
  line-height:1.9;
  max-width:650px;
  margin-bottom:5rem;
}

/* Works on company page */
.works-section-title{
  font-family:var(--caps);
  font-size:.55rem;
  letter-spacing:.45em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:2rem;
  display:flex;
  align-items:center;
  gap:1rem;
}
.works-section-title::after{
  content:'';
  flex:1;
  height:1px;
  background:var(--wire);
}

.works-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--wire);
  margin-bottom:1px;
}
.work-tile{
  background:var(--ink);
  padding:2.5rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
  transition:background var(--fast);
  position:relative;
  min-height:200px;
}
.work-tile.clickable{cursor:pointer}
.work-tile.clickable:hover{background:var(--ink3)}
.work-tile.clickable:hover .wt-arr{opacity:1;transform:translateX(0)}

.wt-year{
  font-family:var(--caps);
  font-size:.65rem;
  letter-spacing:.25em;
  color:var(--gold);
}
.wt-title{
  font-family:var(--serif);
  font-size:1.6rem;
  font-style:italic;
  color:var(--white);
  line-height:1.2;
}
.wt-tag{
  font-family:var(--sans);
  font-size:.7rem;
  font-weight:400;
  letter-spacing:.1em;
  color:var(--ash);
  border:1px solid var(--wire);
  padding:.25rem .75rem;
  align-self:flex-start;
  text-transform:uppercase;
}
.wt-desc{
  font-size:.88rem;
  color:var(--mist);
  line-height:1.75;
  margin-top:.3rem;
}
.wt-arr{
  position:absolute;
  bottom:2.5rem;right:2.5rem;
  font-size:.75rem;
  color:var(--gold);
  opacity:0;
  transform:translateX(-4px);
  transition:all var(--fast);
}

/* Expandable (non-clickable) */
.work-tile .wt-toggle{
  margin-top:auto;
  align-self:flex-start;
  font-family:var(--caps);
  font-size:.52rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--ash);
  border:1px solid var(--wire);
  padding:.3rem .9rem;
  transition:all var(--fast);
}
.work-tile .wt-toggle:hover{color:var(--gold);border-color:var(--gold)}
.wt-detail{
  display:none;
  margin-top:.5rem;
  padding-top:1rem;
  border-top:1px solid var(--wire);
  font-size:.88rem;
  color:var(--parchment);
  line-height:1.8;
  animation:expandIn .35s var(--ease) both;
}
.wt-detail.open{display:block}

/* ═══════════════════════════════════════════════════
   OBRA PAGE
   ═══════════════════════════════════════════════════ */
.obra-page{
  padding:calc(var(--nav-h) + 4rem) 0 6rem;
}
.obra-header{
  padding-bottom:3.5rem;
  border-bottom:1px solid var(--wire);
  margin-bottom:4.5rem;
}
.obra-breadcrumb{
  display:flex;
  align-items:center;
  gap:.8rem;
  font-family:var(--caps);
  font-size:.52rem;
  letter-spacing:.3em;
  color:var(--ash);
  margin-bottom:3rem;
}
.obra-breadcrumb a{
  color:var(--gold);
  text-decoration:none;
  transition:color var(--fast);
}
.obra-breadcrumb a:hover{color:var(--gold2)}
.obra-breadcrumb .sep{color:var(--dim)}

.obra-title-block{
  display:grid;
  grid-template-columns:1fr auto;
  gap:3rem;
  align-items:end;
}
.obra-year-tag{
  font-family:var(--caps);
  font-size:.68rem;
  letter-spacing:.35em;
  color:var(--gold);
  display:block;
  margin-bottom:1rem;
}
.obra-title{
  font-size:clamp(2.8rem,5.5vw,5rem);
  margin-bottom:.8rem;
}
.obra-tagline-txt{
  font-family:var(--serif);
  font-size:1.1rem;
  font-style:italic;
  color:var(--mist);
}
.obra-media{
  width:320px;
  aspect-ratio:4/3;
  background:var(--shade);
  border:1px solid var(--wire);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.obra-media img{width:100%;height:100%;object-fit:cover}
.obra-media-ph{
  font-family:var(--caps);
  font-size:.5rem;
  letter-spacing:.2em;
  color:var(--dim);
  text-align:center;
}

.obra-body{
  display:flex;
  flex-direction:column;
  gap:4rem;
}
.obra-video{
  width:100%;
  aspect-ratio:16/9;
  background:var(--shade);
  overflow:hidden;
}
.obra-video iframe{
  width:100%;height:100%;
  border:0;display:block;
}
.obra-section{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.obra-section-label{
  font-family:var(--caps);
  font-size:.88rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--gold);
  padding-bottom:1rem;
  border-bottom:1px solid var(--wire);
}
.obra-text{
  font-family:var(--serif);
  font-size:1.1rem;
  font-style:italic;
  color:var(--parchment);
  line-height:1.95;
  white-space:pre-line;
}
.obra-meta-row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:2rem;
}
.obra-meta-item{
  border-left:1px solid var(--wire);
  padding-left:1.2rem;
}
.obra-meta-l{
  font-family:var(--caps);
  font-size:.78rem;
  letter-spacing:.18em;
  color:var(--gold);
  display:block;
  margin-bottom:.4rem;
}
.obra-meta-v{
  font-size:.9rem;
  color:var(--parchment);
  line-height:1.65;
}
.obra-credits-list{
  display:flex;flex-direction:column;gap:.35rem;
}
.obra-credits-list span::before{
  content:'·  ';
  color:var(--gold);
  font-size:.75rem;
}
.obra-awards{display:flex;flex-direction:column}
.obra-award-row{
  display:grid;
  grid-template-columns:2.8rem 1px 1fr;
  gap:0 1.4rem;
  align-items:center;
  padding:.85rem 0;
  border-bottom:1px solid var(--wire);
}
.obra-award-row:first-child{border-top:1px solid var(--wire)}
.oar-num{
  font-family:var(--serif);font-size:1.1rem;
  font-style:italic;color:var(--gold);line-height:1
}
.oar-sep{display:block;height:1.4em;width:1px;background:var(--wire)}
.oar-text{
  font-family:var(--caps);font-size:.7rem;
  letter-spacing:.16em;color:var(--parchment)
}
.obra-dates{
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.obra-date{
  font-size:.88rem;
  color:var(--parchment);
  padding-left:1.2rem;
  border-left:1px solid var(--wire);
}
.obra-photos-ph{
  width:100%;
  aspect-ratio:21/9;
  background:var(--shade);
  border:1px solid var(--wire);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--dim);
  font-family:var(--caps);
  font-size:.55rem;
  letter-spacing:.3em;
}

/* ═══════════════════════════════════════════════════
   IMAGE SYSTEM
   .img-wrap / .site-img / galleries / lightbox
   ═══════════════════════════════════════════════════ */

/* picture wrapper */
.img-wrap{
  display:block;
  overflow:hidden;
  background:var(--shade);
  line-height:0;
  cursor:zoom-in;
}

/* the <img> */
.site-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .65s cubic-bezier(.16,1,.3,1);
}
.img-wrap:hover .site-img{ transform:scale(1.04); }

/* cover — fills parent */
.img-cover{ width:100%; height:100%; }

/* ── Cover images — favour top of frame (faces, not feet) ── */
.img-cover .site-img{ object-position:center 20%; }
[data-co="massiva"] .img-cover .site-img{ object-position:center 50%; }

/* ── Bio portrait ── */
.bio-portrait .img-wrap{ width:100%; height:100%; }
.bio-portrait .site-img{ object-position:center top; }

/* ── Company list card (co-img already handles sizing via absolute) ── */
.co-img .img-wrap{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

/* ── Company detail header ── */
.co-detail-img{ position:relative; }
.co-detail-img .img-wrap{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.co-detail-img .site-img{ object-fit:cover; }

/* ── Obra header thumbnail ── */
.obra-media{ position:relative; }
.obra-media .img-wrap{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

/* ── Single image (1 photo) ── */
.obra-gallery-single{ width:100%; }
.obra-gallery-single .img-wrap{
  width:100%;
  aspect-ratio:16/9;
  border:1px solid var(--wire);
}

/* ── Collage (2–3 images) ── */
.obra-collage{
  display:flex;
  gap:4px;
  align-items:flex-start;
}
.obra-collage .collage-item{
  flex:1;
  min-width:0;
  cursor:zoom-in;
  border:1px solid var(--wire);
  display:block;
}
.obra-collage .collage-item img{
  width:100%;
  height:auto;
  display:block;
}
.obra-collage-stack{
  flex-direction:column;
}
.obra-collage-stack .collage-item{
  flex:none;
  width:100%;
}
@media(max-width:480px){
  .obra-collage-3{ flex-wrap:wrap; }
  .obra-collage-3 .collage-item:first-child{ flex:0 0 100%; }
  .obra-collage-3 .collage-item:not(:first-child){ flex:1; }
}

/* ── Compact gallery — low-res images shown at reduced size ── */
.obra-gallery-compact{
  max-width:460px;
}
.obra-gallery-compact .img-wrap{
  aspect-ratio:4/3;
}
.obra-carousel.obra-gallery-compact .carousel-main-wrap{
  max-width:460px;
  aspect-ratio:4/3;
}

/* ── Duo (2 photos side by side) ── */
.obra-gallery-duo{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3px;
}
.obra-gallery-duo .img-wrap{ aspect-ratio:3/4; }

/* ── Collage (3+ photos) ── */
/* Uses CSS grid with named areas so photos sit at varied sizes */
.obra-gallery-collage{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  grid-auto-rows:80px;
  gap:3px;
}

/* Hero: first image, big and commanding */
.obra-gallery-collage .collage-hero{
  grid-column: 1 / 8;
  grid-row:    1 / 6;
}

/* Wide cell: landscape feel */
.obra-gallery-collage .collage-wide{
  grid-column: span 5;
  grid-row:    span 3;
}

/* Tall cell: portrait feel */
.obra-gallery-collage .collage-tall{
  grid-column: span 5;
  grid-row:    span 4;
}

/* Square cell */
.obra-gallery-collage .collage-square{
  grid-column: span 5;
  grid-row:    span 3;
}

/* All collage cells share these */
.obra-gallery-collage .img-wrap{
  min-height:0;
}

/* Reflow on tablet */
@media(max-width:900px){
  .obra-gallery-collage{
    grid-template-columns:repeat(6, 1fr);
    grid-auto-rows:70px;
  }
  .obra-gallery-collage .collage-hero{
    grid-column: 1 / -1;
    grid-row:    1 / 5;
  }
  .obra-gallery-collage .collage-wide,
  .obra-gallery-collage .collage-tall,
  .obra-gallery-collage .collage-square{
    grid-column: span 3;
    grid-row:    span 3;
  }
}

/* Reflow on mobile */
@media(max-width:600px){
  .obra-gallery-collage{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:120px;
  }
  .obra-gallery-collage .collage-hero{
    grid-column: 1 / -1;
    grid-row:    1 / 4;
  }
  .obra-gallery-collage .collage-wide,
  .obra-gallery-collage .collage-tall,
  .obra-gallery-collage .collage-square{
    grid-column: span 1;
    grid-row:    span 2;
  }
  .obra-gallery-duo{ grid-template-columns:1fr; }
}

/* ════════════════════════════════════════════════════
   CAROUSEL — large main image + thumbnail strip
   ════════════════════════════════════════════════════ */
.obra-carousel{ width:100%; }

/* ── Main image ── */
.carousel-main-wrap{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:var(--shade);
  border:1px solid var(--wire);
  overflow:hidden;
}

.carousel-main-wrap .img-wrap{
  width:100%;
  height:100%;
  border:none;
  cursor:zoom-in;
}

.carousel-main-wrap .site-img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:opacity .3s ease;
}

/* Prev / Next arrows */
.carousel-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:44px;height:44px;
  font-size:2rem;line-height:1;
  color:rgba(255,255,255,.8);
  background:rgba(7,7,7,.55);
  border:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,color .2s,opacity .2s;
  opacity:0;
}
.carousel-main-wrap:hover .carousel-btn{ opacity:1; }
.carousel-btn:hover{ background:rgba(7,7,7,.85); color:#fff; }
.carousel-prev{ left:.65rem; }
.carousel-next{ right:.65rem; }

/* Counter badge — bottom-right corner of main image */
.carousel-counter{
  position:absolute;
  bottom:.65rem;right:.8rem;
  font-family:var(--caps);
  font-size:.48rem;
  letter-spacing:.18em;
  color:rgba(255,255,255,.55);
  background:rgba(7,7,7,.55);
  padding:.22rem .5rem;
  pointer-events:none;
  user-select:none;
}

/* ── Thumbnail strip ── */
.carousel-thumbs{
  display:flex;
  gap:3px;
  margin-top:3px;
  overflow-x:auto;
  scroll-behavior:smooth;
  scrollbar-width:thin;
  scrollbar-color:var(--dim) transparent;
}
.carousel-thumbs::-webkit-scrollbar{ height:3px; }
.carousel-thumbs::-webkit-scrollbar-thumb{ background:var(--dim); }

.carousel-thumb{
  flex:0 0 auto;
  width:90px;height:62px;
  padding:0;
  border:2px solid transparent;
  overflow:hidden;
  cursor:pointer;
  opacity:.5;
  background:var(--shade);
  transition:border-color .2s,opacity .2s;
}
.carousel-thumb picture,
.carousel-thumb img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  pointer-events:none;
}
.carousel-thumb:hover{ opacity:.8; }
.carousel-thumb.active{
  border-color:var(--gold);
  opacity:1;
}

/* Mobile */
@media(max-width:768px){
  .carousel-btn{ opacity:.75; width:38px; height:38px; font-size:1.7rem; }
  .carousel-thumb{ width:66px; height:46px; }
}
@media(max-width:480px){
  .carousel-thumb{ width:52px; height:38px; }
}

/* ════════════════════════════════════════════════════
   LIGHTBOX
   ════════════════════════════════════════════════════ */
#lightbox{
  position:fixed;
  inset:0;
  z-index:9000;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease;
}
#lightbox.open{
  opacity:1;
  pointer-events:auto;
}

.lb-backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,4,4,.94);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  cursor:zoom-out;
}

.lb-close{
  position:absolute;
  top:1.5rem; right:1.5rem;
  z-index:2;
  width:40px; height:40px;
  border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.5);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:color .2s ease, border-color .2s ease;
}
.lb-close:hover{
  color:#fff;
  border-color:rgba(255,255,255,.4);
}

.lb-img-wrap{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
  max-width:92vw;
  max-height:92vh;
  /* Slide up on open */
  transform:translateY(16px);
  transition:transform .4s cubic-bezier(.16,1,.3,1);
}
#lightbox.open .lb-img-wrap{
  transform:none;
}

.lb-img{
  display:block;
  max-width:92vw;
  max-height:85vh;
  width:auto;
  height:auto;
  object-fit:contain;
  opacity:0;
  transition:opacity .3s ease;
  box-shadow:0 0 0 1px rgba(184,147,90,.25), 0 30px 80px rgba(0,0,0,.7);
}

.lb-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  gap:1rem;
}

.lb-caption{
  font-family:var(--caps);
  font-size:.52rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:rgba(200,191,178,.45);
}

.lb-counter{
  font-family:var(--caps);
  font-size:.52rem;
  letter-spacing:.2em;
  color:rgba(200,191,178,.35);
  white-space:nowrap;
  flex-shrink:0;
}

/* Prev / Next buttons inside the lightbox overlay */
.lb-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:52px;height:52px;
  font-size:2.4rem;line-height:1;
  color:rgba(255,255,255,.6);
  background:rgba(7,7,7,.45);
  border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  transition:color .2s,background .2s;
}
.lb-nav:hover{ color:#fff; background:rgba(7,7,7,.8); }
.lb-prev{ left:1.5rem; }
.lb-next{ right:1.5rem; }

@media(max-width:600px){
  .lb-prev{ left:.4rem; }
  .lb-next{ right:.4rem; }
  .lb-nav{ width:40px; height:40px; font-size:1.8rem; }
}

/* ═══════════════════════════════════════════════════
   BIOGRAPHY PAGE
   ═══════════════════════════════════════════════════ */
.bio-page{
  padding:calc(var(--nav-h) + 5rem) 0 6rem;
}
.bio-page-layout{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:0rem;
  align-items:start;
}
.bio-aside{position:sticky;top:calc(var(--nav-h) + 2rem)}
.bio-portrait{
  width:85%;aspect-ratio:4/4;
  background:var(--shade);
  border:1px solid var(--wire);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:2rem;
  overflow:hidden;
}
.bio-portrait img{width:100%;height:100%;object-fit:cover}
.bio-portrait-ph{
  font-family:var(--caps);font-size:.5rem;
  letter-spacing:.15em;color:var(--dim);text-align:center;
}
.bio-facts-stack{display:flex;flex-direction:column;gap:1.2rem}
.bio-page-main{display:flex;flex-direction:column;gap:2rem}
.bio-page-text{font-size:1rem;color:var(--parchment);line-height:1.92}

/* ═══════════════════════════════════════════════════
   PERFORMANCES
   ═══════════════════════════════════════════════════ */
.perf-page{padding:calc(var(--nav-h) + 5rem) 0 6rem}
.perf-table{display:flex;flex-direction:column}
.perf-row{
  display:grid;
  grid-template-columns:80px 1fr 1fr auto;
  align-items:center;
  gap:2rem;
  padding:1.6rem 0;
  border-top:1px solid var(--wire);
  cursor:pointer;
  transition:background var(--fast),padding-left var(--fast);
}
.perf-row:last-child{border-bottom:1px solid var(--wire)}
.perf-row:hover{background:var(--ink3);padding-left:1rem}
.pr-year{
  font-family:var(--caps);font-size:.55rem;
  letter-spacing:.15em;color:var(--gold)
}
.pr-name{
  font-family:var(--serif);font-size:1.1rem;
  font-style:italic;color:var(--cream)
}
.pr-place{font-size:.78rem;color:var(--mist)}
.pr-arrow{
  font-size:.8rem;color:var(--wire);
  transition:transform var(--fast),color var(--fast)
}
.perf-row:hover .pr-arrow{transform:translateX(5px);color:var(--gold)}

/* Panel */
.perf-panel{
  position:fixed;top:0;right:0;
  width:460px;max-width:100vw;height:100vh;
  background:var(--ink2);
  border-left:1px solid var(--wire);
  z-index:950;
  transform:translateX(100%);
  transition:transform var(--slow);
  overflow-y:auto;
  padding:5rem 2.8rem 3rem;
}
.perf-panel.open{transform:none}
.panel-veil{
  position:fixed;inset:0;
  background:rgba(0,0,0,.55);
  z-index:949;
  opacity:0;pointer-events:none;
  transition:opacity var(--fast);
}
.panel-veil.on{opacity:1;pointer-events:auto}
.panel-close{
  position:absolute;top:1.8rem;right:1.8rem;
  color:var(--ash);
  width:34px;height:34px;
  border:1px solid var(--wire);
  display:flex;align-items:center;justify-content:center;
  transition:all var(--fast);
}
.panel-close:hover{color:var(--cream);border-color:var(--cream)}
.panel-body{display:flex;flex-direction:column;gap:1.5rem}
.pb-eye{
  font-family:var(--caps);font-size:.52rem;
  letter-spacing:.4em;text-transform:uppercase;color:var(--gold)
}
.pb-title{
  font-family:var(--serif);font-size:1.85rem;
  font-style:italic;font-weight:400;color:var(--white);line-height:1.15
}
.pb-desc{font-size:.92rem;color:var(--parchment);line-height:1.85}
.pb-detail{
  border-left:1px solid var(--wire);padding-left:1rem;
  display:flex;flex-direction:column;gap:.25rem
}
.pb-dl{font-family:var(--caps);font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.pb-dv{font-size:.85rem;color:var(--parchment)}

/* Cross-link: obra page → performance */
.obra-crosslink{ border-top:1px solid var(--wire); padding-top:1.5rem; }
.obra-perf-link{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  font-family:var(--caps);
  font-size:.58rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold);
  border:1px solid var(--wire);
  padding:.9rem 2rem;
  transition:all var(--fast);
}
.obra-perf-link::after{content:'→';font-family:var(--sans);font-size:.8rem;letter-spacing:0}
.obra-perf-link:hover{border-color:var(--gold);background:rgba(184,147,90,.05)}

/* Cross-link: performance panel → obra */
.pb-obra-link{
  margin-top:.5rem;
  padding-top:1.5rem;
  border-top:1px solid var(--wire);
}
.pb-obra-link a{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--caps);
  font-size:.55rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold);
  transition:gap var(--fast);
}
.pb-obra-link a::after{content:'→';font-family:var(--sans);font-size:.8rem;letter-spacing:0}
.pb-obra-link a:hover{gap:.9rem}

/* ═══════════════════════════════════════════════════
   PRESS
   ═══════════════════════════════════════════════════ */
.press-page{padding:calc(var(--nav-h) + 5rem) 0 6rem}
.press-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--wire);
}
.press-tile{
  background:var(--ink);
  padding:3rem;
  display:flex;flex-direction:column;gap:1.2rem;
  transition:background var(--fast);
}
.press-tile:hover{background:var(--ink3)}
.press-src{
  font-family:var(--caps);font-size:.5rem;
  letter-spacing:.3em;text-transform:uppercase;color:var(--gold)
}
.press-q{
  font-family:var(--serif);font-size:1.05rem;
  font-style:italic;color:var(--cream);line-height:1.75;
  flex:1
}
.press-q::before{
  content:'\201C';
  color:var(--gold);font-size:2rem;
  line-height:.2;vertical-align:-.6rem;margin-right:.2rem
}
.press-m{font-size:.72rem;color:var(--ash)}

/* ═══════════════════════════════════════════════════
   CONTACT
   ═══════════════════════════════════════════════════ */
.contact-page{padding:calc(var(--nav-h) + 5rem) 0 6rem}
.contact-split{
  display:grid;grid-template-columns:1.15fr 1fr;
  gap:6rem;align-items:start
}
.contact-right{display:flex;flex-direction:column}
.contact-sub{
  font-family:var(--serif);font-size:1.05rem;
  font-style:italic;color:var(--mist);margin-bottom:2rem
}
.contact-photo{
  width:100%;aspect-ratio:3/2;
  object-fit:cover;object-position:center top;margin-bottom:1.8rem;
}
.contact-socials-label{
  font-family:var(--serif);font-size:clamp(1.2rem,1.5vw,2.2rem);
  font-weight:400;color:var(--cream);
  margin-top:2rem;margin-bottom:1.2rem;line-height:1.1
}
.contact-intro{
  font-family:var(--serif);font-size:.95rem;
  font-style:italic;color:var(--mist);
  margin-bottom:.5rem;line-height:1.7
}
.contact-socials{
  display:flex;flex-direction:row;gap:.7rem;
}
.contact-social-link{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;
  border:1px solid var(--wire);
  transition:border-color var(--fast),transform var(--fast);
}
.contact-social-link:hover{transform:translateY(-2px)}
.contact-social-ig:hover{border-color:#dc2743}
.contact-social-email:hover{border-color:#FF8000}
.contact-social-wa:hover{border-color:#25D366}
.contact-ig{
  font-family:var(--caps);font-size:.6rem;
  letter-spacing:.2em;color:var(--gold);
  border-bottom:1px solid var(--wire);padding-bottom:.4rem;
  display:inline-block;transition:border-color var(--fast)
}
.contact-ig:hover{border-color:var(--gold)}
.c-form{display:flex;flex-direction:column;gap:1.3rem}
.c-field{display:flex;flex-direction:column;gap:.55rem}
.c-field label{
  font-family:var(--caps);font-size:.68rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ash)
}
.c-field input,.c-field textarea{
  background:transparent;border:none;
  border-bottom:1px solid var(--wire);
  padding:.75rem 0;color:var(--cream);
  font-family:var(--sans);font-size:.95rem;font-weight:300;
  outline:none;resize:none;width:100%;
  transition:border-color var(--fast)
}
.c-field input:focus,.c-field textarea:focus{border-color:var(--gold)}
.c-submit{
  align-self:flex-start;
  font-family:var(--caps);font-size:.58rem;
  letter-spacing:.35em;text-transform:uppercase;
  color:var(--cream);border:1px solid var(--wire);
  padding:.95rem 2.5rem;margin-top:.5rem;
  transition:all var(--mid)
}
.c-submit:hover{border-color:var(--gold);color:var(--gold);letter-spacing:.45em}

/* ═══════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════ */
.site-footer{
  border-top:1px solid var(--wire);
  padding:1.8rem var(--gutter);
  background:var(--ink);
}
.footer-inner{
  max-width:var(--max);margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:1rem
}
.footer-name{
  font-family:var(--serif);font-style:italic;
  font-size:1.2rem;color:var(--gold)
}
.footer-bottom{
  max-width:var(--max);margin:1.2rem auto 0;
  padding-top:1rem;
  border-top:1px solid var(--wire);
  text-align:center;
}
.footer-credit{
  font-family:var(--caps);font-size:0.75rem;
  letter-spacing:.18em;color:var(--dim);
}

/* Word dots — hidden (background ghost word still animates) */
.word-dots{ display:none !important; }
.wd{ display:none; }

/* ── Footer icons ── */
.footer-left{display:flex;flex-direction:column;gap:.3rem}
.footer-contacts{display:flex;align-items:center;gap:.7rem}
.footer-icon-link{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;
  border:1px solid var(--wire);
  transition:border-color var(--fast),transform var(--fast);
}
.footer-icon-link:hover{transform:translateY(-2px)}
.footer-icon-ig:hover{border-color:#dc2743}
.footer-icon-email:hover{border-color:#FF8000}
.footer-icon-wa:hover{border-color:#25D366}

/* ── Form status message ── */
.form-status{
  font-size:.82rem;
  font-family:var(--sans);
  padding:.6rem 0;
  min-height:1.5rem;
}
.form-status.success{ color:var(--gold); }
.form-status.error{ color:#c0504d; }
@media(max-width:1100px){
  .stats-inner{grid-template-columns:repeat(2,1fr)}
  .stat-cell:nth-child(2){border-right:none}
  .stat-cell:nth-child(3){border-top:1px solid var(--wire)}
  .works-grid{grid-template-columns:1fr}
  .press-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .nav-links{
    position:fixed;top:var(--nav-h);left:0;right:0;
    background:rgba(7,7,7,.97);backdrop-filter:blur(20px);
    flex-direction:column;gap:0;
    transform:translateY(-110%);opacity:0;pointer-events:none;
    transition:all var(--mid);
    border-bottom:1px solid var(--wire);
    z-index:890;
  }
  .nav-links.open{transform:none;opacity:1;pointer-events:auto}
  .nav-links li{border-bottom:1px solid var(--wire)}
  .nav-links a{display:block;padding:1.1rem 2rem;font-size:.78rem}
  .nav-burger{display:flex}
  .nav-lang{border-left:none;padding-left:0}

  .home-bio-grid{grid-template-columns:1fr;gap:3rem}
  .bio-page-layout{grid-template-columns:1fr;gap:3rem}
  .bio-aside{position:static}
  .co-card-main{grid-template-columns:140px 1fr auto;gap:2rem}
  .co-expand.open{grid-template-columns:1fr}
  .co-detail-header{grid-template-columns:1fr;gap:2rem}
  .co-detail-img{width:100%;max-width:320px}
  .obra-title-block{grid-template-columns:1fr}
  .obra-media{width:100%;max-width:340px}
  .contact-split{grid-template-columns:1fr;gap:3rem}
  .perf-row{grid-template-columns:60px 1fr auto;gap:1.5rem}
  .pr-place{display:none}
}
@media(max-width:600px){
  :root{--nav-h:58px}
  .stats-inner{grid-template-columns:1fr 1fr}
  .stat-cell:nth-child(2){border-right:none}
  .co-card-main{grid-template-columns:100px 1fr auto;gap:1.2rem;padding:2rem 0}
  .press-grid{grid-template-columns:1fr}
  .perf-panel{width:100%;border-left:none}
  .footer-inner{flex-direction:column;align-items:flex-start;gap:.5rem}
  .obra-meta-row{grid-template-columns:1fr}
  .cwm-year{width:5rem;font-size:.6rem}
  .cwm-tag{display:none}
  .cwm-title{font-size:.95rem}
}
