/* ==========================================================================
   PLANO DENTAL — "ATELIER" (v2)  ·  rediseño editorial
   Laboratorio protésico · Córdoba
   Dirección: revista de autor · Bodoni + Newsreader + mono técnica ·
   tinta + oro + marfil · grano · reglas finas · esquinas vivas · asimetría
   ========================================================================== */

:root{
  /* tinta */
  --ink:#0c0c0e;
  --ink-2:#131316;
  --ink-3:#1b1a1f;
  --ink-line:rgba(237,231,219,.14);
  --ink-line-2:rgba(237,231,219,.30);
  /* marfil (pliegos claros) */
  --ivory:#ece2cd;
  --ivory-2:#e4d8bd;
  --bone:#f4eedf;
  --ivory-ink:#171510;
  --ivory-soft:#5d564544;
  --ivory-soft-c:#5e5747;
  --ivory-line:rgba(23,21,16,.16);
  /* tiza (texto sobre tinta) */
  --chalk:#f2ede2;
  --chalk-soft:rgba(242,237,226,.78);
  --chalk-mute:rgba(242,237,226,.52);
  /* oro */
  --gold:#c3a35f;
  --gold-deep:#9a7e3f;
  --gold-light:#e3cd96;
  --gold-soft:rgba(195,163,95,.14);
  /* tipografía */
  --display:"Bricolage Grotesque","Archivo",system-ui,sans-serif;
  --body:"Newsreader",Georgia,"Times New Roman",serif;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",monospace;
  --serif:var(--display);   /* compat con páginas interiores */
  --sans:var(--body);
  /* medidas */
  --r:3px;
  --maxw:1320px;
  --pad:clamp(20px,5.2vw,90px);
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  /* compat con páginas interiores (nombres antiguos → paleta nueva) */
  --cream:var(--chalk);
  --cream-soft:rgba(236,230,218,.5);
  --white:#f7f3ea;
  --muted:var(--chalk-soft);
  --muted-2:var(--chalk-mute);
  --line:var(--ink-line);
  --line-2:var(--ink-line-2);
  --gold-2:var(--gold-deep);
  --gold-3:var(--gold-light);
  --gold-strong:var(--gold-deep);
  --r-lg:5px;
  --r-xl:7px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--ink);color:var(--chalk);
  font-family:var(--body);font-size:18px;line-height:1.68;font-weight:430;
  font-optical-sizing:auto;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;overflow-x:hidden;
}
img{max-width:100%;display:block}
/* placeholder "Imagen pronto" (fotos pendientes de entregar) */
a{color:inherit;text-decoration:none}
::selection{background:var(--gold);color:var(--ink)}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--ink)}
::-webkit-scrollbar-thumb{background:#34323a}
::-webkit-scrollbar-thumb:hover{background:var(--gold-deep)}

/* grano global (sobre cualquier página) */
body::after{
  content:"";position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.045;mix-blend-mode:overlay;
  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='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------------- tipografía base ---------------- */
h1,h2,h3,h4{font-family:var(--display);font-weight:650;margin:0;line-height:1.02;letter-spacing:-.025em;font-optical-sizing:auto}
.display{font-family:var(--display);font-weight:700;letter-spacing:-.035em;line-height:.92}
.serif-i,em.serif-i,.li{font-style:normal;font-weight:inherit;color:inherit}
.lead{font-family:var(--body);font-size:clamp(19px,2vw,24px);line-height:1.5;color:var(--chalk);font-weight:380}
.muted{color:var(--chalk-soft)}
p{margin:0 0 1.15em}

/* etiqueta mono (kicker / eyebrow / meta) */
.kicker,.eyebrow,.section-num{
  font-family:var(--mono);font-weight:500;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-light);display:inline-flex;align-items:center;gap:12px;
}
.section-num{color:var(--gold)}
.kicker::before,.eyebrow::before{content:"";width:26px;height:1px;background:currentColor;opacity:.8;flex:none}
.eyebrow.center{justify-content:center}
.eyebrow.center::after{content:"";width:26px;height:1px;background:currentColor;opacity:.8}

/* reglas finas */
.rule{height:1px;background:var(--ink-line);border:0;margin:0}

/* ---------------- layout ---------------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.section{padding:clamp(72px,11vh,150px) 0;position:relative}
/* pliegos claros (marfil) que rompen el negro como una revista */
.spread--ivory{background:var(--ivory);color:var(--ivory-ink)}
.spread--ivory .muted{color:var(--ivory-soft-c)}
.spread--ivory .section-num{color:var(--gold-deep)}
.spread--ivory .rule{background:var(--ivory-line)}
.spread--ivory h1,.spread--ivory h2,.spread--ivory h3{color:var(--ivory-ink)}

/* ---------------- botones (bloque editorial, esquina viva) ---------------- */
.btn{
  --bg:var(--gold);--fg:var(--ink);
  display:inline-flex;align-items:center;gap:12px;cursor:pointer;border:1px solid var(--bg);
  background:var(--bg);color:var(--fg);font-family:var(--mono);font-weight:500;
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  padding:15px 26px;border-radius:var(--r);position:relative;overflow:hidden;isolation:isolate;
  transition:color .45s var(--ease),background .45s var(--ease),border-color .45s;
}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);transform:translateY(101%);transition:transform .5s var(--ease)}
.btn:hover{color:var(--gold);background:transparent;border-color:var(--gold)}
.btn:hover::before{transform:translateY(0)}
.btn svg{transition:transform .45s var(--ease)}
.btn:hover svg{transform:translateX(5px)}
.btn--ghost{--bg:transparent;--fg:var(--chalk);border-color:var(--ink-line-2)}
.btn--ghost::before{background:var(--gold)}
.btn--ghost:hover{color:var(--ink);border-color:var(--gold)}
.btn--lg{padding:17px 32px}
.spread--ivory .btn{--fg:var(--ivory)}
.spread--ivory .btn::before{background:var(--ivory-ink)}
.spread--ivory .btn:hover{color:var(--ivory-ink)}
.spread--ivory .btn--ghost{--fg:var(--ivory-ink);border-color:var(--ivory-line)}
/* botones sobre la banda CTA en marfil (texto oscuro, legible) */
.cta-band .btn--ghost{--fg:var(--ivory-ink);border-color:var(--ivory-line)}
.cta-band .btn--ghost::before{background:var(--ivory-ink)}
.cta-band .btn--ghost:hover{color:var(--ivory);border-color:var(--ivory-ink)}

