/* ============================================================
   FrameRhapsody Films — hoja de estilo comun (web + blog)
   Paleta: Obsidian / Charcoal Silk / Shadowed Ash / Concrete / Mist
   ============================================================ */
:root{
  --obsidian:#151618;
  --deep:#120F0E;
  /* --charcoal solo para lo inerte (dias deshabilitados): WCAG exime los
     controles deshabilitados, y ahi el gris apagado ES la senal. Para texto
     que hay que leer, --ash o mas claro. */
  --charcoal:#3C4449;
  --ash:#898E92;
  --concrete:#8D9295;
  --mist:#CED3D6;
  --white:#F6F8F9;

  /* acentos: el corte naranja/azul del cine, sacado de sus propios planos */
  --ember:#E8552D;
  --ember-2:#FF7A4D;
  --steel:#6B9BD1;
  --ember-10:rgba(232,85,45,.10);
  --ember-22:rgba(232,85,45,.22);

  --line:rgba(206,211,214,.13);
  --line-2:rgba(206,211,214,.26);
  --line-ui:rgba(206,211,214,.38);

  --glass:linear-gradient(155deg,rgba(206,211,214,.075),rgba(206,211,214,.014) 48%);

  --maxw:1240px;
  --pad:clamp(20px,5vw,64px);
  --gut:max(var(--pad),env(safe-area-inset-left));
  --r-s:12px;
  --r-m:20px;
  --r-l:28px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
html{background:var(--obsidian)}
body{
  background:transparent;color:var(--mist);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  font-weight:400;font-size:15px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
  -webkit-tap-highlight-color:transparent;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--ember);color:var(--white)}
:focus-visible{outline:2px solid var(--ember-2);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-weight:600;line-height:1.07;letter-spacing:-.021em;color:var(--white);text-wrap:balance}
.serif{font-weight:500;color:var(--concrete)}

.skip{position:absolute;left:-9999px;top:0;z-index:10001;background:var(--white);color:var(--obsidian);padding:12px 20px;border-radius:0 0 var(--r-s) 0;font-weight:600}
.skip:focus{left:0}

body::before{
  content:"";position:fixed;inset:-25%;z-index:-1;pointer-events:none;
  background:
    radial-gradient(34% 38% at 16% 20%, rgba(232,85,45,.26), transparent 64%),
    radial-gradient(32% 36% at 84% 30%, rgba(107,155,209,.20), transparent 66%),
    radial-gradient(42% 34% at 66% 80%, rgba(232,85,45,.16), transparent 68%),
    radial-gradient(28% 32% at 26% 76%, rgba(107,155,209,.15), transparent 64%),
    radial-gradient(50% 40% at 50% 50%, rgba(232,85,45,.05), transparent 70%);
  filter:blur(44px);
  animation:aurora 38s ease-in-out infinite alternate;
}
@keyframes aurora{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(2.5%,-2%,0) scale(1.08)}
  100%{transform:translate3d(-2%,2.5%,0) scale(1.03)}
}

/* la estela del raton, la misma en todas las paginas */
#estela{position:fixed;inset:0;z-index:9997;pointer-events:none;opacity:0;transition:opacity .5s linear}
#estela.on{opacity:1}

body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.14;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.62' numOctaves='3'/><feColorMatrix type='saturate' values='0'/></filter><rect width='160' height='160' filter='url(%23n)' opacity='.35'/></svg>");
  mix-blend-mode:soft-light;
}
#bar{position:fixed;top:0;left:0;height:2px;width:0;z-index:10000;
  background:linear-gradient(90deg,var(--ember),var(--ember-2));
  box-shadow:0 0 16px rgba(232,85,45,.5)}

/* ============================================================ NAV */
/* solo la barra superior, no cualquier <nav> de la pagina */
#nav{position:fixed;top:0;left:0;right:0;z-index:9000;border-bottom:1px solid transparent;
  transition:background .4s var(--ease),border-color .4s var(--ease)}
#nav.solid{background:rgba(21,22,24,.78);backdrop-filter:saturate(160%) blur(20px);-webkit-backdrop-filter:saturate(160%) blur(20px);border-bottom-color:var(--line)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut);height:66px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;padding:10px 0}
.brand img{height:30px;width:auto;opacity:.96}
.nav-links{display:flex;gap:22px;margin-left:auto;align-items:center}
.nav-links a{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:13px;color:var(--concrete);transition:color .25s;white-space:nowrap;min-height:44px;display:flex;align-items:center}
.nav-links a:hover{color:var(--white)}
.ext::after{content:"↗" / "";font-size:10px;margin-left:4px;vertical-align:2px;opacity:.6}
.btn-nav{padding:12px 20px;border-radius:100px;background:linear-gradient(180deg,var(--ember-2),var(--ember));color:#15100E!important;font-weight:600;font-size:13px;
  transition:transform .25s var(--ease),opacity .25s}
.btn-nav:hover{transform:scale(1.03);opacity:.92}
.nav-scroll{display:none}
@media(max-width:1000px){
  .nav-links a:not(.btn-nav){display:none}
  .nav-in{height:60px;gap:14px}
  .brand img{height:26px}
  .nav-scroll{display:flex;gap:20px;overflow-x:auto;padding:0 var(--gut) 10px;scrollbar-width:none;-ms-overflow-style:none}
  .nav-scroll::-webkit-scrollbar{display:none}
  .nav-scroll a{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:12px;color:var(--concrete);white-space:nowrap;padding:4px 0}
  #nav.solid .nav-scroll{border-top:1px solid var(--line);padding-top:9px}
}

