:root{
  --paper:#f2f0ea;
  --ink:#11110f;
  --accent:#e84253;
  --accent-soft:#f6b9c0;
  --line:rgba(17,17,15,.22);
  --pad:clamp(18px,2.1vw,34px);
  --ease:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1;
  overflow-x:hidden;
  cursor:none;
}
button,a{font:inherit;color:inherit}
button{border:0;background:none;padding:0;cursor:none}
a{text-decoration:none}
::selection{background:var(--ink);color:var(--paper)}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
}

.noise{
  pointer-events:none;position:fixed;inset:0;z-index:90;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  mix-blend-mode:multiply
}

.topbar{
  position:fixed;inset:0 0 auto 0;height:72px;z-index:70;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 var(--pad);mix-blend-mode:difference;color:#fff;
  pointer-events:none
}
.topbar button{pointer-events:auto}
.wordmark,.nav-link{
  font-size:12px;font-weight:800;letter-spacing:-.02em;text-transform:uppercase
}
nav{display:flex;gap:22px}
.nav-link{position:relative}
.nav-link::after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)
}
.nav-link:hover::after{transform:scaleX(1);transform-origin:left}

.home{position:relative;z-index:1}
.intro{
  min-height:100vh;min-height:100svh;padding:112px var(--pad) 28px;
  display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;
  position:relative;overflow:hidden
}
.intro-copy{align-self:center;grid-column:1 / -1;width:100%}
.line{
  margin:0;overflow:hidden;font-size:clamp(57px,9.2vw,156px);font-weight:800;
  letter-spacing:-.075em;line-height:.82;text-transform:uppercase
}
.line span{display:block;will-change:transform}
.line-indent{padding-left:17vw}
.aside-note{
  position:absolute;right:var(--pad);top:50%;transform:rotate(90deg) translateX(50%);
  transform-origin:right center;font-size:10px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;white-space:nowrap
}
.aside-note::before{content:"●";font-size:7px;margin-right:7px;vertical-align:1px}
.scroll-note{align-self:end;font-size:10px;font-weight:700;letter-spacing:.05em}

.manifesto{
  min-height:105vh;min-height:105svh;background:var(--ink);color:var(--paper);
  padding:30px var(--pad) 38px;display:flex;flex-direction:column;justify-content:space-between;
  position:relative
}
.manifesto-top{font-size:10px;font-weight:700;letter-spacing:.08em}
.manifesto-copy{
  margin:auto 0;font-size:clamp(48px,8vw,130px);font-weight:800;letter-spacing:-.07em;
  line-height:.84;text-transform:uppercase;max-width:1300px
}
.strike-word{position:relative;display:inline-block}
.strike-word::after{
  content:"";position:absolute;left:-1%;right:-1%;top:51%;height:clamp(4px,.55vw,8px);background:var(--accent);
  transform:scaleX(0);transform-origin:left;transition:transform 1.1s .2s var(--ease)
}
.manifesto.in-view .strike-word::after{transform:scaleX(1)}
.microcopy{margin:0 0 0 auto;max-width:380px;font-size:12px;line-height:1.3;text-transform:uppercase}

.big-type{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;border-bottom:1px solid var(--ink)}
.marquee{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);overflow:hidden;padding:11px 0}
.marquee-track{display:flex;width:max-content;animation:marquee 17s linear infinite}
.marquee-track span{font-size:13px;font-weight:800;letter-spacing:.02em;white-space:nowrap;padding-right:14px}
@keyframes marquee{to{transform:translateX(-50%)}}
.big-type-inner{flex:1;padding:var(--pad);display:flex;flex-direction:column;justify-content:space-between}
.tiny{font-size:10px;font-weight:700;letter-spacing:.06em}
.letters{
  display:flex;justify-content:space-between;align-items:flex-end;gap:0;
  font-size:clamp(70px,15.6vw,250px);font-weight:900;letter-spacing:-.105em;line-height:.72;
  margin-left:-.04em
}
.letters span{display:inline-block;will-change:transform}

.choice{
  min-height:78vh;min-height:78svh;padding:var(--pad);display:flex;flex-direction:column;justify-content:space-between;
  background:var(--paper)
}
.choice>p{margin:0;font-size:10px;font-weight:700;letter-spacing:.08em}
.choice-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.choice-links button{
  font-size:clamp(44px,7.1vw,116px);font-weight:800;letter-spacing:-.065em;line-height:.95;
  text-transform:uppercase;transition:opacity .25s ease
}
.choice-links:hover button{opacity:.18}
.choice-links button:hover{opacity:1}
.choice-links span{font-size:.45em;display:inline-block;transition:transform .35s var(--ease)}
.choice-links button:hover span{transform:translate(8px,-8px)}
.choice-foot{font-size:10px;font-weight:700;letter-spacing:.04em;align-self:flex-end}

.panel{
  position:fixed;inset:0;z-index:60;overflow:auto;overscroll-behavior:contain;
  transform:translateY(102%);visibility:hidden;transition:transform .72s var(--ease),visibility 0s .72s;
}
.panel.is-open{transform:translateY(0);visibility:visible;transition:transform .72s var(--ease),visibility 0s}
body.panel-open{overflow:hidden}
.panel-bar{
  min-height:72px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:4;border-bottom:1px solid currentColor;background:inherit
}
.panel-bar span,.panel-close{font-size:11px;font-weight:800;letter-spacing:.06em}
.panel-close{position:relative}
.panel-close::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transition:.3s var(--ease)}
.panel-close:hover::after{transform:scaleX(1)}

.panel-work{background:var(--paper);color:var(--ink)}
.work-intro{
  min-height:31vh;padding:var(--pad);display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--ink)
}
.work-intro p{
  margin:0;max-width:730px;font-size:clamp(34px,5vw,80px);font-weight:800;letter-spacing:-.055em;line-height:.92;text-transform:uppercase
}
.work-intro span{font-size:10px;font-weight:700;letter-spacing:.06em}
.project-list{position:relative;z-index:2}
.project-row{
  min-height:112px;padding:17px var(--pad);display:grid;
  grid-template-columns:60px minmax(0,1fr) 210px 35px;align-items:center;gap:16px;
  border-bottom:1px solid var(--ink);position:relative;transition:padding .35s var(--ease),background-color .2s,color .2s
}
.project-row::before{
  content:"";position:absolute;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom;
  transition:transform .4s var(--ease);z-index:-1
}
.project-row:hover::before{transform:scaleY(1)}
.project-row:hover{color:var(--paper);padding-left:calc(var(--pad) + 11px)}
.project-n,.project-kind,.arrow{font-size:10px;font-weight:700;letter-spacing:.055em}
.project-title{font-size:clamp(35px,5.5vw,87px);font-weight:800;letter-spacing:-.06em;line-height:.86;text-transform:uppercase}
.project-kind{text-align:right}.arrow{text-align:right;font-size:20px;transition:transform .3s var(--ease)}
.project-row:hover .arrow{transform:translate(6px,-6px)}
.project-preview{
  position:fixed;width:min(29vw,420px);aspect-ratio:4/5;right:8vw;top:50%;z-index:3;
  transform:translateY(-50%) scale(.86) rotate(3deg);opacity:0;pointer-events:none;
  border:1px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between;padding:18px;
  transition:opacity .22s ease,transform .42s var(--ease),background .2s ease;mix-blend-mode:normal
}
.project-preview.show{opacity:1;transform:translateY(-50%) scale(1) rotate(-2deg)}
.preview-word{font-size:clamp(42px,6vw,92px);font-weight:900;letter-spacing:-.075em;text-transform:uppercase;word-break:break-word}
.preview-caption{font-size:10px;font-weight:700;line-height:1.15;text-transform:uppercase;max-width:170px}
.panel-footer{
  min-height:32vh;padding:var(--pad);display:flex;align-items:flex-end;justify-content:space-between;gap:30px
}
.panel-footer span{max-width:620px;font-size:clamp(27px,3.4vw,54px);font-weight:800;letter-spacing:-.045em;line-height:.95;text-transform:uppercase}
.panel-footer button{font-size:11px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:4px}

.panel-talk{background:var(--ink);color:var(--paper)}
.talk-main{
  min-height:72vh;min-height:72svh;padding:var(--pad);display:grid;grid-template-columns:1fr;align-content:space-between
}
.talk-kicker{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.talk-mail{
  font-size:clamp(62px,12.2vw,196px);font-weight:900;letter-spacing:-.085em;line-height:.72;text-transform:uppercase;
  align-self:center;display:inline-block;width:max-content;max-width:100%;position:relative
}
.talk-mail span{font-size:.23em;vertical-align:top;display:inline-block;margin-left:.1em;transition:transform .35s var(--ease)}
.talk-mail:hover span{transform:translate(9px,-9px)}
.talk-note{margin:0 0 0 auto;max-width:390px;font-size:12px;line-height:1.3;text-transform:uppercase}
.talk-bottom{
  display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--paper)
}
.talk-bottom>div{min-height:22vh;padding:var(--pad);border-right:1px solid var(--paper);display:flex;flex-direction:column;justify-content:space-between}
.talk-bottom>div:last-child{border-right:0}
.talk-bottom span{font-size:9px;font-weight:700;letter-spacing:.08em;opacity:.72}
.talk-bottom p,.talk-bottom a{margin:0;font-size:clamp(24px,3.2vw,48px);font-weight:800;letter-spacing:-.045em;text-transform:uppercase}
.talk-bottom a{width:max-content;border-bottom:2px solid currentColor}

