/* En Blanco · estilos del tema. Sin JavaScript (clase .no-js) todo se ve en su versión estática. */
:root{
  /* Valores por defecto. WordPress (Apariencia → Personalizar → Estilos) los sobrescribe. */
  --c-ink:#272731;--c-paper:#F7F7F5;--c-white:#FFFFFF;--c-soft:#5E5E68;--c-line:#DCDCD7;--c-ink-soft:#AFAFB8;--c-on-ink:#C9C9D0;--c-ink-2:#3A3A45;--c-brush:currentColor;
  --display:'Archivo','Helvetica Neue',Arial,sans-serif;
  --note:'Instrument Serif',Georgia,serif;
  --body:'Instrument Sans','Helvetica Neue',Arial,sans-serif;
  --mono:'DM Mono',ui-monospace,Menlo,monospace;
  --fw-display:700;--ls-display:-.05em;--lh-display:.9;--fs-body:17px;--fs-mono:12px;--tt-mono:uppercase;--brush-size:1.06em;
  --k-display:1;--k-text:1;--k-space:1;--maxw:1440px;--gut-max:56px;--radius:0px;
  --gut:clamp(16px,4vw,var(--gut-max));
  --ease:cubic-bezier(.16,1,.3,1);
  color-scheme:light;
}
/* Esquemas de color: cada sección puede ser clara u oscura sin perder contraste */
:root,.scheme-light{--ink:var(--c-ink);--paper:var(--c-paper);--white:var(--c-white);--soft:var(--c-soft);--line:var(--c-line);--ink-soft:var(--c-ink-soft);--inv-bg:var(--c-ink);--inv-fg:var(--c-paper);--inv-soft:var(--c-on-ink)}
.scheme-dark{--ink:var(--c-paper);--paper:var(--c-ink);--white:var(--c-ink-2);--soft:var(--c-on-ink);--line:var(--c-ink-2);--ink-soft:var(--c-ink-soft);--inv-bg:var(--c-paper);--inv-fg:var(--c-ink);--inv-soft:var(--c-soft)}
.eb-sec{background:var(--paper);color:var(--ink)}
.eb-sec.sec{padding-top:calc(clamp(96px,13vw,176px) * var(--k-space) * var(--sec-k,1));padding-bottom:calc(clamp(96px,13vw,176px) * var(--k-space) * var(--sec-k,1))}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:var(--fs-body);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid currentColor;outline-offset:4px}
::selection{background:var(--ink);color:var(--paper)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.mono{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:var(--tt-mono)}
.quiet{color:var(--soft)}
.display{font-family:var(--display);font-weight:var(--fw-display);letter-spacing:var(--ls-display);line-height:var(--lh-display);text-wrap:balance}
/* la letra del logo: solo para destacar */
.brush{font-family:var(--note);font-style:italic;font-weight:400;letter-spacing:-.025em;font-size:var(--brush-size);line-height:1;color:var(--c-brush)}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;mix-blend-mode:difference;color:#fff;pointer-events:none}
.nav .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:16px;padding-bottom:16px}
.nav a{pointer-events:auto;text-decoration:none}
.nav .logo{display:block;height:var(--logo-h,42px);width:auto;animation:write 1.6s var(--ease) .2s both}
.nav ul{display:flex;gap:clamp(14px,2.4vw,32px);list-style:none;margin:0;padding:0}
.nav ul a{display:inline-block;padding:12px 0}
@media (max-width:640px){.nav ul li:not(:last-child){display:none}}
@keyframes write{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.ul{position:relative}
.ul::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.ul:hover::after{transform:scaleX(1);transform-origin:left}

/* ---------- hero: la tinta que se borra ---------- */
.hero{position:relative;background:var(--paper);overflow:hidden;isolation:isolate;height:100vh;height:100svh;min-height:560px}
.hero__page{position:absolute;inset:0;transition:opacity 1s var(--ease)}
.note{position:absolute;font-family:var(--mono);font-size:13px;color:var(--soft);white-space:nowrap}
.note b{display:block;font-family:var(--note);font-style:italic;font-weight:400;font-size:clamp(30px,3.2vw,48px);letter-spacing:-.01em;line-height:1;color:var(--ink);text-transform:none}
.hero.is-done .hero__page{opacity:.35}
@media (max-width:640px){.note b{font-size:26px}}
.hero__ink{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y}
.hero__ui{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:difference;color:#fff}
.hero__ui .wrap{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.hero .hero__claim{margin:0;font-size:calc(clamp(46px,min(8.2vw,15vh),136px) * var(--k-display));transition:opacity .8s var(--ease),filter .8s var(--ease)}
.hero__claim > span{display:block}
.hero__claim .brush{display:inline}
.hero.is-done .hero__claim{opacity:0;filter:blur(8px)}
.hero__foot{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(24px,4vh,40px);display:flex;justify-content:space-between;align-items:flex-end;gap:16px 40px;text-align:left}
.kick{display:block;margin:0 0 16px;font-family:var(--mono);font-size:var(--fs-mono);font-weight:400;font-style:normal;letter-spacing:.1em;text-transform:uppercase;line-height:1.4;color:var(--soft)}
.lede{margin:0 0 clamp(36px,5vw,56px);max-width:60ch;color:var(--soft);font-size:calc(clamp(17px,1.35vw,20px) * var(--k-text))}
.hero__kick{margin:0 0 clamp(18px,3vh,28px);font-family:var(--mono);font-weight:400;font-size:var(--fs-mono);letter-spacing:.12em;text-transform:uppercase;line-height:1.5;max-width:40ch;transition:opacity .6s}
.hero.is-done .hero__kick{opacity:0}
.hero__ctas{display:flex;flex-direction:column;gap:10px;pointer-events:auto}
.hero__cta{border-radius:var(--radius);align-self:flex-start;display:inline-flex;gap:12px;align-items:center;border:1px solid currentColor;padding:14px 22px;text-decoration:none;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.02em;transition:background .3s,color .3s}
.hero__cta:hover{background:#fff;color:#000}
.hero__foot p{margin:0;max-width:42ch;font-size:calc(clamp(15px,1.2vw,18px) * var(--k-text))}
@media (max-width:640px){.hero__ctas{display:flex;flex-direction:column;gap:10px;pointer-events:auto}
.hero__cta{border-radius:var(--radius);align-self:flex-start;display:inline-flex;gap:12px;align-items:center;border:1px solid currentColor;padding:14px 22px;text-decoration:none;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.02em;transition:background .3s,color .3s}
.hero__cta:hover{background:#fff;color:#000}
.hero__foot p{display:none}.hero__foot{justify-content:center}}
.hint{display:flex;align-items:center;gap:12px}
/* la frase nueva: centrada y por encima de todo */
.again{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;color:var(--ink)}
.again p{margin:0;font-size:calc(clamp(52px,min(9vw,17vh),150px) * var(--k-display))}
.again .row{display:block;overflow:hidden;padding:.02em .06em .16em}
.again .row > span{display:block;transform:translateY(110%);transition:transform 1.2s var(--ease)}
.hero.is-done .again .row > span{transform:none;transition-delay:.5s}
.hero.is-done .again .row:nth-child(2) > span{transition-delay:.68s}
.again .row .brush{font-size:1.08em}
.again small{margin-top:28px;opacity:0;transition:opacity .8s 1.3s}
.hero.is-done .again small{opacity:1}
.hero__btn{position:absolute;z-index:5;left:50%;transform:translateX(-50%);bottom:clamp(14px,3vh,30px);font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:var(--tt-mono);background:transparent;color:#fff;mix-blend-mode:difference;border:1px solid #fff;border-radius:999px;padding:12px 18px;min-height:44px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .5s}
.hero.is-touched .hero__btn{opacity:1;pointer-events:auto}
@media (max-width:640px),(pointer:coarse){.hero__btn{display:none}}
.meter{position:absolute;z-index:5;left:var(--gut);right:var(--gut);bottom:0;height:3px;mix-blend-mode:difference;pointer-events:none}
.meter i{display:block;height:100%;width:0;background:#fff;transition:width .3s}
.pulse{animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.caret{display:inline-block;width:.07em;height:.82em;background:currentColor;margin-left:.06em;vertical-align:-.05em;animation:blink 1.05s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* cinta que reacciona al scroll */
.band{background:var(--paper);color:var(--ink);overflow:hidden;padding:20px 0}
.band__track{display:flex;gap:44px;width:max-content;font-family:var(--display);font-weight:600;font-size:clamp(24px,2.8vw,40px);letter-spacing:-.035em;white-space:nowrap;will-change:transform}
.band__track i{font-style:normal;opacity:.35}
.band__track .brush{font-size:1.15em}

/* secciones */
.sec{padding:calc(clamp(96px,13vw,176px) * var(--k-space)) 0}
.sec--tight{padding-top:0}
.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:clamp(36px,5vw,64px)}
.head h2{margin:0;font-size:calc(clamp(46px,7vw,112px) * var(--k-display))}

/* estudio: frase que se ilumina palabra a palabra */
.studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(32px,5vw,80px);align-items:start}
.portrait{position:relative;aspect-ratio:4/5;background:var(--inv-bg);color:var(--inv-fg);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;padding:20px;overflow:hidden;margin:0}
.portrait .big{font-family:var(--note);font-style:italic;font-size:clamp(160px,20vw,300px);line-height:.8;opacity:.14;position:absolute;right:.04em;bottom:.02em}
.reveal{margin:0;font-family:var(--display);font-weight:600;font-size:calc(clamp(28px,3.4vw,54px) * var(--k-text));letter-spacing:-.04em;line-height:1.1}
.reveal .w{opacity:.18;transition:opacity .25s}
.reveal .w.on{opacity:1}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px}
.facts div{background:var(--paper);padding:20px;display:flex;flex-direction:column;gap:8px}
.facts strong{font-family:var(--display);font-stretch:125%;font-weight:700;font-size:clamp(56px,6.4vw,96px);letter-spacing:-.06em;line-height:.85}
@media (max-width:860px){.studio{grid-template-columns:1fr}.portrait{max-width:420px}}
@media (max-width:520px){.facts{grid-template-columns:1fr}}

/* proyectos: galería horizontal fijada */
.hs{position:relative;background:var(--paper);color:var(--ink)}
.hs__sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:24px;padding-top:72px}
.hs__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.hs__head h2{margin:0;font-size:calc(clamp(44px,6vw,96px) * var(--k-display))}
.hs__track{display:flex;gap:clamp(16px,2vw,32px);padding:0 var(--gut);will-change:transform}
.card{flex:0 0 auto;width:clamp(280px,34vw,520px);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:14px}
.card__img{position:relative;height:min(52vh,620px);overflow:hidden;background:var(--white);border-radius:var(--radius)}
.card__img img{position:absolute;inset:0;width:120%;max-width:none;height:100%;object-fit:cover;left:-10%;transform:translateX(var(--px,0)) scale(1.04);transition:transform .9s var(--ease),filter .9s var(--ease)}
.card:hover .card__img img{transform:translateX(var(--px,0)) scale(1.1)}
.card__img::after{content:"";position:absolute;inset:0;background:var(--paper);transform-origin:top;transform:scaleY(var(--mask,0));transition:transform 1.1s var(--ease)}
.card__meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.card__name{font-family:var(--note);font-style:italic;font-size:calc(clamp(32px,2.8vw,44px) * var(--k-display));line-height:1.05}
.card--end{width:clamp(260px,28vw,420px);justify-content:center}
.card--end .card__name{font-size:clamp(40px,4.2vw,68px);text-wrap:balance}
.hs__bar{height:2px;background:var(--line);margin:0 var(--gut)}
.hs__bar i{display:block;height:100%;width:0;background:var(--ink)}
.hs__foot{display:flex;justify-content:space-between;gap:16px;color:var(--soft)}
@media (max-width:760px){
  .hs{height:auto!important}
  .hs__sticky{position:relative;height:auto;padding:96px 0}
  .hs__track{flex-direction:column;transform:none!important}
  .card,.card--end{width:100%}
  .card__img{height:70vw}
  .hs__bar,.hs__foot .count{display:none}
}

/* frase con fotos dentro */
.st-wrap{margin-bottom:clamp(64px,9vw,128px)}
.st{margin:0;font-size:calc(clamp(38px,6.2vw,100px) * var(--k-display));line-height:1.02;text-wrap:balance}
.pill{display:inline-block;height:.74em;width:0;border-radius:999px;overflow:hidden;vertical-align:-.04em;transition:width 1.4s var(--ease) .2s;position:relative}
.pill img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.st.in .pill{width:1.8em}
.st.in .pill + .pill{transition-delay:.45s}
.st .brush{display:inline-block}

/* ---------- manifiesto: lo de siempre se deshace al bajar ---------- */
.mf{position:relative;height:600vh}
.mf__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(88px,11vh,120px) 0 clamp(24px,4vh,40px)}
.mf__top,.mf__foot,.pz__top,.pz__steps{width:100%}
.mf__top,.mf__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;position:relative;z-index:2}
.mf__top h2{margin:0;font-size:calc(clamp(40px,5vw,80px) * var(--k-display))}
.mf__dots{display:flex;gap:8px}
.mf__dots i{display:block;width:28px;height:2px;background:var(--line);transition:background .4s}
.mf__dots i.on{background:var(--ink)}
.mf__stage{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.mf__item{grid-area:1/1;width:100%;padding:0 var(--gut);text-align:center;display:flex;flex-direction:column;align-items:center;gap:clamp(4px,1vh,12px);opacity:0;will-change:opacity,transform}
.mf__before{margin:0;color:var(--soft)}
.mf__old{margin:0;font-size:calc(clamp(44px,min(13.5vw,calc(170vw / var(--len,8))),230px) * var(--k-display));white-space:nowrap;line-height:.95}
.mf__old .c{display:inline-block;will-change:transform,opacity,filter}
.mf__item{position:relative}
.mf__new{position:absolute;left:50%;top:40px;transform:translateX(-50%);width:92%;margin:0;font-size:calc(clamp(30px,4.4vw,76px) * var(--k-text));line-height:1.08;max-width:22ch;text-wrap:balance}
.mf__new .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .04em .14em}
.mf__new .w > span{display:inline-block;will-change:transform}
.mf__num{position:absolute;right:var(--gut);bottom:-.18em;font-family:var(--note);font-style:italic;font-size:clamp(200px,30vw,520px);line-height:1;color:var(--ink);opacity:.05;pointer-events:none}
.mf.static{height:auto}
.mf.static .mf__sticky{position:relative;height:auto;gap:40px}
.mf.static .mf__stage{position:relative;display:flex;flex-direction:column;gap:56px}
.mf.static .mf__item{opacity:1}.mf.static .mf__new{position:static;transform:none;width:auto}.mf.static .mf__num{display:none}

/* ---------- servicios: paneles que se abren ---------- */
.pnl{display:flex;gap:10px;height:clamp(620px,84vh,820px)}
.pn{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border:1px solid var(--ink);border-radius:var(--radius);background:var(--paper);color:var(--ink);cursor:pointer;transition:flex 1.1s var(--ease),background .6s var(--ease),color .6s var(--ease)}
.pn:not(.is-on):hover{background:var(--white)}
.pn.is-on{flex:6 1 0;background:var(--inv-bg);color:var(--inv-fg);border-color:var(--inv-bg);cursor:default}
.pn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.pn__closed{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:22px 0;transition:opacity .35s}
.pn__v{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--display);font-weight:700;font-size:clamp(20px,2vw,34px);letter-spacing:-.04em;white-space:nowrap}
.pn.is-on .pn__closed{opacity:0;pointer-events:none}
.pn__open{position:absolute;top:0;left:0;bottom:0;width:calc((min(100vw,1440px) - 2*var(--gut) - 50px)*.545);padding:clamp(24px,3vw,44px);display:flex;flex-direction:column;gap:14px;opacity:0;transform:translateX(-24px);transition:opacity .35s,transform .9s var(--ease);pointer-events:none}
.pn.is-on .pn__open{opacity:1;transform:none;transition-delay:.3s;pointer-events:auto}
.pn__top{display:flex;justify-content:space-between;gap:16px;color:var(--inv-soft)}
.pn__open h3{margin:clamp(8px,2vh,28px) 0 0;font-size:calc(clamp(34px,3.8vw,68px) * var(--k-display));font-stretch:104%}
.pn__s{margin:0;font-size:calc(clamp(20px,2vw,30px) * var(--k-text));color:var(--inv-soft)}
.pn__grid{margin-top:auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px 40px;align-items:end;position:relative;z-index:1}
.pn__grid p{margin:0;color:var(--inv-soft);max-width:44ch}
.pn__grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.pn__grid li::before{content:"— ";color:var(--inv-soft)}
.pn__a{grid-column:1/-1;justify-self:start;display:inline-flex;gap:12px;align-items:center;background:var(--inv-fg);color:var(--inv-bg);border-radius:var(--radius);text-decoration:none;padding:16px 24px;font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.02em;transition:transform .4s var(--ease)}
.pn__a:hover{transform:translateY(-3px)}
.pn__num{position:absolute;right:-.06em;bottom:-.26em;font-family:var(--note);font-style:italic;font-size:clamp(220px,30vw,460px);line-height:1;opacity:0;pointer-events:none;transition:opacity .6s}
.pn.is-on .pn__num{opacity:.08;transition-delay:.4s}
@media (max-width:860px){
  .pnl{flex-direction:column;height:auto;gap:8px}
  .pn,.pn.is-on{flex:none}
  .pn__closed{position:relative;flex-direction:row;padding:18px 20px;gap:16px}
  .pn__v{writing-mode:horizontal-tb;transform:none;font-size:28px;margin-right:auto}
  .pn.is-on .pn__closed{display:none}
  .pn__open{position:relative;width:auto;display:none;transform:none}
  .pn.is-on .pn__open{display:flex}
  .pn__open h3{margin-top:8px}
  .pn__grid{grid-template-columns:1fr;margin-top:20px}
}

/* ---------- proceso: un garabato que se convierte en idea ---------- */
.pz{position:relative;height:420vh;background:var(--paper);color:var(--ink)}
.pz__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(88px,11vh,120px) 0 clamp(28px,5vh,56px)}
.pz__top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;position:relative;z-index:2}
.pz__time{margin:16px 0 0;color:var(--ink-soft);max-width:60ch;line-height:1.7}
.pz__top h2{margin:0;font-size:calc(clamp(46px,6.4vw,104px) * var(--k-display))}
.pz__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pz__svg path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.pz__ghost{stroke:var(--line);stroke-width:1.5}
.pz__path{stroke:var(--ink);stroke-width:2.6}
.pz__mark circle{fill:var(--paper);stroke:var(--ink);stroke-width:1.5;transition:fill .4s}
.pz__mark text{fill:var(--ink);font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:var(--tt-mono);opacity:0;transition:opacity .5s}
.pz__mark.on circle{fill:var(--ink)}
.pz__mark.on text{opacity:1}
.pz__idea{fill:var(--ink);transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .9s var(--ease)}
.pz.done .pz__idea{transform:scale(1)}
.pz__ideaLbl{font-family:var(--note);font-style:italic;font-size:clamp(22px,2.2vw,34px);fill:var(--ink);opacity:0;transition:opacity .8s .2s}
.pz.done .pz__ideaLbl{opacity:1}
.pz__steps{position:relative;z-index:2;display:grid;min-height:clamp(150px,22vh,220px)}
.pz__step{grid-area:1/1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 28px;align-items:end;max-width:760px;opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .8s var(--ease)}
.pz__step.on{opacity:1;transform:none}
.pz__step strong{grid-row:1/3;font-family:var(--note);font-style:italic;font-weight:400;font-size:clamp(110px,13vw,210px);line-height:.8}
.pz__step h3{margin:0;font-family:var(--display);font-weight:700;font-size:calc(clamp(32px,3.6vw,56px) * var(--k-display));letter-spacing:-.04em;line-height:1}
.pz__step p{margin:0;color:var(--soft);max-width:40ch;font-size:calc(clamp(16px,1.3vw,19px) * var(--k-text))}
.pz.static{height:auto}.pz.static .pz__sticky{position:relative;height:auto;gap:48px}.pz.static .pz__svg{display:none}
.pz.static .pz__steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}.pz.static .pz__step{grid-area:auto;opacity:1;transform:none;grid-template-columns:1fr}.pz.static .pz__step strong{grid-row:auto}
.pz.static .pz__step strong{font-size:clamp(72px,7vw,120px)}
.pz.static .pz__step h3{font-size:clamp(22px,2.1vw,32px);overflow-wrap:anywhere}