/* ============================================================ LAYOUT */
section{position:relative;scroll-margin-top:80px}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}
.sec{padding:clamp(84px,11vw,150px) 0}
.sec-tight{padding:clamp(64px,8vw,104px) 0}
.eyebrow{display:flex;align-items:center;gap:12px;font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ember-2);font-weight:600;margin-bottom:22px}
.eyebrow::before{content:"";width:26px;height:1px;background:linear-gradient(90deg,var(--ember),transparent)}
.h2{font-size:clamp(30px,4.9vw,54px);line-height:1.08;letter-spacing:-.03em}
.lede{color:var(--concrete);font-size:17px;max-width:58ch;margin-top:20px;line-height:1.62}
@media(min-width:900px){.lede{font-size:19px}}
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 26px;border-radius:100px;
  font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:15px;font-weight:600;border:1px solid transparent;
  transition:transform .3s var(--ease),background .3s,border-color .3s,opacity .3s}
.btn:hover{transform:translateY(-2px)}
.btn-a{background:linear-gradient(180deg,var(--ember-2),var(--ember));color:#15100E;
  box-shadow:0 8px 24px -12px rgba(232,85,45,.6),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-a:hover{box-shadow:0 14px 34px -14px rgba(232,85,45,.75),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-b{border-color:var(--line-ui);color:var(--white);background:rgba(206,211,214,.05)}
.btn-b:hover{background:rgba(206,211,214,.11)}
.chip{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:11px;color:var(--ash);border:1px solid var(--line);border-radius:100px;padding:4px 10px}

/* ============================================================ HERO */
header.hero{position:relative;min-height:100vh;min-height:100svh;display:grid;overflow:hidden}
.hero-art{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:50% 56%;filter:contrast(1.08) saturate(1.04) brightness(.92)}
.hero-art::after{content:"";position:absolute;inset:0;
  background:
    radial-gradient(62% 48% at 50% 34%, rgba(21,22,24,.15), rgba(21,22,24,.66) 78%),
    linear-gradient(180deg,rgba(21,22,24,.74) 0%,rgba(21,22,24,.22) 32%,rgba(21,22,24,.80) 76%,var(--obsidian) 100%)}
.hero-copy{position:relative;z-index:3;grid-area:1/1;align-self:start;justify-self:center;text-align:center;
  display:flex;flex-direction:column;align-items:center;
  width:min(94vw,900px);padding:clamp(118px,17vh,190px) var(--gut) 0}
.hero-tag{display:inline-flex;align-items:center;gap:10px;font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--concrete);
  border:1px solid var(--line-2);border-radius:100px;padding:8px 15px;background:rgba(206,211,214,.04);width:fit-content;margin-bottom:26px}
.dot{width:5px;height:5px;border-radius:50%;background:var(--ember-2);box-shadow:0 0 8px rgba(255,122,77,.7)}
.hero-copy h1{font-weight:600;font-size:clamp(40px,7.6vw,92px);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.hero-copy h1 em{font-style:normal;font-weight:500;color:var(--concrete);font-size:.52em;display:block;
  margin-top:.34em;letter-spacing:-.015em;line-height:1.14}
.hero-sub{margin-top:24px;max-width:56ch;margin-inline:auto;color:var(--mist);font-size:17px}
@media(min-width:900px){.hero-sub{font-size:18px}}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;justify-content:center}
.hero-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;margin-top:38px;font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash)}
@media(max-width:900px){
  .hero-copy{padding:clamp(106px,14vh,140px) var(--gut) 0}
  .hero-art img{object-position:50% 58%}
  .hero-art::after{background:linear-gradient(180deg,rgba(21,22,24,.70) 0%,rgba(21,22,24,.26) 30%,rgba(21,22,24,.86) 74%,var(--obsidian) 100%)}
  /* nunca partir el texto de un boton: si en italiano no caben dos en una
     fila, cada uno ocupa la suya entera */
  .hero-cta{width:100%}
  .hero-cta .btn{flex:1 1 0;min-width:max-content;white-space:nowrap;padding-inline:20px}
}

/* ============================================================ HERRAMIENTAS */
.tools{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(18,15,14,.64);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.tools-in{display:flex;align-items:center;gap:clamp(22px,4vw,52px);flex-wrap:wrap;justify-content:center;padding:26px var(--gut)}
.tools-lbl{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ash);width:100%;text-align:center;margin-bottom:6px}
.tool{display:flex;align-items:center;gap:10px}
.tool img{width:24px;height:24px;filter:invert(1) opacity(.58);transition:filter .35s}
.tool img.px{filter:grayscale(1) brightness(2.4) opacity(.58)}
.tool:hover img{filter:invert(1) opacity(1)}
.tool:hover img.px{filter:grayscale(1) brightness(2.4) opacity(1)}
.tool span{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:13px;color:var(--concrete);white-space:nowrap;transition:color .35s}
.tool:hover span{color:var(--ember-2)}

/* ============================================================ CLIENTES */
.people{margin-top:clamp(36px,5vw,56px);overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.people-track{display:flex;gap:clamp(16px,2.4vw,30px);width:max-content;
  animation:desfile 36s linear infinite}
/* a 54 s parecia quieta; se para bajo el raton para poder leer un nombre */
.people:hover .people-track{animation-play-state:paused}
@keyframes desfile{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
.person{text-align:center;flex:0 0 clamp(104px,11vw,148px)}
.person .av{aspect-ratio:1;border-radius:50%;overflow:hidden;border:1px solid var(--line-2);background:rgba(206,211,214,.05);
  display:grid;place-items:center;transition:border-color .4s,transform .5s var(--ease)}
.person:hover .av{border-color:var(--line-ui);transform:translateY(-4px)}
.person .av img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.04);transition:filter .5s,transform .6s var(--ease)}
.person:hover .av img{filter:saturate(1.15) contrast(1.05);transform:scale(1.06)}
/* logos de marca dentro del circulo: aire, y los que son negro sobre blanco se invierten */
.person .av.pad img{object-fit:contain;padding:22%}
.person .av.chip{background:var(--white)}
.person .av.chip img{padding:18%}
.person .av img.inv{filter:invert(1) contrast(1.05)}
.person:hover .av img.inv{filter:invert(1) contrast(1.1)}
.person .mono{font-weight:600;font-size:clamp(11px,1.5vw,13px);letter-spacing:.04em;
  color:var(--mist);text-align:center;line-height:1.25;padding:0 10px}