.cursor{
  position:fixed;left:0;top:0;width:13px;height:13px;border:1px solid currentColor;border-radius:50%;z-index:999;
  transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:difference;color:white;
  display:grid;place-items:center;transition:width .22s var(--ease),height .22s var(--ease),background .22s ease,opacity .15s ease
}
.cursor span{font-size:0;font-weight:800;letter-spacing:.04em;color:#000}
.cursor.is-link{width:62px;height:62px;background:#fff;border-color:#fff;mix-blend-mode:difference}
.cursor.is-link span{font-size:8px}.cursor.hidden{opacity:0}

@media (max-width:900px){
  body{cursor:auto}.cursor{display:none}button,a{cursor:pointer}
  .topbar{height:62px}.intro{padding-top:95px;grid-template-columns:1fr}
  .line{font-size:clamp(50px,13vw,95px)}.line-indent{padding-left:9vw}
  .aside-note{display:none}.scroll-note{font-size:9px}
  .manifesto{min-height:92vh;min-height:92svh}.manifesto-copy{font-size:clamp(48px,11.5vw,92px)}
  .microcopy{max-width:290px;font-size:10px}
  .big-type{min-height:82vh;min-height:82svh}.letters{font-size:17.2vw}
  .choice{min-height:70vh;min-height:70svh}.choice-links button{font-size:clamp(45px,10.5vw,85px)}
  .project-row{grid-template-columns:36px 1fr 24px;min-height:98px}.project-kind{display:none}.project-title{font-size:clamp(31px,8vw,63px)}
  .project-preview{display:none}.work-intro{min-height:27vh}.panel-footer{min-height:28vh;align-items:flex-end}
  .talk-mail{font-size:clamp(55px,14vw,115px)}.talk-bottom{grid-template-columns:1fr}.talk-bottom>div{min-height:135px;border-right:0;border-bottom:1px solid var(--paper)}
  .talk-bottom>div:last-child{border-bottom:0}
}

@media (max-width:560px){
  :root{--pad:16px}
  .topbar{height:56px}.wordmark,.nav-link{font-size:10px}nav{gap:16px}
  .intro{min-height:100vh;min-height:100svh;padding-top:88px;padding-bottom:18px}.intro-copy{align-self:center}
  .line{font-size:15.2vw;line-height:.84}.line-indent{padding-left:8vw}
  .manifesto{min-height:88vh;min-height:88svh;padding-top:20px;padding-bottom:22px}.manifesto-copy{font-size:12.2vw}.microcopy{font-size:9px;max-width:245px}
  .marquee{padding:9px 0}.marquee-track span{font-size:10px}.big-type-inner{padding-top:18px;padding-bottom:20px}.letters{font-size:17vw}
  .choice{min-height:74vh;min-height:74svh}.choice-links{gap:8px}.choice-links button{font-size:11.3vw}.choice-foot{max-width:72%;text-align:right;line-height:1.15}
  .panel-bar{min-height:56px}.work-intro{min-height:31vh;display:block;padding-top:70px}.work-intro p{font-size:10vw}.work-intro span{display:block;margin-top:24px}
  .project-row{min-height:85px;padding-top:12px;padding-bottom:12px;grid-template-columns:27px 1fr 18px;gap:8px}.project-title{font-size:9vw}.project-n{font-size:8px}.arrow{font-size:15px}
  .panel-footer{min-height:32vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.panel-footer span{font-size:8.2vw}.panel-footer button{margin-top:25px}
  .talk-main{min-height:70vh;min-height:70svh;padding-top:72px}.talk-kicker{font-size:9px;max-width:70%}.talk-mail{font-size:15vw;line-height:.74}.talk-note{font-size:9px;max-width:75%}
  .talk-bottom p,.talk-bottom a{font-size:8vw}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* ===== CONAMUR CURRENT 3-PAGE SYSTEM ===== */
.site-header{position:fixed;left:0;right:0;top:0;z-index:80;height:68px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;mix-blend-mode:difference;color:#fff;pointer-events:none}.site-header a{pointer-events:auto}.brand,.site-nav a{font-size:11px;font-weight:800;letter-spacing:.02em}.site-nav{display:flex;gap:22px}.site-nav a{position:relative}.site-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.site-nav a:hover:after,.site-nav a.is-current:after{transform:scaleX(1);transform-origin:left}
.home-intro{min-height:100vh;min-height:100svh;padding:108px var(--pad) 26px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;position:relative;overflow:hidden}.home-kicker{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-start;gap:30px;font-size:10px;font-weight:800;line-height:1.18;letter-spacing:.055em}.home-kicker-note{text-align:right;font-weight:500;letter-spacing:.025em;max-width:170px}.home-title{grid-column:1/-1;align-self:center;margin:0;perspective:900px}.home-title .line{font-size:clamp(58px,9vw,150px);line-height:.82;overflow:visible}.home-title .line>span{display:block;will-change:transform;transition:transform .12s linear}
.hero-idea-wrap{
  display:inline-grid;
  width:9.6ch;
  align-items:start;
}
.hero-idea{
  display:inline-block;
  color:var(--accent);
  will-change:transform,opacity;
}
.home-title .shift{padding-left:13vw}.home-title .turns-line>span{transform-origin:52% 50%}.home-intro.is-moving .home-title .turns-line>span{letter-spacing:-.068em}.home-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-self:end;font-size:9px;font-weight:800;letter-spacing:.05em}.hint{text-align:right}
.home-manifesto{min-height:105vh;min-height:105svh;background:var(--ink);color:var(--paper);padding:30px var(--pad);display:grid;grid-template-rows:auto 1fr}.section-index,.identity-small,.home-nav-label,.work-index,.talk-kicker{font-size:9px;font-weight:800;letter-spacing:.07em}.manifesto-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);gap:8vw;align-items:center}.manifesto-copy{font-size:clamp(50px,8vw,126px);line-height:.83;margin:0}.manifesto-copy .ghost{color:var(--accent)}.manifesto-side{max-width:390px;font-size:14px;line-height:1.35}.manifesto-side p{margin:0 0 20px}.manifesto-side p:last-child{margin-bottom:0}
.identity-scene{height:210vh;height:210svh;background:var(--paper)}.identity-sticky{position:sticky;top:0;min-height:100vh;min-height:100svh;padding:84px var(--pad) 28px;display:grid;grid-template-rows:auto 1fr auto}.identity-words{display:flex;align-items:center;justify-content:space-between;gap:2.2vw;font-size:clamp(82px,15.2vw,245px);font-weight:900;letter-spacing:-.09em;line-height:.72;text-transform:uppercase;white-space:nowrap}.identity-caption{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.identity-caption p{max-width:650px;margin:0;font-size:clamp(22px,2.3vw,37px);font-weight:700;letter-spacing:-.035em;line-height:1.02}.identity-caption a{font-size:11px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:4px;white-space:nowrap}
.detail-scene{min-height:105vh;min-height:105svh;background:var(--accent);padding:30px var(--pad);display:grid;grid-template-rows:auto 1fr;grid-template-columns:1.45fr .55fr;gap:6vw}.detail-scene>.section-index{grid-column:1/-1}.detail-copy{align-self:center}.detail-copy p{margin:0;font-size:clamp(48px,7.3vw,118px);font-weight:900;letter-spacing:-.07em;line-height:.84;text-transform:uppercase}.detail-copy .accent-copy{margin-top:22px;color:var(--paper)}.detail-notes{align-self:end;padding-bottom:3vh;font-size:14px;line-height:1.35}.detail-notes p{margin:0 0 16px}.detail-final{margin-top:70px!important;font-size:clamp(20px,2vw,31px);font-weight:600;letter-spacing:-.025em}.detail-final strong{font-size:1.35em}
.home-nav{min-height:92vh;min-height:92svh;padding:30px var(--pad);display:grid;grid-template-rows:auto 1fr auto}.home-nav-links{align-self:center;display:flex;flex-direction:column}.home-nav-links a{border-top:1px solid var(--ink);padding:12px 0 16px;display:flex;align-items:flex-start;justify-content:space-between;font-size:clamp(52px,9vw,145px);font-weight:900;letter-spacing:-.075em;line-height:.86;text-transform:uppercase;transition:padding .35s var(--ease)}.home-nav-links a:last-child{border-bottom:1px solid var(--ink)}.home-nav-links a:hover{padding-left:1.5vw}.home-nav-links i{font-style:normal;font-size:11px;letter-spacing:0}.home-nav-footer{display:flex;justify-content:space-between;align-items:flex-end;font-size:10px;font-weight:700;line-height:1.2;text-transform:uppercase}
.work-intro{min-height:100vh;min-height:100svh;padding:105px var(--pad) 28px;display:grid;grid-template-columns:1.5fr .5fr;grid-template-rows:auto 1fr;gap:4vw;border-bottom:1px solid var(--ink)}.work-intro h1{align-self:center;margin:0;grid-column:1;font-size:clamp(58px,8.4vw,140px);font-weight:900;letter-spacing:-.075em;line-height:.82;text-transform:uppercase}.work-intro h1 span{display:block}.work-note{align-self:end;max-width:430px;font-size:14px;line-height:1.35}.work-note p{margin:0 0 14px}.work-thinking{min-height:95vh;min-height:95svh;background:var(--ink);color:var(--paper);padding:30px var(--pad);display:grid;grid-template-columns:.42fr 1.58fr;grid-template-rows:auto 1fr auto;gap:4vw}.work-thinking>p{margin:0;font-size:10px;font-weight:800;letter-spacing:.06em}.work-thinking strong{grid-column:2;align-self:center;font-size:clamp(44px,6.8vw,108px);letter-spacing:-.065em;line-height:.86;text-transform:uppercase}.work-thinking span{grid-column:2;justify-self:end;max-width:330px;font-size:13px;line-height:1.3}
.page-work .project-list{background:var(--paper)}.page-work .project-row{grid-template-columns:55px minmax(0,1fr) 200px 30px}.work-outro{min-height:72vh;min-height:72svh;background:var(--accent);padding:30px var(--pad);display:grid;grid-template-columns:1.45fr .55fr;align-items:end;gap:6vw}.work-outro .big{margin:0;font-size:clamp(48px,7.2vw,116px);font-weight:900;letter-spacing:-.07em;line-height:.84;text-transform:uppercase}.work-outro em{font-style:normal;color:var(--paper)}.work-outro>div{font-size:14px;line-height:1.3}.work-outro>div p{margin:0 0 15px}.work-outro a{display:inline-block;margin-top:35px;font-size:11px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:4px}
.talk-intro{min-height:100vh;min-height:100svh;background:var(--ink);color:var(--paper);padding:105px var(--pad) 28px;display:grid;grid-template-rows:auto 1fr auto}.talk-title{align-self:center;margin:0}.talk-title span{display:block;font-size:clamp(63px,10vw,162px);font-weight:900;letter-spacing:-.08em;line-height:.79;text-transform:uppercase}.talk-title span:nth-child(2){padding-left:10vw}.talk-foot{display:flex;justify-content:space-between;align-items:flex-end;font-size:12px;line-height:1.3}.talk-foot p{max-width:430px;margin:0}.talk-foot strong{font-size:10px;letter-spacing:.06em}.talk-brief{min-height:95vh;min-height:95svh;padding:30px var(--pad);display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:center}.talk-brief>p{margin:0;font-size:clamp(48px,7vw,112px);font-weight:900;letter-spacing:-.07em;line-height:.84;text-transform:uppercase}.talk-brief>div{max-width:450px;font-size:14px;line-height:1.35}.talk-brief>div p{margin:0 0 18px}.talk-brief-last{margin-top:60px!important;font-weight:700;font-size:1.18em}.talk-mail-zone{min-height:72vh;min-height:72svh;background:var(--accent);padding:40px var(--pad);display:flex;align-items:center}.page-talk .talk-mail{font-size:clamp(56px,10.4vw,166px);font-weight:900;letter-spacing:-.06em;line-height:.82;text-transform:uppercase;display:inline-block;max-width:100%}.talk-details{display:grid;grid-template-columns:.7fr .8fr 1.5fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.talk-card{min-height:270px;padding:var(--pad);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--ink)}.talk-card:last-child{border-right:0}.talk-card small{font-size:9px;font-weight:800;letter-spacing:.07em}.talk-card p,.talk-card a{margin:0;font-size:clamp(27px,3vw,49px);font-weight:900;letter-spacing:-.05em;line-height:.94;text-transform:uppercase}.talk-end{min-height:80vh;min-height:80svh;background:var(--paper);padding:30px var(--pad);display:flex;flex-direction:column;justify-content:space-between}.talk-hello{margin:auto 0;align-self:flex-start!important;border-bottom:0!important;padding-bottom:0!important;font-size:clamp(65px,9.2vw,148px)!important;font-weight:900!important;letter-spacing:-.07em;line-height:.8;text-transform:uppercase}.talk-hello span{font-size:.22em;vertical-align:top;display:inline-block;margin-left:.1em;transition:transform .3s var(--ease)}.talk-hello:hover span{transform:translate(7px,-7px)}.talk-end>a:last-child{font-size:10px;font-weight:800;align-self:flex-end;border-bottom:1px solid currentColor;padding-bottom:4px}
@media(max-width:900px){.home-intro{grid-template-columns:1fr}.home-title .shift{padding-left:7vw}.manifesto-grid,.detail-scene,.work-intro,.work-thinking,.work-outro,.talk-brief{grid-template-columns:1fr}.manifesto-grid{align-content:center}.manifesto-side{margin-left:auto}.identity-words{font-size:16.5vw;gap:1.2vw}.detail-notes{max-width:430px;margin-left:auto}.work-intro h1{grid-column:1}.work-note{margin-left:auto}.work-thinking strong,.work-thinking span{grid-column:1}.work-thinking span{justify-self:end}.talk-details{grid-template-columns:1fr}.talk-card{min-height:180px;border-right:0;border-bottom:1px solid var(--ink)}.talk-card:last-child{border-bottom:0}}
@media(max-width:560px){.site-header{height:56px}.brand,.site-nav a{font-size:9px}.home-intro{padding-top:82px}.home-kicker{font-size:8px}.home-kicker-note{max-width:128px}.home-title .line{font-size:15vw}.home-bottom{font-size:8px}.hint{max-width:45%}.home-manifesto{min-height:88vh;min-height:88svh}.manifesto-copy{font-size:12.5vw}.manifesto-side{font-size:12px}.identity-scene{height:160vh;height:160svh}.identity-sticky{padding-top:76px}.identity-words{font-size:15.8vw;gap:1vw}.identity-caption{display:block}.identity-caption p{font-size:6.5vw}.identity-caption a{display:inline-block;margin-top:28px}.detail-scene{min-height:92vh;min-height:92svh}.detail-copy p{font-size:12vw}.detail-notes{font-size:12px}.detail-final{margin-top:38px!important}.home-nav-links a{font-size:15vw}.home-nav-footer{font-size:8px}.work-intro{padding-top:82px;min-height:92vh;min-height:92svh}.work-intro h1{font-size:13vw}.work-note{font-size:12px}.work-thinking{min-height:85vh;min-height:85svh}.work-thinking strong{font-size:11vw}.page-work .project-row{grid-template-columns:28px minmax(0,1fr) 20px}.work-outro .big{font-size:11.5vw}.work-outro>div{font-size:12px}.talk-intro{padding-top:82px}.talk-title span{font-size:14.5vw}.talk-title span:nth-child(2){padding-left:5vw}.talk-foot{font-size:11px}.talk-brief>p{font-size:12vw}.talk-brief>div{font-size:12px}.page-talk .talk-mail{font-size:13.2vw;line-height:.84}.talk-card{min-height:155px}.talk-card p,.talk-card a{font-size:8vw}.talk-end p{font-size:16vw}}


/* ===== HOME REFINEMENT: identity + details ===== */
.identity-sticky{overflow:hidden}
.identity-words{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:0;
  width:100%;
  font-size:clamp(74px,13.3vw,214px);
  line-height:.76;
  letter-spacing:-.085em;
  white-space:normal;
}
.identity-line{display:block;width:100%;white-space:nowrap;will-change:transform}
.identity-brand{font-size:1.03em}
.identity-word{display:inline-block;will-change:transform}

.detail-scene{
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  column-gap:7vw;
}
.detail-copy{align-self:center;max-width:100%}
.detail-copy p{
  font-size:clamp(54px,7.15vw,112px);
  font-weight:900;
  line-height:.84;
}
.detail-copy .accent-copy{
  margin-top:34px;
  max-width:720px;
  color:var(--paper);
  font-size:clamp(24px,3vw,48px);
  font-weight:500;
  letter-spacing:-.04em;
  line-height:.96;
  text-transform:none;
}
.detail-notes{
  align-self:end;
  max-width:410px;
  padding-bottom:4vh;
  font-size:14px;
  font-weight:400;
  line-height:1.4;
}
.detail-final{
  margin-top:48px!important;
  font-size:16px;
  font-weight:400;
  letter-spacing:-.01em;
  line-height:1.35;
}
.detail-final span{font-weight:700}

@media(max-width:900px){
  .identity-words{font-size:clamp(66px,15.4vw,150px)}
  .detail-scene{grid-template-columns:1fr}
  .detail-notes{max-width:440px;margin-left:auto}
}
@media(max-width:560px){
  .identity-words{font-size:17vw;line-height:.8}
  .identity-brand{font-size:.98em}
  .detail-copy p{font-size:12vw}
  .detail-copy .accent-copy{font-size:7.5vw;margin-top:24px}
  .detail-final{font-size:14px;margin-top:30px!important}
}

/* WORK — compact intro */
.page-work .work-intro-compact{
  min-height:82vh;min-height:82svh;
  padding:105px var(--pad) 34px;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto 1fr auto;
  gap:0;
  border-bottom:1px solid var(--ink);
  overflow:hidden;
}
.page-work .work-intro-compact h1{
  grid-column:1;
  align-self:center;
  width:min(1380px,96%);
  margin:0;
  font-size:clamp(64px,9.2vw,152px);
  font-weight:900;
  letter-spacing:-.078em;
  line-height:.82;
  text-transform:uppercase;
}
.page-work .work-intro-compact h1 span{display:block}
.page-work .work-intro-bottom{
  display:grid;
  grid-template-columns:minmax(280px,560px) 1fr;
  gap:8vw;
  align-items:end;
}
.page-work .work-intro-bottom>p{
  margin:0;
  font-size:13px;
  line-height:1.35;
}
.page-work .work-intro-bottom .work-process{
  justify-self:end;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.065em;
  white-space:nowrap;
}
.page-work .project-list{border-top:0}

@media(max-width:900px){
  .page-work .work-intro-compact{min-height:76vh;min-height:76svh}
  .page-work .work-intro-bottom{grid-template-columns:1fr;gap:22px}
  .page-work .work-intro-bottom .work-process{justify-self:start}
}
@media(max-width:560px){
  .page-work .work-intro-compact{min-height:74vh;min-height:74svh;padding-top:82px;padding-bottom:24px}
  .page-work .work-intro-compact h1{font-size:14vw;width:100%}
  .page-work .work-intro-bottom>p{font-size:12px}
  .page-work .work-intro-bottom .work-process{font-size:8px;white-space:normal}
}

/* Trabajo · bloque de proceso simplificado */
.page-work .work-process-scene{
  min-height:92vh;min-height:92svh;
  background:var(--ink);
  color:var(--paper);
  padding:30px var(--pad) 34px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.34fr);
  grid-template-rows:auto 1fr auto;
  gap:28px 6vw;
  overflow:hidden;
}
.page-work .process-kicker{
  grid-column:1 / -1;
  font-size:9px;
  font-weight:800;
  letter-spacing:.07em;
}
.page-work .process-main{
  grid-column:1;
  align-self:center;
  will-change:transform;
  transition:transform .22s ease-out;
}
.page-work .process-main h2{
  margin:0;
  font-size:clamp(78px,12vw,190px);
  line-height:.76;
  letter-spacing:-.075em;
  font-weight:900;
  text-transform:uppercase;
}
.page-work .process-main h2 span{display:block}
.page-work .process-turns{
  color:var(--accent);
  transform-origin:48% 55%;
  will-change:transform;
  transition:transform .22s ease-out;
}
.page-work .process-copy{
  max-width:670px;
  margin:42px 0 0;
  font-size:clamp(18px,1.7vw,28px);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.025em;
}
.page-work .process-end{
  grid-column:2;
  grid-row:2 / 4;
  align-self:end;
  margin:0;
  font-size:13px;
  line-height:1.35;
  max-width:240px;
}
.page-work .process-end strong{
  display:block;
  margin-top:18px;
  font-size:clamp(22px,2.1vw,34px);
  line-height:.95;
  letter-spacing:-.045em;
  font-weight:800;
}
@media(max-width:900px){
  .page-work .work-process-scene{grid-template-columns:1fr;min-height:82vh;min-height:82svh}
  .page-work .process-main{grid-column:1}
  .page-work .process-end{grid-column:1;grid-row:auto;justify-self:end}
  .page-work .process-main h2{font-size:16vw}
  .page-work .process-copy{font-size:18px;max-width:540px}
}
@media(max-width:560px){
  .page-work .work-process-scene{padding-top:24px;min-height:74vh;min-height:74svh;gap:18px}
  .page-work .process-main h2{font-size:18vw}
  .page-work .process-copy{margin-top:28px;font-size:15px;max-width:92%}
  .page-work .process-end{font-size:11px;max-width:190px}
  .page-work .process-end strong{font-size:24px}
}

/* ===== HOME HERO — bloques separados 2 cm ===== */
.home-title{
  display:flex;
  flex-direction:column;
  gap:1cm;
}
.home-title .line{
  display:block;
  line-height:.82;
}

@media(max-width:560px){
  .home-title{gap:.7cm}
  .home-title .line{line-height:.84}
}


/* ===== FORMULARIO + LEGAL ===== */
.talk-form-section{
  padding:42px var(--pad) 56px;
  background:var(--paper);
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  display:grid;
  grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr);
  gap:8vw;
}
.talk-form-head{position:sticky;top:110px;align-self:start}
.talk-form-head h2{
  margin:24px 0 28px;
  font-size:clamp(52px,7.5vw,118px);
  font-weight:900;letter-spacing:-.055em;line-height:.89;text-transform:uppercase
}
.talk-form-head>p{max-width:360px;margin:0;font-size:14px;line-height:1.35}
.talk-form-prompt{font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.project-form{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;align-content:start}
.form-field{border-top:1px solid var(--ink);padding:14px 0 24px}
.form-field-wide{grid-column:1/-1}
.form-field label{display:block;margin-bottom:12px;font-size:9px;font-weight:800;letter-spacing:.07em}
.form-field input,.form-field select,.form-field textarea{
  width:100%;border:0;border-radius:0;outline:0;background:transparent;color:var(--ink);
  padding:0;font:inherit;font-size:clamp(20px,2.1vw,34px);font-weight:700;letter-spacing:-.035em;line-height:1.05
}
.form-field textarea{resize:vertical;min-height:180px;line-height:1.08}
.form-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 12px) 48%,calc(100% - 7px) 48%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}
.form-field input::placeholder,.form-field textarea::placeholder{color:rgba(17,17,15,.34);opacity:1}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{color:var(--accent)}
.form-consent{grid-column:1/-1;border-top:1px solid var(--ink);padding:18px 0;display:flex;gap:12px;align-items:flex-start;font-size:11px;line-height:1.35;cursor:pointer}
.form-consent input{margin:2px 0 0;width:16px;height:16px;accent-color:var(--accent);flex:0 0 auto}
.form-consent a{text-decoration:underline;text-underline-offset:3px}
.form-submit-row{grid-column:1/-1;border-top:1px solid var(--ink);padding-top:18px;display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
.form-submit-row button{font-size:clamp(30px,4.7vw,72px);font-weight:900;letter-spacing:-.055em;line-height:.9;text-transform:uppercase;text-align:left;transition:color .2s ease}
.form-submit-row button:hover{color:var(--accent)}
.form-submit-row button span{display:inline-block;transition:transform .3s var(--ease)}
.form-submit-row button:hover span{transform:translate(6px,-6px)}
.form-status{max-width:250px;margin:0;font-size:10px;line-height:1.3;text-align:right;text-transform:uppercase}

.legal-footer{border-top:1px solid var(--ink);padding:18px var(--pad) 22px;display:flex;justify-content:space-between;gap:30px;align-items:center;background:var(--paper);font-size:9px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.legal-footer nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.legal-footer a{position:relative}
.legal-footer a:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.legal-footer a:hover:after{transform:scaleX(1);transform-origin:left}

.legal-page{padding-top:72px}
.legal-hero{min-height:62vh;min-height:62svh;padding:42px var(--pad) 32px;display:flex;flex-direction:column;justify-content:space-between;border-bottom:1px solid var(--ink)}
.legal-hero>span,.legal-hero>p{margin:0;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.legal-hero h1{margin:auto 0;font-size:clamp(66px,13vw,210px);font-weight:900;letter-spacing:-.085em;line-height:.74;text-transform:uppercase}
.legal-copy{padding:0 var(--pad) 90px;margin-left:auto;width:min(960px,76vw)}
.legal-copy section,.legal-alert{padding:34px 0;border-bottom:1px solid var(--ink)}
.legal-copy h2{margin:0 0 22px;font-size:clamp(25px,3vw,46px);font-weight:800;letter-spacing:-.045em;line-height:.95}
.legal-copy p,.legal-copy dd{font-size:15px;line-height:1.5}
.legal-copy p{margin:0 0 15px}.legal-copy p:last-child{margin-bottom:0}
.legal-copy a{text-decoration:underline;text-underline-offset:3px}
.legal-copy dl{display:grid;grid-template-columns:minmax(130px,.35fr) 1fr;gap:0;margin:0;border-top:1px solid var(--line)}
.legal-copy dt,.legal-copy dd{margin:0;padding:12px 0;border-bottom:1px solid var(--line)}
.legal-copy dt{font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding-right:20px}
.legal-alert{background:var(--accent);margin:0 calc(var(--pad)*-1) 0;padding:28px var(--pad)}
.legal-alert strong{font-size:11px;letter-spacing:.08em}.legal-alert p{max-width:650px;margin:12px 0 0;font-size:13px;line-height:1.35}

@media(max-width:900px){
  .talk-form-section{grid-template-columns:1fr;gap:56px}.talk-form-head{position:static}.project-form{grid-template-columns:1fr}.form-field{grid-column:1/-1}
  .legal-copy{width:100%;margin:0}.legal-hero{min-height:50vh;min-height:50svh}
}
@media(max-width:560px){
  .talk-form-section{padding-top:28px}.talk-form-head h2{font-size:14vw}.talk-form-head>p{font-size:12px}
  .form-field input,.form-field select,.form-field textarea{font-size:6.2vw}.form-submit-row{display:block}.form-status{text-align:left;margin-top:18px}
  .legal-footer{align-items:flex-start;display:block}.legal-footer nav{justify-content:flex-start;margin-top:14px;gap:14px}
  .legal-page{padding-top:56px}.legal-hero{min-height:42vh;min-height:42svh;padding-top:26px}.legal-copy{padding-bottom:60px}.legal-copy p,.legal-copy dd{font-size:13px}.legal-copy dl{grid-template-columns:1fr}.legal-copy dt{border-bottom:0;padding-bottom:4px}.legal-copy dd{padding-top:0}
}

/* CTA “PON HOLA” + ubicación */
.talk-location{position:relative;display:inline-flex!important;align-items:flex-start;gap:.16em;width:max-content;max-width:100%;}
.talk-location span{font-size:.35em;line-height:1;display:inline-block;transition:transform .3s var(--ease);}
.talk-location::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);}
.talk-location:hover::after{transform:scaleX(1);}
.talk-location:hover span{transform:translate(5px,-5px);}

@media (prefers-reduced-motion:reduce){.talk-location::after,.talk-location span{transition:none}}


/* ===== REVISIÓN GENERAL · RITMO TIPOGRÁFICO ===== */
:root{
  --leading-display:.86;
  --leading-title:.90;
  --leading-body:1.42;
  --leading-small:1.28;
}

/* Titulares principales: misma tensión y respiración en las tres páginas */
.home-title .line,
.manifesto-copy,
.detail-copy p,
.work-intro h1,
.page-work .process-main h2,
.work-outro .big,
.talk-title span,
.talk-brief>p,
.talk-form-head h2,
.page-talk .talk-mail{
  line-height:var(--leading-display);
}

.identity-caption p,
.detail-final,
.page-work .process-end strong,
.talk-card p,
.talk-card a,
.form-submit-row button,
.legal-copy h2{
  line-height:var(--leading-title);
}

/* Texto de lectura: mismo interlineado base para que no cambie de una pantalla a otra */
.manifesto-side,
.detail-notes,
.work-intro-bottom p,
.page-work .process-copy,
.page-work .process-end,
.work-outro>div,
.talk-foot,
.talk-brief>div,
.talk-form-head>p,
.form-consent,
.legal-copy p,
.legal-copy dd{
  line-height:var(--leading-body);
}

.home-kicker,
.home-bottom,
.home-nav-footer,
.section-index,
.identity-small,
.home-nav-label,
.work-index,
.process-kicker,
.talk-kicker,
.talk-card small,
.form-field label,
.form-status,
.legal-footer,
.legal-hero>span,
.legal-hero>p,
.legal-copy dt{
  line-height:var(--leading-small);
}

/* El hero conserva bloques independientes, pero con una separación regular y más natural */
.home-title{gap:.95cm;}

/* Pequeños ajustes de ritmo vertical */
.manifesto-side p{margin-bottom:18px;}
.detail-notes p{margin-bottom:14px;}
.talk-brief>div p{margin-bottom:16px;}
.work-outro>div p{margin-bottom:14px;}

@media(max-width:560px){
  .home-title{gap:.62cm;}
  .manifesto-side,.detail-notes,.work-outro>div,.talk-brief>div{line-height:1.4;}
}

/* Cierre de contacto simplificado: el formulario ya es el CTA principal */
.talk-end-simple{min-height:auto;padding:34px var(--pad);align-items:flex-end;}
.talk-end-simple>a:last-child{align-self:flex-end;}

@media(max-width:560px){
  .hero-idea-wrap{width:9.2ch;}
}

.project-preview{overflow:hidden;}
.project-preview .preview-image{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1.04);transition:opacity .2s ease,transform .45s var(--ease);
}
.project-preview.has-image .preview-image{opacity:1;transform:scale(1);}
.project-preview.has-image .preview-art{opacity:0;}
.project-preview .preview-art{position:relative;z-index:1;transition:opacity .18s ease;}


/* ===== AJUSTES HOME — palabra dinámica, manifiesto y navegación ===== */
/* La coma acompaña siempre a la palabra dinámica, sin hueco artificial. */
.hero-idea-wrap{
  display:inline-block;
  width:auto;
  min-width:0;
  vertical-align:baseline;
}

/* Fondo reactivo, sutil, en la sección personal. */
.home-manifesto{
  --mouse-x:50%;
  --mouse-y:50%;
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.home-manifesto::before{
  content:"";
  position:absolute;
  width:min(62vw,900px);
  aspect-ratio:1;
  left:var(--mouse-x);
  top:var(--mouse-y);
  transform:translate(-50%,-50%) scale(.78);
  border-radius:50%;
  background:radial-gradient(circle,rgba(232,66,83,.72) 0%,rgba(232,66,83,.28) 32%,rgba(232,66,83,0) 70%);
  filter:blur(26px);
  opacity:0;
  pointer-events:none;
  z-index:-1;
  transition:opacity .42s ease,transform .65s var(--ease);
}
.home-manifesto.is-pointer::before{
  opacity:.72;
  transform:translate(-50%,-50%) scale(1);
}
.home-manifesto>*{position:relative;z-index:1}

/* TRABAJO / HABLA se comportan como puertas, no como simples titulares. */
.home-nav-links{gap:0}
.home-nav-links .home-route{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:18px 0 22px;
  transition:color .38s var(--ease),padding .38s var(--ease);
}
.home-nav-links .home-route::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--accent);
  transform:scaleY(0);
  transform-origin:bottom;
  transition:transform .48s var(--ease);
  z-index:-1;
}
.home-nav-links .route-talk::before{background:var(--ink)}
.home-nav-links .home-route:hover{
  color:var(--paper);
  padding-left:1.25vw;
  padding-right:1.25vw;
}
.home-nav-links .home-route:hover::before{transform:scaleY(1)}
.home-nav-links .home-route>span{display:block}
.home-nav-links .home-route i{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  padding-top:4px;
  font-style:normal;
  font-size:11px;
  letter-spacing:.02em;
  line-height:1;
}
.home-nav-links .home-route i b{
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .28s ease,transform .38s var(--ease);
  white-space:nowrap;
}
.home-nav-links .home-route i em{
  font-style:normal;
  transition:transform .38s var(--ease);
}
.home-nav-links .home-route:hover i b{opacity:1;transform:translateY(0)}
.home-nav-links .home-route:hover i em{transform:translate(5px,-4px)}

@media(max-width:560px){
  .home-manifesto::before{display:none}
  .home-nav-links .home-route{padding:15px 0 18px}
  .home-nav-links .home-route i b{display:none}
  .home-nav-links .home-route:hover{padding-left:8px;padding-right:8px}
}

@media(prefers-reduced-motion:reduce){
  .home-manifesto::before,.home-nav-links .home-route::before,.home-nav-links .home-route i *{transition:none!important}
}

/* La coma forma parte de la palabra dinámica para que nunca quede separada. */
.hero-idea-wrap{margin-right:0;}