/* ---------- preguntas frecuentes ---------- */
.faq__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:40px clamp(40px,7vw,120px);align-items:start}
.faq__side{position:sticky;top:110px;display:flex;flex-direction:column;gap:20px}
.faq__side h2{margin:0;font-size:calc(clamp(46px,6vw,96px) * var(--k-display))}
.faq__side .lede{margin:0}
.faq__side a{align-self:flex-start;font-family:var(--display);font-weight:600;font-size:18px;text-decoration:none;border-bottom:1px solid currentColor;padding:4px 0}
.fq{border-bottom:1px solid var(--line);position:relative}
.fq:first-child{border-top:1px solid var(--ink)}
.fq::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.fq:hover::after,.fq[open]::after{transform:scaleX(1)}
.fq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px minmax(0,1fr) 28px;gap:16px;align-items:baseline;padding:clamp(20px,2.4vw,30px) 0}
.fq summary::-webkit-details-marker{display:none}
.fq summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.fq .n{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.08em;color:var(--soft);transition:color .4s}
.fq .q{font-family:var(--display);font-weight:600;font-size:calc(clamp(22px,2.3vw,36px) * var(--k-display));letter-spacing:-.035em;line-height:1.12;transition:transform .6s var(--ease)}
.fq:hover .q{transform:translateX(10px)}
.fq[open] .q{font-family:var(--note);font-style:italic;font-weight:400;letter-spacing:-.02em;transform:none}
.fq .pl{position:relative;width:22px;height:22px;align-self:center}
.fq .pl::before,.fq .pl::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--ink);transition:transform .6s var(--ease)}
.fq .pl::after{transform:rotate(90deg)}
.fq[open] .pl::after{transform:rotate(0)}
.fq .a{overflow:hidden}
.fq .a p{margin:0;padding:0 28px 28px 60px;color:var(--soft);font-size:calc(clamp(17px,1.35vw,20px) * var(--k-text));max-width:58ch}
@media (max-width:860px){.faq__grid{grid-template-columns:1fr}.faq__side{position:static}.fq .a p{padding-left:0}}