/* enlace subrayado fino */
.ulink{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);
  display:inline-flex;align-items:center;gap:10px;position:relative;padding-bottom:4px}
.ulink::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.ulink:hover::after{transform:scaleX(1);transform-origin:left}
.ulink svg{transition:transform .45s var(--ease)}
.ulink:hover svg{transform:translateX(5px)}

/* ---------------- header / masthead ---------------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .5s var(--ease)}
.hdr-inner{max-width:var(--maxw);margin:0 auto;padding:20px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid transparent;transition:padding .5s var(--ease),border-color .5s}
.hdr.scrolled{background:rgba(12,12,14,.86);backdrop-filter:blur(14px)}
.hdr.scrolled .hdr-inner{padding-top:13px;padding-bottom:13px;border-color:var(--ink-line)}
.brand{display:flex;align-items:center;gap:14px;z-index:2}
.brand img{height:48px;width:auto}
.brand .brand-logo{height:104px;width:auto;transition:height .45s var(--ease)}
.hdr.scrolled .brand .brand-logo{height:78px}
.nav{display:flex;align-items:center;gap:30px}
.nav a{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--chalk-soft);position:relative;transition:color .35s}
.nav a::after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav a:hover{color:var(--chalk)}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1);transform-origin:left}
.nav a.active{color:var(--gold-light)}
/* desplegable de servicios */
.nav-item{position:relative;display:flex;align-items:center}
.nav .nav-trigger{display:inline-flex;align-items:center;gap:7px}
.nav .nav-trigger svg{transition:transform .35s var(--ease);opacity:.75}
.nav-item:hover .nav-trigger svg,.nav-item:focus-within .nav-trigger svg{transform:rotate(180deg)}
.nav-drop{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(8px);min-width:252px;
  background:rgba(18,18,22,.97);backdrop-filter:blur(16px) saturate(1.2);border:1px solid var(--ink-line);padding:8px;
  display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),transform .35s var(--ease);
  z-index:130;box-shadow:0 30px 60px -24px rgba(0,0,0,.65)}
