/* ═══ WUICHO — additions on top of base/theme/pages ═══════════
   Text wordmark, language switch, credits list, uncropped
   photo galleries, lightbox, video blocks, WhatsApp form.
   ═════════════════════════════════════════════════════════ */

/* Text wordmark (no logo file yet) */
.brand{ display:grid; gap:.1rem; line-height:1; }
.brand b{ font-family:var(--font-display); font-weight:600; font-size:1.5rem; letter-spacing:.04em; text-transform:uppercase; }
.brand small{ font-size:.56rem; letter-spacing:.14em; text-transform:uppercase; opacity:.7; font-weight:500; }

/* Language switch */
.lang{ font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; display:flex; gap:.35rem; align-items:center; }
.lang a, .lang span{ padding:.2rem .1rem; }
.lang span{ border-bottom:1px solid currentColor; }
.lang a{ opacity:.6; }
.lang a:hover{ opacity:1; }
.nav__right{ display:flex; align-items:center; gap:1.1rem; }

/* Credits (filmography) */
.credits{ border-top:2px solid var(--fg); }
.credits li{ display:grid; grid-template-columns:5.5rem 1fr; gap:.2rem 1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.credits__yr{ font-size:.74rem; color:var(--fg-soft); padding-top:.3rem; }
.credits h3{ font-size:1.35rem; margin:0; }
.credits p{ grid-column:2; margin:0; font-size:.82rem; color:var(--fg-soft); }
.credits .role{ color:var(--accent); }
.credits .award{ display:inline-block; margin-top:.35rem; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase;
                 border:1px solid var(--accent); color:var(--accent); padding:.15rem .45rem; }
@media (min-width:900px){
  .credits li{ grid-template-columns:7rem 1.1fr 1fr; align-items:baseline; }
  .credits p{ grid-column:3; }
}

/* Awards */
.awards{ display:grid; gap:1rem; }
.awards article{ border:1px solid var(--fg); padding:1.4rem 1.2rem; }
.awards .aw__k{ font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin-bottom:.5rem; }
.awards h3{ font-size:1.6rem; margin-bottom:.4rem; }
.awards p{ color:var(--fg-soft); font-size:.86rem; margin:0; }
@media (min-width:700px){ .awards{ grid-template-columns:1fr 1fr; } }

/* Galleries: photographers' frames are never cropped — natural ratios in columns */
.pgal{ display:block; columns:1; column-gap:1rem; }
.pgal figure{ break-inside:avoid; margin:0 0 1rem; }
.pgal a{ display:block; cursor:zoom-in; }
.pgal img{ height:auto; aspect-ratio:auto; object-fit:initial; }
@media (min-width:560px){ .pgal{ columns:2; } }
@media (min-width:1100px){ .pgal.pgal--3{ columns:3; } }

/* Lightbox */
.lb{ position:fixed; inset:0; z-index:200; background:rgba(10,10,10,.94); display:grid; place-items:center; padding:3.5rem 1rem; }
.lb[hidden]{ display:none; }
.lb img{ max-width:100%; max-height:calc(100svh - 7rem); width:auto; height:auto; object-fit:contain; }
.lb button{ position:absolute; color:#fff; font-size:1.6rem; width:3rem; height:3rem; display:grid; place-items:center; }
.lb__x{ top:.5rem; right:.5rem; }
.lb__p{ left:.25rem; top:50%; transform:translateY(-50%); }
.lb__n{ right:.25rem; top:50%; transform:translateY(-50%); }
.lb button:focus-visible{ outline:2px solid var(--accent); }

/* Video blocks (art direction) */
.vids{ display:grid; gap:1.25rem; margin-bottom:clamp(2.5rem,6vw,4rem); }
.vids figure{ margin:0; }
.vids video{ width:100%; aspect-ratio:16/9; background:#000; border:1px solid var(--line); display:block; }
.vids figcaption{ font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--fg-soft); padding-top:.5rem; }
@media (min-width:900px){ .vids{ grid-template-columns:1fr 1fr; } }

/* Services as disciplines (no price tags) */
.tier__price.is-quote{ font-size:1.1rem; color:var(--accent); }

/* About portrait is portrait-oriented */
.studio__img img{ aspect-ratio:4/5; object-position:center 30%; }

/* WhatsApp form */
.wa-note{ display:flex; gap:.6rem; align-items:flex-start; font-size:.8rem; color:var(--fg-soft); border:1px solid var(--line); padding:.9rem 1rem; margin:0; }
.wa-note svg{ flex:0 0 auto; width:18px; height:18px; color:#25D366; margin-top:.1rem; }
.bk__side{ display:grid; gap:1.2rem; align-content:start; }
.bk__side h2{ font-size:1.7rem; text-transform:uppercase; margin:0; }
.bk__side dl{ display:grid; gap:1rem; margin:0; border-top:2px solid var(--fg); padding-top:1rem; }
.bk__side dt{ font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--fg-soft); }
.bk__side dd{ margin:0; font-family:var(--font-display); font-size:1.3rem; text-transform:uppercase; font-weight:600; }
.bk__side dd a{ border-bottom:1px solid currentColor; }

/* Floating WhatsApp button */
.wa-fab{ position:fixed; right:1rem; bottom:calc(1rem + env(safe-area-inset-bottom)); z-index:75; width:54px; height:54px; border-radius:50%;
         background:#25D366; color:#fff; display:grid; place-items:center; box-shadow:0 6px 20px rgba(0,0,0,.25); transition:transform .2s var(--ease); }
.wa-fab:hover{ transform:scale(1.06); }
.wa-fab svg{ width:28px; height:28px; }
@media (max-width:899px){ .wa-fab{ bottom:calc(5.2rem + env(safe-area-inset-bottom)); } }

/* Nav fits five items + language switch */
.nav__links a{ white-space:nowrap; }
@media (min-width:900px) and (max-width:1149px){
  .nav__cta{ display:none !important; }
  .nav__links{ gap:1.2rem !important; }
}

/* Three disciplines, not four packages */
@media (min-width:900px){ .tiers{ grid-template-columns:repeat(3,1fr); } }

/* Bio lead is a full sentence — keep it readable */
.studio__txt .lead{ text-transform:none; font-size:1.45rem; line-height:1.25; font-weight:500; }

/* Credit titles linking to trailers */
.credits h3 a{ text-decoration:none; border-bottom:1px solid transparent; transition:border-color .2s, color .2s; }
.credits h3 a:hover, .credits h3 a:focus-visible{ color:var(--accent); border-bottom-color:currentColor; }
.credits h3 .play{ display:inline-block; font-size:.55em; margin-left:.4em; vertical-align:.25em; color:var(--accent); }
.credits h3 .sep{ color:var(--fg-soft); }
#videos{ scroll-margin-top:6rem; }

/* Screen gallery: trailers under the Casa Meraki sets */
.scr__g{ font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--fg-soft); font-family:var(--font-body); font-weight:500;
         margin:0 0 1rem; padding-top:1rem; border-top:2px solid var(--fg); }
.scr{ display:grid; gap:1.5rem 1rem; grid-template-columns:1fr; margin-bottom:clamp(2.5rem,6vw,3.5rem); }
@media (min-width:560px){ .scr{ grid-template-columns:1fr 1fr; } }
@media (min-width:1000px){ .scr{ grid-template-columns:repeat(3,1fr); } }
.scr__card{ display:grid; gap:.35rem; text-decoration:none; color:inherit; }
.scr__media{ position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:#000; border:1px solid var(--line); }
.scr__media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s var(--ease), filter .3s; }
.scr__play{ position:absolute; left:.75rem; bottom:.75rem; width:2.6rem; height:2.6rem; display:grid; place-items:center;
            background:var(--accent); color:var(--accent-fg); font-size:.85rem; padding-left:.15rem; transition:transform .2s var(--ease); }
.scr__card:hover .scr__media img, .scr__card:focus-visible .scr__media img{ transform:scale(1.03); filter:brightness(.9); }
.scr__card:hover .scr__play{ transform:scale(1.08); }
.scr__t{ font-family:var(--font-display); font-weight:600; font-size:1.3rem; text-transform:uppercase; line-height:1.1; padding-top:.3rem; }
.scr__m{ font-size:.72rem; color:var(--fg-soft); }
.scr__card:hover .scr__t{ color:var(--accent); }

/* Video lightbox */
.lb--video .lb__frame{ width:min(100%, calc((100svh - 7rem) * 16 / 9), 1280px); aspect-ratio:16/9; background:#000; }
.lb--video iframe{ width:100%; height:100%; border:0; display:block; }
#pantalla{ scroll-margin-top:6rem; }
.scr__ext{ color:var(--accent); }