/* contacto */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(32px,5vw,80px);align-items:start}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
.sheet{border-radius:var(--radius);background:var(--white);border:1px solid var(--line);box-shadow:0 40px 70px -50px rgba(39,39,49,.45);padding:clamp(24px,4vw,56px);display:flex;flex-direction:column;gap:28px}
.sheet__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--soft)}
.sheet textarea{width:100%;min-height:220px;border:0;resize:vertical;background:transparent;font-family:var(--note);font-style:italic;font-size:clamp(30px,3.2vw,48px);line-height:1.15;color:var(--ink);caret-color:var(--ink);padding:0}
.sheet textarea::placeholder{color:var(--ink-soft)}
.sheet textarea:focus{outline:none}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.fields label{display:flex;flex-direction:column;gap:6px;color:var(--soft)}
.fields input{font-family:var(--body);font-size:20px;letter-spacing:0;text-transform:none;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:10px 0;color:var(--ink);border-radius:0}
.fields input:focus{outline:none;border-bottom-width:2px}
@media (max-width:600px){.fields{grid-template-columns:1fr}}
.send{border-radius:var(--radius);text-decoration:none;align-self:flex-start;display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:var(--paper);border:0;padding:20px 30px;min-height:44px;font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.02em;cursor:pointer;transition:transform .4s var(--ease)}
.send:hover{transform:translateY(-3px)}
.thanks{display:none;flex-direction:column;gap:14px}
.sheet.sent .form{display:none}
.sheet.sent .thanks{display:flex}
.curtain{position:fixed;inset:0;z-index:95;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .75s var(--ease);pointer-events:none}
.curtain.go{transform:scaleY(1)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* pie */
.foot{background:var(--paper);color:var(--ink);padding:80px 0 28px}
.foot .row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;color:var(--soft)}
.foot .row a{color:var(--ink);text-decoration:none;display:inline-block;padding:8px 0}
.foot__logo{display:block;margin:56px 0 40px;color:inherit}
.foot .big{display:block;width:100%;height:auto}
@supports (animation-timeline: view()){
  .foot .big{animation:write linear both;animation-timeline:view();animation-range:entry 10% cover 45%}
}