.person b{display:block;font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:13px;font-weight:600;color:var(--white);margin-top:12px}
.person span{display:block;font-size:12px;color:var(--ash);margin-top:2px;word-break:break-word}

/* ============================================================ TRABAJOS */
#trabajos{background:rgba(18,15,14,.62);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.work-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:30px}
.fmt{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ash);
  display:flex;align-items:center;gap:14px;margin:clamp(32px,4vw,46px) 0 16px}
.fmt::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--ember-22),var(--line))}
.rowv{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rowh{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(max-width:700px){.rowv{grid-template-columns:repeat(2,1fr)}.rowh{grid-template-columns:1fr}}
.shot{position:relative;overflow:hidden;border-radius:var(--r-m);border:1px solid var(--line);background:#101113;display:block}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .5s;filter:saturate(1.04) contrast(1.05)}
.shot:hover img{transform:scale(1.05);filter:saturate(1.18) contrast(1.07)}
.shot.v{aspect-ratio:9/16}
.shot.h{aspect-ratio:16/9}
.shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(14,16,17,.88))}
.shot figcaption{position:absolute;left:16px;bottom:14px;z-index:2;font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ember-2)}

/* ============================================================ SERVICIOS */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(40px,5vw,64px)}
@media(max-width:1000px){.svc{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.svc{grid-template-columns:1fr}}
.svc article{border:1px solid var(--line);border-radius:var(--r-m);padding:clamp(24px,3vw,32px);background:var(--glass);
  transition:border-color .4s,transform .5s var(--ease);display:flex;flex-direction:column;gap:14px}
.svc article:hover{border-color:var(--ember-22);transform:translateY(-4px)}
.svc article:hover .ico{background:rgba(232,85,45,.18);border-color:rgba(232,85,45,.45)}
.svc .ico{width:38px;height:38px;border-radius:var(--r-s);border:1px solid var(--ember-22);display:grid;place-items:center;color:var(--ember-2);background:var(--ember-10);transition:background .4s,border-color .4s}
.svc h3{font-size:18px}
.svc p{font-size:14px;color:var(--concrete);line-height:1.6}
.mini{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px;list-style:none}

/* ============================================================ RODAJE / EDICIÓN */
.two{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,72px);align-items:start}
@media(max-width:900px){.two{grid-template-columns:1fr}}
.facts{list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:8px}
.facts li{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.facts b{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:13px;font-weight:600;color:var(--white);letter-spacing:.02em;white-space:nowrap}
.facts span{font-size:13.5px;color:var(--concrete);line-height:1.5}
@media(max-width:520px){.facts li{grid-template-columns:1fr;gap:6px}}
.note{margin-top:22px;font-size:13px;color:var(--concrete);line-height:1.65;border-left:2px solid var(--ember);padding-left:16px}

/* ============================================================ EQUIPO */
#equipo{background:rgba(18,15,14,.62);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gear-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:38px}
.arrows{display:flex;gap:9px}
.arrows button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-ui);background:rgba(206,211,214,.05);color:var(--white);
  cursor:pointer;display:grid;place-items:center;transition:background .3s,transform .3s,opacity .3s}
.arrows button:hover{background:rgba(206,211,214,.12);transform:scale(1.05)}
.arrows button:disabled{opacity:.28;cursor:default;transform:none}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);
  padding:4px var(--gut) 28px;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}
.rail::-webkit-scrollbar{display:none}
.rail.drag{cursor:grabbing;scroll-snap-type:none}
.card{flex:0 0 clamp(262px,28vw,336px);scroll-snap-align:start;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;
  background:var(--glass);transition:transform .5s var(--ease),border-color .5s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-5px);border-color:var(--line-2)}
.card figure{position:relative;aspect-ratio:4/3;overflow:hidden;background:#101113}
.card figure img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.1s var(--ease),filter .5s;filter:saturate(.95) contrast(1.04)}
.card:hover figure img{transform:scale(1.07);filter:saturate(1.15) contrast(1.05)}
.card figure::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top right,rgba(14,16,17,.86) 0%,rgba(14,16,17,.36) 26%,transparent 52%)}
.card figcaption{position:absolute;left:18px;bottom:14px;z-index:2;font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ember-2)}
.card-b{padding:20px 22px 24px;flex:1;display:flex;flex-direction:column}
.card-b h3{font-size:17px}
.card-b p{font-size:13px;color:var(--concrete);margin-top:9px;line-height:1.55;flex:1}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;list-style:none}
.railbar{height:2px;background:var(--line);border-radius:2px;overflow:hidden;margin-top:4px}
.railbar i{display:block;height:100%;width:22%;background:linear-gradient(90deg,var(--ember),var(--ember-2));border-radius:2px;transition:transform .18s linear}

/* ============================================================ COLOR */
.ba{position:relative;border-radius:var(--r-l);overflow:hidden;border:1px solid var(--line);margin-top:clamp(30px,4vw,44px);
  aspect-ratio:16/9;background:#101113;touch-action:pan-y;cursor:ew-resize}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba .after{clip-path:inset(0 0 0 50%)}
.ba .handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--ember-2);z-index:3;transform:translateX(-1px);box-shadow:0 0 14px rgba(232,85,45,.5)}
.ba .handle::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%);
  border-radius:50%;border:1px solid var(--ember-2);background:rgba(21,22,24,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ba .handle::before{content:"⟷";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;color:var(--ember-2);font-size:15px}
.ba .tagl,.ba .tagr{position:absolute;bottom:16px;z-index:4;font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mist);background:rgba(21,22,24,.55);border:1px solid var(--line-2);padding:6px 12px;border-radius:100px;backdrop-filter:blur(6px)}
.ba .tagl{left:16px;color:var(--steel);border-color:rgba(107,155,209,.45)}
.ba .tagr{right:16px;color:var(--ember-2);border-color:var(--ember-22)}
.ba input{position:absolute;inset:auto 0 0 0;width:100%;opacity:0;height:44px;z-index:5;cursor:ew-resize}