.nav-drop::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}
.nav-item:hover .nav-drop,.nav-item:focus-within .nav-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-drop a{display:block;padding:11px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--chalk-soft);transition:color .25s,background .25s,padding .3s}
.nav-drop a::after{display:none}
.nav-drop a:hover{color:var(--gold-light);background:var(--gold-soft);padding-left:20px}
/* sub-servicios en el drawer móvil */
.drawer-sub{display:flex;flex-direction:column;margin:2px 0 10px;padding-left:2px}
.drawer-sub a{font-family:var(--body);font-style:italic;font-size:clamp(17px,4.6vw,23px);font-weight:500;color:var(--chalk-soft);padding:6px 0}
.drawer-sub a:hover{color:var(--gold-light)}
.hdr-cta{display:flex;align-items:center;gap:18px}
.burger{display:none;background:none;border:0;cursor:pointer;width:42px;height:42px;position:relative;z-index:120}
.burger span{position:absolute;left:9px;right:9px;height:1.4px;background:var(--chalk);transition:transform .45s var(--ease),opacity .3s}
.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:27px}
.burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:110;background:var(--ink-2);transform:translateY(-100%);transition:transform .65s var(--ease);display:flex;flex-direction:column;justify-content:flex-start;padding:var(--pad);visibility:hidden;overflow-y:auto;overscroll-behavior:contain}
/* centrado vertical seguro: centra el menú si cabe y, si no cabe, empieza arriba y hace scroll */
.drawer>:first-child{margin-top:auto}.drawer>:last-child{margin-bottom:auto}
.drawer.open{transform:none;visibility:visible}
.drawer a{font-family:var(--display);font-size:clamp(34px,9vw,60px);font-weight:500;color:var(--chalk);padding:7px 0;letter-spacing:-.02em;opacity:0;transform:translateY(20px);transition:opacity .5s,transform .5s,color .3s}
.drawer.open a{opacity:1;transform:none}
.drawer a:hover{color:var(--gold);font-style:italic}
.drawer a:nth-child(1){transition-delay:.14s}.drawer a:nth-child(2){transition-delay:.2s}.drawer a:nth-child(3){transition-delay:.26s}.drawer a:nth-child(4){transition-delay:.32s}.drawer a:nth-child(5){transition-delay:.38s}.drawer a:nth-child(6){transition-delay:.44s}
.drawer-meta{margin-top:38px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--chalk-soft);opacity:0;transition:opacity .6s .5s;line-height:2}
.drawer.open .drawer-meta{opacity:1}