/* quedarse en blanco */
.blank{position:fixed;inset:0;z-index:80;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:24px;opacity:0;visibility:hidden;transition:opacity 1.2s var(--ease),visibility 0s 1.2s}
.blank.on{opacity:1;visibility:visible;transition:opacity 1.6s var(--ease)}
.blank .display{font-size:calc(clamp(40px,6vw,92px) * var(--k-display));margin:0}

/* cursor */
.cur{position:fixed;left:0;top:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;z-index:90;opacity:0;transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),opacity .3s}
.cur .lab{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:var(--tt-mono);color:#000;opacity:0;transition:opacity .2s}
.cur.big{width:64px;height:64px;margin:-32px 0 0 -32px}
.cur.say{width:84px;height:84px;margin:-42px 0 0 -42px}
.cur.say .lab{opacity:1}
.cur.erase{width:110px;height:110px;margin:-55px 0 0 -55px;background:transparent;border:1.5px solid #fff}
.cur.erase .lab{opacity:1;color:#fff}
@media (pointer:coarse){.cur{display:none}}


/* ======================= PÁGINAS DE PROYECTO ======================= */
.it{font-family:var(--note);font-style:italic;font-weight:400;letter-spacing:-.025em}
/* cabecera */
.ph{padding:clamp(130px,16vw,190px) 0 clamp(40px,5vw,64px)}
.ph__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:clamp(20px,3vw,36px)}
.ph__title{margin:0;font-size:calc(clamp(72px,17vw,280px) * var(--k-display));line-height:.82;letter-spacing:-.065em;font-stretch:112%}
.ph__title .ch{display:inline-block;transition:transform 1.1s var(--ease)}
.js .ph__title .ch{transform:translateY(105%)}
.ph__title .ln{display:block;overflow:hidden;padding-bottom:.04em}
.js body.ready .ph__title .ch{transform:none}
.ph__line{margin:clamp(20px,3vw,36px) 0 0;font-size:clamp(28px,3.6vw,56px);line-height:1.05;max-width:22ch;transition:opacity 1s var(--ease) .5s,transform 1s var(--ease) .5s}
.js .ph__line{opacity:0;transform:translateY(20px)}
.js body.ready .ph__line{opacity:1;transform:none}
.meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);margin-top:clamp(40px,6vw,80px)}
.meta div{padding:16px 16px 0 0;display:flex;flex-direction:column;gap:6px}
.meta dd{margin:0;font-size:clamp(20px,1.7vw,26px);text-transform:none;letter-spacing:-.01em;line-height:1.1}
.meta dt{color:var(--soft)}
@media (max-width:720px){.meta{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}}