/* ============================================================ DÓNDE */
.franja{background:rgba(18,15,14,.62);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.where-list{list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.where-list li{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}
.where-list b{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:17px;font-weight:600;color:var(--white)}
.where-list li:first-child b{color:var(--ember-2)}
.where-list span{font-size:13px;color:var(--concrete);text-align:right}

/* ============================================================ AGENDA */
#agenda{background:rgba(18,15,14,.62);border-top:1px solid var(--line)}
.book{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:16px;margin-top:clamp(36px,5vw,56px);align-items:start}
@media(max-width:980px){.book{grid-template-columns:1fr}}
.panel{border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(22px,3vw,30px);background:var(--glass)}
.cal-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.cal-top b{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:16px;font-weight:600;color:var(--white)}
.cal-nav{display:flex;gap:8px}
.cal-nav button{width:36px;height:36px;border-radius:10px;border:1px solid var(--line-ui);background:rgba(206,211,214,.05);
  color:var(--white);cursor:pointer;display:grid;place-items:center;transition:background .25s,opacity .25s}
.cal-nav button:hover{background:rgba(206,211,214,.12)}
.cal-nav button:disabled{opacity:.28;cursor:default}
.cal-dow,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-dow span{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ash);text-align:center;padding-bottom:8px}
.cal-grid button{aspect-ratio:1;min-height:40px;border-radius:10px;border:1px solid transparent;background:transparent;
  color:var(--mist);font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:14px;font-variant-numeric:tabular-nums;cursor:pointer;
  transition:background .2s,color .2s,border-color .2s}
.cal-grid button:hover:not(:disabled){background:rgba(206,211,214,.1)}
.cal-grid button:disabled{color:var(--charcoal);cursor:default}
.cal-grid button.hoy{border-color:var(--ember-22);color:var(--ember-2)}
.cal-grid button[aria-pressed="true"]{background:linear-gradient(180deg,var(--ember-2),var(--ember));color:#15100E;font-weight:600;border-color:var(--ember)}
.cal-grid span{aspect-ratio:1}
.cal-pick{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--concrete);min-height:42px}
.cal-pick b{color:var(--ember-2);font-weight:500}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:620px){.form-grid{grid-template-columns:1fr}}
.f{display:flex;flex-direction:column;gap:8px}
.f.full{grid-column:1 / -1}
.f label{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);font-weight:600}
.f input,.f textarea,.f select{background:rgba(14,16,17,.6);border:1px solid var(--line-ui);border-radius:var(--r-s);
  padding:13px 14px;color:var(--white);font:inherit;font-size:15px;width:100%;transition:border-color .25s,background .25s}