/* ---------------- reveals (máscara editorial) ---------------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .95s var(--ease-out),transform .95s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.reveal-d1{transition-delay:.09s}.reveal-d2{transition-delay:.18s}.reveal-d3{transition-delay:.27s}.reveal-d4{transition-delay:.36s}
.mask{overflow:hidden;display:block}
.mask>*{display:block;transform:translateY(110%);transition:transform 1.05s var(--ease-out)}
.mask.in>*{transform:none}
.mask-d1>*{transition-delay:.08s}.mask-d2>*{transition-delay:.18s}.mask-d3>*{transition-delay:.28s}.mask-d4>*{transition-delay:.38s}
.imgmask{overflow:hidden;position:relative}
.imgmask img{transform:scale(1.16);transition:transform 1.5s var(--ease-out)}
.imgmask::after{content:"";position:absolute;inset:0;background:var(--ink);transform-origin:top;transition:transform 1.05s var(--ease-out)}
.spread--ivory .imgmask::after{background:var(--ivory)}
.imgmask.in img{transform:scale(1)}
.imgmask.in::after{transform:scaleY(0)}
@media (prefers-reduced-motion:reduce){
  .reveal,.mask>*,.imgmask img{opacity:1!important;transform:none!important}
  .imgmask::after{display:none}
}

/* entrada orquestada del hero (se reproduce al cargar, sin depender de JS) */
.ed-hero .reveal.in{animation:edFade 1s var(--ease-out) both}
.ed-hero .reveal-d1.in{animation-delay:.12s}
.ed-hero .reveal-d2.in{animation-delay:.24s}
.ed-hero .reveal-d3.in{animation-delay:.36s}
.ed-hero .reveal-d4.in{animation-delay:.48s}
.ed-hero .mask.in>*{animation:edMask 1.05s var(--ease-out) both}
.ed-hero .mask-d1.in>*{animation-delay:.14s}
.ed-hero .mask-d2.in>*{animation-delay:.28s}
.ed-hero .imgmask.in img{animation:edImg 1.6s var(--ease-out) .25s both}
.ed-hero .imgmask.in::after{animation:edWipe 1.15s var(--ease-out) .25s both}
@keyframes edFade{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes edMask{from{transform:translateY(110%)}to{transform:none}}
@keyframes edImg{from{transform:scale(1.16)}to{transform:scale(1)}}
@keyframes edWipe{from{transform:scaleY(1)}to{transform:scaleY(0)}}
@media (prefers-reduced-motion:reduce){.ed-hero .reveal.in,.ed-hero .mask.in>*,.ed-hero .imgmask.in img,.ed-hero .imgmask.in::after{animation:none}}

/* hairline frame para figuras */
.frame{position:relative;border:1px solid var(--ink-line-2);padding:10px;background:transparent}
.frame img{width:100%;height:auto;display:block}
.cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--chalk-mute);margin-top:12px}
.spread--ivory .frame{border-color:var(--ivory-line)}
.spread--ivory .cap{color:var(--ivory-soft-c)}

/* ===========================================================
   HOME — composición editorial
   =========================================================== */

/* masthead superior */
.masthead{position:relative;z-index:2;border-bottom:1px solid var(--ink-line);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--chalk-soft);
  padding:14px 0 16px}
.masthead span{white-space:nowrap}
.masthead .dot{color:var(--gold)}

/* hero — composición partida, imagen presente sobre el pliegue */
.ed-hero{position:relative;min-height:100svh;display:grid;grid-template-columns:1.04fr .96fr;overflow:hidden}
.ed-hero .hero-left{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(104px,13vh,140px) clamp(30px,4vw,66px) clamp(46px,7vh,80px) var(--pad);background:var(--ink)}
.ed-hero .hero-mast{position:absolute;top:clamp(94px,12vh,122px);left:var(--pad);right:clamp(30px,4vw,66px);
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--chalk-mute);
  border-bottom:1px solid var(--ink-line);padding-bottom:14px}