/* portada: la imagen se abre al bajar */
.cover{height:110vh;position:relative}
.cover__in{position:sticky;top:0;height:100vh;overflow:hidden;clip-path:inset(var(--ci,12%) var(--ci,12%) var(--ci,12%) var(--ci,12%) round var(--cr,24px))}
.cover__in img{width:100%;height:100%;object-fit:cover;transform:scale(var(--cs,1.2))}
.cover__cap{position:absolute;left:var(--gut);bottom:28px;color:#fff;mix-blend-mode:difference;z-index:2}

/* bloques */
.chap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px clamp(32px,5vw,80px);align-items:start}
.chap__lab{display:flex;flex-direction:column;gap:10px;position:sticky;top:100px}
.chap__lab .it{margin:0;font-size:clamp(34px,3.4vw,52px);line-height:1;font-weight:400}
.p-big{margin:0;font-family:var(--display);font-weight:600;font-size:calc(clamp(26px,3.1vw,48px) * var(--k-text));letter-spacing:-.04em;line-height:1.12}
.p-big .w{opacity:.16;transition:opacity .3s}
.p-big .w.on{opacity:1}
.body2{margin:28px 0 0;max-width:56ch;color:var(--soft);font-size:calc(clamp(17px,1.3vw,20px) * var(--k-text))}
@media (max-width:820px){.chap{grid-template-columns:1fr}.chap__lab{position:static}}