/* ===== TRABAJO · MARCAS ===== */
.brands-section{
  background:var(--paper);
  color:var(--ink);
  padding:72px var(--pad) 84px;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
}
.brands-head{
  display:grid;
  grid-template-columns:.42fr 1.58fr;
  gap:4vw;
  align-items:start;
  margin-bottom:62px;
}
.brands-head>span{
  font-size:9px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.07em;
}
.brands-head h2{
  margin:0;
  font-size:clamp(48px,6.5vw,104px);
  line-height:.86;
  letter-spacing:-.065em;
  font-weight:900;
  text-transform:uppercase;
}
.brands-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--ink);
  border-left:1px solid var(--ink);
}
.brand-slot{
  min-height:180px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:26px;
  border-right:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  transition:background .3s var(--ease),color .3s var(--ease);
}
.brand-slot span{
  max-width:280px;
  font-size:clamp(17px,1.7vw,27px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:800;
  text-transform:uppercase;
}
.brand-slot:hover{background:var(--ink);color:var(--paper)}
.brand-slot-more{background:var(--accent);}
.brand-slot-more:hover{background:var(--accent);color:var(--ink)}

@media(max-width:900px){
  .brands-head{grid-template-columns:1fr;gap:22px}
  .brands-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .brands-section{padding:48px var(--pad) 58px}
  .brands-head{margin-bottom:38px}
  .brands-head h2{font-size:12vw}
  .brands-grid{grid-template-columns:1fr}
  .brand-slot{min-height:120px}
  .brand-slot span{font-size:20px}
}


/* HABLA — contacto directo antes del formulario */
.talk-contact-label{
  padding:30px var(--pad) 0;
  background:var(--accent);
  color:var(--ink);
  font-size:9px;
  font-weight:800;
  letter-spacing:.07em;
  line-height:1.25;
  text-transform:uppercase;
}
.page-talk .talk-form-section{border-bottom:0;}
.page-talk .legal-footer{border-top:1px solid var(--ink);}
@media(max-width:560px){.talk-contact-label{padding-top:24px;font-size:8px;}}

/* ===== RESTAURACIÓN DE INTERACCIONES ===== */
/* Destellos en ESTO ES CONAMUR */
.identity-sticky{position:sticky;overflow:hidden;isolation:isolate}
.identity-spark{
  position:absolute;
  width:9px;height:9px;
  pointer-events:none;
  z-index:3;
  transform:translate(-50%,-50%) scale(.2) rotate(0deg);
  opacity:0;
}
.identity-spark::before,.identity-spark::after{
  content:"";position:absolute;left:50%;top:50%;background:var(--accent);transform:translate(-50%,-50%);
}
.identity-spark::before{width:2px;height:100%}
.identity-spark::after{width:100%;height:2px}
.identity-spark.is-on{animation:identitySpark .78s var(--ease) forwards}
@keyframes identitySpark{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.15) rotate(0deg)}
  22%{opacity:1}
  65%{opacity:.92;transform:translate(-50%,-50%) scale(1.7) rotate(45deg)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(2.25) rotate(70deg)}
}

/* Mosca / trazo en DETALLES */
.detail-scene{position:relative;overflow:hidden;isolation:isolate}
.detail-fly{
  position:absolute;left:0;top:0;width:11px;height:8px;z-index:4;pointer-events:none;
  transform:translate(-50%,-50%) rotate(0deg);opacity:0;transition:opacity .2s ease;
}
.detail-fly::before{
  content:"";position:absolute;inset:2px 3px;background:var(--ink);border-radius:60% 45% 60% 45%;
}
.detail-fly::after{
  content:"";position:absolute;left:-2px;top:-2px;width:6px;height:5px;border:1px solid var(--ink);border-radius:70% 40%;box-shadow:8px 1px 0 -1px var(--accent);
}
.detail-scene.is-flying .detail-fly{opacity:1}
.detail-trail-line{
  position:absolute;width:14px;height:2px;border-radius:999px;background:#bcbcbc;pointer-events:none;z-index:2;opacity:.95;
  transform:translate(-50%,-50%) rotate(var(--trail-angle,0deg));transform-origin:center center;
  box-shadow:0 0 0 1px rgba(255,255,255,.06);
}

/* Fondo reactivo en HABLA */
.page-talk main{position:relative;isolation:isolate;overflow:hidden;--talk-x:68%;--talk-y:22%}
.page-talk main::before,
.page-talk main::after{
  content:"";position:fixed;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(18px);opacity:.55;
  transition:opacity .35s ease;
}
.page-talk main::before{
  width:52vw;height:52vw;left:calc(var(--talk-x) - 26vw);top:calc(var(--talk-y) - 26vw);
  background:radial-gradient(circle,rgba(232,66,83,.34) 0%,rgba(232,66,83,.12) 42%,rgba(232,66,83,0) 72%);
}
.page-talk main::after{
  width:36vw;height:36vw;right:-10vw;top:42vh;
  background:radial-gradient(circle,rgba(246,185,192,.34) 0%,rgba(246,185,192,.09) 44%,rgba(246,185,192,0) 72%);
  animation:talkFloat 8s ease-in-out infinite alternate;
}
@keyframes talkFloat{from{transform:translate3d(0,-3vh,0) scale(.94)}to{transform:translate3d(-8vw,6vh,0) scale(1.08)}}

@media (prefers-reduced-motion:reduce){
  .identity-spark,.detail-trail-line{animation:none!important;display:none!important}
  .page-talk main::after{animation:none!important}
}
@media(max-width:700px){
  .detail-fly,.detail-trail-line{display:none}
  .page-talk main::before{width:90vw;height:90vw;left:20vw;top:12vh}
}

/* ===== MOBILE EXPERIENCE · scroll en lugar de hover ===== */
@media (max-width:700px) and (pointer:coarse){
  body.mobile-motion-ready{overflow-x:hidden}

  /* Hero: los bloques se mueven con el scroll, sin perder legibilidad. */
  .home-intro{min-height:108vh;min-height:108svh}
  .home-title .line>span{transition:none;will-change:transform}
  .hero-idea{transition:color .25s ease}
  .hero-idea.mobile-word-pop{animation:mobileWordPop .38s var(--ease)}
  @keyframes mobileWordPop{
    0%{opacity:.15;transform:translateY(12px) rotate(2deg)}
    100%{opacity:1;transform:translateY(0) rotate(0)}
  }

  /* El halo del manifiesto existe también sin ratón y recorre el fondo al hacer scroll. */
  .home-manifesto::before{
    display:block!important;
    width:125vw;
    filter:blur(30px);
    opacity:.58;
    transform:translate(-50%,-50%) scale(.88);
    transition:none;
  }
  .home-manifesto.is-pointer::before{opacity:.68;transform:translate(-50%,-50%) scale(1)}

  /* La mosca tiene un recorrido propio ligado al scroll. */
  .detail-fly{display:block!important;width:12px;height:9px;opacity:0;transition:opacity .2s ease}
  .detail-scene.mobile-flying .detail-fly{opacity:1}
  .detail-trail-line{display:block!important}

  /* Las dos salidas de la home se activan al llegar al centro de pantalla. */
  .home-nav-links .home-route{padding:18px 12px 20px 0;transition:color .42s var(--ease),padding .42s var(--ease)}
  .home-nav-links .home-route i b{display:block;opacity:0;transform:translateY(7px)}
  .home-nav-links .home-route.mobile-active{color:var(--paper);padding-left:12px;padding-right:12px}
  .home-nav-links .home-route.mobile-active::before{transform:scaleY(1)}
  .home-nav-links .home-route.mobile-active i b{opacity:1;transform:translateY(0)}
  .home-nav-links .home-route.mobile-active i em{transform:translate(4px,-3px)}

  /* TRABAJO: cada proyecto enseña su imagen al entrar en foco. */
  .page-work .project-row{
    display:grid;
    grid-template-columns:28px minmax(0,1fr) 22px;
    grid-template-rows:auto auto;
    padding-top:20px;
    padding-bottom:20px;
    transition:background .42s var(--ease),color .42s var(--ease),padding .42s var(--ease);
  }
  .page-work .project-row .project-num{grid-column:1;grid-row:1}
  .page-work .project-row .project-name{grid-column:2;grid-row:1}
  .page-work .project-row .project-arrow{grid-column:3;grid-row:1}
  .page-work .project-row .project-type{display:none}
  .project-mobile-media{
    grid-column:1/-1;
    grid-row:2;
    display:block;
    max-height:0;
    opacity:0;
    overflow:hidden;
    margin-top:0;
    transform:translateY(16px);
    transition:max-height .7s var(--ease),opacity .38s ease,transform .65s var(--ease),margin .55s var(--ease);
  }
  .project-mobile-media img{display:block;width:100%;height:52vw;max-height:360px;object-fit:cover}
  .project-row.mobile-active .project-mobile-media{max-height:390px;opacity:1;transform:translateY(0);margin-top:18px}
  .project-row.mobile-active .project-arrow{transform:translate(3px,-3px)}
  .page-work .project-row[data-name="CLÍNICA UNIVERSIDAD DE NAVARRA"] .project-name{font-size:8.4vw;line-height:.9}

  /* HABLA: cada bloque entra por capas cuando llega al viewport. */
  body.mobile-motion-ready .mobile-reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .62s ease,transform .78s var(--ease);
  }
  body.mobile-motion-ready .mobile-reveal.from-left{transform:translateX(-28px)}
  body.mobile-motion-ready .mobile-reveal.from-right{transform:translateX(28px)}
  body.mobile-motion-ready .mobile-reveal.is-visible{opacity:1;transform:translate(0,0)}

  .page-talk main::before{
    display:block;
    width:110vw;height:110vw;
    left:calc(var(--talk-x) - 55vw);
    top:calc(var(--talk-y) - 55vw);
    opacity:.52;
    transition:none;
  }
  .page-talk main::after{width:78vw;height:78vw;opacity:.38}

  .talk-title span{display:block;will-change:transform}
  .talk-card.mobile-active{background:var(--accent);transition:background .5s var(--ease)}
  .talk-card.mobile-active a,.talk-card.mobile-active p{transform:translateX(5px)}
  .talk-card a,.talk-card p{transition:transform .45s var(--ease)}

  /* El formulario se siente más ligero en móvil. */
  .talk-form-section{gap:34px}
  .project-form{gap:0}
  .form-field{padding-top:18px;padding-bottom:18px}
  .form-submit-row button{font-size:11.5vw;line-height:.88}
}

@media (prefers-reduced-motion:reduce){
  .mobile-reveal,.project-mobile-media,.home-route{animation:none!important;transition:none!important}
}


/* ===== SEO + JERARQUÍA MÓVIL FINAL ===== */
.home-seo-title{
  margin:0 0 5px;
  font:inherit;
  font-weight:900;
  letter-spacing:.045em;
  line-height:1.12;
  text-transform:uppercase;
}
.home-kicker-services p{margin:0;line-height:1.18}

@media(max-width:700px){
  :root{
    --m-display:clamp(46px,13.2vw,68px);
    --m-section:clamp(34px,10.2vw,52px);
    --m-subhead:clamp(21px,6.2vw,29px);
    --m-body:16px;
    --m-small:10px;
  }

  body{font-size:var(--m-body);line-height:1.4}

  /* Nivel 1 · titulares de apertura */
  .home-title .line,
  .identity-words,
  .page-work .process-main h1,
  .talk-title span,
  .page-talk .talk-mail{
    font-size:var(--m-display)!important;
    line-height:.88!important;
    letter-spacing:-.065em!important;
    font-weight:900;
  }

  /* Nivel 2 · titulares de sección */
  .manifesto-copy,
  .detail-copy>p:first-child,
  .work-outro .big,
  .talk-brief>p,
  .talk-form-head h2,
  .form-submit-row button{
    font-size:var(--m-section)!important;
    line-height:.94!important;
    letter-spacing:-.05em!important;
    font-weight:900;
  }

  /* Nivel 3 · destacados y nombres */
  .detail-copy .accent-copy,
  .detail-final,
  .page-work .process-end strong,
  .page-work .project-name,
  .talk-card p,
  .talk-card a{
    font-size:var(--m-subhead)!important;
    line-height:1!important;
    letter-spacing:-.035em!important;
  }

  /* Cuerpo · mismo tamaño en todas las páginas */
  .manifesto-side,
  .identity-caption p,
  .detail-notes,
  .page-work .process-copy,
  .page-work .process-end,
  .work-outro>div,
  .talk-foot,
  .talk-brief>div,
  .talk-form-head>p,
  .form-field input,
  .form-field select,
  .form-field textarea,
  .form-consent,
  .legal-copy p,
  .legal-copy dd{
    font-size:var(--m-body)!important;
    line-height:1.45!important;
    letter-spacing:-.01em!important;
  }

  /* Etiquetas */
  .home-kicker,
  .home-seo-title,
  .home-bottom,
  .section-index,
  .identity-small,
  .home-nav-label,
  .process-kicker,
  .talk-kicker,
  .talk-contact-label,
  .talk-card small,
  .form-field label,
  .form-status,
  .legal-footer{
    font-size:var(--m-small)!important;
    line-height:1.25!important;
    letter-spacing:.055em!important;
  }

  .home-seo-title{margin-bottom:5px}
  .home-kicker-services p{font-size:var(--m-small);line-height:1.25}

  /* Más aire y menos cambios bruscos de escala */
  .home-title{gap:.48cm!important}
  .manifesto-side{max-width:94%;margin-top:28px}
  .identity-caption p{max-width:92%;font-size:var(--m-body)!important}
  .detail-copy .accent-copy{margin-top:18px}
  .detail-final{margin-top:28px!important}
  .page-work .process-copy{max-width:94%;margin-top:26px}
  .page-work .process-end{margin-top:26px}
  .work-outro>div{max-width:94%}
  .talk-foot{font-size:var(--m-body)!important;line-height:1.42!important}
  .talk-brief>div{max-width:94%}
  .talk-card{min-height:140px}
  .form-field{padding:16px 0 18px}
  .form-field label{margin-bottom:9px}
  .form-field textarea{min-height:150px}
  .form-submit-row button{font-size:var(--m-section)!important}

  /* Los proyectos mantienen jerarquía, incluso con nombres largos */
  .page-work .project-row[data-name="CLÍNICA UNIVERSIDAD DE NAVARRA"] .project-name{
    font-size:clamp(23px,6.6vw,31px)!important;
    line-height:.95!important;
  }

  /* Navegación final: clara pero sin competir con los titulares principales */
  .home-nav-links a{
    font-size:var(--m-section)!important;
    line-height:.96!important;
  }
  .home-nav-links .home-route i,
  .home-nav-links .home-route i b{font-size:var(--m-small)!important}

  /* Footer legible, en dos bloques limpios */
  .legal-footer{line-height:1.35!important}
}

.project-row:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;}


/* ===== CONAMUR · JERARQUÍA EDITORIAL REFINADA ===== */
:root{
  --display:"Instrument Serif", Georgia, "Times New Roman", serif;
  --sans:"Instrument Sans", Arial, Helvetica, sans-serif;
  --text-size:clamp(15px,1.05vw,18px);
  --text-leading:1.48;
}
body{font-family:var(--sans);font-weight:400;line-height:var(--text-leading)}
.site-header,.legal-footer,.home-kicker,.home-bottom,.section-index,.identity-small,.home-nav-label,.process-kicker,.talk-kicker,.talk-contact-label,.form-field label,.form-status{font-family:var(--sans);font-weight:500;letter-spacing:.04em}

/* Un solo lenguaje para titulares: serif editorial, peso regular. */
.home-title,.manifesto-copy,.identity-words,.detail-copy>p:first-child,.home-nav-links .home-route>span,
.page-work .process-main h1,.page-work .work-outro .big,.page-talk .talk-title,.page-talk .talk-brief>p,.page-talk .talk-mail,.talk-form-head h2,.legal-hero h1{
  font-family:var(--display);
  font-weight:400!important;
  letter-spacing:-.045em!important;
}

.home-title{line-height:.88}
.home-title .line{line-height:.88!important}
.hero-idea{font-style:italic;color:var(--accent)}
.home-seo-title{font-family:var(--sans);font-size:11px!important;line-height:1.2!important;font-weight:600!important;letter-spacing:.05em!important;margin:0 0 7px}
.home-kicker-services p{margin:0;font-size:10px;line-height:1.35}
.home-kicker-note{font-size:10px;line-height:1.35}

.home-manifesto{padding-top:clamp(28px,4vw,64px);padding-bottom:clamp(36px,6vw,90px)}
.manifesto-copy{font-size:clamp(64px,8.4vw,142px)!important;line-height:.88!important}
.manifesto-copy .ghost{font-style:italic;font-weight:400}
.manifesto-side{font-size:var(--text-size)!important;line-height:var(--text-leading)!important;max-width:440px}
.manifesto-side p{margin:0 0 1em}

.identity-words{line-height:.8!important}
.identity-brand{font-style:italic;color:var(--accent)}
.identity-caption p{font-family:var(--sans);font-size:clamp(20px,2.1vw,34px)!important;line-height:1.25!important;letter-spacing:-.025em!important;max-width:900px}
.identity-caption a{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.05em;border-bottom:1px solid currentColor;padding-bottom:3px}

.detail-scene{align-items:start}
.detail-copy>p:first-child{font-size:clamp(62px,8vw,132px)!important;line-height:.86!important}
.detail-copy .accent-copy{font-family:var(--display);font-style:italic;font-weight:400!important;font-size:clamp(31px,3.2vw,54px)!important;line-height:1!important;letter-spacing:-.03em!important;margin-top:24px}
.detail-notes{font-size:var(--text-size)!important;line-height:var(--text-leading)!important;max-width:430px}
.detail-final{font-family:var(--display);font-size:clamp(26px,2.5vw,40px)!important;line-height:1.05!important;font-weight:400!important}
.detail-final span{font-style:italic}

.home-nav{padding-top:clamp(36px,5vw,70px);padding-bottom:clamp(30px,4vw,58px)}
.home-nav-links{margin-top:clamp(34px,5vw,76px)}
.home-nav-links .home-route>span{font-size:clamp(70px,10vw,168px)!important;line-height:.84!important}
.home-nav-links .home-route:nth-child(2)>span{font-style:italic}
.home-nav-links .home-route i{font-family:var(--sans)}

/* Trabajo */
.page-work .work-process-scene{padding-top:clamp(105px,10vw,150px);padding-bottom:clamp(50px,6vw,90px)}
.page-work .process-main h1{font-size:clamp(68px,8.2vw,136px)!important;line-height:.84!important}
.page-work .process-main h1 .process-turns{font-style:italic;color:var(--accent)}
.page-work .process-copy{font-size:var(--text-size)!important;line-height:var(--text-leading)!important;max-width:610px}
.page-work .process-end{font-size:13px!important;line-height:1.35!important}
.page-work .process-end strong{font-family:var(--display);font-weight:400!important;font-style:italic;font-size:1.5em}
.page-work .project-name{font-family:var(--display);font-weight:400!important;letter-spacing:-.04em!important}
.page-work .project-type,.page-work .project-num{font-family:var(--sans);font-weight:500!important}
.page-work .work-outro .big{line-height:.88!important}
.page-work .work-outro .big em{font-style:italic;color:var(--accent)}
.page-work .work-outro>div{font-size:var(--text-size)!important;line-height:var(--text-leading)!important}

/* Habla */
.page-talk .talk-intro{padding-top:clamp(100px,9vw,145px)}
.page-talk .talk-title{line-height:.82!important}
.page-talk .talk-title span:nth-child(3){font-style:italic;color:var(--accent)}
.page-talk .talk-foot p{font-size:var(--text-size)!important;line-height:var(--text-leading)!important;max-width:670px}
.page-talk .talk-brief>p{font-size:clamp(60px,7.5vw,126px)!important;line-height:.86!important}
.page-talk .talk-brief>div{font-size:var(--text-size)!important;line-height:var(--text-leading)!important;max-width:560px}
.page-talk .talk-mail{line-height:.76!important}
.talk-card p,.talk-card a{font-family:var(--display);font-weight:400!important;letter-spacing:-.03em!important}
.talk-form-head h2{font-size:clamp(62px,7vw,118px)!important;line-height:.86!important}
.talk-form-prompt{font-family:var(--display);font-style:italic;font-size:clamp(28px,2.6vw,44px)!important;line-height:1!important;color:var(--accent)}
.project-form input,.project-form select,.project-form textarea{font-family:var(--sans);font-size:16px;line-height:1.4;font-weight:400}
.form-submit-row button{font-family:var(--sans);font-weight:600}

/* Mosca: rallitas grises visibles y persistentes */
.detail-trail-line{
  width:18px!important;height:2px!important;border-radius:99px!important;background:#c8c8c8!important;opacity:.9!important;
  box-shadow:none!important;animation:none!important;
}

/* Móvil: una jerarquía sencilla y consistente. */
@media(max-width:700px){
  :root{--text-size:16px;--text-leading:1.48}
  .site-header{height:60px}
  .home-intro{padding-top:82px}
  .home-kicker{gap:18px}
  .home-kicker-note{font-size:8.5px;max-width:128px}
  .home-seo-title{font-size:9px!important}
  .home-kicker-services p{font-size:8.5px}
  .home-title{gap:.45cm!important}
  .home-title .line{font-size:15.2vw!important;line-height:.9!important}
  .manifesto-copy{font-size:14.5vw!important;line-height:.9!important}
  .manifesto-side{font-size:16px!important;line-height:1.48!important;max-width:88%}
  .identity-words{font-size:16vw!important;line-height:.82!important}
  .identity-caption p{font-size:7vw!important;line-height:1.08!important}
  .detail-scene{grid-template-columns:1fr!important;gap:34px!important;min-height:auto!important;padding-top:34px;padding-bottom:64px}
  .detail-copy>p:first-child{font-size:14vw!important;line-height:.9!important}
  .detail-copy .accent-copy{font-size:8vw!important;line-height:1!important;margin-top:16px}
  .detail-notes{font-size:16px!important;line-height:1.48!important;margin:0!important;max-width:88%}
  .detail-final{font-size:8vw!important;line-height:1.05!important;margin-top:32px!important}
  .home-nav-links .home-route>span{font-size:15vw!important;line-height:.9!important}
  .home-nav-footer{font-size:8.5px!important;line-height:1.35!important}

  .page-work .work-process-scene{padding-top:84px!important;min-height:auto!important;padding-bottom:56px!important}
  .page-work .process-main h1{font-size:14vw!important;line-height:.88!important}
  .page-work .process-copy{font-size:16px!important;line-height:1.48!important;max-width:92%}
  .page-work .process-end{margin-top:40px;font-size:11px!important;line-height:1.4!important}
  .page-work .project-name{font-size:10vw!important;line-height:.92!important}
  .page-work .work-outro .big{font-size:13vw!important;line-height:.9!important}
  .page-work .work-outro>div{font-size:16px!important;line-height:1.48!important}

  .page-talk .talk-intro{padding-top:84px!important}
  .page-talk .talk-title span{font-size:15vw!important;line-height:.88!important}
  .page-talk .talk-foot p{font-size:16px!important;line-height:1.48!important}
  .page-talk .talk-brief>p{font-size:13.5vw!important;line-height:.9!important}
  .page-talk .talk-brief>div{font-size:16px!important;line-height:1.48!important}
  .page-talk .talk-mail{font-size:13.5vw!important;line-height:.82!important}
  .talk-card p,.talk-card a{font-size:8.5vw!important;line-height:1!important}
  .talk-form-head h2{font-size:13vw!important;line-height:.9!important}
  .talk-form-prompt{font-size:8vw!important}
  .form-field label{font-size:10px!important}
  .project-form input,.project-form select,.project-form textarea{font-size:16px!important;line-height:1.42!important}
}