.ed-hero .hero-mast .dot{color:var(--gold)}
.ed-hero h1{font-size:clamp(46px,6.6vw,112px);font-weight:700;line-height:.9;letter-spacing:-.04em;color:var(--chalk);margin:20px 0 0;text-wrap:balance}
.ed-hero .lead{max-width:46ch;margin:24px 0 32px;color:var(--chalk-soft);font-size:clamp(18px,1.45vw,21px)}
.ed-hero .hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.ed-hero .scroll-cue{margin-top:26px}
.ed-hero .hero-right{position:relative;overflow:hidden;background:var(--ink-2)}
.ed-hero .hero-right img{width:100%;height:100%;object-fit:cover;filter:grayscale(.1) contrast(1.06) brightness(.84);animation:heroKen 1.5s var(--ease-out) both}
.ed-hero .hero-right::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,var(--ink) 0%,rgba(12,12,14,.25) 24%,transparent 46%)}
.ed-hero .hero-cap{position:absolute;left:18px;bottom:18px;z-index:3;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--chalk);background:rgba(12,12,14,.55);backdrop-filter:blur(6px);padding:7px 12px;border:1px solid var(--ink-line)}
@keyframes heroKen{from{transform:scale(1.12);opacity:.3}to{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion:reduce){.ed-hero .hero-right img{animation:none}}
.gr-motif{position:absolute;z-index:1;pointer-events:none;opacity:.45}
.gr-motif path,.gr-motif rect,.gr-motif line{fill:none;stroke:var(--gold);stroke-width:1;stroke-dasharray:var(--len,2000);stroke-dashoffset:var(--len,2000)}
.gr-motif.drawn path,.gr-motif.drawn rect,.gr-motif.drawn line{transition:stroke-dashoffset 2.8s var(--ease-out);stroke-dashoffset:0}

/* manifesto / pliego marfil con capitular */
.manifesto .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,90px);align-items:start}
.manifesto .body-col p{font-size:19px;line-height:1.62;color:#2a261c}
.manifesto .body-col p:first-of-type::first-letter{font-family:var(--display);float:left;font-size:5.4em;line-height:.72;padding:8px 14px 0 0;color:var(--gold-deep);font-weight:500}
.pullquote{font-family:var(--display);font-style:italic;font-size:clamp(24px,3vw,38px);line-height:1.16;color:var(--ivory-ink);margin:0;font-weight:500}
.manifesto .meta-col{display:flex;flex-direction:column;gap:26px}
.spec{border-top:1px solid var(--ivory-line);padding-top:16px}
.spec dt{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:7px}
.spec dd{margin:0;font-family:var(--display);font-size:clamp(26px,3vw,40px);font-weight:500;color:var(--ivory-ink);line-height:1}
.spec dd small{font-size:14px;font-family:var(--body);color:var(--ivory-soft-c);display:block;margin-top:6px;letter-spacing:0;text-transform:none;line-height:1.4}

/* índice de servicios (panel fijo + lista; SIN imagen siguiendo el cursor) */
.idx-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--ink-line);padding-bottom:22px}
.idx-head h2{font-size:clamp(34px,5vw,66px);font-weight:500;letter-spacing:-.03em;line-height:.95}
.idx-grid{display:grid;grid-template-columns:0.82fr 1.18fr;gap:clamp(30px,5vw,70px);margin-top:48px;align-items:start}
.idx-panel{position:sticky;top:110px}
.idx-figure{position:relative;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--ink-line-2);background:var(--ink-2)}
.idx-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .7s var(--ease),transform 1.3s var(--ease);filter:grayscale(.12) contrast(1.03)}
.idx-figure img.active{opacity:1;transform:scale(1)}
.idx-figure .pcap{position:absolute;left:14px;bottom:13px;z-index:2;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--chalk);background:rgba(12,12,14,.6);backdrop-filter:blur(6px);padding:6px 11px;border:1px solid var(--ink-line)}
.idx-list{list-style:none;margin:0;padding:0;counter-reset:s}
.idx-row a{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:baseline;padding:26px 4px;border-bottom:1px solid var(--ink-line);transition:padding .5s var(--ease),color .4s,background .4s}
.idx-row:first-child a{border-top:1px solid var(--ink-line)}
.idx-row .n{counter-increment:s;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--gold-deep)}
.idx-row .n::before{content:counter(s,decimal-leading-zero)}
.idx-row .t{font-family:var(--display);font-size:clamp(22px,2.7vw,34px);font-weight:500;color:var(--chalk);letter-spacing:-.01em;line-height:1.05;transition:color .4s,transform .5s var(--ease)}
.idx-row .t small{display:block;font-family:var(--body);font-size:14.5px;font-weight:380;color:var(--chalk-soft);letter-spacing:0;margin-top:8px;max-width:54ch;line-height:1.5}
.idx-row .ar{font-family:var(--mono);color:var(--gold-deep);opacity:0;transform:translateX(-8px);transition:opacity .4s,transform .5s var(--ease);align-self:center}
.idx-row a:hover,.idx-row.on a{padding-left:18px}
.idx-row a:hover .t,.idx-row.on a .t{color:var(--gold-light);font-style:italic}
.idx-row a:hover .ar,.idx-row.on a .ar{opacity:1;transform:none}

/* proceso — pliegos numerados grandes, alternados */
.process .step-big{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,70px);align-items:center;padding:clamp(40px,7vh,90px) 0;border-top:1px solid var(--ink-line)}
.process .step-big:nth-child(even) .sb-media{order:2}
.process .sb-media .imgmask{aspect-ratio:4/3}
.process .sb-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.12) contrast(1.03)}
.process .sb-num{font-family:var(--display);font-size:clamp(60px,9vw,120px);font-weight:500;color:var(--ink-3);line-height:.8;-webkit-text-stroke:1px var(--gold-deep);color:transparent}
.process .sb-body h3{font-size:clamp(26px,3.2vw,40px);margin:18px 0 12px;color:var(--chalk);font-weight:500}
.process .sb-body p{color:var(--chalk-soft);max-width:46ch}