/* pareja de fotos a distinta velocidad */
.pair{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(16px,3vw,40px);align-items:start}
.pair figure{margin:0;overflow:hidden;position:relative}
.pair figure:nth-child(2){margin-top:clamp(80px,14vw,220px)}
.pair img{width:100%;aspect-ratio:4/5;object-fit:cover;transform:translateY(var(--py,0)) scale(1.12)}
.pair figcaption{margin-top:12px}
.js .reveal-img{clip-path:inset(100% 0 0 0);transition:clip-path 1.4s var(--ease)}
.js .reveal-img.in{clip-path:inset(0 0 0 0)}

/* la idea */
.idea{background:var(--paper);color:var(--ink);text-align:center}
.idea .mono{color:var(--soft)}
.idea__q{margin:28px auto 0;max-width:20ch;}
.idea__q p{margin:0;font-family:var(--note);font-style:italic;font-size:clamp(44px,6.6vw,112px);line-height:1;letter-spacing:-.03em}
.idea__q .w{display:inline-block;opacity:0;transform:translateY(.3em);filter:blur(6px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease)}
.idea.in .idea__q .w{opacity:1;transform:none;filter:none}
.idea__t{margin:36px auto 0;max-width:52ch;color:var(--soft)}

/* sistema */
.sys{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(16px,3vw,40px)}
.chips{display:flex;height:clamp(280px,38vw,520px);gap:8px}
.chip{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;transition:flex 1s var(--ease);min-width:0}
.chip:hover{flex:2.4}
.chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){.chips{flex-wrap:wrap;height:auto}.chip,.chip:hover{flex:1 1 calc(50% - 4px);min-height:150px}}
.spec{border-radius:var(--radius);border:1px solid var(--line);padding:clamp(20px,3vw,36px);display:flex;flex-direction:column;justify-content:space-between;gap:24px;background:var(--white)}
.spec .aa{font-family:var(--display);font-weight:700;font-size:clamp(110px,13vw,200px);line-height:.8;letter-spacing:-.06em;font-stretch:100%;transition:font-stretch 1s var(--ease)}
.spec:hover .aa{font-stretch:125%}
.spec .aa .it{font-weight:400;letter-spacing:-.03em}
@media (max-width:820px){.sys{grid-template-columns:1fr}}