.f textarea{resize:vertical;min-height:104px;line-height:1.55}
.f input::placeholder,.f textarea::placeholder{color:var(--ash)}
.f input:focus,.f textarea:focus,.f select:focus{outline:none;border-color:var(--ember);background:rgba(18,15,14,.9);box-shadow:0 0 0 3px var(--ember-10)}
.f select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%238D9295' stroke-width='2' stroke-linecap='round'><path d='M3 5l4 4 4-4'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.f option{background:var(--obsidian);color:var(--white)}
.f .err{font-size:12px;color:#E8A0A0;display:none}
.f.bad input,.f.bad textarea{border-color:#C98B8B}
.f.bad .err{display:block}
.send{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}
.send .btn{flex:1 1 240px}
.send-note{font-size:12px;color:var(--ash);line-height:1.6;margin-top:14px}
.cita{margin-top:clamp(32px,4vw,48px)}
.cita-grid{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:16px;align-items:start}
@media(max-width:860px){.cita-grid{grid-template-columns:1fr}}
.cita-grid .panel{display:flex;flex-direction:column}
.horas{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-bottom:20px}
.horas button{padding:13px 8px;border-radius:var(--r-s);cursor:pointer;
  border:1px solid var(--line-ui);background:rgba(14,16,17,.55);color:var(--mist);
  font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;
  font-size:14px;font-variant-numeric:tabular-nums;transition:all .25s var(--ease)}
.horas button:hover:not(:disabled){border-color:var(--mist);color:var(--white)}
.horas button:disabled{opacity:.3;cursor:default}
.horas button[aria-pressed="true"]{background:linear-gradient(180deg,var(--ember-2),var(--ember));
  color:#15100E;border-color:var(--ember);font-weight:600}
.cita-pie{font-size:14px;color:var(--concrete);margin-bottom:18px;min-height:1.5em}
.cita-pie b{color:var(--ember-2);font-weight:600}
.cita-grid .btn{width:100%}

/* ============================================================ BLOG */
.blog-hero{padding:clamp(130px,16vh,190px) 0 clamp(50px,7vw,80px);border-bottom:1px solid var(--line)}
.blog-hero h1{font-weight:600;font-size:clamp(38px,6.4vw,78px);line-height:1.05;letter-spacing:-.034em}
.blog-hero h1 em{font-style:normal;font-weight:500;color:var(--concrete)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(40px,5vw,60px)}
@media(max-width:980px){.posts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.posts{grid-template-columns:1fr}}
.post-card{border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:var(--glass);display:flex;flex-direction:column;
  transition:border-color .4s,transform .5s var(--ease)}
.post-card:hover{border-color:var(--ember-22);transform:translateY(-4px)}
.post-card .ph{aspect-ratio:16/10;overflow:hidden;background:#101113}
.post-card .ph img{width:100%;height:100%;object-fit:cover;filter:saturate(1) contrast(1.05);transition:transform 1.1s var(--ease),filter .5s}
.post-card:hover .ph img{transform:scale(1.05);filter:saturate(1.18) contrast(1.06)}
.post-card .pb{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.post-meta{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);
  display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.post-card h2{font-size:19px;line-height:1.22}
.post-card p{font-size:13.5px;color:var(--concrete);line-height:1.55;flex:1}
.post-card .mas{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:13px;font-weight:600;color:var(--ember-2);margin-top:4px}

article.post{max-width:72ch;margin:0 auto;padding-inline:var(--gut)}
.post-head{padding:clamp(130px,16vh,185px) 0 clamp(30px,4vw,44px)}
.post-head h1{font-weight:600;font-size:clamp(32px,5vw,56px);line-height:1.08;letter-spacing:-.032em;margin-top:18px}
.post-lede{color:var(--concrete);font-size:19px;margin-top:22px;line-height:1.6}
.post-fig{margin:clamp(30px,4vw,46px) 0;border-radius:var(--r-m);overflow:hidden;border:1px solid var(--line)}
.post-fig img{width:100%;filter:saturate(1.02) contrast(1.04)}
.post-fig figcaption{font-size:12px;color:var(--ash);padding:12px 16px;border-top:1px solid var(--line);background:rgba(18,15,14,.7)}
.post-body{padding-bottom:clamp(60px,8vw,100px)}
.post-body h2{font-size:clamp(23px,3vw,30px);margin:clamp(36px,5vw,54px) 0 14px}
.post-body h3{font-size:18px;margin:30px 0 10px}
.post-body p{margin-bottom:18px;color:var(--mist);font-size:16px;line-height:1.75}
.post-body ul,.post-body ol{margin:0 0 20px 20px;display:flex;flex-direction:column;gap:9px}
.post-body li{color:var(--mist);font-size:16px;line-height:1.7}
.post-body strong{color:var(--white);font-weight:600}
.post-body blockquote{border-left:1px solid var(--line-ui);padding-left:20px;margin:26px 0;
  font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-style:normal;font-weight:500;font-size:19px;color:var(--white);line-height:1.55}
.post-body blockquote{border-left-color:var(--ember)}
.post-body a{color:var(--ember-2);text-decoration:underline;text-underline-offset:3px}
.post-cta{border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(24px,3vw,34px);background:var(--glass);margin-top:clamp(36px,5vw,54px)}
.post-cta h3{font-size:20px;margin-bottom:8px}
.post-cta p{font-size:14px;color:var(--concrete);margin-bottom:18px}
.post-nav{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:clamp(36px,5vw,50px);
  padding-top:24px;border-top:1px solid var(--line);font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:14px}
.post-nav a{color:var(--white)}
.post-nav a:hover{opacity:.75}

/* ============================================================ FOOTER */
footer{border-top:1px solid var(--line);padding:34px 0 calc(40px + env(safe-area-inset-bottom));background:rgba(18,15,14,.72)}
.foot{display:flex;justify-content:space-between;gap:14px 24px;flex-wrap:wrap;font-size:12px;color:var(--ash);align-items:center}
.foot-l{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.foot a{padding:6px 0;display:inline-block}
.foot a:hover{color:var(--white)}
.wordmark{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--mist)}
.wordmark::after{content:".";color:var(--ember)}
.foot-note{width:100%;margin-top:6px;font-size:11px;color:var(--ash);opacity:.7;line-height:1.6}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body::before{animation:none}
  #estela{display:none}
  .people-track{animation:none}
  .people{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .rv{opacity:1;transform:none;transition:none}
  *,*::before,*::after{transition-duration:.01ms!important;animation:none!important}
  .btn:hover,.card:hover,.arrows button:hover,.btn-nav:hover,.person:hover .av,.svc article:hover,.shot:hover img,.post-card:hover{transform:none}
}

/* ============================================================
   EL FICHERO — carpetas de verdad: pestana recortada en el borde,
   las demas asomando detras como en un archivador
   ============================================================ */
#servicios{position:relative}
.fichero-track{height:460vh;position:relative}
.fichero-stick{position:sticky;top:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;
  justify-content:center;gap:clamp(20px,3.4vh,40px);padding:92px 0 36px;overflow:hidden}
.fichero-top{text-align:center}
.fichero-top .eyebrow{justify-content:center}
.fichero-top .eyebrow::before{display:none}
.fichero-top .lede{margin-inline:auto}

.cajon{position:relative;width:min(92vw,780px);margin-inline:auto;
  height:clamp(330px,46vh,430px)}

/* el frente del cajon, a linea, como la referencia */
.cajon-frente{position:absolute;left:-10px;right:-10px;bottom:-14px;height:clamp(58px,8vh,82px);z-index:30;
  border:1px solid var(--line-ui);border-radius:4px 4px 16px 16px;
  background:linear-gradient(180deg,#16110F,#0E0B0A);
  box-shadow:0 -18px 34px -22px rgba(0,0,0,.9);
  display:grid;place-items:center}
.cajon-frente .wordmark{opacity:.45}

.fichas{position:absolute;inset:0 0 clamp(44px,6vh,62px) 0}

/* una carpeta: cuerpo opaco + pestana que se funde con su borde superior */
.ficha{position:absolute;inset:0;
  --tabx:calc(4% + var(--i) * 15.2%);
  background:#1A1614;
  border:1px solid var(--line-2);
  border-radius:0 16px 16px 16px;
  padding:clamp(22px,3vw,32px);
  transform:translate3d(0,calc((1 - var(--a,0)) * (72% + var(--i) * 2.2%)),0);
  transition:border-color .4s var(--ease);
  will-change:transform}
.ficha:nth-child(1){--i:0}
.ficha:nth-child(2){--i:1}
.ficha:nth-child(3){--i:2}
.ficha:nth-child(4){--i:3}
.ficha:nth-child(5){--i:4}
.ficha:nth-child(6){--i:5}

/* la pestana: pisa 1px del borde del cuerpo, asi parecen una sola pieza */
.ficha .pestana{position:absolute;left:var(--tabx);top:-29px;height:30px;
  display:inline-flex;align-items:center;gap:9px;padding:0 17px 1px;
  background:#1A1614;
  border:1px solid var(--line-2);border-bottom:none;
  border-radius:11px 11px 0 0;
  font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  white-space:nowrap}
.ficha .pestana i{font-style:normal;color:var(--ash);font-variant-numeric:tabular-nums;transition:color .4s}
.ficha .pestana b{font-weight:600;color:var(--concrete);transition:color .4s}

/* la carpeta que esta fuera: borde vivo y contenido legible */
.ficha.abierta{border-color:var(--ember-22);box-shadow:0 -26px 60px -34px rgba(232,85,45,.35)}
.ficha.abierta .pestana{border-color:var(--ember-22)}
.ficha.abierta .pestana i{color:var(--ember-2)}
.ficha.abierta .pestana b{color:var(--white)}

.ficha-in{opacity:var(--a,0);transition:opacity .35s var(--ease)}
.ficha-in h3{font-size:clamp(19px,2.6vw,27px);margin-bottom:10px}
.ficha-in p{font-size:14px;color:var(--concrete);line-height:1.62;max-width:62ch}
.ficha-in .mini{margin-top:16px}

/* indice de pestanas: guia y salto rapido */
.indice{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding-inline:var(--gut)}
.indice button{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:100px;cursor:pointer;
  border:1px solid var(--line);background:rgba(206,211,214,.03);color:var(--concrete);
  font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;font-size:12px;letter-spacing:.06em;transition:all .35s var(--ease)}
.indice button i{font-style:normal;font-variant-numeric:tabular-nums;color:var(--ash)}
.indice button:hover{border-color:var(--line-ui);color:var(--white)}
.indice button.on{border-color:var(--ember);color:var(--white);background:var(--ember-10)}
.indice button.on i{color:var(--ember-2)}

@media(max-width:760px){
  .cajon{width:94vw;height:clamp(370px,54vh,460px)}
  .ficha{padding:20px;--tabx:calc(3% + var(--i) * 15.6%)}
  .ficha .pestana{padding:0 11px 1px;font-size:10px;letter-spacing:.1em;gap:6px}
  .ficha .pestana b{display:none}
  .ficha-in p{font-size:13.5px}
  .indice button{font-size:11px;padding:8px 12px}
}

@media(prefers-reduced-motion:reduce){
  .fichero-track{height:auto}
  .fichero-stick{position:static;min-height:0;overflow:visible;padding:clamp(64px,8vw,104px) 0}
  .cajon{height:auto}
  .cajon-frente{display:none}
  .fichas{position:static;display:flex;flex-direction:column;gap:46px}
  .ficha{position:static;transform:none;margin-top:30px}
  .ficha-in{opacity:1}
  .indice{display:none}
}

.send-note a{color:var(--ember-2);text-decoration:none;border-bottom:1px solid var(--ember-22)}
.send-note a:hover{border-bottom-color:var(--ember-2)}
/* Logotipos apaisados: menos aire a los lados para que se lean dentro del circulo */
.person .av.pad.ancho img{padding:18% 8%}

/* ── Agenda: las dos pestañas y el panel de la llamada ───────── */
.modos{display:inline-flex;gap:4px;margin-top:clamp(24px,3.2vw,34px);padding:4px;
  border:1px solid var(--line);border-radius:100px;background:var(--glass)}
.modos button{appearance:none;-webkit-appearance:none;border:0;background:transparent;cursor:pointer;
  font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;
  font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--concrete);
  padding:11px 22px;border-radius:100px;white-space:nowrap;
  transition:color .35s var(--ease),background .35s var(--ease)}
.modos button:hover{color:var(--white)}
.modos button[aria-selected="true"]{
  background:linear-gradient(180deg,var(--ember-2),var(--ember));color:#fff;
  box-shadow:0 10px 24px -14px rgba(232,85,45,.95)}
.modos + .book{margin-top:16px}
@media(max-width:420px){.modos{width:100%}.modos button{flex:1;padding:11px 10px;font-size:12px}}

.lbl{display:block;font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);margin-bottom:14px}
.lbl i{font-style:normal;text-transform:none;letter-spacing:.02em;color:var(--ash);
  border-left:1px solid var(--line);margin-left:9px;padding-left:9px}
#panelLlamada[hidden],#panelRodaje[hidden]{display:none}


/* ════════════════════════════════════════════ PORTADA EN MOVIMIENTO */
.hero-art video{width:100%;height:100%;object-fit:cover;object-position:50% 52%;
  filter:contrast(1.06) saturate(1.06) brightness(.9);
  opacity:0;animation:entraPortada 1.4s var(--ease) .15s forwards}
@keyframes entraPortada{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}

.hero-copy h1{font-size:clamp(42px,8.4vw,104px);letter-spacing:-.042em;
  text-shadow:0 2px 40px rgba(0,0,0,.55)}
.hero-copy h1 em{color:var(--mist);opacity:.92}
.hero-sub{text-shadow:0 1px 24px rgba(0,0,0,.6)}

.hero-pie{margin-top:30px;font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash)}

.hero-scroll{position:absolute;left:50%;bottom:34px;z-index:3;width:1px;height:62px;
  transform:translateX(-50%);overflow:hidden;background:var(--line-2)}
.hero-scroll::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,var(--ember-2));
  animation:bajaLinea 2.4s var(--ease) infinite}
@keyframes bajaLinea{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}

/* ════════════════════════════════════════════ GRANO DE PELÍCULA */
.grano{position:fixed;inset:-160px;z-index:60;pointer-events:none;opacity:.055;
  mix-blend-mode:overlay;will-change:transform;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:granula .9s steps(1) infinite}
@keyframes granula{
  0%{transform:translate(0,0)}      12.5%{transform:translate(-14px,7px)}
  25%{transform:translate(9px,-12px)} 37.5%{transform:translate(-7px,-9px)}
  50%{transform:translate(12px,11px)} 62.5%{transform:translate(-11px,13px)}
  75%{transform:translate(14px,-6px)} 87.5%{transform:translate(-9px,8px)}
  100%{transform:translate(0,0)}}

/* ════════════════════════════════════════════ QUIÉN */
.quien{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1fr);
  gap:clamp(26px,4vw,56px);align-items:center}