/* plates (galería editorial) */
.plates-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(10px,1.4vw,20px);margin-top:46px}
.plate{position:relative;overflow:hidden;border:1px solid var(--ink-line-2)}
.plate img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);filter:grayscale(.14) contrast(1.03)}
.plate:hover img{transform:scale(1.05)}
.plate .pc{position:absolute;left:0;bottom:0;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--chalk);background:rgba(12,12,14,.62);backdrop-filter:blur(5px);padding:6px 10px;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}
.plate:hover .pc{opacity:1;transform:none}
.p-a{grid-column:span 7;grid-row:span 2;min-height:300px}
.p-b{grid-column:span 5;min-height:200px}
.p-c{grid-column:span 5;min-height:200px}
.p-d{grid-column:span 4;min-height:230px}
.p-e{grid-column:span 4;min-height:230px}
.p-f{grid-column:span 4;min-height:230px}

/* closer / cta */
.closer{text-align:center}
.closer h2{font-size:clamp(40px,7vw,104px);font-weight:500;letter-spacing:-.03em;line-height:.92;color:var(--chalk)}
.closer .lead{max-width:50ch;margin:24px auto 0;color:var(--chalk-soft)}
.closer-actions{margin-top:40px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.closer-contacts{margin-top:46px;display:flex;justify-content:center;gap:14px 40px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--chalk-soft);text-transform:uppercase}
.closer-contacts a:hover{color:var(--gold-light)}

/* ---------------- CTA band (compat páginas interiores) ---------------- */
.cta-band{background:var(--ivory);color:var(--ivory-ink);position:relative;overflow:hidden}
.cta-inner{position:relative;z-index:2;text-align:center;max-width:820px;margin:0 auto}
.cta-inner .eyebrow{color:var(--gold-deep)}
.cta-inner h2{font-size:clamp(36px,6vw,82px);font-weight:500;letter-spacing:-.03em;line-height:.94;color:var(--ivory-ink);margin-bottom:16px}
.cta-inner .lead{color:var(--ivory-soft-c)}
.cta-contacts{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 36px;margin-top:38px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ivory-soft-c)}
.cta-contacts a{display:inline-flex;align-items:center;gap:9px}
.cta-contacts a:hover{color:var(--gold-deep)}
.cta-contacts svg{color:var(--gold-deep)}

/* ---------------- footer (masthead inferior) ---------------- */
.ftr{background:var(--ink);border-top:1px solid var(--ink-line);padding:72px 0 34px}
.ftr-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.ftr h4{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-weight:500}
.ftr a{display:block;color:var(--chalk-soft);font-size:16px;padding:6px 0;transition:color .3s,transform .3s}
.ftr a:hover{color:var(--chalk);transform:translateX(4px)}
.ftr .brand-blk img{height:84px;margin-bottom:22px}
.ftr .brand-blk p{color:var(--chalk-soft);max-width:34ch;font-size:16px}
.ftr-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:56px;padding-top:26px;border-top:1px solid var(--ink-line);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--chalk-mute)}
.ftr-bottom a{display:inline;color:var(--chalk-mute)}
.ftr-bottom a:hover{color:var(--gold-light)}

/* scroll cue */
.scroll-cue{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--chalk-mute);margin-top:30px}
.scroll-cue .ln{width:46px;height:1px;background:var(--ink-line-2);position:relative;overflow:hidden}
.scroll-cue .ln::after{content:"";position:absolute;left:-40%;top:0;width:40%;height:100%;background:var(--gold);animation:cue 2s var(--ease) infinite}
@keyframes cue{to{left:120%}}