/* imagen ancha */
.wide{margin:0;overflow:hidden;height:min(86vh,860px)}
.wide img{width:100%;height:120%;object-fit:cover;transform:translateY(var(--wy,0))}

/* lo que cambió */
.wins{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.wins li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;padding:26px 0;border-bottom:1px solid var(--line);align-items:baseline}
.wins strong{font-family:var(--display);font-weight:600;font-size:clamp(24px,2.6vw,40px);letter-spacing:-.04em;line-height:1.1}
.quote{margin:clamp(56px,8vw,100px) 0 0;padding:clamp(24px,4vw,48px);border:1px dashed var(--ink-soft);text-align:center}
.quote p{margin:0 auto;max-width:28ch;font-size:clamp(28px,3vw,44px);line-height:1.1}

/* siguiente proyecto */
.next{position:relative;display:block;background:var(--paper);color:var(--ink);text-decoration:none;overflow:hidden;padding:clamp(80px,12vw,160px) 0;isolation:isolate}
.next__img{position:absolute;inset:0;z-index:-1;opacity:0;transform:scale(1.15);transition:opacity .9s var(--ease),transform 1.6s var(--ease)}
.next__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2) brightness(.55)}
.next:hover .next__img,.next:focus-visible .next__img{opacity:1;transform:scale(1)}
.next__name{margin:16px 0 0;font-size:calc(clamp(72px,15vw,240px) * var(--k-display));line-height:.85;letter-spacing:-.065em;font-stretch:100%;transition:font-stretch 1s var(--ease)}
.next:hover .next__name{font-stretch:125%}
.next .row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.next .go{font-family:var(--display);font-weight:600;font-size:20px}