/* ===== FINAL POLISH · SISTEMA TIPOGRÁFICO Y RITMO ===== */
:root{
  --copy-leading:1.56;
  --copy-width:42ch;
  --label-size:10px;
  --section-rule:rgba(17,17,15,.22);
}
html{text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
p{max-width:var(--copy-width);text-wrap:pretty}
h1,h2,h3,.manifesto-copy,.identity-words,.home-route>span,.project-name{text-wrap:balance}

/* Las etiquetas orientan; nunca compiten con el contenido. */
.home-kicker,.home-bottom,.section-index,.identity-small,.home-nav-label,
.process-kicker,.talk-kicker,.talk-contact-label,.project-num,.project-type,
.form-field label,.form-status,.legal-footer,.legal-hero>span,.legal-hero>p{
  font-family:var(--sans);
  font-size:var(--label-size)!important;
  font-weight:500!important;
  line-height:1.25!important;
  letter-spacing:.065em!important;
  text-transform:uppercase;
}

/* Texto de lectura: un único ritmo en todo el sitio. */
.manifesto-side,.identity-caption p,.detail-notes,.page-work .process-copy,
.page-work .work-outro>div,.page-talk .talk-foot p,.page-talk .talk-brief>div,
.talk-form-head>p,.legal-copy p,.legal-copy dd{
  font-family:var(--sans);
  font-size:var(--text-size)!important;
  font-weight:400!important;
  line-height:var(--copy-leading)!important;
  letter-spacing:-.012em!important;
}
.manifesto-side{max-width:38ch}
.identity-caption p{max-width:31ch}
.detail-notes{max-width:36ch}
.page-work .process-copy{max-width:44ch}
.page-work .work-outro>div{max-width:37ch}
.page-talk .talk-foot p{max-width:45ch}
.page-talk .talk-brief>div{max-width:39ch}
.legal-copy{max-width:920px}
.legal-copy p,.legal-copy dd{line-height:1.62!important}

/* Displays: misma tensión tipográfica, sin mezclar pesos. */
.home-title,.manifesto-copy,.identity-words,.detail-copy>p:first-child,
.home-nav-links .home-route>span,.page-work .process-main h1,.page-work .work-outro .big,
.page-talk .talk-title,.page-talk .talk-brief>p,.page-talk .talk-mail,.talk-form-head h2,.legal-hero h1{
  font-family:var(--display);
  font-weight:400!important;
  letter-spacing:-.042em!important;
}
.home-title .line{line-height:.89!important}
.manifesto-copy{line-height:.9!important}
.identity-words{line-height:.82!important}
.detail-copy>p:first-child{line-height:.88!important}
.home-nav-links .home-route>span{line-height:.87!important}
.page-work .process-main h1{line-height:.87!important}
.page-work .work-outro .big{line-height:.9!important}
.page-talk .talk-title{line-height:.85!important}
.page-talk .talk-brief>p{line-height:.89!important}
.page-talk .talk-mail{line-height:.8!important}
.talk-form-head h2{line-height:.9!important}

/* Ritmo vertical: una sección = una idea. */
.home-manifesto,.detail-scene,.home-nav,.work-process-scene,.work-outro,.talk-brief,.talk-form-section{
  border-top:1px solid var(--section-rule);
}
.manifesto-grid,.identity-caption,.detail-scene,.work-outro,.talk-brief{
  column-gap:clamp(36px,7vw,120px);
}
.detail-notes p,.manifesto-side p,.work-outro>div p,.talk-brief>div p{margin-bottom:1.05em}
.detail-notes p:last-child,.manifesto-side p:last-child,.work-outro>div p:last-child,.talk-brief>div p:last-child{margin-bottom:0}

/* Formularios: lectura cómoda y sin microtipografía innecesaria. */
.project-form input,.project-form select,.project-form textarea{
  font-family:var(--sans);font-size:16px!important;line-height:1.45!important;font-weight:400!important;
}
.form-consent{font-size:13px!important;line-height:1.5!important;max-width:62ch}

/* Móvil: conservamos la personalidad, pero con una escala mucho más estable. */
@media(max-width:700px){
  :root{--text-size:16px;--copy-leading:1.52;--label-size:9px;--copy-width:34ch}
  .home-title .line{font-size:14.4vw!important;line-height:.92!important}
  .home-title{gap:.38cm!important}
  .manifesto-copy{font-size:13.5vw!important;line-height:.92!important}
  .manifesto-side{max-width:32ch!important;margin-top:34px}
  .identity-words{font-size:15.3vw!important;line-height:.86!important}
  .identity-caption{gap:24px}
  .identity-caption p{font-size:20px!important;line-height:1.28!important;max-width:28ch!important}
  .detail-copy>p:first-child{font-size:13vw!important;line-height:.91!important}
  .detail-copy .accent-copy{font-size:7.2vw!important;line-height:1.04!important}
  .detail-notes{max-width:32ch!important;line-height:1.52!important}
  .detail-final{font-size:7.2vw!important;line-height:1.08!important}
  .home-nav-links .home-route>span{font-size:13.8vw!important;line-height:.92!important}
  .home-nav-footer{gap:22px}
  .home-nav-footer span:first-child{max-width:24ch}

  .page-work .process-main h1{font-size:13vw!important;line-height:.9!important}
  .page-work .process-copy{max-width:33ch!important;line-height:1.52!important}
  .page-work .work-outro .big{font-size:12.2vw!important;line-height:.92!important}
  .page-work .work-outro>div{max-width:32ch!important}
  .page-work .project-row{padding-top:20px!important;padding-bottom:20px!important}
  .page-work .project-type{line-height:1.35!important}

  .page-talk .talk-title span{font-size:13.8vw!important;line-height:.9!important}
  .page-talk .talk-foot p{max-width:33ch!important;line-height:1.52!important}
  .page-talk .talk-brief>p{font-size:12.5vw!important;line-height:.92!important}
  .page-talk .talk-brief>div{max-width:32ch!important;line-height:1.52!important}
  .page-talk .talk-mail{font-size:12.6vw!important;line-height:.86!important}
  .talk-card p,.talk-card a{font-size:7.6vw!important;line-height:1.05!important}
  .talk-form-head h2{font-size:12vw!important;line-height:.93!important}
  .talk-form-prompt{font-size:6.8vw!important}
  .legal-copy p,.legal-copy dd{font-size:16px!important;line-height:1.58!important}
}


/* ===== TRABAJO · LEGIBILIDAD EDITORIAL ===== */
.page-work .work-process-scene{overflow:hidden}
.page-work .process-main h1{
  text-transform:none!important;
  max-width:11.4ch;
  text-wrap:balance;
}
.page-work .process-main h1 span{display:block}
.page-work .process-copy{margin-top:clamp(28px,3vw,48px)}
.page-work .process-end{text-transform:none!important;letter-spacing:0!important}

.page-work .project-row{
  grid-template-columns:46px minmax(0,1fr) minmax(180px,240px) 28px;
  min-height:118px;
  padding-top:22px;
  padding-bottom:22px;
}
.page-work .project-name{
  text-transform:none!important;
  font-size:clamp(42px,4.7vw,78px)!important;
  line-height:.95!important;
  letter-spacing:-.035em!important;
  max-width:18ch;
}
.page-work .project-type{
  text-transform:none!important;
  font-size:12px!important;
  line-height:1.4!important;
  letter-spacing:.01em!important;
  text-align:left;
  justify-self:end;
  max-width:22ch;
}
.page-work .project-num{
  font-size:10px!important;
  line-height:1!important;
}
.page-work .project-arrow{font-size:18px;align-self:center}
.page-work .project-row[data-name="CLÍNICA UNIVERSIDAD DE NAVARRA"] .project-name{
  font-size:clamp(34px,3.7vw,62px)!important;
  line-height:.98!important;
  max-width:21ch;
}
.page-work .project-preview{
  width:min(26vw,380px);
  max-width:calc(100vw - 48px);
  max-height:72vh;
  aspect-ratio:4/5;
}
.page-work .work-outro .big{
  text-transform:none!important;
  font-size:clamp(58px,7vw,112px)!important;
  line-height:.92!important;
  letter-spacing:-.04em!important;
  max-width:9.5ch;
}
.page-work .work-outro a{text-transform:none!important;letter-spacing:.02em!important}

@media(max-width:900px){
  .page-work .project-row{
    grid-template-columns:38px minmax(0,1fr) 150px 24px;
    gap:12px;
  }
  .page-work .project-name{font-size:clamp(38px,6vw,62px)!important}
  .page-work .project-type{font-size:11px!important}
}

@media(max-width:700px){
  .page-work .work-process-scene{padding-left:20px!important;padding-right:20px!important}
  .page-work .process-main h1{
    max-width:9.7ch;
    font-size:15vw!important;
    line-height:.92!important;
    letter-spacing:-.035em!important;
  }
  .page-work .process-copy{
    margin-top:30px!important;
    max-width:31ch!important;
    font-size:16px!important;
    line-height:1.55!important;
  }
  .page-work .process-end{
    max-width:27ch!important;
    font-size:12px!important;
    line-height:1.45!important;
  }
  .page-work .project-row{
    grid-template-columns:26px minmax(0,1fr) 20px!important;
    gap:10px!important;
    padding:20px 18px!important;
    min-height:86px!important;
  }
  .page-work .project-name{
    font-size:10.5vw!important;
    line-height:.98!important;
    max-width:none;
  }
  .page-work .project-row[data-name="CLÍNICA UNIVERSIDAD DE NAVARRA"] .project-name{
    font-size:8.6vw!important;
    line-height:1!important;
    max-width:12ch;
  }
  .page-work .project-type{display:none!important}
  .project-mobile-media{border-top:1px solid rgba(17,17,15,.15);padding-top:14px}
  .project-mobile-media img{height:58vw!important;max-height:420px!important;object-fit:cover}
  .page-work .work-outro{
    padding-left:20px!important;
    padding-right:20px!important;
    gap:34px!important;
  }
  .page-work .work-outro .big{
    font-size:14vw!important;
    line-height:.95!important;
    max-width:8.7ch;
  }
  .page-work .work-outro>div{max-width:31ch!important}
}

/* ===== AJUSTES SOLICITADOS · HOME / TRABAJO / HABLA ===== */

/* CONAMUR siempre rosa y con la misma raya de interacción que la navegación. */
.site-header{mix-blend-mode:normal!important;color:var(--ink)}
.site-nav a{mix-blend-mode:difference;color:#fff}
.brand{
  color:var(--accent)!important;
  position:relative;
  display:inline-block;
}
.brand::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-5px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .35s var(--ease);
}
.brand:hover::after,.brand:focus-visible::after{transform:scaleX(1);transform-origin:left}

/* Todas las flechas son glifos lineales simples. */
.project-arrow,.talk-location span,.talk-mail span,.form-submit-row button span,.home-route i em,
.identity-caption a,.work-outro a{
  font-family:var(--sans)!important;
  font-style:normal!important;
  font-weight:400!important;
}
.project-row:hover .project-arrow,
.talk-location:hover span,
.form-submit-row button:hover span,
.home-nav-links .home-route:hover i em{transform:translateX(5px)!important}

/* El macro zoom solo existe en móvil. */
.detail-mobile-zoom{display:none}

@media(max-width:700px){
  /* HOME · manifiesto narrativo: negro + titular primero, texto después. */
  .home-manifesto{
    min-height:148vh;min-height:148svh!important;
    padding:22px 20px 0!important;
    display:block!important;
  }
  .home-manifesto>.section-index{display:block;position:relative;z-index:5}
  .home-manifesto .manifesto-grid{
    position:sticky;
    top:56px;
    height:calc(100svh - 56px);
    min-height:0!important;
    display:flex!important;
    flex-direction:column;
    justify-content:center;
    gap:0!important;
    overflow:hidden;
  }
  .home-manifesto .manifesto-copy{
    flex:0 0 auto;
    margin:0!important;
    will-change:transform;
  }
  .home-manifesto .manifesto-side{
    width:min(92%,390px);
    margin:34px 0 0 auto!important;
    opacity:0;
    transform:translateY(72px);
    will-change:transform,opacity;
    font-size:15px!important;
    line-height:1.48!important;
  }
  .home-manifesto .manifesto-side p{margin-bottom:12px!important}

  /* DETALLES · fuera mosca en móvil, entra un macro zoom a un detalle. */
  .detail-fly,.detail-trail-line{display:none!important}
  .detail-scene{
    min-height:155vh;min-height:155svh!important;
    padding:22px 20px 30px!important;
    display:block!important;
    position:relative;
    overflow:hidden;
  }
  .detail-scene>.section-index{position:relative;z-index:6}
  .detail-copy{
    position:sticky;
    top:18vh;
    z-index:2;
    padding-top:16vh;
    max-width:92%;
  }
  .detail-notes{
    position:absolute;
    left:20px;right:20px;bottom:7vh;
    z-index:6;
    max-width:31ch!important;
    margin:0!important;
    background:rgba(232,66,83,.88);
    padding-top:14px;
  }
  .detail-mobile-zoom{
    display:block;
    position:sticky;
    top:0;
    height:100vh;height:100svh;
    margin-top:-76vh;
    z-index:4;
    pointer-events:none;
    overflow:hidden;
    --zoom-progress:0;
  }
  .zoom-target{
    position:absolute;
    left:72%;top:50%;
    width:5px;height:5px;
    border-radius:50%;
    background:rgba(17,17,15,.55);
  }
  .zoom-target::before,.zoom-target::after{
    content:"";position:absolute;background:rgba(17,17,15,.25)
  }
  .zoom-target::before{width:22px;height:1px;left:-9px;top:2px}
  .zoom-target::after{height:22px;width:1px;top:-9px;left:2px}
  .zoom-lens{
    position:absolute;
    left:72%;top:50%;
    width:90px;height:90px;
    border:1px solid rgba(17,17,15,.34);
    border-radius:50%;
    background:var(--paper);
    transform:translate(-50%,-50%) scale(.12);
    transform-origin:center;
    overflow:hidden;
    will-change:transform;
    box-shadow:0 0 0 1px rgba(242,240,234,.45);
  }
  .zoom-cross{position:absolute;z-index:1;background:rgba(17,17,15,.12)}
  .zoom-cross-h{left:0;right:0;top:50%;height:1px}
  .zoom-cross-v{top:0;bottom:0;left:50%;width:1px}
  .zoom-fly{
    position:absolute;
    left:50%;top:50%;
    width:38px;height:20px;
    transform:translate(-50%,-50%) rotate(-11deg);
  }
  .zoom-fly::before{
    content:"";position:absolute;left:13px;top:7px;width:15px;height:7px;
    border-radius:65% 45% 60% 45%;background:#222;
  }
  .zoom-fly::after{
    content:"";position:absolute;left:4px;top:1px;width:17px;height:11px;
    border:1px solid rgba(17,17,15,.58);border-radius:80% 30%;
    box-shadow:15px 4px 0 -1px rgba(17,17,15,.10);
    transform:rotate(-18deg);
  }
  .zoom-fly i::before,.zoom-fly i::after{
    content:"";position:absolute;left:22px;top:13px;width:15px;height:1px;background:#222;transform-origin:left
  }
  .zoom-fly i::before{transform:rotate(30deg)}
  .zoom-fly i::after{transform:rotate(-24deg)}
  .zoom-caption{
    position:absolute;
    left:20px;bottom:24px;
    font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.06em;
    color:var(--ink);opacity:0;
  }

  /* TRABAJO · la imagen solo se abre al tocar y comparte espacio con el texto. */
  .page-work .project-row{
    cursor:pointer;
    grid-template-rows:auto auto!important;
  }
  .project-mobile-detail{
    grid-column:1/-1;
    grid-row:2;
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(118px,.88fr);
    gap:14px;
    align-items:stretch;
    max-height:0;
    opacity:0;
    overflow:hidden;
    margin-top:0;
    border-top:1px solid transparent;
    transition:max-height .7s var(--ease),opacity .32s ease,margin .55s var(--ease),border-color .35s ease;
  }
  .project-mobile-detail .project-mobile-media{
    display:block!important;
    max-height:none!important;
    opacity:1!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    transform:translateX(13%)!important;
    overflow:hidden;
    transition:transform .72s var(--ease)!important;
  }
  .project-mobile-detail .project-mobile-media img{
    display:block;
    width:100%;
    height:46vw!important;
    max-height:230px!important;
    object-fit:cover;
  }
  .project-mobile-copy{
    margin:0;
    align-self:center;
    font-family:var(--sans);
    font-size:12px;
    line-height:1.45;
    letter-spacing:0;
    opacity:0;
    transform:translateX(18px);
    transition:opacity .38s ease .12s,transform .58s var(--ease) .08s;
  }
  .project-row.is-expanded .project-mobile-detail{
    max-height:420px;
    opacity:1;
    margin-top:16px;
    padding-top:14px;
    border-color:rgba(17,17,15,.18);
  }
  .project-row.is-expanded .project-mobile-media{transform:translateX(0)!important}
  .project-row.is-expanded .project-mobile-copy{opacity:1;transform:translateX(0)}
  .project-row.is-expanded .project-arrow{transform:translateX(5px)!important}

  /* HABLA · menos recorrido antes de llegar al formulario. */
  .page-talk .talk-intro{
    min-height:76vh;min-height:76svh!important;
    padding:78px 20px 24px!important;
  }
  .page-talk .talk-title{align-self:center}
  .page-talk .talk-foot{gap:18px}
  .page-talk .talk-foot strong{display:none}
  .page-talk .talk-brief{
    min-height:auto!important;
    padding:54px 20px!important;
    gap:30px!important;
  }
  .page-talk .talk-brief>div{max-width:32ch!important;margin-left:auto}
  .page-talk .talk-brief-last{margin-top:18px!important}
  .talk-contact-label{padding:18px 20px 10px!important}
  .page-talk .talk-mail-zone{
    min-height:34vh;min-height:34svh!important;
    padding:34px 20px!important;
  }
  .page-talk .talk-mail{font-size:12vw!important;line-height:.88!important}
  .page-talk .talk-details{
    grid-template-columns:1fr 1fr!important;
    border-top:1px solid var(--ink);
  }
  .page-talk .talk-card{
    min-height:124px!important;
    padding:18px 20px!important;
    border-right:1px solid var(--ink)!important;
    border-bottom:1px solid var(--ink)!important;
  }
  .page-talk .talk-card:nth-child(2){border-right:0!important}
  .page-talk .talk-card:nth-child(3){
    grid-column:1/-1;
    min-height:auto!important;
    border-right:0!important;
    border-bottom:0!important;
    display:grid;
    grid-template-columns:120px 1fr;
    gap:18px;
    align-items:start;
  }
  .page-talk .talk-card:nth-child(3) p{
    font-family:var(--sans)!important;
    font-size:12px!important;
    font-weight:500!important;
    line-height:1.45!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }
  .page-talk .talk-card a{font-size:7vw!important}
  .page-talk .talk-form-section{padding:34px 20px 44px!important;gap:26px!important}
  .page-talk .talk-form-head h2{margin:18px 0!important;font-size:11.3vw!important}
  .page-talk .talk-form-prompt{display:none}
}

/* Horizontal en móvil: las imágenes no dominan toda la pantalla. */
@media(max-width:900px) and (orientation:landscape) and (max-height:520px){
  .page-work .project-mobile-detail{
    grid-template-columns:minmax(0,1.35fr) minmax(190px,.65fr)!important;
    gap:18px!important;
  }
  .page-work .project-mobile-detail .project-mobile-media img{
    height:min(42vh,230px)!important;
    max-height:230px!important;
    object-fit:cover!important;
  }
  .page-work .project-row.is-expanded .project-mobile-detail{max-height:300px!important}
  .page-work .project-mobile-copy{font-size:12px!important;line-height:1.4!important}
}

@media(prefers-reduced-motion:reduce){
  .brand::after,.project-mobile-detail,.project-mobile-media,.project-mobile-copy{transition:none!important}
}


/* ===== AJUSTES 10/09 · continuidad móvil, proyectos y Habla ===== */
@media(max-width:700px){
  /* El manifiesto ocupa recorrido real: primero solo titular; luego sube y el texto continúa justo debajo. */
  .home-manifesto{min-height:178vh;min-height:178svh!important}
  .home-manifesto .manifesto-grid{justify-content:center!important;overflow:visible!important}
  .home-manifesto .manifesto-copy{position:relative;z-index:2;transition:opacity .2s linear}
  .home-manifesto .manifesto-side{
    width:min(91%,34ch)!important;
    margin:22px 0 0 0!important;
    align-self:flex-start!important;
    font-size:15px!important;
    line-height:1.52!important;
  }
  .home-manifesto .manifesto-side p{margin:0 0 13px!important}

  /* El detalle termina en un zoom blanco que empalma con la navegación final. */
  .detail-mobile-zoom{z-index:8!important}
  .zoom-lens{
    background:#fff!important;
    border:0!important;
    box-shadow:none!important;
  }
  .zoom-cross,.zoom-fly,.zoom-caption{display:none!important}
  .detail-copy,.detail-notes{transition:opacity .16s linear}
  .home-nav{background:#fff!important;position:relative;z-index:9}

  /* Trabajo: imagen por scroll; texto solamente después de tocar la imagen. */
  .page-work .project-row{cursor:default!important;grid-template-rows:auto auto!important}
  .page-work .project-mobile-detail{
    grid-column:1/-1!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    max-height:0!important;
    opacity:0!important;
    overflow:hidden!important;
    margin-top:0!important;
    padding-top:0!important;
    border-top:0!important;
    transition:max-height .72s var(--ease),opacity .36s ease,margin .55s var(--ease)!important;
  }
  .page-work .project-row.mobile-active .project-mobile-detail,
  .page-work .project-row.is-expanded .project-mobile-detail{
    max-height:520px!important;
    opacity:1!important;
    margin-top:16px!important;
  }
  .page-work .project-mobile-media{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:block!important;
    width:100%!important;
    border:0!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    overflow:hidden!important;
    cursor:pointer!important;
    transform:translateX(0)!important;
    transition:transform .68s var(--ease),width .68s var(--ease)!important;
    text-align:left!important;
  }
  .page-work .project-mobile-media img{
    display:block!important;
    width:100%!important;
    height:48vw!important;
    max-height:300px!important;
    object-fit:cover!important;
  }
  .page-work .project-mobile-copy{
    display:none!important;
    margin:0!important;
    font-family:var(--sans)!important;
    font-size:13px!important;
    line-height:1.48!important;
    letter-spacing:0!important;
    opacity:0!important;
  }
  .page-work .project-row.is-expanded .project-mobile-detail{
    grid-template-columns:minmax(0,1.08fr) minmax(120px,.92fr)!important;
    gap:14px!important;
    align-items:center!important;
  }
  .page-work .project-row.is-expanded .project-mobile-media{
    width:100%!important;
    transform:translateX(-3%)!important;
  }
  .page-work .project-row.is-expanded .project-mobile-copy{
    display:block!important;
    opacity:1!important;
    padding-right:2px!important;
  }
  .page-work .project-mobile-media:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

  /* Evita que el cierre se recorte en móviles estrechos. */
  .page-work .work-outro{min-height:auto!important;padding:64px 20px 54px!important;overflow:visible!important}
  .page-work .work-outro .big{
    max-width:100%!important;
    font-size:12vw!important;
    line-height:.94!important;
    letter-spacing:-.04em!important;
    overflow:visible!important;
    white-space:normal!important;
  }

  /* Habla: una vez que un dato se activa al bajar, conserva el fondo de color. */
  .page-talk .talk-card.mobile-active{background:var(--accent)!important}
}

/* En móvil horizontal seguimos mostrando la imagen al scroll, pero mucho más contenida. */
@media(max-width:900px) and (orientation:landscape) and (hover:none),
       (max-width:900px) and (orientation:landscape) and (pointer:coarse){
  .page-work .project-row.mobile-active .project-mobile-detail,
  .page-work .project-row.is-expanded .project-mobile-detail{max-height:250px!important}
  .page-work .project-mobile-media img{height:min(34vh,190px)!important;max-height:190px!important}
  .page-work .project-row.is-expanded .project-mobile-detail{grid-template-columns:minmax(0,1.35fr) minmax(170px,.65fr)!important}
  .page-work .project-mobile-copy{font-size:12px!important;line-height:1.42!important}
}


/* ===== FIX CAPTURAS 10/09 · secuencias móviles robustas ===== */
@media(max-width:700px){
  /* MANIFIESTO: sin pantalla negra vacía. La segunda parte aparece pronto y queda unida al titular. */
  .home-manifesto{
    min-height:112vh;min-height:112svh!important;
    padding:20px 20px 36px!important;
  }
  .home-manifesto .manifesto-grid{
    position:sticky!important;
    top:56px!important;
    height:calc(100svh - 56px)!important;
    min-height:0!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .home-manifesto .manifesto-copy{
    margin:0!important;
    transform:translate3d(0,0,0);
  }
  .home-manifesto .manifesto-side{
    width:min(92%,32ch)!important;
    margin:18px 0 0 0!important;
    align-self:flex-start!important;
    font-size:15px!important;
    line-height:1.5!important;
    opacity:0;
    transform:translate3d(0,34px,0);
  }

  /* DETALLES: desaparece por completo el dibujo. El propio titular abre el contenido inferior. */
  .detail-mobile-zoom{display:none!important}
  .detail-scene{
    min-height:116vh;min-height:116svh!important;
    padding:24px 20px 48px!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
  }
  .detail-scene>.section-index{flex:0 0 auto}
  .detail-copy{
    position:sticky!important;
    top:17vh!important;
    padding-top:8vh!important;
    max-width:100%!important;
    z-index:4!important;
    transform-origin:left center;
    will-change:transform;
  }
  .detail-notes{
    position:relative!important;
    left:auto!important;right:auto!important;bottom:auto!important;
    z-index:3!important;
    width:min(100%,32ch)!important;
    max-width:32ch!important;
    margin:42vh 0 0 0!important;
    background:transparent!important;
    padding:0!important;
    opacity:0;
    transform:translate3d(0,64px,0);
    clip-path:inset(0 0 100% 0);
    will-change:transform,opacity,clip-path;
  }
  .detail-final{margin-top:28px!important}

  /* TRABAJO: el scroll muestra la imagen; tocarla abre explicación a su derecha. */
  .page-work .project-mobile-detail{
    display:grid!important;
    grid-template-columns:1fr!important;
    max-height:0!important;
    opacity:0!important;
    overflow:hidden!important;
    margin-top:0!important;
    transition:max-height .62s var(--ease),opacity .28s ease,margin .45s var(--ease)!important;
  }
  .page-work .project-row.mobile-active .project-mobile-detail{
    max-height:380px!important;
    opacity:1!important;
    margin-top:16px!important;
  }
  .page-work .project-row.mobile-active:not(.is-expanded) .project-mobile-copy{
    display:none!important;
  }
  .page-work .project-row.is-expanded .project-mobile-detail{
    grid-template-columns:minmax(0,1.05fr) minmax(126px,.95fr)!important;
    gap:14px!important;
    max-height:420px!important;
    opacity:1!important;
    align-items:center!important;
  }
  .page-work .project-row.is-expanded .project-mobile-media{
    transform:translateX(-6%)!important;
  }
  .page-work .project-row.is-expanded .project-mobile-copy{
    display:block!important;
    opacity:1!important;
    transform:translateX(0)!important;
  }
  .page-work .project-mobile-copy{
    font-size:13px!important;
    line-height:1.48!important;
  }
  .page-work .project-mobile-media img{
    height:48vw!important;
    max-height:280px!important;
    object-fit:cover!important;
  }
}

@media(max-width:900px) and (orientation:landscape){
  .page-work .project-row.mobile-active .project-mobile-detail,
  .page-work .project-row.is-expanded .project-mobile-detail{max-height:225px!important}
  .page-work .project-mobile-media img{height:min(32vh,170px)!important;max-height:170px!important}
  .page-work .project-row.is-expanded .project-mobile-detail{grid-template-columns:minmax(0,1.3fr) minmax(180px,.7fr)!important}
}


/* ===== AJUSTE FINO 10/09 · transiciones delicadas + detalle macro + cierre Trabajo ===== */
.detail-mobile-focus{display:none}
.work-outro .outro-line{display:inline-block;will-change:transform,opacity}

@media(max-width:700px){
  /* Manifiesto: menos recorrido vacío y una entrada progresiva, no un corte brusco. */
  .home-manifesto{min-height:132vh;min-height:132svh!important}
  .home-manifesto .manifesto-grid{align-content:center!important;justify-content:center!important}
  .home-manifesto .manifesto-copy{will-change:transform,opacity;transform-origin:left center}
  .home-manifesto .manifesto-side{
    margin-top:18px!important;
    opacity:0;
    filter:blur(8px);
    will-change:opacity,transform,filter;
  }

  /* DETALLES: lupa editorial sobre la propia palabra, sin dibujos añadidos. */
  .detail-mobile-zoom{display:none!important}
  .detail-mobile-focus{
    display:block;
    position:absolute;
    inset:0;
    z-index:7;
    pointer-events:none;
    overflow:hidden;
  }
  .detail-focus-lens{
    position:absolute;
    left:55%;
    top:44%;
    width:34vw;
    height:34vw;
    max-width:170px;
    max-height:170px;
    min-width:118px;
    min-height:118px;
    border-radius:50%;
    overflow:hidden;
    background:var(--paper);
    border:1px solid rgba(17,17,15,.22);
    box-shadow:0 16px 44px rgba(17,17,15,.16);
    opacity:0;
    transform:translate(-50%,-50%) scale(.72);
    will-change:transform,opacity,left,top;
  }
  .detail-focus-lens::before,
  .detail-focus-lens::after{
    content:"";
    position:absolute;
    z-index:3;
    background:rgba(17,17,15,.28);
  }
  .detail-focus-lens::before{left:50%;top:10%;bottom:10%;width:1px}
  .detail-focus-lens::after{top:50%;left:10%;right:10%;height:1px}
  .detail-focus-lens span{
    position:absolute;
    left:-82%;
    top:13%;
    white-space:nowrap;
    font-family:var(--display);
    font-size:42vw;
    line-height:.75;
    letter-spacing:-.065em;
    color:var(--accent);
    transform:scale(1.08);
  }
  .detail-focus-scale{
    position:absolute;
    left:calc(55% + 66px);
    top:calc(44% + 62px);
    font-family:var(--sans);
    font-size:9px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--paper);
    opacity:0;
    transform:translateY(6px);
    will-change:opacity,transform,left,top;
  }
  .detail-scene{min-height:148vh;min-height:148svh!important}
  .detail-notes{opacity:0;filter:blur(7px);will-change:opacity,transform,filter}

  /* Cierre de Trabajo: frase completa y movimiento sutil ligado al scroll. */
  .page-work .work-outro{overflow:hidden!important}
  .page-work .work-outro .big{
    overflow:visible!important;
    max-width:100%!important;
    padding-bottom:.08em!important;
  }
  .page-work .work-outro .outro-line-a{transform:translateX(-9vw);opacity:.25}
  .page-work .work-outro .outro-line-b{transform:translateX(9vw);opacity:.25}
}

@media(prefers-reduced-motion:reduce){
  .home-manifesto .manifesto-side,.detail-notes,.detail-focus-lens,.detail-focus-scale,
  .work-outro .outro-line{filter:none!important;opacity:1!important;transform:none!important}
}

/* ===== AJUSTE MÓVIL 10/09 · ritmo, alineación y cabecera contextual ===== */
.site-header{transition:color .24s ease!important}
.site-nav a{mix-blend-mode:normal!important;transition:color .24s ease!important}
.site-header.header-on-dark .site-nav a,
.site-header.header-on-accent .site-nav a{color:#fff!important}
.site-header.header-on-light .site-nav a{color:var(--ink)!important}

@media(max-width:700px){
  /* Un único eje de lectura para la home. */
  .home-manifesto{
    min-height:112vh;min-height:112svh!important;
    padding:26px 20px 54px!important;
    grid-template-rows:auto 1fr!important;
  }
  .home-manifesto .manifesto-grid{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    gap:22px!important;
    width:100%!important;
    padding:0!important;
  }
  .home-manifesto .manifesto-copy{
    width:100%!important;
    max-width:7.6ch!important;
    margin:0!important;
    text-align:left!important;
    font-size:13.1vw!important;
    line-height:.91!important;
  }
  .home-manifesto .manifesto-side{
    width:100%!important;
    max-width:31ch!important;
    margin:0!important;
    padding:0!important;
    align-self:flex-start!important;
    text-align:left!important;
    font-size:17px!important;
    line-height:1.48!important;
  }
  .home-manifesto .manifesto-side p{margin:0 0 17px!important}
  .home-manifesto .manifesto-side p:last-child{margin-bottom:0!important}

  /* El bloque Detalles también comparte el mismo eje. */
  .detail-scene{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .detail-copy,.detail-notes{margin-left:0!important;margin-right:0!important;align-self:flex-start!important}
  .detail-copy{width:100%!important}
  .detail-notes{max-width:31ch!important}

  /* Habla: titular y cuerpo nacen exactamente en el mismo margen. */
  .page-talk .talk-brief{
    display:block!important;
    padding:82px 20px 58px!important;
    margin:0!important;
  }
  .page-talk .talk-brief>p{
    width:100%!important;
    max-width:8.2ch!important;
    margin:0 0 38px!important;
    padding:0!important;
    text-align:left!important;
    font-size:13.2vw!important;
    line-height:.91!important;
  }
  .page-talk .talk-brief>div{
    width:100%!important;
    max-width:31ch!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
    font-size:17px!important;
    line-height:1.5!important;
  }
  .page-talk .talk-brief>div p{margin:0 0 18px!important}
  .page-talk .talk-brief>div p:last-child{margin-bottom:0!important}

  /* Evita grandes huecos al acabar una secuencia animada. */
  .identity-scene{margin-top:0!important}
}

@media(max-width:420px){
  .home-manifesto{min-height:108vh;min-height:108svh!important}
  .home-manifesto .manifesto-side,
  .page-talk .talk-brief>div{font-size:16px!important;line-height:1.5!important}
}


/* ===== MOBILE · ritmo compacto y lectura más limpia ===== */
@media(max-width:700px){
  /* Negro: la animación no necesita una pantalla extra de vacío. */
  .home-manifesto{
    min-height:104vh;min-height:104svh!important;
    padding:24px 20px 46px!important;
  }
  .home-manifesto .manifesto-grid{
    justify-content:center!important;
    gap:16px!important;
  }
  .home-manifesto .manifesto-copy{
    max-width:7.2ch!important;
    font-size:12.6vw!important;
    line-height:.92!important;
  }
  .home-manifesto .manifesto-side{
    max-width:34ch!important;
    margin-top:8px!important;
    font-size:16px!important;
    line-height:1.46!important;
  }
  .home-manifesto .manifesto-side p{margin-bottom:14px!important}

  /* Rosa: recorrido más corto, título + detalle + texto forman una sola escena. */
  .detail-scene{
    min-height:106vh;min-height:106svh!important;
    padding:24px 20px 44px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
  }
  .detail-scene>.section-index{margin-bottom:auto!important}
  .detail-copy{
    margin-top:10vh;margin-top:10svh!important;
    margin-bottom:18px!important;
  }
  .detail-copy p{
    font-size:12.2vw!important;
    line-height:.9!important;
    max-width:8.2ch!important;
  }
  .detail-copy .accent-copy{
    margin-top:14px!important;
    font-size:7vw!important;
    line-height:1!important;
  }
  .detail-mobile-focus{inset:0 0 24%!important}
  .detail-focus-lens{
    width:27vw!important;
    height:27vw!important;
    min-width:102px!important;
    min-height:102px!important;
    max-width:132px!important;
    max-height:132px!important;
  }
  .detail-focus-lens span{font-size:34vw!important}
  .detail-notes{
    width:100%!important;
    max-width:34ch!important;
    margin-top:8px!important;
    font-size:16px!important;
    line-height:1.46!important;
  }
  .detail-notes p{margin:0 0 13px!important}
  .detail-final{margin-top:18px!important}
}

@media(max-width:420px){
  .home-manifesto{min-height:101vh;min-height:101svh!important}
  .detail-scene{min-height:103vh;min-height:103svh!important}
  .home-manifesto .manifesto-copy{font-size:12.3vw!important}
  .detail-copy p{font-size:11.9vw!important}
}


/* ===== MOBILE · titulares más horizontales y mejor aprovechamiento del ancho ===== */
.manifesto-line{display:block}
@media(max-width:700px){
  .home-manifesto .manifesto-copy{
    width:100%!important;
    max-width:none!important;
    font-size:clamp(39px,10.8vw,52px)!important;
    line-height:.94!important;
    letter-spacing:-.035em!important;
  }
  .home-manifesto .manifesto-line{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    white-space:nowrap!important;
  }
  .home-manifesto .manifesto-line + .manifesto-line{margin-top:.03em!important}
  .home-manifesto .manifesto-line.ghost{margin-top:.11em!important}

  /* El mismo criterio para Detalles: evitar una torre de palabras. */
  .detail-copy p:first-child{
    width:100%!important;
    max-width:none!important;
    font-size:clamp(42px,11.4vw,55px)!important;
    line-height:.92!important;
    letter-spacing:-.035em!important;
  }
}
@media(max-width:380px){
  .home-manifesto .manifesto-copy{font-size:10.15vw!important}
  .detail-copy p:first-child{font-size:10.8vw!important}
}


/* ===== DETALLE · macro editorial afinada ===== */
@media(max-width:700px){
  .detail-scene{
    min-height:92vh;min-height:92svh!important;
    padding:24px 20px 38px!important;
    overflow:hidden!important;
  }
  .detail-scene>.section-index{margin-bottom:12px!important}
  .detail-copy{
    position:relative;
    z-index:2;
    width:100%!important;
    margin-top:6vh;margin-top:6svh!important;
    margin-bottom:12px!important;
  }
  .detail-copy p:first-child{
    width:100%!important;
    max-width:6.8ch!important;
    font-size:clamp(42px,10.6vw,54px)!important;
    line-height:.92!important;
    letter-spacing:-.035em!important;
  }
  .detail-copy .accent-copy{
    margin-top:10px!important;
    font-size:clamp(28px,6.8vw,34px)!important;
    line-height:1.02!important;
  }
  .detail-notes{
    position:relative;
    z-index:2;
    width:100%!important;
    max-width:32ch!important;
    margin-top:12px!important;
    font-size:16px!important;
    line-height:1.48!important;
  }
  .detail-mobile-focus{
    display:block!important;
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
  }
  .detail-focus-lens{
    left:72%;
    top:51%;
    width:27vw!important;
    height:27vw!important;
    min-width:96px!important;
    min-height:96px!important;
    max-width:128px!important;
    max-height:128px!important;
    border-radius:50%;
    overflow:hidden;
    background:rgba(242,240,234,.96);
    border:1px solid rgba(17,17,15,.18);
    box-shadow:0 18px 46px rgba(17,17,15,.16);
    opacity:0;
    transform:translate(-50%,-50%) scale(.82);
    will-change:transform,opacity,left,top;
  }
  .detail-focus-lens::before,.detail-focus-lens::after{background:rgba(17,17,15,.22)!important}
  .detail-focus-lens span{
    left:-74%!important;
    top:15%!important;
    font-size:32vw!important;
    line-height:.76!important;
    letter-spacing:-.065em!important;
    color:var(--accent)!important;
    transform:scale(1.04)!important;
  }
  .detail-focus-scale{
    left:calc(72% + 54px);
    top:calc(51% + 48px);
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:0;
    font-family:var(--sans);
    font-size:9px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:rgba(242,240,234,.92);
    opacity:0;
    transform:translate3d(0,8px,0);
    will-change:opacity,transform,left,top;
  }
  .detail-focus-scale::before{
    content:"";
    display:block;
    width:26px;
    height:1px;
    background:currentColor;
    opacity:.62;
  }
}

@media(max-width:420px){
  .detail-copy p:first-child{font-size:11.2vw!important;max-width:6.7ch!important}
  .detail-focus-lens span{font-size:35vw!important}
  .detail-notes{max-width:31ch!important}
}

@media(prefers-reduced-motion:reduce){
  .detail-copy,.detail-notes,.detail-focus-lens,.detail-focus-scale{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
  }
}


/* ===== AJUSTE FINAL · titulares más compactos y mejor uso del ancho en móvil ===== */
@media (max-width:700px){
  .home-manifesto{
    min-height:94vh;min-height:94svh!important;
    padding:24px 20px 34px!important;
  }
  .home-manifesto .manifesto-grid{
    gap:14px!important;
    align-items:flex-start!important;
  }
  .home-manifesto .manifesto-copy{
    width:100%!important;
    max-width:none!important;
    font-size:clamp(40px,9.7vw,54px)!important;
    line-height:.94!important;
    letter-spacing:-.028em!important;
  }
  .home-manifesto .manifesto-line{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    white-space:nowrap!important;
    text-wrap:normal!important;
  }
  .home-manifesto .manifesto-line + .manifesto-line{margin-top:.06em!important}
  .home-manifesto .manifesto-line.ghost{margin-top:.12em!important}
  .home-manifesto .manifesto-side{
    width:100%!important;
    max-width:33ch!important;
    margin:18px 0 0 0!important;
    align-self:flex-start!important;
  }

  .detail-scene{
    min-height:88vh;min-height:88svh!important;
    padding:24px 20px 34px!important;
  }
  .detail-copy{
    max-width:100%!important;
    margin-top:4vh;margin-top:4svh!important;
  }
  .detail-copy p:first-child{
    width:100%!important;
    max-width:none!important;
    font-size:clamp(40px,9.6vw,54px)!important;
    line-height:.93!important;
    letter-spacing:-.03em!important;
  }
  .detail-copy .accent-copy{
    font-size:clamp(26px,6vw,32px)!important;
    margin-top:10px!important;
  }
  .detail-notes{
    max-width:33ch!important;
    margin-top:14px!important;
  }
}

@media (max-width:420px){
  .home-manifesto .manifesto-copy{font-size:9.9vw!important}
  .detail-copy p:first-child{font-size:10vw!important}
}


/* ===== AJUSTE FINAL · móvil con titulares de 2/3 líneas y detalle más sutil ===== */
@media (max-width:700px){
  .home-title{gap:.28cm!important}
  .home-title .line{font-size:13.6vw!important;line-height:.94!important}
  .home-title .line>span{white-space:nowrap!important}

  .home-manifesto{
    min-height:90vh;min-height:90svh!important;
    padding:24px 20px 30px!important;
  }
  .home-manifesto .manifesto-copy{
    font-size:clamp(38px,9.9vw,48px)!important;
    line-height:.95!important;
    letter-spacing:-.026em!important;
  }
  .home-manifesto .manifesto-line{
    white-space:nowrap!important;
    width:auto!important;
  }
  .home-manifesto .manifesto-side{
    max-width:32ch!important;
    margin-top:14px!important;
  }

  .identity-words{font-size:14vw!important;line-height:.92!important}
  .identity-line{display:block!important;white-space:nowrap!important}
  .identity-caption p{max-width:31ch!important}

  .detail-scene{
    min-height:84vh;min-height:84svh!important;
    padding:24px 20px 28px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  .detail-scene>.section-index{margin-bottom:10px!important}
  .detail-copy{
    margin-top:4vh;margin-top:4svh!important;
    margin-bottom:10px!important;
    position:relative!important;
    z-index:2!important;
    max-width:100%!important;
  }
  .detail-copy p:first-child{
    font-size:clamp(38px,9.9vw,48px)!important;
    line-height:.95!important;
    letter-spacing:-.026em!important;
    max-width:none!important;
    white-space:normal!important;
  }
  .detail-copy .accent-copy{
    font-size:clamp(24px,6.1vw,30px)!important;
    margin-top:8px!important;
  }
  .detail-notes{
    position:relative!important;
    left:auto!important; right:auto!important; bottom:auto!important;
    z-index:2!important;
    width:100%!important;
    max-width:32ch!important;
    margin-top:14px!important;
    background:none!important;
    padding-top:0!important;
    font-size:15px!important;
    line-height:1.46!important;
  }

  /* Adiós zoom. Hola marco de precisión. */
  .detail-mobile-focus{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    pointer-events:none!important;
  }
  .detail-focus-lens{
    left:61%!important;
    top:50%!important;
    width:46vw!important;
    min-width:150px!important;
    max-width:210px!important;
    height:15vw!important;
    min-height:52px!important;
    max-height:68px!important;
    border-radius:12px!important;
    background:transparent!important;
    border:1px solid rgba(17,17,15,.22)!important;
    box-shadow:none!important;
    opacity:0!important;
    transform:translate(-50%,-50%) scale(.92)!important;
  }
  .detail-focus-lens::before,
  .detail-focus-lens::after{
    content:''!important;
    position:absolute!important;
    width:18px!important;
    height:18px!important;
    border-color:rgba(17,17,15,.28)!important;
    background:none!important;
  }
  .detail-focus-lens::before{
    left:-1px!important;top:-1px!important;
    border-left:1px solid rgba(17,17,15,.28)!important;
    border-top:1px solid rgba(17,17,15,.28)!important;
  }
  .detail-focus-lens::after{
    right:-1px!important;bottom:-1px!important;
    border-right:1px solid rgba(17,17,15,.28)!important;
    border-bottom:1px solid rgba(17,17,15,.28)!important;
  }
  .detail-focus-lens span{display:none!important}
  .detail-focus-scale{
    color:rgba(17,17,15,.62)!important;
    font-size:8px!important;
    letter-spacing:.14em!important;
  }
  .detail-focus-scale::before{
    width:20px!important;
    background:rgba(17,17,15,.36)!important;
  }

  .page-work .process-main h1{font-size:clamp(38px,9.7vw,48px)!important;line-height:.95!important}
  .page-work .process-main h1 span{display:block!important;white-space:nowrap!important}
  .page-work .work-outro .big{font-size:clamp(38px,9.7vw,48px)!important;line-height:.95!important}
  .page-work .outro-line{display:block!important;white-space:nowrap!important}

  .page-talk .talk-title span{
    display:block!important;
    white-space:nowrap!important;
    font-size:clamp(38px,10vw,50px)!important;
    line-height:.95!important;
  }
  .page-talk .talk-brief>p{
    max-width:none!important;
    font-size:clamp(38px,9.7vw,48px)!important;
    line-height:.95!important;
  }
  .page-talk .talk-brief>div,
  .page-talk .talk-foot p{max-width:32ch!important}
  .page-talk .talk-form-head h2{
    font-size:clamp(38px,9.7vw,48px)!important;
    line-height:.95!important;
  }
}

@media (max-width:420px){
  .home-title .line{font-size:13.2vw!important}
  .home-manifesto .manifesto-copy,
  .detail-copy p:first-child,
  .page-work .process-main h1,
  .page-work .work-outro .big,
  .page-talk .talk-title span,
  .page-talk .talk-brief>p,
  .page-talk .talk-form-head h2{font-size:10.1vw!important}
}


/* ===== CORTES MÓVIL EXACTOS · 10/09 ===== */
@media (max-width:700px){
  /* HERO: exactamente 3 líneas */
  .home-title{gap:.22cm!important;width:100%!important}
  .home-title .line{padding-left:0!important;overflow:visible!important}
  .home-title .line>span{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    white-space:nowrap!important;
    font-size:clamp(35px,8.9vw,44px)!important;
    line-height:.94!important;
    letter-spacing:-.028em!important;
  }
  .home-title .line:nth-child(2)>span{font-size:clamp(33px,8.35vw,41px)!important}
  .home-title .line:nth-child(3)>span{font-size:clamp(38px,9.7vw,48px)!important}

  /* MANIFIESTO: exactamente 3 líneas */
  .home-manifesto .manifesto-copy{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(36px,8.85vw,44px)!important;
    line-height:.96!important;
    letter-spacing:-.026em!important;
  }
  .home-manifesto .manifesto-line{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    white-space:nowrap!important;
  }

  /* DETALLES: exactamente 2 líneas */
  .detail-copy p:first-child{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(37px,9.05vw,45px)!important;
    line-height:.95!important;
    letter-spacing:-.026em!important;
  }
  .detail-copy p:first-child br{display:block!important}
  .detail-copy p:first-child{white-space:normal!important}
  .detail-copy p:first-child::first-line{white-space:nowrap!important}
  .detail-copy{width:100%!important}

  /* otras cabeceras: máximo 3 líneas, sin torres estrechas */
  .page-work .process-main h1,
  .page-work .work-outro .big,
  .page-talk .talk-title,
  .page-talk .talk-brief>p,
  .page-talk .talk-form-head h2{max-width:100%!important;width:100%!important}
  .page-work .process-main h1 span,
  .page-work .work-outro .outro-line,
  .page-talk .talk-title span{white-space:nowrap!important}
}

@media (max-width:390px){
  .home-title .line>span{font-size:8.55vw!important}
  .home-title .line:nth-child(2)>span{font-size:7.95vw!important}
  .home-title .line:nth-child(3)>span{font-size:9.4vw!important}
  .home-manifesto .manifesto-copy{font-size:8.55vw!important}
  .detail-copy p:first-child{font-size:8.75vw!important}
}


/* ===== MOBILE FINAL · cortes exactos, sin zoom y sin huecos laterales ===== */
@media (max-width:700px){
  /* HOME HERO: exactamente 3 líneas y todas al mismo eje */
  .home-intro{padding-left:20px!important;padding-right:20px!important}
  .home-title{width:100%!important;max-width:100%!important;gap:10px!important;margin:0!important}
  .home-title .shift{padding-left:0!important}
  .home-title .line{width:100%!important;font-size:clamp(34px,8.7vw,41px)!important;line-height:.95!important;letter-spacing:-.028em!important;overflow:visible!important}
  .home-title .line>span{display:block!important;width:max-content!important;max-width:100%!important;white-space:nowrap!important}
  .home-title .line:nth-child(1)>span,
  .home-title .line:nth-child(2)>span,
  .home-title .line:nth-child(3)>span{transform-origin:left center!important}

  /* MANIFIESTO: exactamente 3 líneas, sin columna estrecha */
  .home-manifesto{min-height:92vh;min-height:92svh!important;padding:22px 20px 32px!important}
  .home-manifesto .manifesto-grid{width:100%!important;align-items:flex-start!important;justify-content:center!important;gap:14px!important}
  .home-manifesto .manifesto-copy{width:100%!important;max-width:none!important;margin:0!important;font-size:clamp(38px,9.55vw,46px)!important;line-height:.95!important;letter-spacing:-.026em!important}
  .home-manifesto .manifesto-line{display:block!important;width:max-content!important;max-width:100%!important;white-space:nowrap!important;text-wrap:nowrap!important}
  .home-manifesto .manifesto-line+ .manifesto-line{margin-top:4px!important}
  .home-manifesto .manifesto-line.ghost{margin-top:6px!important}
  .home-manifesto .manifesto-side{width:100%!important;max-width:32ch!important;margin:14px 0 0!important;padding:0!important;align-self:flex-start!important;font-size:15px!important;line-height:1.48!important}

  /* DETALLES: exactamente 2 líneas y escena compacta */
  .detail-scene{min-height:86vh;min-height:86svh!important;padding:22px 20px 30px!important;display:flex!important;flex-direction:column!important;gap:0!important;overflow:hidden!important}
  .detail-scene>.section-index{margin:0 0 0!important}
  .detail-copy{position:relative!important;z-index:3!important;width:100%!important;max-width:none!important;margin:7svh 0 10px!important;padding:0!important}
  .detail-copy p:first-child{width:100%!important;max-width:none!important;margin:0!important;font-size:clamp(39px,9.7vw,47px)!important;line-height:.95!important;letter-spacing:-.028em!important}
  .detail-title-line{display:block!important;width:max-content!important;max-width:100%!important;white-space:nowrap!important}
  .detail-title-line+ .detail-title-line{margin-top:3px!important}
  .detail-copy .accent-copy{margin-top:9px!important;font-size:clamp(25px,6.2vw,30px)!important;line-height:1!important}
  .detail-notes{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:3!important;width:100%!important;max-width:32ch!important;margin:14px 0 0!important;padding:0!important;background:none!important;font-size:15px!important;line-height:1.47!important}
  .detail-notes p{margin:0 0 12px!important}
  .detail-final{margin-top:17px!important}

  /* Precisión: ya no hay lupa/zoom. Un pequeño marco de ajuste recorre una palabra. */
  .detail-mobile-focus.detail-precision{display:block!important;position:absolute!important;inset:0!important;z-index:2!important;pointer-events:none!important;overflow:hidden!important}
  .detail-precision .detail-focus-lens{display:block!important;position:absolute!important;left:57%!important;top:50%!important;width:86px!important;height:42px!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;border-radius:0!important;background:transparent!important;border:0!important;box-shadow:none!important;opacity:0;transform:translate(-50%,-50%)!important;overflow:visible!important}
  .detail-precision .detail-focus-lens::before,
  .detail-precision .detail-focus-lens::after{content:""!important;position:absolute!important;background:transparent!important;width:16px!important;height:16px!important}
  .detail-precision .detail-focus-lens::before{left:0!important;top:0!important;border-left:1px solid rgba(17,17,15,.42)!important;border-top:1px solid rgba(17,17,15,.42)!important}
  .detail-precision .detail-focus-lens::after{right:0!important;bottom:0!important;border-right:1px solid rgba(17,17,15,.42)!important;border-bottom:1px solid rgba(17,17,15,.42)!important}
  .detail-precision .precision-dot{display:block!important;position:absolute!important;left:50%!important;top:50%!important;width:3px!important;height:3px!important;border-radius:50%!important;background:var(--ink)!important;transform:translate(-50%,-50%)!important}
  .detail-precision .detail-focus-scale{display:block!important;position:absolute!important;left:calc(57% + 52px)!important;top:calc(50% + 28px)!important;font-family:var(--sans)!important;font-size:8px!important;font-weight:600!important;letter-spacing:.12em!important;color:rgba(17,17,15,.65)!important;opacity:0;white-space:nowrap!important}
  .detail-precision .detail-focus-scale::before{content:""!important;display:inline-block!important;width:18px!important;height:1px!important;background:rgba(17,17,15,.34)!important;margin-right:7px!important;vertical-align:middle!important}

  /* Evita que reglas antiguas vuelvan a mostrar la lupa/zoom o la mosca */
  .detail-mobile-zoom,.detail-fly,.detail-trail-line{display:none!important}

  /* Titulares principales de las otras páginas: máximo visual 2/3 líneas */
  .page-work .process-main h1{font-size:clamp(38px,9.5vw,47px)!important;line-height:.96!important}
  .page-work .process-main h1 span{display:block!important;white-space:nowrap!important}
  .page-work .work-outro .big{font-size:clamp(38px,9.5vw,47px)!important;line-height:.96!important}
  .page-work .work-outro .outro-line{display:block!important;white-space:nowrap!important}
  .page-talk .talk-title span{font-size:clamp(38px,9.6vw,48px)!important;line-height:.96!important;white-space:nowrap!important}
  .page-talk .talk-brief>p{font-size:clamp(38px,9.5vw,47px)!important;line-height:.96!important;max-width:none!important}
  .page-talk .talk-form-head h2{font-size:clamp(38px,9.5vw,47px)!important;line-height:.96!important}
}

@media (max-width:380px){
  .home-title .line{font-size:8.55vw!important}
  .home-manifesto .manifesto-copy{font-size:9.15vw!important}
  .detail-copy p:first-child{font-size:9.25vw!important}
}


/* ===== FINAL MOBILE HOME CLEANUP ===== */
@media (max-width:700px){
  body.page-home.mobile-home-clean .site-header{
    height:58px!important;
    padding:0 20px!important;
  }
  body.page-home.mobile-home-clean .brand,
  body.page-home.mobile-home-clean .site-nav a{
    font-size:9px!important;
  }

  body.page-home.mobile-home-clean .home-intro{
    min-height:84vh;min-height:84svh!important;
    padding:82px 20px 26px!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
    align-content:start!important;
    gap:18px!important;
    overflow:visible!important;
  }
  body.page-home.mobile-home-clean .home-kicker{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    gap:18px!important;
    margin:0!important;
  }
  body.page-home.mobile-home-clean .home-kicker-services{
    max-width:190px!important;
  }
  body.page-home.mobile-home-clean .home-kicker-services p,
  body.page-home.mobile-home-clean .home-kicker-note,
  body.page-home.mobile-home-clean .home-bottom,
  body.page-home.mobile-home-clean .section-index,
  body.page-home.mobile-home-clean .home-nav-label,
  body.page-home.mobile-home-clean .identity-small{
    font-size:8.5px!important;
    line-height:1.3!important;
    letter-spacing:.04em!important;
  }
  body.page-home.mobile-home-clean .home-kicker-note{
    max-width:126px!important;
    text-align:left!important;
    justify-self:end!important;
  }

  body.page-home.mobile-home-clean .home-title{
    width:100%!important;
    max-width:100%!important;
    align-self:start!important;
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    margin:7vh 0 0!important;
    perspective:none!important;
  }
  body.page-home.mobile-home-clean .home-title .line{
    width:100%!important;
    padding-left:0!important;
    overflow:visible!important;
    letter-spacing:-.03em!important;
    line-height:.92!important;
  }
  body.page-home.mobile-home-clean .home-title .line > span{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    white-space:nowrap!important;
    transform:none!important;
    rotate:0deg!important;
  }
  body.page-home.mobile-home-clean .home-title .line:nth-child(1) > span{
    font-size:clamp(40px,10.4vw,48px)!important;
  }
  body.page-home.mobile-home-clean .home-title .line:nth-child(2) > span,
  body.page-home.mobile-home-clean .home-title .line:nth-child(3) > span{
    font-size:clamp(33px,8.9vw,39px)!important;
  }
  body.page-home.mobile-home-clean .home-bottom{
    margin-top:18px!important;
    padding-top:8px!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:flex-end!important;
    gap:12px!important;
  }
  body.page-home.mobile-home-clean .hint{
    max-width:42%!important;
    text-align:right!important;
  }

  body.page-home.mobile-home-clean .home-manifesto{
    min-height:auto!important;
    padding:28px 20px 34px!important;
    display:block!important;
  }
  body.page-home.mobile-home-clean .home-manifesto .manifesto-grid{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:20px!important;
    width:100%!important;
  }
  body.page-home.mobile-home-clean .home-manifesto .manifesto-copy{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    font-size:clamp(40px,10.7vw,48px)!important;
    line-height:.93!important;
    letter-spacing:-.03em!important;
    transform:none!important;
    opacity:1!important;
  }
  body.page-home.mobile-home-clean .home-manifesto .manifesto-line{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    white-space:nowrap!important;
    margin:0!important;
  }
  body.page-home.mobile-home-clean .home-manifesto .manifesto-line + .manifesto-line{
    margin-top:4px!important;
  }
  body.page-home.mobile-home-clean .home-manifesto .manifesto-line.ghost{
    margin-top:8px!important;
  }
  body.page-home.mobile-home-clean .home-manifesto .manifesto-side{
    width:100%!important;
    max-width:31ch!important;
    margin:0!important;
    padding:0!important;
    font-size:15px!important;
    line-height:1.5!important;
    opacity:0!important;
    transform:translateY(18px)!important;
    filter:none!important;
    transition:opacity .5s var(--ease), transform .5s var(--ease)!important;
  }
  body.page-home.mobile-home-clean .home-manifesto.is-active .manifesto-side{
    opacity:1!important;
    transform:none!important;
  }
  body.page-home.mobile-home-clean .manifesto-side p{
    margin:0 0 15px!important;
  }
  body.page-home.mobile-home-clean .manifesto-side p:last-child{
    margin-bottom:0!important;
  }

  body.page-home.mobile-home-clean .identity-scene{
    height:auto!important;
    min-height:auto!important;
  }
  body.page-home.mobile-home-clean .identity-sticky{
    position:relative!important;
    height:auto!important;
    min-height:auto!important;
    padding:28px 20px 34px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:20px!important;
  }
  body.page-home.mobile-home-clean .identity-small{margin:0!important}
  body.page-home.mobile-home-clean .identity-words{
    font-size:clamp(40px,10.7vw,48px)!important;
    line-height:.93!important;
    letter-spacing:-.03em!important;
    gap:4px!important;
  }
  body.page-home.mobile-home-clean .identity-line{
    transform:none!important;
    white-space:nowrap!important;
  }
  body.page-home.mobile-home-clean .identity-caption{
    display:block!important;
    max-width:31ch!important;
  }
  body.page-home.mobile-home-clean .identity-caption p{
    margin:0!important;
    font-size:15px!important;
    line-height:1.5!important;
  }
  body.page-home.mobile-home-clean .identity-caption a{
    display:inline-block!important;
    margin-top:18px!important;
    font-size:10px!important;
    letter-spacing:.04em!important;
  }

  body.page-home.mobile-home-clean .detail-scene{
    min-height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:12px!important;
    padding:28px 20px 34px!important;
    overflow:hidden!important;
  }
  body.page-home.mobile-home-clean .detail-copy{
    width:100%!important;
    max-width:100%!important;
    transform:none!important;
    opacity:1!important;
  }
  body.page-home.mobile-home-clean .detail-copy p{
    margin:0!important;
    font-size:clamp(40px,10.7vw,48px)!important;
    line-height:.93!important;
    letter-spacing:-.03em!important;
  }
  body.page-home.mobile-home-clean .detail-title-line{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    white-space:nowrap!important;
  }
  body.page-home.mobile-home-clean .detail-copy .accent-copy{
    margin-top:10px!important;
    font-size:clamp(28px,7.8vw,35px)!important;
    line-height:1.02!important;
  }
  body.page-home.mobile-home-clean .detail-mobile-focus{
    display:block!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:30px!important;
    margin:2px 0 8px!important;
    overflow:visible!important;
    pointer-events:none!important;
  }
  body.page-home.mobile-home-clean .detail-focus-lens{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    height:1px!important;
    transform:none!important;
    opacity:1!important;
    background:rgba(17,17,15,.18)!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  body.page-home.mobile-home-clean .detail-focus-lens::before,
  body.page-home.mobile-home-clean .detail-focus-lens::after{
    content:none!important;
  }
  body.page-home.mobile-home-clean .precision-dot{
    display:block!important;
    position:absolute!important;
    left:0!important;
    top:50%!important;
    width:8px!important;
    height:8px!important;
    border-radius:50%!important;
    background:var(--ink)!important;
    transform:translate(-50%,-50%)!important;
    transition:left .6s var(--ease)!important;
  }
  body.page-home.mobile-home-clean .detail-focus-scale{
    position:absolute!important;
    right:0!important;
    top:-2px!important;
    left:auto!important;
    opacity:.65!important;
    transform:none!important;
    color:rgba(17,17,15,.58)!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:.12em!important;
    white-space:nowrap!important;
  }
  body.page-home.mobile-home-clean .detail-focus-scale::before{
    content:""!important;
    display:inline-block!important;
    width:16px!important;
    height:1px!important;
    background:rgba(17,17,15,.25)!important;
    margin-right:7px!important;
    vertical-align:middle!important;
  }
  body.page-home.mobile-home-clean .detail-notes{
    width:100%!important;
    max-width:31ch!important;
    margin:0!important;
    padding:0!important;
    font-size:15px!important;
    line-height:1.5!important;
    opacity:0!important;
    transform:translateY(18px)!important;
    filter:none!important;
    clip-path:none!important;
    transition:opacity .5s var(--ease), transform .5s var(--ease)!important;
  }
  body.page-home.mobile-home-clean .detail-scene.is-active .detail-notes{
    opacity:1!important;
    transform:none!important;
  }
  body.page-home.mobile-home-clean .detail-scene.is-active .precision-dot{
    left:72%!important;
  }
  body.page-home.mobile-home-clean .detail-notes p{
    margin:0 0 15px!important;
  }
  body.page-home.mobile-home-clean .detail-notes p:last-child{
    margin-bottom:0!important;
  }

  body.page-home.mobile-home-clean .home-nav{
    min-height:auto!important;
    padding:28px 20px 34px!important;
    gap:18px!important;
  }
  body.page-home.mobile-home-clean .home-nav-links{
    gap:0!important;
  }
  body.page-home.mobile-home-clean .home-nav-links a{
    padding:12px 0 14px!important;
    font-size:clamp(34px,9vw,42px)!important;
    line-height:.96!important;
  }
  body.page-home.mobile-home-clean .home-nav-footer{
    margin-top:10px!important;
    font-size:8.5px!important;
    line-height:1.3!important;
  }
}

/* =====================================================
   MOBILE HOME V3 — sistema único de ritmo y scroll
   ===================================================== */
@media (max-width:700px){
  body.page-home.mobile-home-v3{--mx:20px;--section-gap:18px;--body-w:31ch;}

  /* HEADER */
  body.page-home.mobile-home-v3 .site-header{
    height:56px!important;
    padding:0 var(--mx)!important;
  }

  /* HERO */
  body.page-home.mobile-home-v3 .home-intro{
    min-height:100vh;min-height:100svh!important;
    padding:78px var(--mx) 22px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto 1fr auto!important;
    gap:0!important;
    overflow:hidden!important;
  }
  body.page-home.mobile-home-v3 .home-kicker{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 118px!important;
    gap:18px!important;
    align-items:start!important;
  }
  body.page-home.mobile-home-v3 .home-kicker-services p,
  body.page-home.mobile-home-v3 .home-kicker-note{
    font-size:8.5px!important;
    line-height:1.34!important;
    letter-spacing:.035em!important;
  }
  body.page-home.mobile-home-v3 .home-kicker-note{
    text-align:left!important;
    max-width:118px!important;
  }
  body.page-home.mobile-home-v3 .home-title{
    align-self:center!important;
    width:100%!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    perspective:none!important;
  }
  body.page-home.mobile-home-v3 .home-title .line{
    width:100%!important;
    padding:0!important;
    overflow:visible!important;
    line-height:.92!important;
    letter-spacing:-.035em!important;
  }
  body.page-home.mobile-home-v3 .home-title .line>span{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    white-space:nowrap!important;
    transform:translate3d(0,var(--hero-y,0),0)!important;
    opacity:var(--hero-o,1)!important;
    transition:none!important;
    will-change:transform,opacity!important;
  }
  body.page-home.mobile-home-v3 .home-title .line:nth-child(1)>span{font-size:clamp(41px,10.7vw,50px)!important;}
  body.page-home.mobile-home-v3 .home-title .line:nth-child(2)>span{font-size:clamp(33px,8.75vw,40px)!important;}
  body.page-home.mobile-home-v3 .home-title .line:nth-child(3)>span{font-size:clamp(40px,10.2vw,48px)!important;}
  body.page-home.mobile-home-v3 .home-bottom{
    margin:0!important;
    padding-top:12px!important;
    font-size:8px!important;
    line-height:1.25!important;
    align-self:end!important;
  }

  /* MANIFIESTO — una escena, sin vacío negro extra */
  body.page-home.mobile-home-v3 .home-manifesto{
    min-height:118vh;min-height:118svh!important;
    padding:0 var(--mx)!important;
    display:block!important;
    background:var(--ink)!important;
    overflow:visible!important;
  }
  body.page-home.mobile-home-v3 .home-manifesto>.section-index{
    position:sticky!important;
    top:68px!important;
    display:block!important;
    padding-top:24px!important;
    z-index:3!important;
  }
  body.page-home.mobile-home-v3 .home-manifesto .manifesto-grid{
    position:sticky!important;
    top:56px!important;
    height:calc(100svh - 56px)!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    gap:18px!important;
    padding:54px 0 28px!important;
    overflow:hidden!important;
  }
  body.page-home.mobile-home-v3 .manifesto-copy{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    font-size:clamp(40px,10.6vw,49px)!important;
    line-height:.93!important;
    letter-spacing:-.032em!important;
    transform:translate3d(0,var(--manifesto-y,0),0)!important;
    opacity:1!important;
    will-change:transform!important;
  }
  body.page-home.mobile-home-v3 .manifesto-line{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    white-space:nowrap!important;
    margin:0!important;
  }
  body.page-home.mobile-home-v3 .manifesto-line+ .manifesto-line{margin-top:4px!important;}
  body.page-home.mobile-home-v3 .manifesto-line.ghost{margin-top:8px!important;}
  body.page-home.mobile-home-v3 .manifesto-side{
    width:100%!important;
    max-width:var(--body-w)!important;
    margin:0!important;
    padding:0!important;
    font-size:15px!important;
    line-height:1.52!important;
    opacity:var(--manifesto-body-o,0)!important;
    transform:translate3d(0,var(--manifesto-body-y,20px),0)!important;
    filter:blur(var(--manifesto-blur,4px))!important;
    will-change:opacity,transform,filter!important;
  }
  body.page-home.mobile-home-v3 .manifesto-side p{margin:0 0 14px!important;}
  body.page-home.mobile-home-v3 .manifesto-side p:last-child{margin-bottom:0!important;}

  /* IDENTIDAD — texto grande con desplazamiento suave */
  body.page-home.mobile-home-v3 .identity-scene{
    height:128vh;height:128svh!important;
    min-height:0!important;
    background:var(--paper)!important;
  }
  body.page-home.mobile-home-v3 .identity-sticky{
    position:sticky!important;
    top:0!important;
    min-height:100vh;min-height:100svh!important;
    padding:76px var(--mx) 28px!important;
    display:grid!important;
    grid-template-rows:auto 1fr auto!important;
    overflow:hidden!important;
  }
  body.page-home.mobile-home-v3 .identity-words{
    align-self:center!important;
    width:100%!important;
    gap:5px!important;
    font-size:clamp(43px,11.3vw,52px)!important;
    line-height:.92!important;
    letter-spacing:-.035em!important;
  }
  body.page-home.mobile-home-v3 .identity-line:first-child{transform:translate3d(var(--identity-a,0),0,0)!important;}
  body.page-home.mobile-home-v3 .identity-line:last-child{transform:translate3d(var(--identity-b,0),0,0)!important;}
  body.page-home.mobile-home-v3 .identity-caption{
    display:block!important;
    max-width:var(--body-w)!important;
  }
  body.page-home.mobile-home-v3 .identity-caption p{
    margin:0!important;
    font-size:15px!important;
    line-height:1.52!important;
  }
  body.page-home.mobile-home-v3 .identity-caption a{margin-top:16px!important;}

  /* DETALLES — precisión visual, no zoom decorativo */
  body.page-home.mobile-home-v3 .detail-scene{
    min-height:112vh;min-height:112svh!important;
    padding:0 var(--mx)!important;
    display:block!important;
    background:var(--accent)!important;
    overflow:visible!important;
  }
  body.page-home.mobile-home-v3 .detail-scene>.section-index{
    position:sticky!important;
    top:68px!important;
    padding-top:24px!important;
    display:block!important;
    z-index:4!important;
  }
  body.page-home.mobile-home-v3 .detail-copy,
  body.page-home.mobile-home-v3 .detail-notes{
    transform:none!important;
  }
  body.page-home.mobile-home-v3 .detail-copy{
    position:sticky!important;
    top:56px!important;
    min-height:calc(100svh - 56px)!important;
    width:100%!important;
    max-width:none!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    padding:52px 0 30px!important;
    z-index:2!important;
  }
  body.page-home.mobile-home-v3 .detail-copy>p:first-child{
    margin:0!important;
    font-size:clamp(40px,10.6vw,49px)!important;
    line-height:.93!important;
    letter-spacing:-.032em!important;
  }
  body.page-home.mobile-home-v3 .detail-title-line{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    white-space:nowrap!important;
  }
  body.page-home.mobile-home-v3 .detail-copy .accent-copy{
    margin:10px 0 0!important;
    font-size:clamp(27px,7.2vw,33px)!important;
    line-height:1.02!important;
  }
  body.page-home.mobile-home-v3 .detail-mobile-focus{
    display:block!important;
    position:absolute!important;
    left:var(--mx)!important;
    right:var(--mx)!important;
    top:55vh;top:55svh!important;
    height:34px!important;
    z-index:3!important;
    pointer-events:none!important;
    overflow:visible!important;
  }
  body.page-home.mobile-home-v3 .detail-focus-lens{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:17px!important;
    width:auto!important;
    height:1px!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    max-height:none!important;
    border:0!important;
    border-radius:0!important;
    background:rgba(17,17,15,.22)!important;
    box-shadow:none!important;
    opacity:1!important;
    transform:none!important;
    overflow:visible!important;
  }
  body.page-home.mobile-home-v3 .detail-focus-lens::before,
  body.page-home.mobile-home-v3 .detail-focus-lens::after{content:none!important;}
  body.page-home.mobile-home-v3 .precision-dot{
    display:block!important;
    position:absolute!important;
    left:var(--precision-x,0%)!important;
    top:50%!important;
    width:7px!important;
    height:7px!important;
    border-radius:50%!important;
    background:var(--ink)!important;
    transform:translate(-50%,-50%)!important;
  }
  body.page-home.mobile-home-v3 .detail-focus-scale{
    position:absolute!important;
    right:0!important;
    top:0!important;
    left:auto!important;
    color:rgba(17,17,15,.62)!important;
    opacity:var(--precision-o,0)!important;
    transform:none!important;
    font-size:8px!important;
    letter-spacing:.12em!important;
  }
  body.page-home.mobile-home-v3 .detail-notes{
    position:relative!important;
    z-index:5!important;
    width:100%!important;
    max-width:var(--body-w)!important;
    margin:-30svh 0 0!important;
    padding:0 0 34px!important;
    background:none!important;
    font-size:15px!important;
    line-height:1.52!important;
    opacity:var(--detail-body-o,0)!important;
    transform:translate3d(0,var(--detail-body-y,18px),0)!important;
    filter:blur(var(--detail-blur,4px))!important;
  }
  body.page-home.mobile-home-v3 .detail-notes p{margin:0 0 14px!important;}
  body.page-home.mobile-home-v3 .detail-notes p:last-child{margin-bottom:0!important;}
  body.page-home.mobile-home-v3 .detail-final{
    margin-top:24px!important;
    font-size:clamp(24px,6.6vw,31px)!important;
    line-height:1.05!important;
  }

  /* FINAL CTA */
  body.page-home.mobile-home-v3 .home-nav{
    min-height:auto!important;
    padding:30px var(--mx) 34px!important;
    display:block!important;
  }
  body.page-home.mobile-home-v3 .home-nav-links{margin-top:26px!important;}
  body.page-home.mobile-home-v3 .home-route{
    padding:13px 0 15px!important;
  }
  body.page-home.mobile-home-v3 .home-route>span{
    font-size:clamp(35px,9.2vw,43px)!important;
    line-height:.94!important;
    letter-spacing:-.03em!important;
  }
  body.page-home.mobile-home-v3 .home-nav-footer{
    margin-top:28px!important;
    gap:20px!important;
    font-size:8px!important;
    line-height:1.32!important;
  }
}


/* ===== FIX TRABAJO · contraste cierre ===== */
.page-work .work-outro .outro-line-a{color:var(--ink)!important}
.page-work .work-outro .outro-line-b,
.page-work .work-outro .outro-line-b em{color:var(--paper)!important}
@media(max-width:700px){
  .page-work .work-outro .outro-line-a,
  .page-work .work-outro .outro-line-b{opacity:1}
}


/* ===== TYPO REFINEMENT · Mirats-inspired editorial sans ===== */
html,body{font-synthesis:none!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-family:var(--sans)!important}
.home-title,.manifesto-copy,.identity-words,.detail-copy>p:first-child,.home-nav-links .home-route>span,
.page-work .process-main h1,.page-work .work-outro .big,.page-talk .talk-title,.page-talk .talk-brief>p,.page-talk .talk-mail,.talk-form-head h2,.legal-hero h1{
  font-synthesis:none!important;
}


/* ===== TRABAJO · nombres con tamaño uniforme ===== */
.page-work .project-name{
  font-size:clamp(40px,4.15vw,68px)!important;
  line-height:.95!important;
  max-width:none!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
}
.page-work .project-row[data-name="CLÍNICA UNIVERSIDAD DE NAVARRA"] .project-name{
  font-size:clamp(40px,4.15vw,68px)!important;
  line-height:.95!important;
  max-width:none!important;
}

@media(max-width:900px){
  .page-work .project-name,
  .page-work .project-row[data-name="CLÍNICA UNIVERSIDAD DE NAVARRA"] .project-name{
    font-size:clamp(36px,5.4vw,56px)!important;
    line-height:.96!important;
    max-width:none!important;
  }
}

@media(max-width:700px){
  .page-work .project-name,
  .page-work .project-row[data-name="CLÍNICA UNIVERSIDAD DE NAVARRA"] .project-name{
    font-size:9.7vw!important;
    line-height:.98!important;
    max-width:none!important;
  }
}


/* ===== HOME · titular "Me fijo en los detalles" bien separado ===== */
.detail-title-line{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  white-space:nowrap!important;
}
.detail-title-line + .detail-title-line{
  margin-top:.08em!important;
}
.detail-copy > p:first-child{
  letter-spacing:-.045em!important;
  line-height:.90!important;
}

/* En escritorio, mantener claramente las dos líneas sin que FIJO y EN se unan */
@media(min-width:701px){
  .detail-copy > p:first-child{
    max-width:100%!important;
  }
  .detail-title-line:first-child{
    margin-bottom:.03em!important;
  }
}

/* En móvil, preservar el corte exacto en dos líneas */
@media(max-width:700px){
  .detail-title-line{
    width:max-content!important;
    max-width:100%!important;
  }
  .detail-title-line + .detail-title-line{
    margin-top:4px!important;
  }
  .detail-copy > p:first-child{
    letter-spacing:-.025em!important;
    line-height:.95!important;
  }
}

/* ===== 15/09 · HOME CTA móvil: márgenes y columnas sin solapes ===== */
@media (max-width:700px){
  body.page-home .home-nav{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  body.page-home .home-nav-links{
    width:100%!important;
    margin-top:26px!important;
    overflow:visible!important;
  }
  body.page-home .home-nav-links .home-route{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 88px!important;
    align-items:center!important;
    column-gap:12px!important;
    min-height:108px!important;
    width:100%!important;
    padding:18px 14px!important;
    overflow:hidden!important;
  }
  body.page-home .home-nav-links .home-route>span{
    display:block!important;
    min-width:0!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(28px,7.5vw,35px)!important;
    line-height:.94!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
    position:relative!important;
    z-index:2!important;
  }
  body.page-home .home-nav-links .route-talk>span{
    padding-left:.09em!important;
  }
  body.page-home .home-nav-links .home-route i{
    position:relative!important;
    z-index:3!important;
    width:88px!important;
    min-width:88px!important;
    height:54px!important;
    padding:0!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:center!important;
    gap:10px!important;
    overflow:visible!important;
  }
  body.page-home .home-nav-links .home-route i b{
    display:block!important;
    min-height:11px!important;
    margin:0!important;
    font-size:9px!important;
    line-height:1!important;
    letter-spacing:.04em!important;
    white-space:nowrap!important;
  }
  body.page-home .home-nav-links .home-route i em{
    display:block!important;
    margin:0!important;
    font-size:10px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body.page-home .home-nav-links .home-route.mobile-active{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  body.page-home .home-nav-footer{
    width:100%!important;
    margin-top:34px!important;
    padding:0!important;
    align-items:flex-end!important;
  }
}

@media (max-width:380px){
  body.page-home .home-nav-links .home-route{
    grid-template-columns:minmax(0,1fr) 78px!important;
    column-gap:8px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  body.page-home .home-nav-links .home-route>span{
    font-size:clamp(26px,7.2vw,30px)!important;
  }
  body.page-home .home-nav-links .home-route i{
    width:78px!important;
    min-width:78px!important;
  }
}


/* ===== 16/09 · MEJORAS PUNTUALES HOME / TRABAJO / SEO ===== */
.seo-inline-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.form-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

/* ESTO ES CONAMUR · visual de color solo en escritorio */
.identity-sticky{position:sticky;isolation:isolate}
.identity-color-play{display:none}
@media(min-width:901px){
  .identity-sticky{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);grid-template-rows:auto 1fr auto;column-gap:5vw}
  .identity-small{grid-column:1/-1}
  .identity-words{grid-column:1;grid-row:2;position:relative;z-index:3;align-self:center}
  .identity-caption{grid-column:1/-1;grid-row:3;position:relative;z-index:3}
  .identity-color-play{display:block;grid-column:2;grid-row:2;align-self:center;justify-self:end;position:relative;width:min(31vw,470px);height:min(50vh,500px);z-index:2;perspective:900px}
  .identity-color-play .color-chip{position:absolute;display:block;border:1px solid var(--ink);box-shadow:0 18px 45px rgba(17,17,15,.09);will-change:transform;transition:transform .5s var(--ease)}
  .identity-color-play .chip-a{width:52%;height:62%;left:3%;top:8%;background:var(--accent);transform:rotate(-7deg)}
  .identity-color-play .chip-b{width:47%;height:45%;right:3%;top:17%;background:var(--ink);transform:rotate(8deg)}
  .identity-color-play .chip-c{width:58%;height:36%;left:23%;bottom:5%;background:#f6b9c0;transform:rotate(-2deg)}
  .identity-color-play .chip-d{width:29%;aspect-ratio:1;right:9%;bottom:16%;background:var(--paper);border-radius:50%;transform:rotate(4deg)}
  .identity-color-play .color-orbit{position:absolute;width:72%;aspect-ratio:1;border:1px solid rgba(17,17,15,.3);border-radius:50%;left:14%;top:9%;animation:colorOrbit 12s linear infinite;pointer-events:none}
  .identity-color-play .color-orbit::before{content:"";position:absolute;width:12px;height:12px;background:var(--accent);border:1px solid var(--ink);border-radius:50%;left:50%;top:-6px;transform:translateX(-50%)}
  @keyframes colorOrbit{to{transform:rotate(360deg)}}
}

/* DETALLES · mismo juego en escritorio, sin mosca que compita */
@media(min-width:701px){
  .detail-fly,.detail-trail-line{display:none!important}
  .detail-scene{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)!important;grid-template-rows:auto minmax(0,1fr)!important;column-gap:6vw!important}
  .detail-copy{grid-column:1;grid-row:2;align-self:center!important}
  .detail-notes{grid-column:2;grid-row:2;align-self:start!important;margin-top:7vh!important;padding:0!important}
  .detail-kerning-game{display:block!important;grid-column:2;grid-row:2;align-self:end!important;width:100%;max-width:520px;margin:0 0 3vh!important;font-family:var(--sans);opacity:1!important;transform:none!important}
  .detail-challenge-head{display:flex;justify-content:space-between;gap:20px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
  .detail-challenge-hint{margin:12px 0 0;font-size:14px;line-height:1.45;max-width:42ch}
  .kerning-stage{width:100%;min-height:128px;margin:18px 0;padding:20px 10px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-top:1px solid rgba(17,17,15,.34);border-bottom:1px solid rgba(17,17,15,.34);font-family:var(--display);font-size:clamp(68px,6.1vw,104px);line-height:.8;letter-spacing:-.055em;white-space:nowrap}
  .kerning-stage span{display:inline-block}
  .kerning-letter{margin-left:6.4px;transition:margin-left .08s linear}
  .kerning-control{display:block;width:100%;padding:8px 0 5px}
  .kerning-range{width:100%;cursor:ew-resize;accent-color:var(--ink)}
  .kerning-scale{display:flex;justify-content:space-between;margin-top:5px;font-size:8px;letter-spacing:.08em;opacity:.65}
  .detail-challenge-result{margin:14px 0 0;opacity:0;transform:translateY(7px);transition:opacity .35s ease,transform .45s var(--ease);font-size:14px;line-height:1.4}
  .detail-challenge-result span{font-family:var(--display);font-style:italic;font-size:1.6em;margin-right:.25em}
  .detail-kerning-game.is-found .detail-challenge-result{opacity:1;transform:none}
  .detail-kerning-game.is-found .kerning-stage{background:rgba(242,240,234,.45)}
}

/* TRABAJO · cierre siempre visible en móvil */
@media(max-width:700px){
  .page-work .work-outro{overflow:hidden!important;padding-left:20px!important;padding-right:20px!important}
  .page-work .work-outro .big{width:100%!important;max-width:100%!important;font-size:clamp(39px,10.6vw,48px)!important;line-height:.96!important;overflow:visible!important}
  .page-work .work-outro .outro-line{display:block!important;width:100%!important;max-width:100%!important;white-space:nowrap!important;overflow:visible!important;padding-right:4px!important}
  .page-work .work-outro .outro-line-a,.page-work .work-outro .outro-line-b{opacity:1!important}
}

/* LANDING SEO · visible, útil y coherente con la web */
.page-seo{background:var(--paper);color:var(--ink)}
.page-seo main{padding-top:68px}
.seo-hero{min-height:86vh;padding:clamp(44px,6vw,90px) var(--pad);display:grid;align-content:center;border-bottom:1px solid var(--ink)}
.seo-kicker,.seo-index{font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.seo-hero h1{max-width:1250px;margin:30px 0 28px;font-family:var(--display);font-weight:400;font-size:clamp(64px,8.2vw,134px);line-height:.88;letter-spacing:-.045em}
.seo-hero h1 em{color:var(--accent);font-weight:400}
.seo-hero>p{max-width:56ch;margin:0;font-size:clamp(17px,1.5vw,22px);line-height:1.55}
.seo-hero>a,.seo-projects>a{display:inline-block;width:max-content;margin-top:30px;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:11px;font-weight:600;letter-spacing:.05em}
.seo-services,.seo-local,.seo-projects,.seo-faq{padding:clamp(44px,6vw,88px) var(--pad);border-bottom:1px solid var(--ink)}
.seo-services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:34px;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.seo-services article{padding:32px;min-height:270px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.seo-services h2,.seo-local h2,.seo-projects h2{margin:0 0 22px;font-family:var(--display);font-weight:400;letter-spacing:-.035em;line-height:.95}
.seo-services h2{font-size:clamp(34px,3.6vw,58px)}
.seo-services p,.seo-local p,.seo-projects p,.seo-faq p{font-size:16px;line-height:1.58;max-width:56ch}
.seo-local{display:grid;grid-template-columns:.35fr 1.65fr;gap:5vw}
.seo-local h2,.seo-projects h2{font-size:clamp(46px,5.2vw,84px)}
.seo-projects{background:var(--accent)}
.seo-projects p{max-width:60ch}
.seo-faq-grid{margin-top:32px;border-top:1px solid var(--ink)}
.seo-faq details{border-bottom:1px solid var(--ink);padding:20px 0}
.seo-faq summary{cursor:pointer;font-family:var(--display);font-size:clamp(26px,2.8vw,42px);line-height:1.05;letter-spacing:-.025em}
.seo-faq details p{margin:15px 0 0}
.seo-cta{padding:clamp(50px,7vw,110px) var(--pad);background:var(--ink);color:var(--paper);display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.seo-cta p{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.07em}.seo-cta a{font-family:var(--display);font-size:clamp(52px,8vw,124px);line-height:.85}
@media(max-width:700px){
  .page-seo main{padding-top:58px}.seo-hero{min-height:auto;padding:62px 20px}.seo-hero h1{font-size:13vw;line-height:.92;margin:28px 0 22px}.seo-hero>p{font-size:16px;line-height:1.55}
  .seo-services,.seo-local,.seo-projects,.seo-faq{padding:48px 20px}.seo-services-grid{grid-template-columns:1fr}.seo-services article{min-height:auto;padding:25px 20px}.seo-local{grid-template-columns:1fr;gap:30px}.seo-local h2,.seo-projects h2{font-size:11.5vw}.seo-cta{padding:48px 20px;display:block}.seo-cta a{display:block;margin-top:32px;font-size:13vw}
}


/* ===== 16/09 · ABANICO DE MUESTRAS DE COLOR ===== */
.identity-swatch-fan{display:none}
@media(min-width:901px){
  .identity-sticky{
    --fan-wash:rgba(232,66,83,.07);
    background-color:var(--paper);
    background-image:radial-gradient(circle at 80% 48%,var(--fan-wash) 0%,rgba(242,240,234,0) 34%);
    transition:background-image .35s ease;
  }
  .identity-swatch-fan{
    display:block;
    grid-column:2;
    grid-row:2;
    align-self:center;
    justify-self:end;
    position:relative;
    width:min(34vw,500px);
    height:min(51vh,520px);
    z-index:2;
    transform:translate3d(0,0,0);
    transition:transform .45s var(--ease);
  }
  .identity-swatch-fan::before{
    content:"";
    position:absolute;
    left:50%;top:52%;
    width:68%;height:46%;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:rgba(17,17,15,.05);
    filter:blur(38px);
    pointer-events:none;
  }
  .identity-swatch-fan .swatch-card{
    --x:0px;--y:0px;--r:0deg;--z:1;--swatch:var(--accent);
    position:absolute;
    left:50%;top:50%;
    width:clamp(112px,9.2vw,142px);
    height:clamp(190px,15.5vw,238px);
    padding:9px 9px 38px;
    background:#f7f4ee;
    border:1px solid rgba(17,17,15,.72);
    box-shadow:0 16px 34px rgba(17,17,15,.10);
    transform-origin:50% 88%;
    transform:translate(-50%,-50%) rotate(0deg);
    transition:transform .62s var(--ease),box-shadow .34s ease,filter .34s ease;
    z-index:var(--z);
    cursor:default;
    will-change:transform;
  }
  .identity-swatch-fan .swatch-card i{
    display:block;
    width:100%;height:100%;
    background:var(--swatch);
    border:1px solid rgba(17,17,15,.12);
  }
  .identity-swatch-fan .swatch-card::after{
    content:"";
    position:absolute;
    left:10px;bottom:13px;
    width:22px;height:2px;
    background:rgba(17,17,15,.34);
  }
  .identity-swatch-fan .swatch-1{--x:-132px;--y:18px;--r:-23deg;--z:1;--swatch:#e84253}
  .identity-swatch-fan .swatch-2{--x:-66px;--y:-5px;--r:-12deg;--z:2;--swatch:#11110f}
  .identity-swatch-fan .swatch-3{--x:0px;--y:-18px;--r:0deg;--z:3;--swatch:#f6b9c0}
  .identity-swatch-fan .swatch-4{--x:66px;--y:-5px;--r:12deg;--z:4;--swatch:#8f2f3b}
  .identity-swatch-fan .swatch-5{--x:132px;--y:18px;--r:23deg;--z:5;--swatch:#d8d3ca}
  .identity-swatch-fan.is-open .swatch-card{
    transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(var(--r));
  }
  .identity-swatch-fan.is-open .swatch-card:hover,
  .identity-swatch-fan.is-open .swatch-card.is-active{
    transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y) - 20px)) rotate(var(--r)) scale(1.045);
    box-shadow:0 24px 44px rgba(17,17,15,.16);
    z-index:12;
  }
}

/* ===== 16/09 · ABANICO MÁS CENTRADO EN ESCRITORIO ===== */
@media(min-width:901px){
  .identity-sticky{
    grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr)!important;
    column-gap:2.8vw!important;
    background-image:radial-gradient(circle at 69% 48%,var(--fan-wash) 0%,rgba(242,240,234,0) 36%)!important;
  }
  .identity-swatch-fan{
    justify-self:start!important;
    margin-left:1.5vw!important;
    width:min(32vw,480px)!important;
  }
}

@media(min-width:1500px){
  .identity-swatch-fan{
    margin-left:0!important;
    transform-origin:center center!important;
  }
}


/* ===== TEXTOS 22/09 · ajuste de jerarquía para el nuevo copy ===== */
.home-title-newcopy .line>span{
  font-size:clamp(48px,6.55vw,108px)!important;
  line-height:.9!important;
  letter-spacing:-.045em!important;
}
.identity-caption p+p{margin-top:14px!important}
.identity-caption strong{font-weight:600}
.work-outro strong{font-weight:600}

@media(max-width:700px){
  body.page-home.mobile-home-final .home-title-newcopy .line>span{
    font-size:7.35vw!important;
    line-height:.96!important;
    letter-spacing:-.025em!important;
  }
  body.page-home.mobile-home-final .home-title-newcopy{
    gap:7px!important;
  }
  body.page-home.mobile-home-final .manifesto-copy-new{
    font-size:8.55vw!important;
    line-height:.97!important;
    letter-spacing:-.025em!important;
  }
  body.page-home.mobile-home-final .manifesto-copy-new .manifesto-line{
    white-space:nowrap!important;
  }
  body.page-home.mobile-home-final .identity-caption p+p{
    margin-top:12px!important;
  }
  body.page-home.mobile-home-final .identity-caption{
    padding-top:26px!important;
  }
}


/* 2026-09-22 · ajustes de maquetación de escritorio */
@media (min-width: 901px){
  .page-home .identity-sticky{
    min-height:100vh;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
    grid-template-rows:auto 1fr auto;
    align-items:center;
    column-gap:clamp(34px,5vw,110px);
    row-gap:clamp(18px,3vw,48px);
    padding-top:clamp(88px,8vw,118px);
    padding-bottom:clamp(32px,4vw,52px);
  }
  .page-home .identity-small{grid-column:1/-1;align-self:start}
  .page-home .identity-words{
    grid-column:1;
    align-self:center;
    justify-self:start;
    justify-content:flex-start;
    font-size:clamp(88px,13.4vw,210px);
    max-width:8.3ch;
  }
  .page-home .identity-swatch-fan{
    grid-column:2;
    align-self:center;
    justify-self:center;
    transform:translateY(8px);
  }
  .page-home .identity-caption{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr)) auto;
    align-items:end;
    gap:clamp(18px,2vw,32px);
    padding-top:clamp(18px,2.6vw,34px);
    border-top:1px solid rgba(17,17,15,.14);
  }
  .page-home .identity-caption p{
    max-width:none!important;
    font-size:clamp(16px,1.12vw,20px)!important;
    line-height:1.55!important;
    font-weight:500!important;
  }
  .page-home .identity-caption p strong{font-weight:700}
  .page-home .identity-caption a{
    justify-self:end;
    align-self:end;
    margin-left:auto;
  }

  .page-home .detail-scene{
    min-height:118vh;
    min-height:118svh;
    grid-template-columns:minmax(0,1.04fr) minmax(440px,.96fr)!important;
    grid-template-rows:auto 1fr;
    align-items:center;
    column-gap:clamp(42px,6vw,120px);
    row-gap:clamp(22px,3vw,42px);
    padding-top:clamp(42px,5vw,74px);
    padding-bottom:clamp(48px,5vw,78px);
  }
  .page-home .detail-copy{
    align-self:center;
    max-width:660px;
  }
  .page-home .detail-side{
    align-self:center;
    display:grid;
    gap:clamp(22px,2.4vw,34px);
    max-width:560px;
    margin-left:auto;
    width:100%;
  }
  .page-home .detail-challenge{
    background:rgba(242,240,234,.92);
    color:var(--ink);
    border:1px solid rgba(17,17,15,.14);
    border-radius:20px;
    padding:clamp(24px,2.6vw,34px);
    box-shadow:0 26px 52px rgba(17,17,15,.08);
  }
  .page-home .detail-challenge-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
  }
  .page-home .detail-challenge-head span:first-child{
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
  }
  .page-home .detail-challenge-head .kerning-state{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:72px;
    padding:7px 12px;
    border-radius:999px;
    background:rgba(232,66,83,.14);
    color:var(--accent-dark, #8f2f3b);
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
  }
  .page-home .detail-challenge-intro,
  .page-home .detail-challenge-hint{
    font-size:15px;
    line-height:1.45;
    margin:0 0 12px;
  }
  .page-home .detail-challenge-hint{margin-bottom:18px;color:rgba(17,17,15,.78)}
  .page-home .detail-notes{
    align-self:start;
    max-width:none!important;
    padding-bottom:0;
    font-size:15px!important;
    line-height:1.55!important;
  }
  .page-home .detail-final{
    margin-top:26px!important;
    font-size:clamp(24px,2.2vw,36px)!important;
    line-height:1.05!important;
  }

  .page-work .work-process-scene{
    min-height:auto;
    padding-bottom:clamp(44px,5vw,70px);
  }
  .page-work .process-main{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
    gap:clamp(34px,5vw,82px);
    align-items:end;
  }
  .page-work .process-main h1{
    grid-column:1;
    margin:0;
  }
  .page-work .process-copy{
    grid-column:1;
    max-width:34ch;
    margin:0;
  }
  .page-work .process-note-block{
    grid-column:2;
    grid-row:1 / span 2;
    align-self:end;
    display:grid;
    gap:18px;
    padding:24px 0 0;
  }
  .page-work .process-note-title{
    margin:0;
    font-family:var(--display);
    font-size:clamp(44px,5.2vw,86px);
    line-height:.9;
    letter-spacing:-.045em;
  }
  .page-work .process-note-title em{
    font-style:italic;
    color:var(--accent);
  }
  .page-work .process-note-copy{
    max-width:31ch;
    font-size:15px;
    line-height:1.55;
  }
  .page-work .process-note-copy p{margin:0 0 14px}
  .page-work .process-note-copy p:last-child{margin-bottom:0}

  .page-work .work-cta-hero{
    min-height:78vh;
    min-height:78svh;
    background:var(--ink);
    color:var(--paper);
    padding:clamp(38px,5vw,68px) var(--pad);
    display:grid;
    grid-template-rows:auto 1fr;
  }
  .page-work .work-cta-grid{
    align-self:center;
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
    gap:clamp(36px,6vw,110px);
    align-items:end;
  }
  .page-work .work-cta-link{
    font-family:var(--display);
    font-size:clamp(82px,12vw,190px);
    line-height:.82;
    letter-spacing:-.07em;
    text-transform:uppercase;
  }
  .page-work .work-cta-copy{
    max-width:31ch;
    font-size:16px;
    line-height:1.6;
  }
  .page-work .work-cta-copy p{margin:0 0 18px}
  .page-work .work-cta-copy a{
    display:inline-block;
    margin-top:12px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.05em;
    border-bottom:1px solid currentColor;
    padding-bottom:4px;
  }

  .page-talk .talk-details{
    grid-template-columns:1fr 1fr;
  }
  .page-talk .talk-card{
    min-height:240px;
  }
  .page-talk .talk-card:last-child{border-right:0!important}
}

@media (max-width: 900px){
  .page-home .detail-side{display:grid;gap:22px}
  .page-home .detail-challenge-intro{font-size:14px;line-height:1.45;margin:0 0 10px}
  .page-work .process-note-block{margin-top:22px}
  .page-work .process-note-title{margin:0 0 14px;font-size:12vw;line-height:.92}
  .page-work .process-note-copy{font-size:14px;line-height:1.48;max-width:33ch}
  .page-work .work-cta-hero{min-height:auto;padding:58px 20px 52px;background:var(--ink);color:var(--paper)}
  .page-work .work-cta-grid{display:grid;gap:18px}
  .page-work .work-cta-link{font-size:17vw;line-height:.85;letter-spacing:-.06em}
  .page-work .work-cta-copy{font-size:14px;line-height:1.48;max-width:30ch}
}


/* ===== AJUSTES DESKTOP · 22/09 ===== */
.identity-caption p a{color:inherit;text-decoration:none;border:0!important;}
.identity-caption a{text-decoration:none;}

@media (min-width: 901px){
  .page-home .identity-sticky{
    padding-top:clamp(102px,8vw,136px);
    padding-bottom:40px;
  }
  .page-home .identity-swatch-fan{
    justify-self:center;
    align-self:center;
    margin-right:clamp(8px,1.5vw,24px);
    transform:translateY(-12px);
  }
  .page-home .identity-caption{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr)) auto;
    gap:clamp(24px,3vw,46px);
    align-items:end;
  }
  .page-home .identity-caption p{
    max-width:23ch!important;
  }
  .page-home .detail-scene{
    grid-template-columns:minmax(0,1.02fr) minmax(380px,540px)!important;
    gap:clamp(38px,4.4vw,82px)!important;
    align-items:center;
  }
  .page-home .detail-copy{
    max-width:680px;
  }
  .page-home .detail-side{
    align-self:center;
    max-width:540px;
    gap:24px;
  }
  .page-home .detail-challenge{
    padding:clamp(26px,2.6vw,34px);
    border-radius:24px;
  }
  .page-home .detail-challenge-head span:first-child{font-size:12px;}
  .page-home .detail-challenge-intro{
    font-size:16px;
    font-weight:600;
    margin-bottom:12px;
  }
  .page-home .detail-challenge-hint{
    font-size:14px;
    line-height:1.5;
    color:rgba(17,17,15,.76);
  }
  .page-home .kerning-stage{min-height:148px;}
  .page-home .detail-notes{
    padding-top:22px;
    border-top:1px solid rgba(17,17,15,.22);
  }
  .page-home .detail-notes::before{
    content:"POR QUÉ ESTE JUEGO IMPORTA";
    display:block;
    margin-bottom:12px;
    font-size:10px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    opacity:.72;
  }

  .page-work .work-process-scene{
    padding-top:clamp(112px,10vw,148px);
    padding-bottom:clamp(60px,6vw,88px);
  }
  .page-work .process-main{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,420px);
    grid-template-areas:
      "title copy"
      "note copy";
    column-gap:clamp(44px,5vw,92px);
    row-gap:clamp(24px,3vw,34px);
    align-items:start;
  }
  .page-work .process-main h1{
    grid-area:title;
    margin:0;
    max-width:7ch;
  }
  .page-work .process-note-block{
    grid-area:note;
    margin:0;
    padding:0;
    align-self:start;
    max-width:31ch;
  }
  .page-work .process-copy{
    grid-area:copy;
    margin:0;
    max-width:34ch;
    font-size:16px;
    line-height:1.6;
    align-self:start;
  }
  .page-work .process-note-title{
    font-size:clamp(42px,4.8vw,78px);
    line-height:.92;
  }
  .page-work .process-note-copy{
    font-size:15px;
    line-height:1.58;
  }

  .page-work .work-cta-hero{
    min-height:auto;
    background:var(--paper);
    color:var(--ink);
    padding:clamp(42px,5vw,74px) var(--pad) clamp(56px,6vw,88px);
  }
  .page-work .work-cta-frame{
    align-self:center;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.56fr);
    gap:clamp(36px,5vw,96px);
    align-items:end;
  }
  .page-work .work-cta-route{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:22px;
    padding:18px 0 24px;
    border-top:1px solid currentColor;
    border-bottom:1px solid currentColor;
  }
  .page-work .work-cta-route>span{
    font-family:var(--display);
    font-size:clamp(86px,10.8vw,176px);
    line-height:.84;
    letter-spacing:-.07em;
    text-transform:uppercase;
  }
  .page-work .work-cta-route i{
    font-style:normal;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:10px;
    margin-top:8px;
    font-size:11px;
    letter-spacing:.03em;
    white-space:nowrap;
  }
  .page-work .work-cta-route i b{font-weight:700;}
  .page-work .work-cta-route i em{font-style:normal;transition:transform .3s var(--ease);}
  .page-work .work-cta-route:hover i em{transform:translate(5px,-4px);}
  .page-work .work-cta-copy{
    max-width:31ch;
    font-size:16px;
    line-height:1.6;
    align-self:end;
  }
  .page-work .work-cta-copy p{margin:0 0 18px;}
  .page-work .work-cta-copy a{
    display:inline-block;
    margin-top:10px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.05em;
    border-bottom:1px solid currentColor;
    padding-bottom:4px;
  }
}

@media (max-width: 900px){
  .page-work .work-cta-frame{display:grid;gap:18px;}
  .page-work .work-cta-route{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:14px 0 18px;
    border-top:1px solid currentColor;
    border-bottom:1px solid currentColor;
  }
  .page-work .work-cta-route>span{
    font-family:var(--display);
    font-size:17vw;
    line-height:.85;
    letter-spacing:-.06em;
  }
  .page-work .work-cta-route i{
    font-style:normal;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:8px;
    font-size:10px;
    margin-top:8px;
  }
  .page-work .work-cta-route i em{font-style:normal;}
}


/* ===== REFINADO FINAL DESKTOP · 22/09 ===== */
@media (min-width: 901px){
  .page-work .work-process-scene{
    min-height:100vh;
    min-height:100svh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-top:clamp(110px,9vw,146px)!important;
    padding-bottom:clamp(66px,6vw,94px)!important;
  }
  .page-work .process-main{
    width:min(100%, 1700px);
    margin-inline:auto;
    display:grid!important;
    grid-template-columns:minmax(0, 1fr) minmax(380px, .72fr);
    grid-template-areas:
      "title copy"
      "note copy";
    column-gap:clamp(70px,7vw,140px)!important;
    row-gap:clamp(24px,3vw,40px)!important;
    align-items:start!important;
  }
  .page-work .process-main h1{
    grid-area:title;
    max-width:6.25ch!important;
    font-size:clamp(122px, 10.7vw, 210px)!important;
    line-height:.84!important;
    letter-spacing:-.07em!important;
  }
  .page-work .process-copy,
  .page-work .process-note-copy{
    font-size:clamp(22px, 1.72vw, 30px)!important;
    line-height:1.34!important;
    letter-spacing:-.024em!important;
  }
  .page-work .process-copy{
    grid-area:copy;
    max-width:21.5ch!important;
    padding-top:10px;
  }
  .page-work .process-note-block{
    grid-area:note;
    align-self:start!important;
    max-width:23ch!important;
    gap:18px!important;
  }
  .page-work .process-note-title{
    font-size:clamp(62px, 5.3vw, 100px)!important;
    line-height:.9!important;
    letter-spacing:-.05em!important;
  }

  .page-home .identity-sticky{
    padding-top:clamp(104px,8vw,136px)!important;
  }
  .page-home .identity-caption{
    display:grid!important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) auto!important;
    align-items:stretch!important;
    gap:clamp(28px, 3vw, 54px)!important;
    padding-top:clamp(26px, 3vw, 42px)!important;
  }
  .page-home .identity-caption p{
    min-height:8.2em;
    display:flex;
    align-items:flex-start;
    max-width:none!important;
    font-size:clamp(22px, 1.62vw, 29px)!important;
    line-height:1.32!important;
    letter-spacing:-.022em!important;
  }
  .page-home .identity-caption a{
    display:inline-flex;
    align-items:flex-end;
    height:100%;
    justify-self:end;
    font-size:12px!important;
    font-weight:700!important;
    letter-spacing:.05em!important;
  }

  .page-home .detail-scene{
    min-height:112vh!important;
    min-height:112svh!important;
    grid-template-columns:minmax(0, 1.02fr) minmax(460px, 560px)!important;
    align-items:center!important;
    column-gap:clamp(52px, 6vw, 110px)!important;
    row-gap:clamp(20px, 2.6vw, 34px)!important;
  }
  .page-home .detail-copy{
    max-width:760px!important;
  }
  .page-home .detail-side{
    display:flex!important;
    flex-direction:column!important;
    gap:clamp(26px, 2.8vw, 38px)!important;
    max-width:560px!important;
    width:100%!important;
    align-self:center!important;
  }
  .page-home .detail-notes{
    order:1;
    padding:0!important;
    border:0!important;
    max-width:none!important;
    font-size:clamp(20px, 1.52vw, 27px)!important;
    line-height:1.36!important;
  }
  .page-home .detail-notes::before{
    content:none!important;
  }
  .page-home .detail-notes p{
    margin:0 0 18px!important;
  }
  .page-home .detail-final{
    margin-top:36px!important;
    font-size:clamp(34px, 2.5vw, 46px)!important;
    line-height:1.06!important;
  }
  .page-home .detail-challenge{
    order:2;
    position:relative!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    width:100%!important;
    min-height:auto!important;
    height:auto!important;
    padding:30px 34px!important;
    overflow:visible!important;
    align-self:stretch!important;
    border-radius:22px!important;
  }
  .page-home .detail-challenge *{
    position:relative;
  }
  .page-home .detail-challenge-head{
    margin:0!important;
  }
  .page-home .detail-challenge-intro{
    margin:0!important;
    font-size:20px!important;
    line-height:1.32!important;
    font-weight:700!important;
  }
  .page-home .detail-challenge-hint{
    margin:0!important;
    font-size:16px!important;
    line-height:1.48!important;
  }
  .page-home .kerning-stage{
    margin:2px 0 0!important;
    padding:24px 0 18px!important;
    min-height:154px!important;
    font-size:clamp(84px, 6.2vw, 118px)!important;
    line-height:.8!important;
    overflow:hidden!important;
  }
  .page-home .kerning-control{
    display:block!important;
    padding:0!important;
  }
  .page-home .kerning-range{
    width:100%!important;
  }
  .page-home .kerning-scale{
    margin-top:0!important;
    font-size:10px!important;
  }
  .page-home .detail-challenge-result{
    margin:0!important;
    font-size:16px!important;
    line-height:1.45!important;
  }
}