/* ---------------- responsive ---------------- */
@media (max-width:1024px){
  .nav{display:none}.burger{display:block}.hdr-cta .btn{display:none}
  .idx-grid{grid-template-columns:1fr}
  .idx-panel{display:none}
  .ed-hero{grid-template-columns:1fr;min-height:auto}
  .ed-hero .hero-mast{position:static;left:auto;right:auto;margin-bottom:18px;padding-top:0}
  .ed-hero .hero-left{justify-content:flex-start;padding-top:clamp(116px,16vh,150px)}
  .ed-hero .hero-right{min-height:56vh;order:2}
  .ed-hero .hero-right::after{background:linear-gradient(0deg,var(--ink),transparent 44%)}
}
@media (max-width:860px){
  .manifesto .grid{grid-template-columns:1fr;gap:40px}
  .ed-hero .standfirst{grid-template-columns:1fr;gap:18px}
  .process .step-big{grid-template-columns:1fr;gap:22px;padding:48px 0}
  .process .step-big:nth-child(even) .sb-media{order:0}
  .ftr-top{grid-template-columns:1fr 1fr}
  .ftr .brand-blk{grid-column:span 2}
  .plates-grid{grid-template-columns:repeat(6,1fr)}
  .p-a{grid-column:span 6;grid-row:auto}.p-b,.p-c{grid-column:span 3}.p-d,.p-e,.p-f{grid-column:span 2}
  .closer-contacts{flex-direction:column;gap:12px}
}
@media (max-width:520px){
  body{font-size:17px}
  .ftr-top{grid-template-columns:1fr}.ftr .brand-blk{grid-column:auto}
  .masthead{font-size:9.5px;letter-spacing:.12em;gap:8px}
  .brand .brand-logo{height:76px}.hdr.scrolled .brand .brand-logo{height:64px}
  .plates-grid{grid-template-columns:1fr 1fr}.p-a,.p-b,.p-c,.p-d,.p-e,.p-f{grid-column:span 1;grid-row:auto}
  .p-a,.p-f{grid-column:span 2}
  .idx-row a{grid-template-columns:auto 1fr;gap:14px}.idx-row .ar{display:none}
}

/* ============ AVISO ACADEN 2026: modal + píldora de cuenta atrás ============
   Se retira solo después del congreso (ver FIN en atelier.js). */