.hero__ui .brush{color:#fff}
/* ---------- logotipo propio y menú con fondo ---------- */
.nav .custom-logo{display:block;height:var(--logo-h,42px);width:auto;max-width:none}
.foot .big.custom-logo{width:100%;height:auto;max-height:60vh;object-fit:contain;object-position:left center}
.nav-solid .nav{mix-blend-mode:normal;color:var(--ink);background:var(--paper);border-bottom:1px solid var(--line)}
.nav-solid .crumbs{top:110px}

/* ---------- piezas de WordPress ---------- */
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ink);color:var(--paper);padding:12px 16px;font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:var(--tt-mono);text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.admin-bar .nav{top:32px}
@media (max-width:782px){.admin-bar .nav{top:46px}}
.nav ul .current-menu-item > a::after{transform:scaleX(1)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--soft);line-height:1.4}
.consent input{margin-top:3px;accent-color:var(--ink);width:18px;height:18px;flex:none}
.consent a{color:var(--ink)}
.form{display:flex;flex-direction:column;gap:28px}
.form__error{margin:0;padding:14px 16px;border:1px solid #b3261e;color:#b3261e;font-size:15px}
.contact__text{display:flex;flex-direction:column;gap:18px}
.contact__title{margin:0;font-size:calc(clamp(44px,5.4vw,84px) * var(--k-display))}
.portrait--img .portrait__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portrait--img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(39,39,49,.35),transparent 30%,transparent 70%,rgba(39,39,49,.45))}
.portrait__lab,.portrait__cap{position:relative;z-index:1}
.portrait{justify-content:space-between}
.portrait__cap{margin-top:auto}
.pz__steps{list-style:none;margin:0;padding-top:0;padding-bottom:0}
.fq .q{margin:0}
.card h3.card__name,.card h2.card__name{margin:0;font-weight:400}
.cover__note{margin-top:12px}
.sec--tight{padding-top:0}
.crumbs{position:absolute;top:96px;left:0;right:0;color:var(--soft);z-index:3}
.admin-bar .crumbs{top:128px}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.project{position:relative}
.p-big--sm{font-size:clamp(22px,2.2vw,34px)}
.chap__lab--static{position:static}
.quote{margin-left:0;margin-right:0}
.quote blockquote{margin:16px 0 0}
.quote p{margin:0 auto}
.quote figcaption{margin-top:16px}
.e404{min-height:80vh;display:grid;place-items:center;text-align:center;padding:140px 0 80px}
.e404 h1{font-size:calc(clamp(48px,10vw,140px) * var(--k-display));margin:0 0 20px}
.e404 .lede{margin:0 auto 28px}
/* páginas de texto: aviso legal, privacidad, blog */
.prose-page{padding-top:clamp(130px,16vw,190px)}
.prose-wrap{max-width:960px}
.prose-title{font-size:calc(clamp(44px,7vw,96px) * var(--k-display));margin:0 0 clamp(32px,5vw,56px)}
.prose{font-size:calc(18px * var(--k-text));line-height:1.7;max-width:68ch}
.prose h2{font-family:var(--display);font-weight:700;letter-spacing:-.04em;line-height:1.05;font-size:clamp(28px,3vw,40px);margin:2em 0 .6em}
.prose h3{font-family:var(--display);font-weight:600;letter-spacing:-.03em;font-size:clamp(22px,2vw,28px);margin:1.6em 0 .5em}
.prose a{text-underline-offset:3px}
.prose img{height:auto}
.prose blockquote{margin:2em 0;padding-left:24px;border-left:2px solid var(--ink);font-family:var(--note);font-style:italic;font-size:1.5em;line-height:1.25}
.prose-thumb{margin:0 0 40px}
.post-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.post-list li{border-bottom:1px solid var(--line)}
.post-list a{display:block;padding:28px 0;text-decoration:none}
.post-list h2{margin:8px 0;font-family:var(--display);font-weight:600;letter-spacing:-.035em;font-size:clamp(24px,2.6vw,38px);line-height:1.1}
.post-list p{margin:0}
.pager{margin-top:40px}
.pager .nav-links{display:flex;gap:16px;flex-wrap:wrap}
.pager a,.pager span{padding:10px 0}
/* índice de proyectos */
.archive-sec{padding-top:clamp(130px,16vw,190px)}
.archive-sec .head h1{margin:0;font-size:calc(clamp(46px,7vw,112px) * var(--k-display))}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:56px clamp(16px,2vw,32px)}
.card--grid{width:auto}
.card--grid .card__img{height:auto;aspect-ratio:4/5;background:var(--line)}
.card--grid .card__img img{width:100%;left:0}
.card--grid .card__name{color:var(--ink)}
.foot__legal ul{display:flex;gap:16px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.foot__legal a{padding:0!important}

/* ---------- sin JavaScript (o en el editor): todo visible, sin efectos ---------- */
.no-js .hint{display:none}
.no-js .st .pill,.editor-styles-wrapper .st .pill{width:1.8em}
.no-js .hs__sticky{position:relative;height:auto;padding:120px 0 96px}
.no-js .hs__track{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px}
.no-js .card{scroll-snap-align:start}
.no-js .hs__bar,.no-js .hs__foot .count{display:none}
.no-js .pnl{flex-direction:column;height:auto;gap:10px}
.no-js .pn,.no-js .pn.is-on{flex:none;background:var(--inv-bg);color:var(--inv-fg);cursor:default}
.no-js .pn__closed{display:none}
.no-js .pn__open{position:relative;width:auto;opacity:1;transform:none;pointer-events:auto}
.no-js .pn__num{opacity:.08}
.no-js .pnl__hint{display:none}
.no-js .blank,.no-js .cur,.no-js .curtain{display:none}
/* El editor muestra la versión estática para poder leer y editar con calma */
.editor-styles-wrapper .hero{height:auto;min-height:0;padding:120px 0 140px}
.editor-styles-wrapper .hero__ui{position:relative}
.editor-styles-wrapper .hero__foot{position:relative;left:0;right:0;bottom:0;margin-top:40px;width:100%}
.editor-styles-wrapper .hero__btn,.editor-styles-wrapper .meter,.editor-styles-wrapper .hint{display:none}
.editor-styles-wrapper .hs__sticky{position:relative;height:auto;padding:96px 0}
.editor-styles-wrapper .hs__track{overflow-x:auto}
.editor-styles-wrapper .pnl{flex-direction:column;height:auto}
.editor-styles-wrapper .pn,.editor-styles-wrapper .pn.is-on{flex:none;background:var(--inv-bg);color:var(--inv-fg)}
.editor-styles-wrapper .pn__closed{display:none}
.editor-styles-wrapper .pn__open{position:relative;width:auto;opacity:1;transform:none}
.editor-styles-wrapper .cover{height:auto}
.editor-styles-wrapper .cover__in{position:relative;height:60vh}
.editor-styles-wrapper .crumbs{display:none}

@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .again .row > span{transform:none}
  .reveal .w{opacity:1}
  .js .ph__title .ch,.js .ph__line{transform:none;opacity:1}
  .p-big .w,.idea__q .w{opacity:1;transform:none;filter:none}
  .js .reveal-img{clip-path:none}
  .curtain{display:none}
}