@media(max-width:860px){.quien{grid-template-columns:1fr}}
.quien-foto{position:relative;margin:0;border-radius:var(--r-l);overflow:hidden;
  border:1px solid var(--line-2);background:#101113;aspect-ratio:4/5}
.quien-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 34%;
  filter:contrast(1.06) saturate(1.02)}
.quien-foto::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 54%,rgba(14,16,17,.72))}
.quien-lista{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:1px;
  border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:var(--line)}
.quien-lista li{background:var(--glass);padding:16px 20px}
.quien-lista b{display:block;font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;
  font-size:14px;font-weight:600;color:var(--white)}
/* El panel de esta lista es el fondo mas claro de la web (--glass), y ahi
   --concrete se queda en 4,29:1. Un paso mas claro solo para este caso. */
.quien-lista span{display:block;font-size:13px;color:#9BA1A5;margin-top:3px}

/* ════════════════════════════════════════════ TRABAJOS EN VÍDEO */
.shot video{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.1s var(--ease),filter .5s;filter:saturate(1.04) contrast(1.05)}
.shot:hover video{transform:scale(1.045);filter:saturate(1.16) contrast(1.07)}
.shot{box-shadow:0 24px 50px -34px rgba(0,0,0,.95)}
.shot figcaption{display:inline-flex;align-items:center;gap:8px}
.shot figcaption::before{content:"";width:5px;height:5px;border-radius:50%;
  background:var(--ember-2);box-shadow:0 0 8px rgba(255,122,77,.8)}

@media(prefers-reduced-motion:reduce){
  .grano{animation:none}
  .hero-scroll{display:none}
  .hero-art video{animation:none;opacity:1}
  .shot:hover video{transform:none}
}

/* ════════════════════════════════════════════ SIN JAVASCRIPT
   Todo lo de abajo deja de aplicarse en cuanto el script en linea del <head>
   pone la clase `js` en <html>. Hasta entonces, y para siempre si el script
   no llega, la pagina tiene que leerse entera.

   Tres cosas dependian de JS para ser visibles:
     1. `.rv` arranca en opacity:0 y espera a que el observador le ponga `.in`
     2. las 6 `.ficha` son position:absolute;inset:0, o sea que SIN el --a que
        escribe pintar() salen las seis apiladas en el mismo sitio
     3. el calendario lo dibuja el script: el <div> viene vacio del servidor

   1 y 2 se arreglan aqui con el mismo tratamiento que ya existe para
   prefers-reduced-motion. El 3 no tiene arreglo en CSS: lleva un <noscript>. */

html:not(.js) .rv{opacity:1;transform:none;transition:none}

html:not(.js) .fichero-track{height:auto}
html:not(.js) .fichero-stick{position:static;min-height:0;overflow:visible;
  padding:clamp(64px,8vw,104px) 0}
html:not(.js) .cajon{height:auto}
html:not(.js) .cajon-frente{display:none}
html:not(.js) .fichas{position:static;display:flex;flex-direction:column;gap:46px}
html:not(.js) .ficha{position:static;transform:none;margin-top:30px}
html:not(.js) .ficha-in{opacity:1}
html:not(.js) .indice{display:none}

/* el aviso del calendario solo se ve sin JS, pero tiene que verse bien */
.sinjs-aviso{border:1px solid var(--ember-22);background:rgba(232,85,45,.08);
  border-radius:var(--r-m);padding:18px 20px;margin:0 0 26px;font-size:14px;
  line-height:1.6;color:var(--mist)}
.sinjs-aviso b{color:var(--white);display:block;margin-bottom:4px}
.sinjs-aviso a{color:var(--ember-2)}

/* ════════════════════════════════════════════ PANTALLAS MUY ESTRECHAS
   A 320 px el calendario se salia: `.cal-grid button` lleva aspect-ratio:1
   con min-height:40px, o sea 7x40 + 6 huecos = 304 px, mas 44 de acolchado
   del panel = 350 px dentro de una ventana de 320. Se cortaban 4 dias y de
   la flecha de "mes siguiente" se veian 9 px de 36.

   Aqui los botones pasan a ser 1fr puro: cuadrados por aspect-ratio y del
   ancho que quepa. A 320 px salen de ~32 px, por encima del minimo de
   24x24 que pide WCAG 2.5.8. */
@media(max-width:380px){
  .book,.book>*{min-width:0}
  .panel{padding:18px 12px}
  .cal-dow,.cal-grid{gap:2px}
  .cal-grid button{min-height:0}
  .cal-top{gap:8px}
  .cal-top b{font-size:15px}
}

/* ════════════════════════════════════════════ POR QUE NO SE ENVIA
   Va pegado al boton. El aviso del calendario queda 731 px mas arriba y en
   el movil ni se ve, asi que el visitante pulsaba y no pasaba nada. */
.send-fallo{margin:0 0 14px;padding:12px 15px;border-radius:var(--r-s);
  border:1px solid var(--ember-22);background:rgba(232,85,45,.1);
  color:var(--white);font-size:13.5px;line-height:1.55}
.send-fallo[hidden]{display:none}
.send-fallo a{color:var(--ember-2);white-space:nowrap}

/* ════════════════════════════════════════════ MOTION, 3D Y POST
   Las piezas terminadas, no planos sueltos. La sirena va a todo el ancho
   porque es el montaje mas complejo y se pidio verlo en grande. */

.shot.grande{aspect-ratio:16/9;margin-bottom:14px}
.shot.grande figcaption{left:22px;bottom:18px;font-size:12px;letter-spacing:.16em}
.shot.grande figcaption::before{width:6px;height:6px}

/* las piezas que acompanan a la grande */
.rowt{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(max-width:560px){.rowt{grid-template-columns:1fr}}

/* la tecnica, debajo de cada pieza: es lo que de verdad hace de prueba */
.tecnica{margin:9px 2px 0;font-size:12.5px;line-height:1.5;color:var(--concrete)}
.tecnica b{color:var(--mist);font-weight:500}

/* el montaje largo: sin imagen a proposito, son cifras */
.largo{margin-top:26px;border:1px solid var(--line);border-radius:var(--r-m);
  background:var(--glass);padding:clamp(20px,3vw,30px);
  display:grid;grid-template-columns:1fr auto;gap:20px 34px;align-items:center}
@media(max-width:700px){.largo{grid-template-columns:1fr}}
.largo h3{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;
  font-size:clamp(18px,2.4vw,23px);margin:0 0 7px}
.largo p{margin:0;font-size:14px;line-height:1.62;color:var(--concrete);max-width:56ch}
.largo-cifras{display:flex;gap:28px}
.largo-cifras div{text-align:right}
@media(max-width:700px){.largo-cifras{justify-content:flex-start}.largo-cifras div{text-align:left}}
.largo-cifras b{display:block;font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;
  font-size:clamp(26px,4vw,38px);line-height:1;color:var(--white);font-variant-numeric:tabular-nums}
.largo-cifras span{display:block;margin-top:6px;font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}

/* El pie de estas piezas va ARRIBA: el plano del museo lleva su propio
   rotulo de camara de seguridad abajo a la izquierda y los dos se pisaban.
   Como el degradado de .shot::after oscurece solo el pie, aqui hace falta
   uno propio arriba para que el texto se lea sobre cualquier fotograma. */
.shot.grande figcaption,
.rowt .shot figcaption{top:14px;bottom:auto}
.shot.grande::before,
.rowt .shot::before{content:"";position:absolute;inset:0 0 auto 0;height:34%;z-index:1;
  background:linear-gradient(180deg,rgba(14,16,17,.78),transparent);pointer-events:none}
.shot.grande figcaption{top:18px;left:22px}

/* ════════════════════════════════════════════ PRESENTACION
   Una voz, un acento, una rejilla. Este bloque va al final a proposito:
   pisa reglas anteriores con la misma especificidad, asi que cualquier
   media query que dependa de ellas se vuelve a declarar aqui debajo. */

/* 1. EL ACENTO, CON DISCIPLINA
   El naranja estaba en cada etiqueta de seccion, en el pie de cada video,
   en chips, pestanas y botones: cuando todo es acento, nada lo es. Queda
   para lo que se pulsa y lo que esta seleccionado. Las etiquetas pasan a
   gris y conservan el trazo naranja delante, que es la firma de la web. */
.eyebrow{color:var(--concrete)}
.shot figcaption{color:var(--mist)}

/* 2. LAS LISTAS DE ESPECIFICACIONES (rodaje, edicion)
   Con `auto 1fr` cada fila calculaba su propio ancho de etiqueta y las
   descripciones empezaban cada una en una x distinta: un borde dentado.
   Con columna fija arrancan todas en el mismo sitio. A 15 px dejan de
   parecer letra pequena. */
.facts li{grid-template-columns:9rem 1fr;gap:24px;padding:19px 0}
.facts b{font-size:15px;letter-spacing:0;white-space:normal;line-height:1.4}
.facts span{font-size:15px;line-height:1.6}
@media(max-width:520px){.facts li{grid-template-columns:1fr;gap:6px}}

/* 3. LAS NOTAS
   El filete naranja las hacia parecer advertencias. Es informacion. */
.note{font-size:14.5px;border-left-color:var(--line-ui)}
.note b{color:var(--mist);font-weight:600}

/* 4. LA PORTADA: la entradilla es una sola frase y puede ir mas grande */
.hero-sub{font-size:clamp(17px,1.6vw,21px);max-width:62ch}

/* 5. LA LISTA DE QUIEN */
.quien-lista span{font-size:14px}

/* 6. TIPOGRAFIA: titulares equilibrados y parrafos sin viudas */
.h2,.hero-sub{text-wrap:balance}
.lede,.note,.facts span,.tecnica,.ficha-in p{text-wrap:pretty}

/* ════════════════════════════════════════════ PAGINAS DE SERVICIO
   produccion-audiovisual-canarias.html usa la maqueta del blog (.post) con
   piezas de la portada dentro. Dos choques que hay que deshacer:
   - .post-body ul y li (margen, 16 px, interlineado 1.7) pisaban la lista
     de dos columnas .facts, que tiene la misma especificidad;
   - los bucles van fuera de .post-body y necesitan aire propio. */
.post .rowh{margin-top:4px}
.post .tecnica{margin:12px 2px 0}
.post .tecnica a{color:var(--mist);text-decoration:underline;text-underline-offset:3px}
.post-body ul.facts{margin:10px 0 26px;gap:0}
.post-body .facts li{color:inherit;font-size:inherit;line-height:inherit}
.donde-link{margin-top:26px}

/* ════════════════════════════════════════════ SELECTOR DE IDIOMA
   Va fuera de .nav-links a proposito: en movil la barra esconde todos sus
   enlaces menos el boton (.nav-links a:not(.btn-nav)), y el selector tiene
   que verse en todos los tamanos. Tres codigos cortos, el actual en blanco. */
.idiomas{display:flex;align-items:center;gap:2px;margin-left:16px;
  font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;
  font-size:12px;font-weight:500;letter-spacing:.08em}
.idiomas a{display:flex;align-items:center;min-height:32px;padding:0 6px;border-radius:6px;
  color:var(--concrete);transition:color .2s var(--ease)}
.idiomas a:hover{color:var(--white)}
.idiomas a[aria-current="page"]{color:var(--white);font-weight:600}
.idiomas a:focus-visible{outline:2px solid var(--ember-2);outline-offset:2px}
@media(max-width:1000px){.idiomas{margin-left:8px}.idiomas a{padding:0 4px}}
@media(max-width:360px){.idiomas{font-size:11px}.idiomas a{padding:0 3px}}