.pdlm{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  padding:clamp(14px,3vw,34px);opacity:0;transition:opacity .4s cubic-bezier(.22,1,.36,1)}
.pdlm.on{opacity:1}
.pdlm__bg{position:absolute;inset:0;background:rgba(6,6,8,.74);backdrop-filter:blur(3px)}
.pdlm__caja{position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  width:min(940px,100%);max-height:min(88vh,860px);overflow:hidden;background:var(--ink-2,#131316);
  border:1px solid var(--ink-line-2,rgba(237,231,219,.3));box-shadow:0 40px 90px -30px rgba(0,0,0,.85);
  transform:translateY(16px) scale(.985);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.pdlm.on .pdlm__caja{transform:none}
.pdlm__caja:focus{outline:none}
.pdlm__fig{position:relative;overflow:hidden;background:var(--ink,#0c0c0e);
  border-right:1px solid var(--ink-line,rgba(237,231,219,.14))}
.pdlm__fig img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;display:block}
.pdlm__fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 14px 11px;
  background:linear-gradient(180deg,rgba(8,8,10,0),rgba(8,8,10,.9));
  font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-light,#e3cd96);line-height:1.5}
.pdlm__txt{padding:clamp(24px,3.4vw,42px);overflow-y:auto;color:var(--chalk,#f2ede2)}
.pdlm__eye{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold,#c3a35f)}
.pdlm__t{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1.05;
  font-size:clamp(27px,3.3vw,41px);margin:14px 0 0}
.pdlm__t em{font-family:var(--body);font-style:italic;font-weight:500;color:var(--gold-light,#e3cd96)}
.pdlm__p{font-family:var(--body);font-size:clamp(15px,1.15vw,17px);line-height:1.5;
  color:var(--chalk-soft,rgba(242,237,226,.78));margin:15px 0 0}
.pdlm__ses{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--ink-line,rgba(237,231,219,.14))}
.pdlm__ses li{padding:15px 0;border-bottom:1px solid var(--ink-line,rgba(237,231,219,.14))}
.pdlm__k{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;font-family:var(--mono);
  font-size:11px;letter-spacing:.17em;text-transform:uppercase}
.pdlm__k b{color:var(--gold-light,#e3cd96);font-weight:500}
.pdlm__k span{color:var(--chalk-mute,rgba(242,237,226,.52))}
.pdlm__ses p{font-family:var(--body);font-size:15.5px;line-height:1.38;margin:6px 0 0}
.pdlm__cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}
.pdlm__b1{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;background:var(--gold,#c3a35f);
  color:#17150f;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;transition:background .3s ease}
.pdlm__b1:hover{background:var(--gold-light,#e3cd96)}
.pdlm__b2{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--chalk-soft,rgba(242,237,226,.78));text-decoration:none;
  border-bottom:1px solid var(--gold-deep,#9a7e3f);padding-bottom:3px;transition:color .3s ease}
.pdlm__b2:hover{color:var(--gold-light,#e3cd96)}
.pdlm__x{position:absolute;top:10px;right:10px;z-index:3;width:40px;height:40px;display:grid;
  place-items:center;background:rgba(12,12,14,.7);border:1px solid var(--ink-line-2,rgba(237,231,219,.3));
  color:var(--chalk,#f2ede2);font-size:21px;line-height:1;cursor:pointer;
  transition:background .25s ease,color .25s ease}
.pdlm__x:hover{background:var(--gold,#c3a35f);color:#17150f}
.pdlm__x:focus-visible,.pdlm__b1:focus-visible,.pdlm__b2:focus-visible,.pdlp:focus-visible{
  outline:2px solid var(--gold-light,#e3cd96);outline-offset:3px}

/* ---- píldora flotante con la cuenta atrás ---- */
.pdlp{position:fixed;left:clamp(12px,2.2vw,26px);bottom:clamp(12px,2.2vw,26px);z-index:9998;
  display:inline-flex;align-items:center;gap:11px;padding:11px 16px;cursor:pointer;
  background:rgba(14,14,17,.93);border:1px solid var(--ink-line-2,rgba(237,231,219,.3));
  backdrop-filter:blur(6px);box-shadow:0 18px 40px -18px rgba(0,0,0,.9);
  font-family:var(--mono);color:var(--chalk,#f2ede2);
  opacity:0;transform:translateY(12px);transition:opacity .45s cubic-bezier(.22,1,.36,1),
  transform .45s cubic-bezier(.22,1,.36,1),border-color .3s ease}
.pdlp.on{opacity:1;transform:none}
.pdlp:hover{border-color:var(--gold,#c3a35f)}
.pdlp__punto{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--gold,#c3a35f);
  box-shadow:0 0 0 0 rgba(195,163,95,.55);animation:pdlLatido 2.6s ease-out infinite}
@keyframes pdlLatido{0%{box-shadow:0 0 0 0 rgba(195,163,95,.5)}70%{box-shadow:0 0 0 9px rgba(195,163,95,0)}
  100%{box-shadow:0 0 0 0 rgba(195,163,95,0)}}
.pdlp__txt{display:flex;flex-direction:column;gap:3px;text-align:left}
.pdlp__n{font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:var(--chalk-mute,rgba(242,237,226,.52))}
.pdlp__c{font-size:14px;letter-spacing:.09em;color:var(--gold-light,#e3cd96);
  font-variant-numeric:tabular-nums}
@media (max-width:820px){
  .pdlm__caja{grid-template-columns:1fr;max-height:92vh}
  .pdlm__fig{height:clamp(148px,34vw,218px);border-right:0;
    border-bottom:1px solid var(--ink-line,rgba(237,231,219,.14))}
  .pdlm__fig img{object-position:50% 14%}
  .pdlm__t{font-size:clamp(24px,6.4vw,32px)}
}
@media (max-width:420px){
  .pdlm__fig{height:128px}
  .pdlm__txt{padding:20px 18px 24px}
  .pdlm__b1{width:100%;justify-content:center}
  .pdlp{left:10px;right:10px;bottom:10px;justify-content:center}
}
@media (max-height:600px){ .pdlm__fig{display:none} }
@media (prefers-reduced-motion:reduce){
  .pdlm,.pdlm__caja,.pdlp{transition:none}
  .pdlm__caja{transform:none}.pdlp{transform:none}
  .pdlp__punto{animation:none}
}
