/* source style block 0 */
:root{
  --bg:#ffffff;
  --fg:#000000;
  --muted:#000000;
  --line:rgba(0,0,0,.16);
  --yellow:#ffffff;
  --gray:#000000;
  --white:#ffffff;
  --pad:clamp(22px,3vw,46px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:"Google Sans Variable","Google Sans",Arial,sans-serif;
  font-variation-settings:"wght" 430,"opsz" 17,"GRAD" 0;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button{font:inherit}
.site{min-height:100vh}
.header{
  position:fixed;
  top:10px;
  left:12px;
  right:12px;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:68px;
  padding:12px;
  pointer-events:none;
}
.header::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  transition:
    background .42s cubic-bezier(.2,.8,.2,1),
    box-shadow .42s cubic-bezier(.2,.8,.2,1),
    border-color .42s cubic-bezier(.2,.8,.2,1);
  backdrop-filter:blur(14px) saturate(130%);
  -webkit-backdrop-filter:blur(14px) saturate(130%);
}
.header>*{
  position:relative;
  z-index:1;
  pointer-events:auto;
}
.logo{
  position:relative;
  z-index:103;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  height:44px;
  margin:0 0 0 10px;
  padding:0;
  color:#000000;
  transition:color .42s cubic-bezier(.2,.8,.2,1);
}
.logo-stack{
  position:relative;
  display:block;
  min-width:168px;
  height:22px;
}
.logo-word{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:0;
  white-space:nowrap;
  font-family:"Alfa Slab One",serif;
  font-size:22px;
  line-height:.9;
  letter-spacing:-.03em;
  color:currentColor;
}
.logo-word .char{
  display:inline-block;
  will-change:transform,opacity,filter;
  transition:
    transform .42s cubic-bezier(.2,.8,.2,1),
    opacity .28s ease,
    filter .28s ease;
}
.logo-primary .char{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);
  transition-delay:calc(var(--i) * 28ms);
}
.logo-alt .char{
  opacity:0;
  transform:translateY(10px) scale(.84);
  filter:blur(2px);
  transition-delay:calc((4 - var(--i)) * 24ms);
}
.logo.show-alt .logo-primary .char{
  opacity:0;
  transform:translateY(-10px) scale(.86);
  filter:blur(2px);
  transition-delay:calc(var(--i) * 30ms);
}
.logo.show-alt .logo-alt .char{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);
  transition-delay:calc(70ms + (var(--i) * 34ms));
}
.menu-toggle{
  position:relative;
  z-index:104;
  width:44px;
  height:44px;
  border:1px solid rgba(0,0,0,.14);
  padding:0;
  border-radius:50%;
  background:#000000;
  color:#ffffff;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:
    transform .35s cubic-bezier(.2,.8,.2,1),
    background .42s cubic-bezier(.2,.8,.2,1),
    color .42s cubic-bezier(.2,.8,.2,1),
    border-color .42s cubic-bezier(.2,.8,.2,1);
}
.menu-toggle:hover{transform:scale(1.08)}
.menu-toggle .menu-icon{
  width:17px;
  height:17px;
  position:relative;
}
.menu-toggle .menu-icon:before,
.menu-toggle .menu-icon:after{
  content:"";
  position:absolute;
  left:0;
  width:17px;
  height:2px;
  background:currentColor;
  top:6px;
  transition:transform .45s cubic-bezier(.2,.8,.2,1), top .45s cubic-bezier(.2,.8,.2,1);
}
.menu-toggle .menu-icon:after{top:11px}
.menu-open .menu-toggle{
  background:#000000;
  color:#ffffff;
}
.menu-open .menu-toggle .menu-icon:before{top:8px;transform:rotate(45deg)}
.menu-open .menu-toggle .menu-icon:after{top:8px;transform:rotate(-45deg)}
.menu-open .logo{color:#ffffff}

.menu-layer{
  position:fixed;
  inset:0;
  z-index:101;
  pointer-events:none;
  overflow:hidden;
  --menu-origin-x: calc(100vw - 44px);
  --menu-origin-y: 44px;
}
.menu-bg{
  position:absolute;
  left:var(--menu-origin-x);
  top:var(--menu-origin-y);
  width:44px;
  height:44px;
  border-radius:50%;
  background:#000000;
  transform:translate(-50%,-50%) scale(0);
  transform-origin:50% 50%;
  transition:transform .88s cubic-bezier(.74,0,.18,1);
}
.menu-open .menu-bg{
  transform:translate(-50%,-50%) scale(75);
}
.menu-panel{
  position:absolute;
  inset:0;
  padding:104px 24px 34px;
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(240px,.4fr);
  gap:50px;
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease .05s, visibility 0s linear .85s;
}
.menu-open .menu-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .28s ease .28s, visibility 0s;
}
.menu-main{
  align-self:start;
  justify-self:start;
  width:100%;
  display:grid;
  justify-items:start;
  text-align:left;
}
.menu-link{
  width:max-content;
  max-width:100%;
  font-size:clamp(50px,7.14vw,118px);
  line-height:.69;
  letter-spacing:-.075em;
  font-weight:500;
  font-variation-settings:"wght" 520,"opsz" 18,"GRAD" 0;
  color:#ffffff;
  text-decoration:none;
  transform:translateY(42px);
  opacity:0;
  transition:
    transform .62s cubic-bezier(.16,.8,.18,1),
    opacity .42s ease,
    font-variation-settings .3s ease;
}
.menu-open .menu-link{
  transform:translateY(0);
  opacity:1;
}
.menu-open .menu-link:nth-child(1){transition-delay:.30s}
.menu-open .menu-link:nth-child(2){transition-delay:.36s}
.menu-open .menu-link:nth-child(3){transition-delay:.42s}
.menu-open .menu-link:nth-child(4){transition-delay:.48s}
.menu-open .menu-link:nth-child(5){transition-delay:.54s}

.menu-link + .menu-link{
  margin-top:-.085em;
}
.menu-link:nth-child(2),
.menu-link:nth-child(3),
.menu-link:nth-child(4),
.menu-link:nth-child(5){
  margin-left:0;
}
.menu-link:hover{
  font-variation-settings:"wght" 700,"opsz" 18,"GRAD" 180;
  transform:translateX(18px) scaleX(1.012);
}

.menu-side{
  align-self:start;
  justify-self:start;
  text-align:left;
  display:grid;
  padding-top:10px;
  gap:34px;
  color:#ffffff;
  transform:translateY(24px);
  opacity:0;
  transition:transform .55s cubic-bezier(.16,.8,.18,1) .52s, opacity .4s ease .52s;
}
.menu-open .menu-side{transform:none;opacity:1}
.menu-side small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  margin-bottom:8px;
}
.menu-side a{
  display:block;
  color:#ffffff;
  text-decoration:none;
  font-size:18px;
  line-height:1.2;
}
.menu-number{
  position:absolute;
  left:var(--pad);
  bottom:30px;
  color:#ffffff;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(10px);
  transition:opacity .4s ease .55s, transform .5s ease .55s;
}
.menu-open .menu-number{opacity:1;transform:none}
body.menu-open{overflow:hidden}

.section{
  position:relative;
  min-height:100svh;
  padding:120px var(--pad) 80px;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.hero{
  min-height:100svh;
  padding-top:130px;
  background:#ffffff;
  color:#000000;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:40px;
  align-items:center;
  min-height:calc(100svh - 200px);
}
.hero-copy{position:relative;z-index:3}
.kicker{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
  margin-bottom:26px;
}
.hero-title{
  margin:0;
  max-width:830px;
  font-size:clamp(72px,9vw,150px);
  line-height:.78;
  letter-spacing:-.075em;
  font-weight:600;
}
.hero-title .break{display:block}
.hero-sub{
  margin-top:28px;
  max-width:420px;
  font-size:16px;
  line-height:1.35;
}
.hero-visual{
  position:relative;
  min-height:620px;
}
.orbit{
  position:absolute;
  inset:5% -5% 0 -20%;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.12);
  transform:rotate(18deg);
}
.orbit:before,.orbit:after{
  content:"";
  position:absolute;inset:10%;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.09);
}
.orbit:after{inset:22%}
.float-card{
  position:absolute;
  width:210px;
  height:360px;
  border-radius:26px;
  box-shadow:0 24px 60px rgba(0,0,0,.18);
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transform-style:preserve-3d;
}
.card-a{right:18%;top:4%;background:#fff;transform:rotate(10deg)}
.card-b{right:37%;top:28%;background:#000000;color:#fff;transform:rotate(-12deg)}
.card-c{right:4%;top:32%;background:#ffffff;transform:rotate(4deg)}
.card-num{font-size:56px;line-height:1;font-weight:500}
.card-copy{font-size:18px;line-height:1.05;letter-spacing:-.03em}
.scroll-dot{
  position:absolute;
  left:var(--pad);bottom:28px;
  width:42px;height:42px;border-radius:50%;
  background:#ffffff;
  display:grid;place-items:center;
  font-size:18px;
}
.think{
  background:#000000;
  color:#ffffff;
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:60px;
}
.section-label{
  font-size:12px;
  color:var(--muted);
}
.big-copy{
  font-size:clamp(34px,4.3vw,70px);
  line-height:.96;
  letter-spacing:-.05em;
  margin:0 0 48px;
}
.big-copy + .big-copy{margin-top:80px}
.inline-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#ffffff;
  padding:10px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}
.services{
  background:#ffffff;
  color:#000000;
}
.services-head{
  display:grid;
  grid-template-columns:.55fr 1.45fr;
  gap:30px;
  align-items:start;
}
.services-word{
  margin:0;
  font-size:clamp(90px,13vw,200px);
  line-height:.72;
  letter-spacing:-.085em;
  font-weight:600;
}
.services-word span{display:block}
.services-intro{
  max-width:560px;
  margin-left:auto;
  padding-top:30px;
  font-size:20px;
  line-height:1.25;
}
.cap-list{
  margin-top:90px;
  border-top:1px solid rgba(0,0,0,.25);
}
.cap-row{
  display:grid;
  grid-template-columns:50px 1fr 1fr 40px;
  gap:18px;
  align-items:center;
  padding:20px 0;
  border-bottom:1px solid rgba(0,0,0,.25);
  transition:padding-left .3s ease, background .3s ease;
}
.cap-row:hover{padding-left:14px;background:rgba(255,255,255,.16)}
.cap-row strong{font-size:22px}
.cap-row p{margin:0;font-size:14px;line-height:1.3}
.experience{
  background:#000000;
  color:#ffffff;
}
.experience-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:40px;
  align-items:center;
}
.exp-word{
  font-size:clamp(100px,14vw,230px);
  line-height:.68;
  letter-spacing:-.085em;
  font-weight:600;
  margin:0;
}
.exp-word span{display:block}
.exp-side{
  max-width:380px;
  justify-self:end;
}
.exp-side h3{
  font-size:42px;
  line-height:.92;
  letter-spacing:-.05em;
  margin:0 0 24px;
}
.logo-strip{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  margin:70px calc(var(--pad)*-1) 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.logo-cell{
  min-height:120px;
  display:grid;
  place-items:center;
  border-right:1px solid var(--line);
  font-size:12px;
  text-transform:uppercase;
  color:var(--muted);
}
.industries{
  background:#ffffff;
  color:#000000;
  padding-top:60px;
}
.industry-list{
  border-top:1px solid var(--line);
}
.industry-row{
  display:grid;
  grid-template-columns:50px 1fr 1.2fr 70px;
  gap:20px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
  align-items:start;
}
.industry-row strong{font-size:28px;letter-spacing:-.04em}
.industry-row p{margin:0;line-height:1.35;font-size:14px}
.yellow{
  background:#000000;
  color:#ffffff;
}
.yellow-grid{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:40px;
}
.yellow-title{
  margin:0;
  font-size:clamp(70px,10vw,150px);
  line-height:.78;
  letter-spacing:-.075em;
  font-weight:600;
}
.yellow-copy{
  max-width:560px;
  font-size:24px;
  line-height:1.18;
  margin-left:auto;
}
.stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:90px;
  border-top:1px solid rgba(0,0,0,.2);
}
.stat{
  padding:28px 20px 0 0;
  border-right:1px solid rgba(0,0,0,.2);
}
.stat:last-child{border-right:0}
.stat strong{
  display:block;
  font-size:clamp(48px,6vw,90px);
  letter-spacing:-.06em;
}
.stat span{font-size:13px}
.who{
  background:#ffffff;
  color:#000000;
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:60px;
}
.wo-footer{
  position:relative;
  min-height:86svh;
  background:#ffffff;
  color:#000000;
  padding:32px var(--pad) 0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.wo-footer-top{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:28px;
  align-items:start;
  font-size:17px;
  line-height:1.2;
}
.wo-footer-left{max-width:420px}
.wo-footer-center{text-align:center;white-space:nowrap}
.wo-footer-right{text-align:right}
.wo-footer a{color:#ffffff;text-decoration:none}
.wo-footer-links{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:8px;
}
.wo-footer-social{
  display:grid;
  gap:7px;
  margin-top:38px;
  width:max-content;
}
.wo-footer-social a:before{
  content:"→";
  display:inline-block;
  margin-right:9px;
}
.wo-footer-wordmark-wrap{
  margin-top:auto;
  width:100%;
  overflow:hidden;
}
.wo-footer-wordmark{
  font-family:"Alfa Slab One",serif;
  color:#ffffff;
  font-size:clamp(120px,22.1vw,360px);
  line-height:.68;
  letter-spacing:-.068em;
  white-space:nowrap;
  transform:translateY(.07em);
  transform-origin:left bottom;
}

.cursor{
  position:fixed;
  z-index:999;
  width:86px;height:86px;
  border-radius:50%;
  background:#000000;color:#fff;
  display:none;place-items:center;
  transform:translate(-50%,-50%);
  pointer-events:none;
  font-size:9px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
@media(hover:hover) and (pointer:fine){.cursor{display:grid}}
@media(max-width:900px){
  .header{padding:18px var(--pad)}
  .menu-panel{grid-template-columns:1fr;padding-top:100px}
  .menu-side{grid-template-columns:1fr 1fr;align-self:end}
  .menu-link{font-size:clamp(54px,13vw,110px)}
  .hero-grid,.think,.services-head,.experience-grid,.yellow-grid,.who{grid-template-columns:1fr}
  .hero-visual{min-height:520px}
  .float-card{width:160px;height:285px}
  .card-a{right:20%}.card-b{right:45%}.card-c{right:2%}
  .logo-strip{grid-template-columns:repeat(3,1fr)}
  .cap-row,.industry-row{grid-template-columns:40px 1fr}
  .cap-row p,.industry-row p{grid-column:2}
  .stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .section{padding-top:100px}
  .hero-title{font-size:64px}
  .hero-visual{min-height:430px}
  .float-card{width:132px;height:236px;border-radius:18px}
  .card-copy{font-size:14px}.card-num{font-size:40px}
  .services-word,.exp-word{font-size:86px}
  .logo-strip{grid-template-columns:repeat(2,1fr)}
  .yellow-title,.footer-cta h2{font-size:64px}
}

@media(max-width:700px){
  .header{
    top:8px;
    left:8px;
    right:8px;
    min-height:60px;
    padding:10px;
  }
  .menu-toggle{width:40px;height:40px}
  .logo{
    height:40px;
    margin-left:8px;
  }
  .logo-stack{min-width:118px;height:20px}
  .logo-word{font-size:18px}
  .menu-panel{
    padding:92px var(--pad) 28px;
    display:flex;
    flex-direction:column;
  }
  .menu-bg{
    width:72px;height:72px;
    right:calc(var(--pad) - 12px);
    top:6px;
  }
  .menu-open .menu-bg{transform:scale(35)}
  .menu-panel{
    padding:92px var(--pad) 28px;
    display:flex;
    flex-direction:column;
  }
  .menu-main{margin:auto 0}
  .menu-link{
    font-size:clamp(35px,10.5vw,58px);
    line-height:.86;
  }
  .menu-side{
    grid-template-columns:1fr 1fr;
    gap:20px;
  }
  .menu-side a{font-size:14px}
  .menu-number{display:none}

  .wo-footer{min-height:78svh;padding-top:24px}
  .wo-footer-top{
    grid-template-columns:1fr auto;
    font-size:14px;
  }
  .wo-footer-center{
    grid-column:1 / -1;
    grid-row:1;
    text-align:left;
    margin-bottom:26px;
  }
  .wo-footer-left{grid-column:1}
  .wo-footer-right{grid-column:2}
  .wo-footer-social{margin-top:24px}
  .wo-footer-wordmark{
    font-size:clamp(96px,29vw,170px);
  }
}


/* CIENEQUIS monochrome tone transitions */
.tone-section{
  isolation:isolate;
}
.tone-section::after{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:0;
  pointer-events:none;
  background:var(--tone-reveal);
  clip-path:inset(100% 0 0 0);
  transition:clip-path 1.15s cubic-bezier(.76,0,.24,1);
}
.tone-section.tone-in::after{
  clip-path:inset(0 0 0 0);
}
.tone-section > *{
  position:relative;
  z-index:1;
}
.tone-light{--tone-reveal:#ffffff}
.tone-dark{--tone-reveal:#000000}


/* Header contrast against page tone */
.header{
  color:#000000;
}
.header.on-dark .logo{
  color:#ffffff;
}
.header.on-dark .menu-toggle{
  background:#ffffff;
  color:#000000;
  border-color:#ffffff;
}
.header.on-light .logo{
  color:#000000;
}
.header.on-light .menu-toggle{
  background:#000000;
  color:#ffffff;
  border-color:#000000;
}

/* Menu-open always overrides scroll contrast */
body.menu-open .header .logo{
  color:#ffffff!important;
}
body.menu-open .header .menu-toggle{
  background:#ffffff!important;
  color:#000000!important;
  border-color:#ffffff!important;
}

.header.on-light::before{
  background:rgba(255,255,255,.72);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.08) inset,
    0 10px 26px rgba(255,255,255,.28);
}
.header.on-dark::before{
  background:rgba(0,0,0,.48);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.10) inset,
    0 10px 26px rgba(0,0,0,.28);
}
.header.on-light .logo{
  color:#000000;
}
.header.on-dark .logo{
  color:#ffffff;
}

body.menu-open .header::before{
  background:rgba(0,0,0,.78)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.10) inset,
    0 10px 26px rgba(0,0,0,.34)!important;
}



body.menu-open .cursor{
  background:#ffffff;
  color:#000000;
  box-shadow:0 12px 36px rgba(255,255,255,.14);
}
body.menu-open .cursor.menu-close-cursor{
  width:92px;
  height:92px;
}
body.menu-open .cursor.menu-action-cursor{
  width:72px;
  height:72px;
}


body.menu-open .menu-layer{
  background:#000000;
}




/* Desktop header morph v2: one geometry, continuous interpolation */
@media(min-width:901px){
  .header{
    left:50%;
    right:auto;
    top:0;
    width:100vw;
    min-height:88px;
    padding:20px 34px;
    border-radius:0;
    transform:translateX(-50%);
    will-change:width,top,min-height,padding,border-radius;
  }

  .header::before{
    border-radius:inherit;
  }

  .header .logo{
    height:44px;
    margin-left:10px;
    will-change:margin-left;
  }

  .header .menu-toggle{
    width:48px;
    height:48px;
    will-change:width,height;
  }
}


/* ===== CIENEQUIS menu v14 overrides ===== */

/* opening/closing uses the same radial transform */
.menu-layer{
  background:transparent !important;
}
.menu-bg{
  transition:transform .88s cubic-bezier(.74,0,.18,1) !important;
}
.menu-open .menu-bg{
  transform:translate(-50%,-50%) scale(75) !important;
}

/* Menu structure */
.menu-panel{
  padding:104px 24px 34px !important;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr) !important;
  gap:72px !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:
    opacity .28s ease .34s,
    visibility 0s linear .90s !important;
}
.menu-open .menu-panel{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transition:
    opacity .28s ease .34s,
    visibility 0s !important;
}

/* Grid inside open menu */
.menu-grid-lines{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  transition:opacity .30s ease .34s;
}
.menu-open .menu-grid-lines{opacity:1}
.menu-grid-v,
.menu-grid-h{
  position:absolute;
  background:rgba(255,255,255,.09);
}
.menu-grid-v{
  top:104px;
  bottom:34px;
  width:1px;
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .72s cubic-bezier(.16,.8,.18,1);
}
.menu-grid-h{
  left:24px;
  right:24px;
  height:1px;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .72s cubic-bezier(.16,.8,.18,1);
}
.menu-grid-v1{left:24px;transition-delay:.18s}
.menu-grid-v2{left:var(--menu-right-col-start, calc(100% - 31%));transition-delay:.28s}
.menu-grid-h1{top:104px;transition-delay:.14s}
.menu-grid-h2{bottom:34px;transition-delay:.32s}
.menu-open .menu-grid-v{transform:scaleY(1)}
.menu-open .menu-grid-h{transform:scaleX(1)}

/* Main links: left aligned, smaller, no overlap */
.menu-main{
  position:relative;
  z-index:2;
  align-self:start !important;
  justify-self:start !important;
  display:grid !important;
  justify-items:start !important;
  align-content:start !important;
  row-gap:20px !important;
  width:100% !important;
  padding-top:18px !important;
  text-align:left !important;
}
.menu-link{
  margin:0 !important;
  font-size:clamp(50px,6.35vw,94px) !important;
  line-height:.92 !important;
  letter-spacing:-.065em !important;
  transform:translateY(28px) !important;
  opacity:0 !important;
}
.menu-open .menu-link{
  transform:translateY(0) !important;
  opacity:1 !important;
}
.menu-open .menu-link:nth-child(1){transition-delay:.34s !important}
.menu-open .menu-link:nth-child(2){transition-delay:.40s !important}
.menu-open .menu-link:nth-child(3){transition-delay:.46s !important}
.menu-open .menu-link:nth-child(4){transition-delay:.52s !important}
.menu-link:hover{
  transform:translateX(12px) !important;
}

/* Right column */
.menu-side{
  position:relative;
  z-index:2;
  align-self:start !important;
  justify-self:start !important;
  padding-top:24px !important;
  text-align:left !important;
  gap:34px !important;
}
.menu-side small{
  opacity:.65;
}
.menu-side a{
  transition:transform .28s ease, opacity .28s ease;
}
.menu-side a:hover{
  transform:translateX(6px);
  opacity:.78;
}

/* bottom text + small brand */
.menu-number{
  left:24px !important;
  bottom:34px !important;
  max-width:520px;
  font-size:12px !important;
  line-height:1.28;
  letter-spacing:.01em !important;
  text-transform:none !important;
}
.menu-mini-brand{
  position:absolute;
  right:24px;
  bottom:34px;
  z-index:2;
  font-family:"Alfa Slab One",serif;
  font-size:17px;
  line-height:.9;
  color:#fff;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .4s ease .68s, transform .5s ease .68s;
}
.menu-open .menu-mini-brand{
  opacity:1;
  transform:translateY(0);
}

  50%{transform:translateY(-3px)}


/* Mobile: no custom cursor and simpler menu */
@media(max-width:900px){
  .cursor{display:none !important}
  .menu-grid-lines{display:none}
  .menu-main{
    row-gap:12px !important;
    padding-top:0 !important;
  }
  .menu-link{
    font-size:clamp(35px,10.5vw,58px) !important;
    line-height:.95 !important;
  }
  .menu-number,
  .menu-mini-brand{
    display:none !important;
  }
}


/* ===== CIENEQUIS menu v15 refinements ===== */

/* grid lines to edges + slightly brighter */
.menu-grid-v,
.menu-grid-h{
  background:rgba(255,255,255,.15) !important;
}
.menu-grid-v{
  top:0 !important;
  bottom:0 !important;
}
.menu-grid-h{
  left:0 !important;
  right:0 !important;
}


/* menu links bolder */
.menu-link{
  font-weight:650 !important;
  font-variation-settings:"wght" 640,"opsz" 18,"GRAD" 40 !important;
}
.menu-link:hover{
  font-variation-settings:"wght" 740,"opsz" 18,"GRAD" 120 !important;
}

/* focus non-link words while hovering */
.menu-side small,
.menu-number{
  opacity:.78;
  transition:opacity .24s ease, transform .24s ease;
}
.menu-copy-focus:hover small,
.menu-number:hover,
.menu-mini-brand:hover{
  opacity:1;
  transform:translateY(-1px);
}
.menu-side > div:hover small{
  opacity:1;
}
.menu-side > div:hover{
  opacity:1;
}


  88%{transform:translateY(-2px)}
  92%{transform:translateY(1px)}
  96%{transform:translateY(-1px)}


/* keep CV block visually coherent */
.menu-side{
  grid-auto-rows:max-content;
}


.menu-copy-focus.is-focused small,
.menu-number.is-focused,
.menu-mini-brand.is-focused{
  opacity:1 !important;
}


/* Grid intersections: structural nodes, not "+" glyphs */
.menu-grid-junction{display:none !important;}

/* Exact intersections of existing grid lines */


/* Subtle stepped micro-motion, same family as the logo morph */

  86%{opacity:.70;transform:translate(-50%,-50%) scale(.90)}
  90%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}
  94%{opacity:.86;transform:translate(-50%,-50%) scale(.96)}

.menu-open .menu-brand-desktop{
  opacity:1;
  transform:none;
}
.menu-brand-desktop .logo-stack{
  min-width:168px;
}
.menu-brand-desktop .logo-word{
  font-size:22px;
}
.menu-mini-brand{
  display:none !important;
}

/* Give the menu links a bit more top space because of the new logo */
@media(min-width:901px){
  .menu-main{
    padding-top:92px !important;
  }
}
@media(max-width:900px){
  .menu-brand-desktop{
    display:none !important;
  }
}

/* Hovering one of the 4 menu links: everything else fades/softens to 30% */
.menu-panel.menu-hovering .menu-link,
.menu-panel.menu-hovering .menu-side,
.menu-panel.menu-hovering .menu-number,
.menu-panel.menu-hovering .menu-brand-desktop,
.menu-panel.menu-hovering .menu-grid-lines{
  transition:opacity .22s ease, filter .22s ease, transform .22s ease;
}
.menu-panel.menu-hovering .menu-link:not(.is-hovered),
.menu-panel.menu-hovering .menu-side,
.menu-panel.menu-hovering .menu-number,
.menu-panel.menu-hovering .menu-brand-desktop{
  opacity:.30 !important;
  filter:blur(3.6px);
}
.menu-panel.menu-hovering .menu-grid-lines{
  opacity:.30 !important;
  filter:blur(1.8px);
}
.menu-panel.menu-hovering .menu-link.is-hovered{
  opacity:1 !important;
  filter:none !important;
  transform:translateX(12px) !important;
}

/* Fix opening bug: header should not turn black before the radial menu reaches it */
body.menu-open:not(.menu-ready) .header::before{
  background:transparent !important;
  box-shadow:none !important;
  border-color:transparent !important;
}
body.menu-open.menu-ready .header::before{
  background:rgba(0,0,0,.78) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.10) inset,
    0 10px 26px rgba(0,0,0,.34) !important;
}


/* ===== CIENEQUIS v20 fixes: desktop menu state + mobile grid visible ===== */

/* stronger desktop menu-open state cleanup */
@media(min-width:901px){
  body.menu-open .menu-panel{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  body.menu-open .menu-main,
  body.menu-open .menu-side,
  body.menu-open .menu-brand-desktop,
  body.menu-open .menu-number{
    will-change:opacity, transform, filter;
  }
}

/* mobile: grid must be visible */
@media(max-width:900px){
  .menu-grid-lines{
    display:block !important;
    opacity:1 !important;
    filter:none !important;
  }

  /* adapt the grid to the single-column mobile menu */
  .menu-grid-v,
  .menu-grid-h{
    background:rgba(255,255,255,.13) !important;
  }

  .menu-grid-v1{
    left:var(--pad) !important;
    top:92px !important;
    bottom:28px !important;
  }
  .menu-grid-v2{
    left:calc(100% - var(--pad)) !important;
    top:92px !important;
    bottom:28px !important;
  }
  .menu-grid-h1{
    top:92px !important;
    left:0 !important;
    right:0 !important;
  }
  .menu-grid-h2{
    bottom:28px !important;
    left:0 !important;
    right:0 !important;
  }

  

  /* keep content readable over the grid */
  .menu-main,
  .menu-side{
    position:relative;
    z-index:2;
  }
}


/* ===== v21 definitive mobile menu layout ===== */
@media(max-width:900px){

  .menu-panel{
    display:block !important;
    padding:92px var(--pad) 32px !important;
    overflow:hidden !important;
  }

  .menu-main{
    position:absolute !important;
    left:var(--pad) !important;
    right:var(--pad) !important;
    top:138px !important;
    width:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:start !important;
    align-content:start !important;
    row-gap:14px !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
  }

  .menu-link{
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    font-size:clamp(42px,12.2vw,68px) !important;
    line-height:.92 !important;
    letter-spacing:-.06em !important;
    white-space:normal !important;
    transform:translateY(22px) !important;
  }

  .menu-open .menu-link{
    transform:translateY(0) !important;
  }

  .menu-side{
    position:absolute !important;
    left:var(--pad) !important;
    right:var(--pad) !important;
    bottom:78px !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:18px 24px !important;
    margin:0 !important;
    padding:0 !important;
    align-self:auto !important;
    justify-self:auto !important;
    opacity:0 !important;
    transform:translateY(18px) !important;
  }

  .menu-open .menu-side{
    opacity:1 !important;
    transform:none !important;
  }

  .menu-side > div{
    min-width:0;
  }

  .menu-side small{
    font-size:9px !important;
    margin-bottom:5px !important;
  }

  .menu-side a{
    font-size:14px !important;
    line-height:1.12 !important;
  }

  .menu-number{
    display:none !important;
  }

  .menu-brand-desktop,
  .menu-mini-brand{
    display:none !important;
  }

  /* Mobile grid: visible, aligned to the mobile content frame */
  .menu-grid-lines{
    display:block !important;
    opacity:1 !important;
  }

  .menu-grid-v,
  .menu-grid-h{
    background:rgba(255,255,255,.13) !important;
  }

  .menu-grid-v1{
    left:var(--pad) !important;
    top:92px !important;
    bottom:32px !important;
  }

  .menu-grid-v2{
    left:calc(100% - var(--pad)) !important;
    top:92px !important;
    bottom:32px !important;
  }

  .menu-grid-h1{
    top:92px !important;
    left:0 !important;
    right:0 !important;
  }

  .menu-grid-h2{
    bottom:32px !important;
    left:0 !important;
    right:0 !important;
  }

  
}


/* ===== v23 desktop menu rebuild + hover blur/opacity adjustment ===== */
@media(min-width:901px){

  /* Rebuild the open menu layout explicitly */
  .menu-panel{
    display:block !important;
    padding:104px 24px 34px !important;
    overflow:hidden !important;
  }

  .menu-brand-desktop{
    position:absolute !important;
    left:24px !important;
    top:118px !important;
    opacity:0 !important;
    transform:translateY(10px) !important;
    z-index:4 !important;
  }
  .menu-open .menu-brand-desktop{
    opacity:1 !important;
    transform:none !important;
  }

  .menu-main{
    position:absolute !important;
    left:24px !important;
    top:180px !important;
    width:min(54vw, 760px) !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    row-gap:12px !important;
    justify-items:start !important;
    align-content:start !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    z-index:3 !important;
  }

  .menu-link{
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    font-size:clamp(56px, 6.2vw, 98px) !important;
    line-height:.90 !important;
    letter-spacing:-.07em !important;
    white-space:normal !important;
  }

  .menu-side{
    position:absolute !important;
    left:auto !important;
    right:24px !important;
    top:180px !important;
    width:min(24vw, 320px) !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:30px !important;
    padding:0 !important;
    margin:0 !important;
    text-align:left !important;
    z-index:3 !important;
  }

  .menu-number{
    position:absolute !important;
    left:24px !important;
    right:auto !important;
    bottom:34px !important;
    max-width:560px !important;
    z-index:3 !important;
  }

  .menu-mini-brand{
    display:none !important;
  }

  /* ensure the right grid line keys off the actual right column */
  .menu-grid-v2{
    left:calc(100% - 344px) !important;
  }
  .junction-2{
    left:calc(100% - 344px) !important;
  }
  .junction-4{
    left:calc(100% - 344px) !important;
  }

  /* Hover focus behavior: keep 95% opacity, increase blur */
  .menu-panel.menu-hovering .menu-link,
  .menu-panel.menu-hovering .menu-side,
  .menu-panel.menu-hovering .menu-number,
  .menu-panel.menu-hovering .menu-brand-desktop,
  .menu-panel.menu-hovering .menu-grid-lines{
    transition:opacity .22s ease, filter .22s ease, transform .22s ease;
  }

  .menu-panel.menu-hovering .menu-link:not(.is-hovered),
  .menu-panel.menu-hovering .menu-side,
  .menu-panel.menu-hovering .menu-number,
  .menu-panel.menu-hovering .menu-brand-desktop{
    opacity:.95 !important;
    filter:blur(7.2px) !important;
  }

  .menu-panel.menu-hovering .menu-grid-lines{
    opacity:.95 !important;
    filter:none !important;
  }

  .menu-panel.menu-hovering .menu-link.is-hovered{
    opacity:1 !important;
    filter:none !important;
    transform:translateX(12px) !important;
  }
}


/* ===== v25 grid intersections integrated into the lines ===== */

/* The intersections are not separate objects anymore.
   Each line thickens locally at the crossing points. */
.menu-grid-v,
.menu-grid-h{
  overflow:visible;
}

/* Vertical lines: thicker short sections at the two crossings */
.menu-grid-v::before,
.menu-grid-v::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:3px;
  height:18px;
  background:rgba(255,255,255,.88);
  border-radius:2px;
}

.menu-grid-v1::before,
.menu-grid-v2::before{
  top:104px;
  margin-top:-9px;
}
.menu-grid-v1::after,
.menu-grid-v2::after{
  bottom:34px;
  margin-bottom:-9px;
}

/* Horizontal lines: thicker short sections at the two crossings */
.menu-grid-h::before,
.menu-grid-h::after{
  content:"";
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:3px;
  background:rgba(255,255,255,.88);
  border-radius:2px;
}

.menu-grid-h1::before,
.menu-grid-h2::before{
  left:24px;
  margin-left:-9px;
}
.menu-grid-h1::after,
.menu-grid-h2::after{
  left:var(--menu-right-col-start, calc(100% - 344px));
  margin-left:-9px;
}

/* Mobile: verticals really go to the extremes of the menu */
@media(max-width:900px){
  .menu-grid-v1,
  .menu-grid-v2{
    top:0 !important;
    bottom:0 !important;
  }

  .menu-grid-h1{
    top:92px !important;
  }
  .menu-grid-h2{
    bottom:32px !important;
  }

  /* Keep the thicker sections integrated in the mobile crossings */
  .menu-grid-v1::before,
  .menu-grid-v2::before{
    top:92px;
    margin-top:-9px;
  }
  .menu-grid-v1::after,
  .menu-grid-v2::after{
    bottom:32px;
    margin-bottom:-9px;
  }

  .menu-grid-h1::before,
  .menu-grid-h2::before{
    left:var(--pad);
    margin-left:-9px;
  }
  .menu-grid-h1::after,
  .menu-grid-h2::after{
    left:calc(100% - var(--pad));
    margin-left:-9px;
  }
}


/* ===== v26 requested tweaks ===== */

/* 1) No horizontal shift on hover for open-menu links */
.menu-link:hover{
  transform:none !important;
}
.menu-panel.menu-hovering .menu-link.is-hovered{
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}

/* 2) Mobile: explicit close option in the open menu button */
@media(max-width:900px){
  .menu-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  body.menu-open .menu-toggle{
    width:auto !important;
    min-width:44px !important;
    padding:0 12px 0 10px !important;
    gap:8px !important;
    border-radius:999px !important;
  }
  body.menu-open .menu-toggle::before{
    content:"Cerrar";
    display:block;
    font-size:10px;
    line-height:1;
    letter-spacing:.10em;
    text-transform:uppercase;
    color:currentColor;
    white-space:nowrap;
  }
}

/* 3) Open and closed logo must keep the exact same position */
@media(min-width:901px){
  /* keep the desktop menu logo exactly where the header logo lives */
  .menu-brand-desktop{
    position:fixed !important;
    left:34px !important;
    top:22px !important;
    margin:0 !important;
    z-index:106 !important;
  }

  /* avoid double-reading: hide header logo while menu is open */
  body.menu-open #brandLogo{
    opacity:0 !important;
    pointer-events:none !important;
  }
}



/* ===== v27 selective intersections =====
   No marcar siempre todas las intersecciones.
   Solo se dejan visibles donde no interfieren con la lectura.
*/
@media(min-width:901px){
  /* En desktop del menú abierto dejamos marcadas solo las superiores. */
  .menu-grid-v1::after,
  .menu-grid-v2::after,
  .menu-grid-h2::before,
  .menu-grid-h2::after{
    display:none !important;
  }
}

@media(max-width:900px){
  /* En mobile también evitamos las inferiores para no pisar textos. */
  .menu-grid-v1::after,
  .menu-grid-v2::after,
  .menu-grid-h2::before,
  .menu-grid-h2::after{
    display:none !important;
  }
}


/* ===== v28 inicio refinado ===== */

/* cursor */
.cursor.cursor-x{
  width:28px !important;
  height:28px !important;
  font-size:34px !important;
}

/* hero copy */
.kicker{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 18px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#000000;
  font-size:12px;
  letter-spacing:.08em;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.hero-title{
  font-size:clamp(66px,8.35vw,140px) !important;
  max-width:860px;
}
.hero-sub{
  max-width:490px !important;
  font-size:18px !important;
  line-height:1.32 !important;
}

/* remove old hero decoration */
.orbit,
.float-card{
  display:none !important;
}

/* x-field hero */
.hero-visual.hero-xfield{
  position:relative;
  min-height:640px;
  border-radius:32px;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 18%, rgba(255,255,255,.95) 0, rgba(255,255,255,.84) 18%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,247,247,.98));
  border:1px solid rgba(0,0,0,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    0 24px 80px rgba(0,0,0,.08);
}
.hero-visual.hero-xfield::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.03) 1px, transparent 1px) 0 0 / 25% 100%,
    linear-gradient(rgba(0,0,0,.03) 1px, transparent 1px) 0 0 / 100% 25%;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.05));
  pointer-events:none;
}
.xfield-plane{
  position:absolute;
  inset:-6%;
  pointer-events:none;
}
.xmark{
  position:absolute;
  left:0;
  top:0;
  color:#000000;
  font-family:"Google Sans Variable","Google Sans",Arial,sans-serif;
  font-variation-settings:"wght" 690,"opsz" 16,"GRAD" 0;
  line-height:1;
  opacity:var(--op,.09);
  transform:translate3d(var(--x,0),var(--y,0),0) rotate(var(--r,0deg));
  will-change:transform, opacity;
  animation:xBreath var(--dur,9s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
.xfield-back .xmark{opacity:var(--op,.06)}
.xfield-mid .xmark{opacity:var(--op,.10)}
.xfield-front .xmark{opacity:var(--op,.14)}
.xfield-glow{
  position:absolute;
  width:260px;
  height:260px;
  border-radius:50%;
  filter:blur(54px);
  opacity:.18;
  pointer-events:none;
  mix-blend-mode:multiply;
}
.xfield-glow-a{
  right:10%;
  top:14%;
  background:rgba(0,0,0,.08);
  animation:glowDriftA 12s ease-in-out infinite;
}
.xfield-glow-b{
  left:12%;
  bottom:16%;
  background:rgba(0,0,0,.05);
  animation:glowDriftB 14s ease-in-out infinite;
}
@keyframes xBreath{
  0%,100%{transform:translate3d(var(--x,0),var(--y,0),0) rotate(var(--r,0deg)) scale(1)}
  50%{transform:translate3d(calc(var(--x,0) + var(--dx,0px)), calc(var(--y,0) + var(--dy,0px)),0) rotate(calc(var(--r,0deg) + var(--dr,0deg))) scale(1.03)}
}
@keyframes glowDriftA{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(20px,-18px,0)}
}
@keyframes glowDriftB{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-18px,14px,0)}
}

/* mobile hero */
@media(max-width:1100px){
  .hero-grid{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }
  .hero-visual.hero-xfield{
    min-height:460px;
  }
}
@media(max-width:700px){
  .kicker{
    min-height:38px;
    padding:0 15px;
    font-size:11px;
  }
  .hero-title{
    font-size:clamp(48px,13vw,72px) !important;
  }
  .hero-sub{
    font-size:17px !important;
    max-width:100% !important;
  }
  .hero-visual.hero-xfield{
    min-height:360px;
    border-radius:22px;
  }
}


/* ===== v29 correcciones de inicio ===== */

/* cursor: mantener tamaño base y agrandar solo la X */
.cursor.cursor-x{
  width:22px !important;
  height:22px !important;
  font-size:34px !important;
  line-height:.7 !important;
}

/* hero H1 más chivo */
.hero-title{
  max-width:920px !important;
  font-size:clamp(72px,9.35vw,156px) !important;
  line-height:.74 !important;
  letter-spacing:-.085em !important;
  font-weight:700 !important;
}

/* quitar el cuadro delimitador y hacer que la trama viva sola */
.hero-visual.hero-xfield{
  min-height:640px;
  border-radius:0 !important;
  overflow:visible !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.hero-visual.hero-xfield::before{
  display:none !important;
}

/* trama de X más visible y con animación real */
.xfield-plane{
  inset:0 !important;
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.xmark{
  color:#000000 !important;
  opacity:var(--op,.12) !important;
  animation:
    xBreath var(--dur,9s) ease-in-out infinite,
    xFlicker var(--dur2,13s) steps(6,end) infinite !important;
  animation-delay:var(--delay,0s), var(--delay2,0s) !important;
}
.xfield-back .xmark{opacity:var(--op,.08) !important}
.xfield-mid .xmark{opacity:var(--op,.13) !important}
.xfield-front .xmark{opacity:var(--op,.18) !important}

.xfield-glow{
  width:320px !important;
  height:320px !important;
  filter:blur(72px) !important;
  opacity:.12 !important;
}
.xfield-glow-a{right:6% !important; top:8% !important;}
.xfield-glow-b{left:10% !important; bottom:10% !important;}

@keyframes xFlicker{
  0%,100%{opacity:var(--op,.12)}
  46%{opacity:calc(var(--op,.12) * 1)}
  48%{opacity:calc(var(--op,.12) * .55)}
  50%{opacity:calc(var(--op,.12) * 1.45)}
  52%{opacity:calc(var(--op,.12) * .85)}
  54%{opacity:calc(var(--op,.12) * 1.15)}
  56%{opacity:calc(var(--op,.12) * 1)}
}

/* que el hero respire mejor sin caja */
.hero-grid{
  align-items:center !important;
}
.hero-copy{
  z-index:3;
}
.hero-visual.hero-xfield .xfield-back{
  transform:translate3d(0,0,0);
}
.hero-visual.hero-xfield .xfield-mid{
  transform:translate3d(0,0,0);
}
.hero-visual.hero-xfield .xfield-front{
  transform:translate3d(0,0,0);
}

@media(max-width:1100px){
  .hero-visual.hero-xfield{
    min-height:460px !important;
  }
}
@media(max-width:700px){
  .hero-title{
    font-size:clamp(54px,14vw,84px) !important;
    line-height:.78 !important;
  }
  .hero-visual.hero-xfield{
    min-height:360px !important;
  }
}


/* ===== v30 fix distribución X + H1 ===== */

/* H1: más chico que v29 */
.hero-title{
  max-width:860px !important;
  font-size:clamp(64px,7.9vw,132px) !important;
  line-height:.78 !important;
  letter-spacing:-.078em !important;
  font-weight:680 !important;
}

/* X field: distribución real por coordenadas left/top */
.xmark{
  left:var(--left,50%) !important;
  top:var(--top,50%) !important;
  transform:translate(-50%,-50%) rotate(var(--r,0deg)) !important;
  transform-origin:center !important;
}

@keyframes xBreath{
  0%,100%{
    transform:translate(-50%,-50%) translate3d(0,0,0) rotate(var(--r,0deg)) scale(1);
  }
  50%{
    transform:translate(-50%,-50%) translate3d(var(--dx,0px),var(--dy,0px),0) rotate(calc(var(--r,0deg) + var(--dr,0deg))) scale(1.08);
  }
}

/* un poco más de presencia general */
.xfield-back .xmark{opacity:var(--op,.10) !important}
.xfield-mid .xmark{opacity:var(--op,.16) !important}
.xfield-front .xmark{opacity:var(--op,.24) !important}

@media(max-width:1100px){
  .hero-title{
    font-size:clamp(58px,8.2vw,112px) !important;
  }
}
@media(max-width:700px){
  .hero-title{
    font-size:clamp(48px,12.4vw,68px) !important;
    line-height:.80 !important;
  }
}


/* ===== v31 H1 desktop 40% smaller ===== */
@media(min-width:901px){
  .hero-title{
    font-size:clamp(42px, 5.6vw, 94px) !important;
    line-height:.78 !important;
    max-width:700px !important;
  }
}


/* ===== v32 hero full-xfield + black pill ===== */
.kicker{
  display:inline-flex !important;
  align-items:center !important;
  min-height:42px !important;
  padding:0 18px !important;
  border:1px solid #000 !important;
  border-radius:999px !important;
  background:#000 !important;
  color:#fff !important;
  font-size:12px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  margin-bottom:26px !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.hero{
  position:relative !important;
  overflow:hidden !important;
}
.hero-grid{
  position:relative !important;
  display:block !important;
  min-height:clamp(640px, 82vh, 900px) !important;
}
.hero-copy{
  position:relative !important;
  z-index:3 !important;
  width:min(56vw, 760px) !important;
  padding-top:18px !important;
}
.hero-visual.hero-xfield{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  min-height:0 !important;
  width:100% !important;
  height:100% !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:hidden !important;
}
.scroll-dot{
  z-index:4 !important;
}

/* dense tiny X field over the full hero */
.xfield-plane{
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
}
.xmark{
  position:absolute !important;
  left:var(--left,50%) !important;
  top:var(--top,50%) !important;
  transform:
    translate(-50%,-50%)
    translate3d(var(--pushx,0px), var(--pushy,0px), 0)
    rotate(var(--r,0deg)) !important;
  transform-origin:center !important;
  font-family:"Google Sans Variable","Google Sans",Arial,sans-serif !important;
  font-variation-settings:"wght" 690,"opsz" 14,"GRAD" 0 !important;
  line-height:1 !important;
  color:#000000 !important;
  will-change:transform, opacity !important;
  animation:
    xBreath var(--dur,10s) ease-in-out infinite,
    xFlicker var(--dur2,14s) steps(5,end) infinite !important;
  animation-delay:var(--delay,0s), var(--delay2,0s) !important;
}
.xfield-back .xmark{ opacity:var(--op,.05) !important; }
.xfield-mid .xmark{ opacity:var(--op,.08) !important; }
.xfield-front .xmark{ opacity:var(--op,.12) !important; }

.xfield-glow{ display:none !important; }

@keyframes xBreath{
  0%{
    transform:
      translate(-50%,-50%)
      translate3d(var(--pushx,0px), var(--pushy,0px), 0)
      rotate(var(--r,0deg))
      scale(.96);
  }
  25%{
    transform:
      translate(-50%,-50%)
      translate3d(calc(var(--pushx,0px) + var(--dx1,0px)), calc(var(--pushy,0px) + var(--dy1,0px)), 0)
      rotate(calc(var(--r,0deg) + var(--dr1,0deg)))
      scale(1.02);
  }
  50%{
    transform:
      translate(-50%,-50%)
      translate3d(calc(var(--pushx,0px) + var(--dx2,0px)), calc(var(--pushy,0px) + var(--dy2,0px)), 0)
      rotate(calc(var(--r,0deg) + var(--dr2,0deg)))
      scale(1.05);
  }
  75%{
    transform:
      translate(-50%,-50%)
      translate3d(calc(var(--pushx,0px) + var(--dx3,0px)), calc(var(--pushy,0px) + var(--dy3,0px)), 0)
      rotate(calc(var(--r,0deg) + var(--dr3,0deg)))
      scale(.99);
  }
  100%{
    transform:
      translate(-50%,-50%)
      translate3d(var(--pushx,0px), var(--pushy,0px), 0)
      rotate(var(--r,0deg))
      scale(.97);
  }
}
@keyframes xFlicker{
  0%,100%{ opacity:var(--op,.08); }
  48%{ opacity:calc(var(--op,.08) * .9); }
  50%{ opacity:calc(var(--op,.08) * 1.35); }
  52%{ opacity:calc(var(--op,.08) * 1.02); }
}

@media(max-width:1100px){
  .hero-grid{
    min-height:clamp(560px, 76vh, 760px) !important;
  }
  .hero-copy{
    width:min(88vw, 680px) !important;
  }
}
@media(max-width:700px){
  .kicker{
    min-height:38px !important;
    padding:0 15px !important;
    font-size:11px !important;
  }
  .hero-grid{
    min-height:560px !important;
  }
  .hero-copy{
    width:100% !important;
    padding-top:0 !important;
  }
}


/* ===== v33 hero proportions + cursor ===== */

/* Desktop: restore previous H1 size, but let the H1 occupy 64% of viewport width */
@media(min-width:901px){
  .hero-copy{
    width:64vw !important;
    max-width:64vw !important;
  }

  .hero-title{
    width:64vw !important;
    max-width:64vw !important;
    font-size:clamp(42px, 5.6vw, 94px) !important;
    line-height:.78 !important;
    letter-spacing:-.078em !important;
    font-weight:680 !important;
  }

  /* Hero less tall */
  .hero-grid{
    min-height:clamp(520px, 68vh, 700px) !important;
  }

  .hero{
    min-height:auto !important;
  }
}

/* Make contextual cursor circles larger */
@media(hover:hover) and (pointer:fine){
  .cursor.cursor-action{
    width:104px !important;
    height:104px !important;
    font-size:10px !important;
  }

  .cursor.cursor-close{
    width:112px !important;
    height:112px !important;
    font-size:10px !important;
  }
}

/* Keep tablet/mobile hero from getting unnecessarily tall */
@media(max-width:900px){
  .hero-grid{
    min-height:clamp(500px, 66vh, 640px) !important;
  }
}


/* ===== v34 H1 desktop +20% ===== */
@media(min-width:901px){
  .hero-title{
    font-size:clamp(50px, 6.72vw, 113px) !important;
  }
}


/* ===== v35 H1 bold + hero sub +25% ===== */
.hero-title{
  font-weight:700 !important;
}

.hero-sub{
  font-size:22.5px !important;
  line-height:1.28 !important;
}

@media(max-width:700px){
  .hero-sub{
    font-size:21px !important;
  }
}


/* ===== v36 desktop H1 exact line breaks ===== */
.hero-line{
  display:block;
}

@media(min-width:901px){
  .hero-title{
    width:64vw !important;
    max-width:64vw !important;
  }
  .hero-line{
    white-space:nowrap;
  }
}

@media(max-width:900px){
  .hero-line{
    white-space:normal;
  }
}


/* ===== v37 hero copy centrado horizontalmente + nuevo H1 ===== */
.hero-copy{
  margin-inline:auto !important;
  text-align:center !important;
}

.kicker{
  margin-left:auto !important;
  margin-right:auto !important;
  justify-content:center !important;
}

.hero-title{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.hero-sub{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
  max-width:760px !important;
}

@media(min-width:901px){
  .hero-copy{
    width:64vw !important;
    max-width:64vw !important;
  }
  .hero-title{
    width:64vw !important;
    max-width:64vw !important;
  }
}

@media(max-width:900px){
  .hero-copy,
  .hero-title,
  .hero-sub{
    width:100% !important;
    max-width:100% !important;
  }
}


/* ===== v38 center only horizontally ===== */
@media(min-width:901px){
  .hero-grid{
    position:relative !important;
  }

  .hero-copy{
    position:absolute !important;
    top:18px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:64vw !important;
    max-width:64vw !important;
    margin:0 !important;
    padding-top:0 !important;
    z-index:3 !important;
  }
}

@media(max-width:900px){
  .hero-copy{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
  }
}


/* ===== v39 bloque centrado horizontalmente, textos alineados a la izquierda ===== */
.hero-copy{
  text-align:left !important;
}

.kicker{
  margin-left:0 !important;
  margin-right:0 !important;
  justify-content:flex-start !important;
}

.hero-title{
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
}

.hero-sub{
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
  max-width:760px !important;
}

@media(min-width:901px){
  .hero-copy{
    position:absolute !important;
    top:18px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:64vw !important;
    max-width:64vw !important;
    margin:0 !important;
    padding-top:0 !important;
    z-index:3 !important;
  }

  .hero-title{
    width:64vw !important;
    max-width:64vw !important;
  }
}

@media(max-width:900px){
  .hero-copy,
  .hero-title,
  .hero-sub{
    width:100% !important;
    max-width:100% !important;
  }

  .hero-copy{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
  }
}


/* ===== v40 hero full viewport + scroll pill bottom-right ===== */

/* Hero full viewport height */
.hero{
  min-height:100vh !important;
}

.hero-grid{
  min-height:100vh !important;
}

@media(min-width:901px){
  .hero-grid{
    min-height:100vh !important;
  }
}

@media(max-width:900px){
  .hero-grid{
    min-height:100vh !important;
  }
}

/* Scroll control as a pill, bottom-right of the hero */
.scroll-dot{
  position:absolute !important;
  right:24px !important;
  bottom:24px !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:56px !important;
  height:42px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  background:#000 !important;
  color:#fff !important;
  border:1px solid #000 !important;
  box-shadow:none !important;
  font-size:20px !important;
  line-height:1 !important;
  text-decoration:none !important;
  z-index:5 !important;
  transition:
    transform .22s ease,
    background .22s ease,
    color .22s ease,
    border-color .22s ease !important;
}

.scroll-dot:hover{
  transform:translateY(2px) !important;
}

@media(max-width:700px){
  .scroll-dot{
    right:16px !important;
    bottom:16px !important;
    min-width:52px !important;
    height:40px !important;
    padding:0 14px !important;
  }
}


/* ===== v41 scroll pill + header/menu backplate cleanup ===== */

/* Flecha abajo: más alta y más angosta */
.scroll-dot{
  min-width:44px !important;
  width:44px !important;
  height:112px !important;
  padding:0 !important;
  border-radius:999px !important;
  font-size:20px !important;
}

@media(max-width:700px){
  .scroll-dot{
    min-width:40px !important;
    width:40px !important;
    height:104px !important;
    padding:0 !important;
  }
}

/* Sacar el filete gris del fondo del header/logo */
.header::before{
  box-shadow:none !important;
  border:none !important;
}

/* Si el header está sobre fondo oscuro o con menú abierto, mantenerlo limpio también */
body.menu-open .header::before,
body.menu-open.menu-ready .header::before{
  box-shadow:none !important;
  border:none !important;
}

/* Fondo del menú/header sin filete visible */
.menu-toggle{
  box-shadow:none !important;
  border:none !important;
}


/* ===== v43 bloque centrado horizontalmente, contenido alineado a la izquierda ===== */

/* Hero como marco de referencia */
.hero,
.hero-grid{
  position:relative !important;
}

/* Centrar el bloque completo en el ancho de la página */
.hero-copy{
  position:absolute !important;
  top:18px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(64vw, 980px) !important;
  max-width:min(64vw, 980px) !important;
  margin:0 !important;
  padding-top:0 !important;
  z-index:3 !important;
  text-align:left !important;
}

/* Mantener alineación izquierda dentro del bloque */
.kicker{
  margin-left:0 !important;
  margin-right:0 !important;
  justify-content:flex-start !important;
  text-align:left !important;
}

.hero-title{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
}

.hero-sub{
  width:100% !important;
  max-width:860px !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
}

/* En mobile volvemos al flujo normal */
@media(max-width:900px){
  .hero-copy{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
  }

  .hero-title,
  .hero-sub{
    width:100% !important;
    max-width:100% !important;
  }
}


/* ===== v44 bloque centrado en ancho + centrado en altura ===== */
@media(min-width:901px){
  .hero-grid{
    position:relative !important;
    min-height:100vh !important;
  }

  .hero-copy{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%, -50%) !important;
    width:min(64vw, 980px) !important;
    max-width:min(64vw, 980px) !important;
    margin:0 !important;
    text-align:left !important;
    z-index:3 !important;
  }

  .kicker,
  .hero-title,
  .hero-sub{
    text-align:left !important;
  }
}

@media(max-width:900px){
  .hero-copy{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
  }
}


/* ===== v45 hero 90vh + scroll pill visible ===== */
@media(min-width:901px){
  .hero{
    height:90svh !important;
    min-height:90svh !important;
    padding-top:0 !important;
    overflow:hidden !important;
  }

  .hero-grid{
    height:100% !important;
    min-height:100% !important;
    position:relative !important;
  }

  .hero-copy{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%, -50%) !important;
    width:min(64vw, 980px) !important;
    max-width:min(64vw, 980px) !important;
  }

  .scroll-dot{
    position:absolute !important;
    right:28px !important;
    bottom:28px !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    z-index:10 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
}

@media(max-width:900px){
  .hero{
    min-height:90svh !important;
    height:90svh !important;
    padding-top:0 !important;
    overflow:hidden !important;
  }

  .hero-grid{
    min-height:100% !important;
    height:100% !important;
    position:relative !important;
  }

  .scroll-dot{
    position:absolute !important;
    right:16px !important;
    bottom:16px !important;
    left:auto !important;
    top:auto !important;
    z-index:10 !important;
  }
}


/* ===== v46 H1 extra bold ===== */
.hero-title{
  font-weight:800 !important;
}


/* ===== v49 H1 variable font real extra bold ===== */
.hero-title,
.hero-title .hero-line{
  font-weight:800 !important;
  font-variation-settings:"wght" 800,"opsz" 17,"GRAD" 0 !important;
}


/* ===== v50 hero alineado a la izquierda + sin mini X ===== */
.hero-visual,
.hero-xfield,
.xfield-plane,
.xmark,
.xfield-glow{
  display:none !important;
}

@media(min-width:901px){
  .hero-grid{
    position:relative !important;
    height:100% !important;
    min-height:100% !important;
  }

  .hero-copy{
    position:absolute !important;
    left:var(--pad) !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:64vw !important;
    max-width:64vw !important;
    margin:0 !important;
    text-align:left !important;
    z-index:3 !important;
  }

  .kicker,
  .hero-title,
  .hero-sub{
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
  }

  .hero-title{
    width:100% !important;
    max-width:100% !important;
  }

  .hero-sub{
    width:100% !important;
    max-width:760px !important;
  }
}

@media(max-width:900px){
  .hero-copy{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    text-align:left !important;
  }

  .kicker,
  .hero-title,
  .hero-sub{
    text-align:left !important;
  }
}


/* ===== v51 bloque del hero más abajo para despegarlo del header ===== */
@media(min-width:901px){
  .hero-copy{
    top:56% !important;
    transform:translateY(-50%) !important;
  }
}

@media(max-width:900px){
  .hero-copy{
    margin-top:76px !important;
  }
}

@media(max-width:700px){
  .hero-copy{
    margin-top:84px !important;
  }
}


/* ===== v52 cursor canónico ===== */
@media(hover:hover) and (pointer:fine){
  .cursor{
    z-index:9999 !important;
    display:grid !important;
    place-items:center !important;
    text-align:center !important;
    pointer-events:none !important;
  }

  /* Estado normal: sólo X */
  .cursor.cursor-x{
    width:22px !important;
    height:22px !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#000000 !important;
    border:0 !important;
    box-shadow:none !important;
    font-size:34px !important;
    line-height:.7 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
  }

  .cursor.cursor-x.cursor-on-dark{
    color:#fff !important;
  }

  /* Links / CTAs: círculo grande y claramente visible */
  .cursor.cursor-action{
    width:112px !important;
    height:112px !important;
    border-radius:50% !important;
    background:#000 !important;
    color:#fff !important;
    border:1px solid #000 !important;
    box-shadow:0 14px 38px rgba(0,0,0,.16) !important;
    font-size:10px !important;
    line-height:1.12 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    padding:12px !important;
  }

  /* Sobre secciones negras, invertir */
  .cursor.cursor-action.cursor-on-dark,
  body.menu-open .cursor.cursor-action{
    background:#fff !important;
    color:#000 !important;
    border-color:#fff !important;
  }

  /* Espacio libre del menú abierto */
  body.menu-open .cursor.cursor-close{
    width:118px !important;
    height:118px !important;
    border-radius:50% !important;
    background:#000 !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.92) !important;
    box-shadow:none !important;
    font-size:10px !important;
    line-height:1.15 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;
    padding:14px !important;
  }
}


/* ===== v54 signature motion system ===== */

@media (prefers-reduced-motion:no-preference){

  /* HERO — masked editorial entrance */
  .hero .kicker{
    opacity:0;
    clip-path:inset(0 100% 0 0 round 999px);
    transform:translateY(12px);
  }

  .hero .hero-line{
    opacity:0;
    clip-path:inset(0 0 100% 0);
    transform:translateY(34px);
  }

  .hero .hero-sub{
    opacity:0;
    transform:translateY(22px);
  }

  body.mq54-ready .hero .kicker{
    animation:mq54PillIn .72s cubic-bezier(.16,.84,.18,1) .05s forwards;
  }

  body.mq54-ready .hero .hero-line-1{
    animation:mq54LineIn .88s cubic-bezier(.16,.84,.18,1) .15s forwards;
  }
  body.mq54-ready .hero .hero-line-2{
    animation:mq54LineIn .92s cubic-bezier(.16,.84,.18,1) .23s forwards;
  }
  body.mq54-ready .hero .hero-line-3{
    animation:mq54LineIn .96s cubic-bezier(.16,.84,.18,1) .31s forwards;
  }

  body.mq54-ready .hero .hero-sub{
    animation:mq54SubIn .72s cubic-bezier(.16,.84,.18,1) .46s forwards;
  }

  @keyframes mq54PillIn{
    to{
      opacity:1;
      clip-path:inset(0 0 0 0 round 999px);
      transform:translateY(0);
    }
  }

  @keyframes mq54LineIn{
    0%{
      opacity:0;
      clip-path:inset(0 0 100% 0);
      transform:translateY(34px);
    }
    100%{
      opacity:1;
      clip-path:inset(0 0 0 0);
      transform:translateY(0);
    }
  }

  @keyframes mq54SubIn{
    to{
      opacity:1;
      transform:translateY(0);
    }
  }

  /* SECTION LABELS — line first, label second */
  .mq54-label{
    position:relative;
    opacity:0;
    transform:translateX(-16px);
  }
  .mq54-label::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-10px;
    width:48px;
    height:1px;
    background:currentColor;
    transform:scaleX(0);
    transform-origin:left;
  }
  .mq54-label.mq54-in{
    animation:mq54LabelIn .62s cubic-bezier(.16,.84,.18,1) forwards;
  }
  .mq54-label.mq54-in::after{
    animation:mq54RuleIn .72s cubic-bezier(.16,.84,.18,1) .12s forwards;
  }

  @keyframes mq54LabelIn{
    to{opacity:1;transform:translateX(0)}
  }
  @keyframes mq54RuleIn{
    to{transform:scaleX(1)}
  }

  /* BIG COPY — clipped, without blur */
  .mq54-copy{
    opacity:0;
    clip-path:inset(0 0 100% 0);
    transform:translateY(34px);
  }
  .mq54-copy.mq54-in{
    animation:mq54CopyIn .85s cubic-bezier(.16,.84,.18,1) var(--mq54-delay,0ms) forwards;
  }
  @keyframes mq54CopyIn{
    to{
      opacity:1;
      clip-path:inset(0 0 0 0);
      transform:translateY(0);
    }
  }

  /* KINETIC SECTION TITLES */
  .mq54-kinetic span{
    display:block;
    opacity:0;
    will-change:transform, opacity;
  }
  .mq54-kinetic span:nth-child(odd){
    transform:translate3d(-12vw,0,0) skewX(-6deg);
  }
  .mq54-kinetic span:nth-child(even){
    transform:translate3d(9vw,0,0) skewX(5deg);
  }

  .mq54-kinetic.mq54-in span{
    opacity:1;
    transform:translate3d(0,0,0) skewX(0);
    transition:
      transform .95s cubic-bezier(.16,.84,.18,1),
      opacity .55s ease;
  }
  .mq54-kinetic.mq54-in span:nth-child(2){transition-delay:.07s}
  .mq54-kinetic.mq54-in span:nth-child(3){transition-delay:.14s}

  /* Single large titles */
  .mq54-title{
    opacity:0;
    clip-path:inset(0 0 100% 0);
    transform:translateY(42px) skewY(2deg);
  }
  .mq54-title.mq54-in{
    opacity:1;
    clip-path:inset(0 0 0 0);
    transform:translateY(0) skewY(0);
    transition:
      transform .95s cubic-bezier(.16,.84,.18,1),
      clip-path .95s cubic-bezier(.16,.84,.18,1),
      opacity .4s ease;
  }

  /* ROWS — sweep inversion + content inertia */
  .mq54-row{
    position:relative;
    isolation:isolate;
    overflow:hidden;
  }
  .mq54-row::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:#000;
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform .52s cubic-bezier(.16,.84,.18,1);
  }
  .mq54-row > *{
    transition:
      color .28s ease,
      transform .34s cubic-bezier(.16,.84,.18,1);
  }

  @media(hover:hover) and (pointer:fine){
    .mq54-row:hover::before{
      transform:scaleX(1);
    }
    .mq54-row:hover > *{
      color:#fff !important;
    }
    .mq54-row:hover > strong{
      transform:translateX(10px);
    }
    .mq54-row:hover > p{
      transform:translateX(5px);
    }
    .mq54-row:hover > span:last-child{
      transform:translate3d(7px,-7px,0) rotate(12deg);
    }
  }

  /* ROW ENTRANCE */
  .mq54-row{
    opacity:0;
    transform:translateY(22px);
  }
  .mq54-row.mq54-in{
    opacity:1;
    transform:translateY(0);
    transition:
      opacity .55s ease var(--mq54-delay,0ms),
      transform .72s cubic-bezier(.16,.84,.18,1) var(--mq54-delay,0ms);
  }

  /* ROLLING LINKS */
  .mq54-roll{
    overflow:hidden;
    position:relative;
  }
  .mq54-roll-stack{
    display:inline-grid;
    grid-template-areas:"stack";
  }
  .mq54-roll-a,
  .mq54-roll-b{
    grid-area:stack;
    transition:
      transform .38s cubic-bezier(.2,.8,.2,1),
      opacity .28s ease;
  }
  .mq54-roll-a{transform:translateY(0);opacity:1}
  .mq54-roll-b{transform:translateY(120%);opacity:0}

  @media(hover:hover) and (pointer:fine){
    .mq54-roll:hover .mq54-roll-a{
      transform:translateY(-120%);
      opacity:0;
    }
    .mq54-roll:hover .mq54-roll-b{
      transform:translateY(0);
      opacity:1;
    }
  }

  /* SCROLL PILL */
  .scroll-dot{
    transition:
      width .34s cubic-bezier(.16,.84,.18,1),
      background .25s ease,
      color .25s ease,
      transform .25s ease !important;
  }
  @media(hover:hover) and (pointer:fine){
    .scroll-dot:hover{
      width:58px !important;
      transform:translateY(3px) !important;
    }
  }

  /* FOOTER WORDMARK */
  .wo-footer-wordmark{
    opacity:0;
    clip-path:inset(100% 0 0 0);
    transform:translateY(.22em) scaleY(.94);
  }
  .wo-footer-wordmark.mq54-in{
    opacity:1;
    clip-path:inset(0 0 0 0);
    transform:translateY(.07em) scaleY(1);
    transition:
      clip-path 1.15s cubic-bezier(.16,.84,.18,1),
      transform 1.15s cubic-bezier(.16,.84,.18,1),
      opacity .35s ease;
  }

  /* scroll velocity tension */
  .mq54-velocity{
    will-change:transform;
    transform-origin:center;
  }
}

/* Reduced motion = final state */
@media(prefers-reduced-motion:reduce){
  .hero .kicker,
  .hero .hero-line,
  .hero .hero-sub,
  .mq54-label,
  .mq54-copy,
  .mq54-kinetic span,
  .mq54-title,
  .mq54-row,
  .wo-footer-wordmark{
    opacity:1 !important;
    clip-path:none !important;
    transform:none !important;
    animation:none !important;
    transition:none !important;
  }
}



/* ===== v55 canonical QA layer ===== */
:root{ --mq-header-z:105; }

/* HEADER / LOGO / MENU STACKING */
.header{
  z-index:var(--mq-header-z) !important;
}
.header::before{
  border:none !important;
  box-shadow:none !important;
}
body.menu-open .header::before{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body.menu-open .header .logo{ color:#fff !important; }
body.menu-open .header .menu-toggle{
  background:#fff !important;
  color:#000 !important;
  border:none !important;
  box-shadow:none !important;
}
.menu-brand-desktop,
.menu-mini-brand{
  display:none !important;
}

/* OPEN MENU */
.menu-layer{ z-index:101 !important; }
.menu-link:hover,
.menu-panel.menu-hovering .menu-link.is-hovered{
  transform:none !important;
}
.menu-panel.menu-hovering .menu-link:not(.is-hovered),
.menu-panel.menu-hovering .menu-side,
.menu-panel.menu-hovering .menu-number{
  opacity:.95 !important;
  filter:blur(7.2px) !important;
}
.menu-panel.menu-hovering .menu-grid-lines{
  opacity:1 !important;
  filter:none !important;
}
.menu-panel.menu-hovering .menu-link.is-hovered{
  opacity:1 !important;
  filter:none !important;
}

/* Intersections: only where they add hierarchy, never mandatory at every crossing */
.menu-grid-junction{ display:none !important; }
.menu-grid-v1::after,
.menu-grid-v2::after,
.menu-grid-h2::before,
.menu-grid-h2::after{
  display:none !important;
}

/* Mobile grid really reaches the edges */
@media(max-width:900px){
  .menu-grid-lines{ display:block !important; }
  .menu-grid-v1,
  .menu-grid-v2{
    top:0 !important;
    bottom:0 !important;
  }
  .menu-grid-h1,
  .menu-grid-h2{
    left:0 !important;
    right:0 !important;
  }
  body.menu-open .menu-toggle{
    width:auto !important;
    min-width:44px !important;
    padding:0 12px 0 10px !important;
    gap:8px !important;
    border-radius:999px !important;
  }
  body.menu-open .menu-toggle::before{
    content:'Cerrar';
    display:block;
    font-size:10px;
    line-height:1;
    letter-spacing:.10em;
    text-transform:uppercase;
    white-space:nowrap;
  }
}

/* HERO: canonical current state */
.hero{
  height:90svh !important;
  min-height:90svh !important;
  padding-top:0 !important;
  overflow:hidden !important;
}
.hero-grid{
  position:relative !important;
  height:100% !important;
  min-height:100% !important;
}
.hero-visual,
.hero-xfield,
.xfield-plane,
.xmark,
.xfield-glow{
  display:none !important;
}
.kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-height:42px !important;
  padding:0 18px !important;
  border:1px solid #000 !important;
  border-radius:999px !important;
  background:#000 !important;
  color:#fff !important;
  font-size:12px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.hero-title,
.hero-title .hero-line{
  font-weight:800 !important;
  font-variation-settings:'wght' 800,'opsz' 17,'GRAD' 0 !important;
}
@media(min-width:901px){
  .hero-copy{
    position:absolute !important;
    left:var(--pad) !important;
    top:56% !important;
    transform:translateY(-50%) !important;
    width:64vw !important;
    max-width:64vw !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    z-index:3 !important;
  }
  .hero-title{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
    font-size:clamp(50px,6.72vw,113px) !important;
    line-height:.78 !important;
    letter-spacing:-.078em !important;
  }
  .hero-sub{
    width:100% !important;
    max-width:760px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
    font-size:22.5px !important;
    line-height:1.28 !important;
  }
}
@media(max-width:900px){
  .hero-copy{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:34px !important;
    text-align:left !important;
  }
  .hero-title,
  .hero-sub{
    width:100% !important;
    max-width:100% !important;
    text-align:left !important;
  }
  .hero-sub{ font-size:21px !important; }
}

/* Scroll pill */
.scroll-dot{
  position:absolute !important;
  right:28px !important;
  bottom:28px !important;
  left:auto !important;
  top:auto !important;
  width:44px !important;
  min-width:44px !important;
  height:112px !important;
  padding:0 !important;
  border-radius:999px !important;
  background:#000 !important;
  color:#fff !important;
  border:none !important;
  box-shadow:none !important;
  z-index:10 !important;
}
@media(max-width:700px){
  .scroll-dot{
    right:16px !important;
    bottom:16px !important;
    width:40px !important;
    min-width:40px !important;
    height:104px !important;
  }
}

/* Cursor: a single visual contract */
@media(hover:hover) and (pointer:fine){
  html,body,body *{ cursor:none !important; }
  .cursor{
    position:fixed !important;
    left:0;
    top:0;
    z-index:9999 !important;
    display:grid !important;
    place-items:center !important;
    text-align:center !important;
    pointer-events:none !important;
    transform:translate(-50%,-50%);
    transition:
      width .24s cubic-bezier(.2,.8,.2,1),
      height .24s cubic-bezier(.2,.8,.2,1),
      border-radius .24s ease,
      background .22s ease,
      color .22s ease,
      border-color .22s ease,
      opacity .16s ease;
  }
  .cursor.cursor-x{
    width:22px !important;
    height:22px !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#000000 !important;
    border:0 !important;
    box-shadow:none !important;
    font-size:34px !important;
    line-height:.7 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    padding:0 !important;
  }
  .cursor.cursor-x.cursor-on-dark{ color:#fff !important; }
  .cursor.cursor-action{
    width:112px !important;
    height:112px !important;
    border-radius:50% !important;
    background:#000 !important;
    color:#fff !important;
    border:1px solid #000 !important;
    box-shadow:0 14px 38px rgba(0,0,0,.16) !important;
    font-size:10px !important;
    line-height:1.12 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    padding:12px !important;
  }
  .cursor.cursor-action.cursor-on-dark,
  body.menu-open .cursor.cursor-action{
    background:#fff !important;
    color:#000 !important;
    border-color:#fff !important;
  }
  body.menu-open .cursor.cursor-close{
    width:118px !important;
    height:118px !important;
    border-radius:50% !important;
    background:#000 !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.92) !important;
    box-shadow:none !important;
    font-size:10px !important;
    line-height:1.15 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;
    padding:14px !important;
  }
}
@media(max-width:900px){ .cursor{ display:none !important; } }

/* Motion conflict fixes */
.mq54-velocity{ will-change:transform; }
.mq54-row > strong,
.mq54-row > p,
.mq54-row > span:last-child{
  will-change:transform;
}
.anchor-target{ position:relative; top:-80px; }


/* v55.1 scope correction: only the hero kicker is the black pill */
.section:not(.hero) .kicker{
  display:block !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--muted) !important;
  font-size:11px !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}


/* ===== CIENEQUIS v56 · reversible motion + visibility safety ===== */

/* 1) HERO: never crop the three editorial lines on desktop */
@media(min-width:901px){
  .hero-copy{
    left:var(--pad) !important;
    width:calc(100vw - (var(--pad) * 2) - 28px) !important;
    max-width:none !important;
    overflow:visible !important;
  }
  .hero-title{
    width:100% !important;
    max-width:none !important;
    font-size:clamp(54px,6vw,96px) !important;
    line-height:.80 !important;
    letter-spacing:-.068em !important;
    overflow:visible !important;
  }
  .hero-line{
    display:block !important;
    white-space:nowrap !important;
    overflow:visible !important;
    clip-path:none !important;
  }
}

/* 2) SAFE REVERSIBLE MOTION: never leave a screen empty */
@media(prefers-reduced-motion:no-preference){
  .hero .kicker,
  .hero .hero-line,
  .hero .hero-sub{
    animation:none !important;
    clip-path:none !important;
    opacity:.42 !important;
    filter:none !important;
    transform:translate3d(0,var(--mq-enter-y,24px),0) !important;
    transition:
      opacity .58s ease,
      transform .86s cubic-bezier(.16,.84,.18,1) !important;
  }
  .hero.hero-in .kicker,
  .hero.hero-in .hero-line,
  .hero.hero-in .hero-sub{
    opacity:1 !important;
    transform:translate3d(0,0,0) !important;
  }
  .hero.hero-in .hero-line-1{transition-delay:.04s !important}
  .hero.hero-in .hero-line-2{transition-delay:.10s !important}
  .hero.hero-in .hero-line-3{transition-delay:.16s !important}
  .hero.hero-in .hero-sub{transition-delay:.22s !important}

    .mq54-label,
  .mq54-copy,
  .mq54-title,
  .mq54-row,
  .wo-footer-wordmark{
    animation:none !important;
    clip-path:none !important;
    opacity:.28 !important;
    filter:none !important;
    transition:
      opacity .50s ease,
      transform .78s cubic-bezier(.16,.84,.18,1) !important;
  }

  .motion-from-left{transform:translate3d(-24px,0,0) !important}
  .motion-from-right{transform:translate3d(24px,0,0) !important}
  .motion-from-bottom{transform:translate3d(0,24px,0) !important}
  .motion-from-top{transform:translate3d(0,-24px,0) !important}

  .mq54-label.mq54-in,
  .mq54-copy.mq54-in,
  .mq54-title.mq54-in,
  .mq54-row.mq54-in,
  .wo-footer-wordmark.mq54-in{
    opacity:1 !important;
    transform:translate3d(0,0,0) !important;
  }

  .mq54-kinetic span{
    opacity:.30 !important;
    transform:translate3d(var(--mq-title-enter-x,-4vw),var(--mq-title-enter-y,0),0) skewX(var(--mq-title-skew,-2deg)) !important;
    transition:
      opacity .52s ease,
      transform .88s cubic-bezier(.16,.84,.18,1) !important;
  }
  .mq54-kinetic.motion-from-left span{
    --mq-title-enter-x:-5vw;
    --mq-title-enter-y:0;
    --mq-title-skew:-2deg;
  }
  .mq54-kinetic.motion-from-right span{
    --mq-title-enter-x:5vw;
    --mq-title-enter-y:0;
    --mq-title-skew:2deg;
  }
  .mq54-kinetic.motion-from-bottom span{
    --mq-title-enter-x:0;
    --mq-title-enter-y:22px;
    --mq-title-skew:0deg;
  }
  .mq54-kinetic.motion-from-top span{
    --mq-title-enter-x:0;
    --mq-title-enter-y:-22px;
    --mq-title-skew:0deg;
  }

  .mq54-kinetic.mq54-in span{
    opacity:1 !important;
    transform:translate3d(0,0,0) skewX(0) !important;
  }
  .mq54-kinetic.mq54-in span:nth-child(2){transition-delay:.06s !important}
  .mq54-kinetic.mq54-in span:nth-child(3){transition-delay:.12s !important}
}

/* 3) Buttons/CTAs: always readable + real microinteraction */
.inline-link{
  position:relative !important;
  overflow:hidden !important;
  min-height:46px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid currentColor !important;
  font-size:13px !important;
  font-weight:700 !important;
  font-variation-settings:'wght' 700,'opsz' 14,'GRAD' 0 !important;
  transition:transform .28s cubic-bezier(.16,.84,.18,1), box-shadow .28s ease !important;
}
.tone-light .inline-link{background:#000 !important;color:#fff !important;border-color:#000 !important}
.tone-dark .inline-link{background:#fff !important;color:#000 !important;border-color:#fff !important}
.inline-link .mq54-roll-stack{position:relative;z-index:2}
@media(hover:hover) and (pointer:fine){
  .inline-link:hover{transform:translateY(-2px) scale(1.025) !important}
  .inline-link:active{transform:translateY(0) scale(.985) !important}
}

/* rolling links must never become invisible */
.mq54-roll-a,.mq54-roll-b{color:inherit !important}

/* Footer contrast */
.wo-footer,
.wo-footer.tone-dark{
  background:#000 !important;
  color:#fff !important;
}
.wo-footer::after{background:#000 !important}
.wo-footer-top,
.wo-footer-left,
.wo-footer-center,
.wo-footer-right,
.wo-footer a{color:#fff !important}
.wo-footer-wordmark{color:#fff !important}
.wo-footer-links a,
.wo-footer-social a,
.wo-footer-right a{
  transition:opacity .22s ease, letter-spacing .28s ease !important;
}
@media(hover:hover) and (pointer:fine){
  .wo-footer-links a:hover,
  .wo-footer-social a:hover,
  .wo-footer-right a:hover{opacity:.68;letter-spacing:.015em}
}

/* 4) PROYECTOS / CRITERIO — rebuilt composition */
.experience{padding-top:86px !important;padding-bottom:72px !important}
.experience-grid-v56{
  min-height:62svh;
  display:grid !important;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.55fr) !important;
  gap:clamp(54px,7vw,120px) !important;
  align-items:end !important;
}
.experience-title-wrap{align-self:end;min-width:0}
.experience-label{margin-bottom:34px;color:#ffffff !important}
.exp-word-v56{
  margin:0 !important;
  font-size:clamp(72px,10.1vw,154px) !important;
  line-height:.72 !important;
  letter-spacing:-.078em !important;
  font-weight:680 !important;
  font-variation-settings:'wght' 680,'opsz' 18,'GRAD' 0 !important;
}
.exp-word-v56 span{display:block !important}
.exp-word-v56 .exp-outline{
  color:transparent !important;
  -webkit-text-stroke:1.4px rgba(255,255,255,.72);
  text-stroke:1.4px rgba(255,255,255,.72);
}
.exp-side-v56{
  max-width:470px !important;
  justify-self:end !important;
  align-self:end !important;
  padding:28px 0 8px 34px !important;
  border-left:1px solid rgba(255,255,255,.22);
}
.exp-index{
  margin-bottom:70px;
  font-size:11px;
  letter-spacing:.12em;
  color:#ffffff;
}
.exp-side-v56 h3{
  margin:0 0 24px !important;
  max-width:420px;
  font-size:clamp(32px,3.2vw,50px) !important;
  line-height:.94 !important;
}
.exp-side-v56 p{
  margin:0;
  max-width:440px;
  font-size:16px;
  line-height:1.45;
  color:#ffffff;
}
.logo-strip-v56{
  margin-top:62px !important;
  border-color:#ffffff !important;
}
.logo-strip-v56 .logo-cell{
  min-height:96px !important;
  border-color:#ffffff !important;
  color:#ffffff !important;
  transition:background .30s ease,color .30s ease,letter-spacing .30s ease !important;
}
@media(hover:hover) and (pointer:fine){
  .logo-strip-v56 .logo-cell:hover{
    background:#fff;
    color:#000 !important;
    letter-spacing:.055em;
  }
}

/* 5) Black boutique section: visible hierarchy and borders */
.yellow-grid{align-items:end !important}
.yellow-title{color:#fff !important}
.yellow-copy{color:#ffffff !important}
.yellow .stats{border-top-color:#ffffff !important}
.yellow .stat{border-right-color:#ffffff !important}
.yellow .stat strong,.yellow .stat span{color:#fff !important}

/* 6) Keep content sections readable while between animation thresholds */
.services-intro,.exp-side,.yellow-copy{opacity:1 !important}

@media(max-width:900px){
  .hero-line{white-space:normal !important}
  .experience-grid-v56{grid-template-columns:1fr !important;min-height:auto;gap:48px !important}
  .exp-side-v56{justify-self:start !important;border-left:0;padding:0 !important;max-width:620px !important}
  .exp-index{margin-bottom:24px}
  .logo-strip-v56{grid-template-columns:repeat(2,1fr) !important}
}


/* ===== v57 content refinements ===== */

/* Cómo pensamos: segundo párrafo al tamaño del hero sub y con ancho menor */
.philosophy-copy{
  margin:34px 0 48px !important;
  max-width:520px !important;
  font-size:22.5px !important;
  line-height:1.28 !important;
  letter-spacing:-.02em !important;
  font-weight:500 !important;
  color:inherit !important;
}

.inline-brand{
  display:inline-block;
  font-family:"Alfa Slab One",serif !important;
  font-size:1em !important;
  line-height:1 !important;
  letter-spacing:-.035em !important;
  font-weight:400 !important;
  vertical-align:-.03em;
}

@media(max-width:700px){
  .philosophy-copy{
    max-width:420px !important;
    font-size:21px !important;
  }
}

/* Método: dos líneas reales y mejor proporción para "Transformación" */
.services-head{
  grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr) !important;
  gap:48px !important;
}
.services-word{
  max-width:none !important;
  font-size:clamp(72px,9.4vw,154px) !important;
  line-height:.78 !important;
  letter-spacing:-.078em !important;
}
.services-word span{
  display:block !important;
  white-space:nowrap;
}
.services-intro{
  align-self:start;
  padding-top:18px !important;
}

@media(max-width:900px){
  .services-head{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
  .services-word{
    font-size:clamp(58px,13vw,92px) !important;
  }
  .services-word span{
    white-space:normal;
  }
}

/* Footer: evitar que el wordmark quede cortado */
.wo-footer{
  overflow:visible !important;
}
.wo-footer-wordmark-wrap{
  overflow:visible !important;
  padding:0 0 26px !important;
}
.wo-footer-wordmark{
  line-height:.82 !important;
  transform:none !important;
  padding-bottom:.04em !important;
}


/* ===== v58 footer wordmark fit ===== */
.wo-footer{
  overflow:hidden !important;
}

.wo-footer-wordmark-wrap{
  width:100% !important;
  overflow:visible !important;
  padding:0 46px 28px !important;
  box-sizing:border-box !important;
}

.wo-footer-wordmark{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  font-family:"Alfa Slab One",serif !important;
  font-size:clamp(104px,15.4vw,248px) !important;
  line-height:.78 !important;
  letter-spacing:-.072em !important;
  white-space:nowrap !important;
  transform:none !important;
  transform-origin:left bottom !important;
  padding:0 !important;
  margin:0 !important;
}

@media(max-width:900px){
  .wo-footer-wordmark-wrap{
    padding:0 24px 22px !important;
  }

  .wo-footer-wordmark{
    font-size:clamp(72px,18vw,150px) !important;
  }
}

@media(max-width:560px){
  .wo-footer-wordmark-wrap{
    padding:0 16px 18px !important;
  }

  .wo-footer-wordmark{
    font-size:clamp(54px,17.5vw,96px) !important;
    letter-spacing:-.065em !important;
  }
}


/* ===== v60 production refinements ===== */

/* Situaciones: remove unnecessary viewport-height whitespace */
.section.industries{
  min-height:auto !important;
  padding-bottom:74px !important;
}

/* Keep Who compact as well, but with enough breathing room */
.section.who{
  min-height:auto !important;
  padding-top:110px !important;
  padding-bottom:110px !important;
}

/* Footer wordmark: true full bleed */
.wo-footer{
  overflow:hidden !important;
}
.wo-footer-wordmark-wrap{
  position:relative !important;
  left:calc(-1 * var(--pad)) !important;
  width:100vw !important;
  margin-top:auto !important;
  padding:0 !important;
  overflow:hidden !important;
}
.wo-footer-wordmark{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  line-height:.78 !important;
  overflow:visible !important;
}
.wo-footer-wordmark-inner{
  display:inline-block !important;
  width:max-content !important;
  white-space:nowrap !important;
  font-family:"Alfa Slab One",serif !important;
  font-size:20vw !important;
  line-height:.78 !important;
  letter-spacing:-.072em !important;
  transform-origin:left bottom !important;
  will-change:transform;
}

/* Stronger reversible motion for Who / Situations / Footer */
@media(prefers-reduced-motion:no-preference){
  .who .big-copy,
  .who .inline-link,
  .industries .section-label,
  .industry-row,
  .wo-footer-top,
  .wo-footer-wordmark{
    will-change:transform, opacity;
  }

  .who .big-copy.mq54-copy:not(.mq54-in),
  .who .inline-link.mq54-copy:not(.mq54-in),
  .industries .section-label.mq54-label:not(.mq54-in),
  .wo-footer-top.mq54-copy:not(.mq54-in){
    opacity:.42 !important;
  }

  .industry-row.mq54-row:not(.mq54-in){
    opacity:.44 !important;
    transform:translate3d(0,var(--mq-enter-y,28px),0) !important;
  }

  .industry-row.mq54-row.mq54-in{
    opacity:1 !important;
    transform:translate3d(0,0,0) !important;
  }

}

/* Footer top links: slightly clearer microinteraction */
@media(hover:hover) and (pointer:fine){
  .wo-footer a{
    transition:
      opacity .22s ease,
      transform .28s cubic-bezier(.16,.84,.18,1) !important;
  }
  .wo-footer a:hover{
    opacity:.72 !important;
    transform:translateY(-2px) !important;
  }
}


/* ===== v63 · ajuste quiénes somos ===== */
.who-process{
  margin:28px 0 48px !important;
  max-width:720px !important;
  font-size:clamp(18px,2.15vw,35px) !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  font-weight:700 !important;
  font-variation-settings:"wght" 700,"opsz" 32,"GRAD" 0 !important;
}

@media(max-width:700px){
  .who-process{
    font-size:clamp(18px,5vw,26px) !important;
    margin-top:22px !important;
  }
}


/* ===== v64 · Proyectos: Pensar. Crear. Transformar. ===== */
.experience{
  padding-top:92px !important;
  padding-bottom:72px !important;
}

.experience-grid-v64{
  min-height:66svh !important;
  display:flex !important;
  align-items:center !important;
  width:100% !important;
}

.experience-grid-v64 .experience-title-wrap{
  width:100% !important;
  max-width:1320px !important;
  margin:0 auto !important;
  align-self:auto !important;
}

.exp-word-v64{
  margin:0 !important;
  max-width:100% !important;
  font-size:clamp(82px,11.6vw,178px) !important;
  line-height:.71 !important;
  letter-spacing:-.082em !important;
  font-weight:680 !important;
  font-variation-settings:"wght" 680,"opsz" 18,"GRAD" 0 !important;
}

.exp-word-v64 span{
  display:block !important;
  white-space:nowrap;
}

.exp-word-v64 .exp-outline{
  color:transparent !important;
  -webkit-text-stroke:1.5px rgba(255,255,255,.78) !important;
  text-stroke:1.5px rgba(255,255,255,.78) !important;
}

.logo-strip-v56{
  margin-top:54px !important;
}

@media(max-width:900px){
  .experience-grid-v64{
    min-height:auto !important;
    padding:44px 0 34px !important;
  }

  .exp-word-v64{
    font-size:clamp(62px,16vw,108px) !important;
    line-height:.74 !important;
  }

  .exp-word-v64 span{
    white-space:normal;
  }
}


/* ===== v65 CTA después de Situaciones ===== */
.situations-cta{
  display:flex;
  justify-content:flex-start;
  margin-top:52px;
}

.situations-cta-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border-radius:999px;
  background:#000;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  font-variation-settings:"wght" 700,"opsz" 16,"GRAD" 0;
  letter-spacing:-.01em;
  transition:
    transform .28s cubic-bezier(.16,.84,.18,1),
    background .22s ease,
    color .22s ease;
}

@media(hover:hover) and (pointer:fine){
  .situations-cta-link:hover{
    transform:translateY(-2px);
  }
}

@media(max-width:700px){
  .situations-cta{
    margin-top:38px;
  }

  .situations-cta-link{
    min-height:48px;
    padding:0 18px;
  }
}



/* ===== v68 · seis proyectos neutros / composición editorial ===== */
.project-wall{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:1px;
  margin-top:58px;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.22);
}

.project-tile{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-width:0;
  min-height:230px;
  padding:24px 26px 26px;
  overflow:hidden;
  background:#000;
  color:#fff;
  text-decoration:none;
  isolation:isolate;
}

.project-tile::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:#fff;
  transform:translateY(101%);
  transition:transform .52s cubic-bezier(.16,.84,.18,1);
}

.project-tile--a{grid-column:span 7;min-height:290px}
.project-tile--b{grid-column:span 5;min-height:290px}
.project-tile--c{grid-column:span 5;min-height:250px}
.project-tile--d{grid-column:span 7;min-height:250px}
.project-tile--e{grid-column:span 8;min-height:270px}
.project-tile--f{grid-column:span 4;min-height:270px}

.project-index{
  font-size:12px;
  line-height:1;
  letter-spacing:.11em;
  font-weight:700;
  font-variation-settings:"wght" 700,"opsz" 14,"GRAD" 0;
  color:#ffffff;
  transition:color .32s ease, transform .46s cubic-bezier(.16,.84,.18,1);
}

.project-tile h3{
  max-width:10ch;
  margin:62px 42px 0 0;
  font-size:clamp(42px,5.4vw,82px);
  line-height:.9;
  letter-spacing:-.065em;
  font-weight:720;
  font-variation-settings:"wght" 720,"opsz" 52,"GRAD" 0;
  transition:
    color .32s ease,
    transform .52s cubic-bezier(.16,.84,.18,1);
}

.project-arrow{
  position:absolute;
  right:24px;
  bottom:23px;
  font-size:24px;
  line-height:1;
  transition:
    color .32s ease,
    transform .52s cubic-bezier(.16,.84,.18,1);
}

@media(hover:hover) and (pointer:fine){
  .project-tile:hover::before{
    transform:translateY(0);
  }

  .project-tile:hover{
    color:#000;
  }

  .project-tile:hover .project-index{
    color:#000000;
    transform:translateY(3px);
  }

  .project-tile:hover h3{
    color:#000;
    transform:translate3d(10px,-6px,0);
  }

  .project-tile:hover .project-arrow{
    color:#000;
    transform:translate3d(4px,-4px,0) rotate(8deg);
  }
}

@media(max-width:900px){
  .project-wall{
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:42px;
  }

  .project-tile,
  .project-tile--a,
  .project-tile--b,
  .project-tile--c,
  .project-tile--d,
  .project-tile--e,
  .project-tile--f{
    grid-column:span 1;
    min-height:220px;
  }

  .project-tile h3{
    margin-top:52px;
    font-size:clamp(38px,8vw,62px);
  }
}

@media(max-width:620px){
  .project-wall{
    grid-template-columns:1fr;
  }

  .project-tile,
  .project-tile--a,
  .project-tile--b,
  .project-tile--c,
  .project-tile--d,
  .project-tile--e,
  .project-tile--f{
    grid-column:1;
    min-height:188px;
    padding:21px 20px 22px;
  }

  .project-tile h3{
    margin:46px 42px 0 0;
    font-size:clamp(38px,12vw,58px);
  }

  .project-arrow{
    right:20px;
    bottom:20px;
  }
}

@media(prefers-reduced-motion:reduce){
  .project-tile::before,
  .project-index,
  .project-tile h3,
  .project-arrow{
    transition:none !important;
  }
}


/* ===== v71 · mobile: remove hero branding pill ===== */
@media(max-width:900px){
  .hero .kicker{
    display:none !important;
  }

  .hero-copy{
    margin-top:54px !important;
  }
}


/* ===== v72 · mobile hero layout reset ===== */
@media(max-width:900px){
  .hero{
    height:auto !important;
    min-height:90svh !important;
    padding-top:104px !important;
    padding-bottom:28px !important;
    overflow:hidden !important;
  }

  .hero-grid{
    display:flex !important;
    align-items:flex-start !important;
    min-height:calc(90svh - 132px) !important;
    height:auto !important;
  }

  .hero-copy{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .hero .kicker{
    display:none !important;
  }

  .hero-title{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }

  .hero-sub{
    width:100% !important;
    max-width:100% !important;
    margin-top:26px !important;
  }

  .scroll-dot{
    right:16px !important;
    bottom:18px !important;
  }
}

@media(max-width:600px){
  .hero{
    padding-top:110px !important;
    padding-bottom:24px !important;
  }

  .hero-grid{
    min-height:calc(90svh - 134px) !important;
  }

  .hero-title{
    font-size:clamp(46px,12.5vw,62px) !important;
    line-height:.80 !important;
    letter-spacing:-.07em !important;
  }

  .hero-sub{
    font-size:20px !important;
    line-height:1.26 !important;
  }
}


/* ===== v76 · footer signature / pressure wordmark ===== */

.footer-signature{
  opacity:1 !important;
  transform:none !important;
  overflow:visible !important;
}

.footer-signature .wo-footer-wordmark-inner{
  position:relative;
  display:inline-flex !important;
  align-items:flex-end;
  width:max-content !important;
  white-space:nowrap !important;
  transform-origin:left bottom !important;
}

.footer-letter{
  position:relative;
  display:inline-block;
  color:transparent;
  -webkit-text-stroke:1.35px rgba(255,255,255,.78);
  text-stroke:1.35px rgba(255,255,255,.78);
  transform-origin:50% 100%;
  opacity:.38;
  transform:
    translate3d(0,30px,0)
    scaleY(.28)
    skewX(var(--footer-skew,-5deg));
  transition:
    transform .92s cubic-bezier(.16,.84,.18,1),
    opacity .46s ease,
    -webkit-text-stroke-color .55s ease;
  transition-delay:0ms;
  will-change:transform,opacity;
}

.footer-letter:nth-child(even){
  --footer-skew:5deg;
}

.footer-letter::after{
  content:attr(data-char);
  position:absolute;
  inset:0;
  color:#fff;
  -webkit-text-stroke:0 transparent;
  text-stroke:0 transparent;
  clip-path:inset(100% 0 0 0);
  transition:clip-path .82s cubic-bezier(.16,.84,.18,1);
  transition-delay:0ms;
  pointer-events:none;
}

.footer-signature.is-active .footer-letter{
  opacity:1;
  -webkit-text-stroke-color:#ffffff;
  transform:
    translate3d(0,var(--footer-wave-y,0px),0)
    scaleY(var(--footer-wave-scale,1))
    skewX(0deg);
  transition-delay:calc(var(--footer-i) * 48ms);
}

.footer-signature.is-active .footer-letter::after{
  clip-path:inset(0 0 0 0);
  transition-delay:calc(110ms + (var(--footer-i) * 52ms));
}

/* A faint baseline makes the fill feel like it rises from the footer itself. */
.footer-signature::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:rgba(255,255,255,.22);
  transform:scaleX(.08);
  transform-origin:left center;
  opacity:0;
  transition:
    transform 1.05s cubic-bezier(.16,.84,.18,1),
    opacity .4s ease;
  pointer-events:none;
}

.footer-signature.is-active::after{
  transform:scaleX(1);
  opacity:.7;
}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .footer-signature{
    cursor:none;
  }

  .footer-signature .footer-letter{
    transition:
      transform .18s cubic-bezier(.2,.75,.25,1),
      opacity .3s ease,
      -webkit-text-stroke-color .3s ease;
  }

  .footer-signature .footer-letter::after{
    transition:
      clip-path .82s cubic-bezier(.16,.84,.18,1);
  }
}

@media(max-width:900px){
  .footer-letter{
    transform:
      translate3d(0,22px,0)
      scaleY(.36)
      skewX(var(--footer-skew,-4deg));
  }

  .footer-signature.is-active .footer-letter{
    transform:translate3d(0,0,0) scaleY(1) skewX(0);
  }
}

@media(prefers-reduced-motion:reduce){
  .footer-letter{
    opacity:1 !important;
    color:#fff !important;
    -webkit-text-stroke:0 transparent !important;
    transform:none !important;
    transition:none !important;
  }

  .footer-letter::after{
    display:none !important;
  }

  .footer-signature::after{
    display:none !important;
  }
}


/* CIENEQUIS · footer global canónico */
.wo-footer{
  min-height:100svh !important;
  padding:0 var(--pad) 0 !important;
  background:#000 !important;
  color:#fff !important;
}

.footer-nav-grid{
  display:grid !important;
  grid-template-columns:minmax(250px,1.35fr) minmax(145px,.68fr) minmax(220px,1fr) minmax(240px,1fr) !important;
  gap:clamp(34px,5vw,82px) !important;
  align-items:start !important;
  padding:64px 0 72px !important;
  border-top:1px solid rgba(255,255,255,.24);
  border-bottom:0;
  font-size:15px !important;
  line-height:1.22 !important;
}

.footer-label{
  margin:0 0 24px;
  color:#ffffff;
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.footer-intro-copy{
  max-width:10ch;
  margin:0;
  font-size:clamp(30px,3vw,48px);
  line-height:.92;
  letter-spacing:-.055em;
  font-weight:700;
  font-variation-settings:"wght" 700,"opsz" 32,"GRAD" 0;
}

.footer-primary-link{
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:34px;
  padding-bottom:7px;
  border-bottom:1px solid rgba(255,255,255,.52);
  font-size:16px;
  font-weight:700;
  font-variation-settings:"wght" 700,"opsz" 18,"GRAD" 0;
}

.footer-primary-link > span:last-child{
  transition:transform .35s cubic-bezier(.16,.84,.18,1);
}

.footer-nav-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.footer-nav-column a{
  display:block;
  padding:5px 0;
  font-size:15px;
  line-height:1.25;
}

.footer-nav-column a[aria-current="page"]{
  opacity:.48;
  pointer-events:none;
}

.footer-meta{
  min-height:100%;
  display:flex;
  flex-direction:column;
}

.footer-meta > p:not(.footer-label){
  max-width:310px;
  margin:0 0 10px;
  color:#ffffff;
  font-size:15px;
  line-height:1.32;
}

.footer-meta-bottom{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-top:auto;
  padding-top:48px;
  font-size:13px;
  color:#ffffff;
}

.footer-meta-bottom a{
  color:#fff !important;
  white-space:nowrap;
}

.wo-footer-wordmark-wrap{
  position:relative !important;
  left:calc(-1 * var(--pad)) !important;
  width:100vw !important;
  margin-top:auto !important;
  padding:0 !important;
  overflow:hidden !important;
}

.wo-footer-wordmark.footer-signature,
.wo-footer-wordmark.footer-signature:not(.mq54-in),
.wo-footer-wordmark.footer-signature.mq54-in{
  opacity:1 !important;
  color:#fff !important;
  transform:none !important;
}

.footer-signature .wo-footer-wordmark-inner{
  opacity:1 !important;
}

.footer-signature .footer-letter,
.footer-signature.is-active .footer-letter{
  color:#fff !important;
  opacity:1 !important;
  -webkit-text-stroke:0 transparent !important;
  text-stroke:0 transparent !important;
}

/* Evita que cualquier reveal genérico vuelva a apagar el wordmark */
.wo-footer .footer-signature{
  opacity:1 !important;
}

@media(hover:hover) and (pointer:fine){
  .footer-primary-link:hover > span:last-child{
    transform:translate3d(5px,-5px,0) rotate(8deg);
  }

  .footer-nav-column a:hover,
  .footer-meta-bottom a:hover{
    opacity:.62 !important;
    transform:translate3d(4px,0,0) !important;
  }
}

@media(max-width:1000px){
  .footer-nav-grid{
    grid-template-columns:1.15fr .85fr !important;
    gap:54px 42px !important;
  }

  .footer-meta{
    min-height:220px;
  }
}

@media(max-width:650px){
  .wo-footer{
    min-height:auto !important;
    padding:0 22px !important;
  }

  .footer-nav-grid{
    grid-template-columns:1fr !important;
    gap:46px !important;
    padding:54px 0 64px !important;
  }

  .footer-intro-copy{
    max-width:12ch;
    font-size:clamp(34px,10vw,48px);
  }

  .footer-nav-column a{
    font-size:17px;
    padding:6px 0;
  }

  .footer-meta{
    min-height:auto;
  }

  .footer-meta-bottom{
    margin-top:36px;
    padding-top:28px;
    border-top:1px solid rgba(255,255,255,.16);
  }

  .wo-footer-wordmark-wrap{
    left:-22px !important;
    width:100vw !important;
  }
}





/* ==========================================================
   CIENEQUIS · sistema tipográfico v02
   Negro / blanco + Alfa Slab One + Google Sans Variable
   ========================================================== */

/* Elimina el criterio anterior de acento en palabras sueltas */
.mq-brand-accent{
  display:inline !important;
  font-family:inherit !important;
  font-weight:inherit !important;
  font-variation-settings:inherit !important;
  letter-spacing:inherit !important;
  line-height:inherit !important;
}

/* TÍTULOS COMPLETOS EN ALFA SLAB ONE */
.mq-type-slab{
  font-family:"Alfa Slab One",serif !important;
  font-weight:400 !important;
  font-variation-settings:normal !important;
  letter-spacing:-.035em !important;
  line-height:.86 !important;
}

/* GOOGLE SANS VARIABLE · masa */
.mq-type-var-heavy{
  font-family:"Google Sans Variable","Google Sans",Arial,sans-serif !important;
  font-weight:850 !important;
  font-variation-settings:"wght" 850,"opsz" 64,"GRAD" 120 !important;
  letter-spacing:-.078em !important;
}

/* GOOGLE SANS VARIABLE · editorial / aire */
.mq-type-var-light{
  font-family:"Google Sans Variable","Google Sans",Arial,sans-serif !important;
  font-weight:430 !important;
  font-variation-settings:"wght" 430,"opsz" 72,"GRAD" -35 !important;
  letter-spacing:-.055em !important;
  line-height:.86 !important;
}

/* GOOGLE SANS VARIABLE · señal */
.mq-type-var-signal{
  font-family:"Google Sans Variable","Google Sans",Arial,sans-serif !important;
  font-weight:660 !important;
  font-variation-settings:"wght" 660,"opsz" 56,"GRAD" 85 !important;
  letter-spacing:-.025em !important;
}

/* Subrayado editorial, siempre del mismo color que el texto */
.mq-type-underline{
  text-decoration-line:underline !important;
  text-decoration-color:currentColor !important;
  text-decoration-thickness:.055em !important;
  text-underline-offset:.13em !important;
  text-decoration-skip-ink:none !important;
}

/* Etiquetas: jerarquía por variable/espaciado, no por gris */
.mq-type-label{
  font-family:"Google Sans Variable","Google Sans",Arial,sans-serif !important;
  font-weight:650 !important;
  font-variation-settings:"wght" 650,"opsz" 14,"GRAD" 90 !important;
  letter-spacing:.15em !important;
}

/* ----------------------------------------------------------
   TEXTO: sólo negro o blanco.
   La jerarquía se construye con tamaño, peso y espaciado.
   ---------------------------------------------------------- */
.tone-light :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,small,strong,em,label){
  color:#000 !important;
  opacity:1 !important;
}

.tone-dark :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,small,strong,em,label){
  color:#fff !important;
  opacity:1 !important;
}

/* Footer: ningún texto gris/transparente */
.wo-footer :where(p,span,small,strong,em,a){
  color:#fff !important;
  opacity:1 !important;
}

.wo-footer a[aria-current="page"]{
  opacity:1 !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:5px !important;
}

/* Menú: desenfoque sí, transparencia no */
.menu-main a,
.menu-panel a{
  opacity:1 !important;
}

/* Agencia · MAR / DEL / PLATA: todo negro sólido */
.agency-place-word h2,
.agency-place-word h2 span,
.agency-place-word h2 span:nth-child(2){
  color:#000 !important;
  opacity:1 !important;
  -webkit-text-stroke:0 transparent !important;
  text-stroke:0 transparent !important;
}

/* Excepciones funcionales: controles negros dentro de secciones claras */
.tone-light .budget-next,
.tone-light .budget-submit,
.tone-light .budget-next span,
.tone-light .budget-submit span{
  color:#fff !important;
}

.tone-light .budget-next:hover,
.tone-light .budget-submit:hover,
.tone-light .budget-next:hover span,
.tone-light .budget-submit:hover span{
  color:#000 !important;
}

.tone-light .budget-option:has(input:checked) span,
.tone-light .budget-option:has(input:checked) strong,
.tone-light .budget-option:has(input:checked) small,
.tone-light .budget-option:hover span,
.tone-light .budget-option:hover strong,
.tone-light .budget-option:hover small{
  color:#fff !important;
}

/* Pills/controles negros en fondos blancos */
.tone-light .scroll-dot{
  color:#fff !important;
}

/* Las grillas/líneas pueden usar alpha; el texto, no. */

@media(max-width:700px){
  .mq-type-slab{
    letter-spacing:-.025em !important;
  }

  .mq-type-underline{
    text-decoration-thickness:.045em !important;
    text-underline-offset:.12em !important;
  }
}


/* CIENEQUIS · Release Candidate 01 · guardas globales */

/* Texto editorial: negro o blanco. La jerarquía no depende de gris. */
.tone-light :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,small,strong,em,label),
.tone-light :where([class*="kicker"],.mq-type-label,.project-number){
  color:#000 !important;
  opacity:1 !important;
}
.tone-dark :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,small,strong,em,label),
.tone-dark :where([class*="kicker"],.mq-type-label,.project-number){
  color:#fff !important;
  opacity:1 !important;
}

/* Agencia · MAR / DEL / PLATA */
.agency-place-word h2,
.agency-place-word h2 span,
.agency-place-word h2 span:nth-child(2){
  color:#000 !important;
  opacity:1 !important;
  -webkit-text-stroke:0 transparent !important;
  text-stroke:0 transparent !important;
}

/* Footer global */
.wo-footer :where(p,span,small,strong,em,a){
  color:#fff !important;
  opacity:1 !important;
}
.wo-footer a[aria-current="page"]{
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:5px !important;
}

/* Excepciones funcionales sobre fondos claros */
.tone-light .budget-next,
.tone-light .budget-submit,
.tone-light .budget-next span,
.tone-light .budget-submit span,
.tone-light .scroll-dot{
  color:#fff !important;
}
.tone-light .budget-next:hover,
.tone-light .budget-submit:hover,
.tone-light .budget-next:hover span,
.tone-light .budget-submit:hover span{
  color:#000 !important;
}
.tone-light .budget-option:has(input:checked) span,
.tone-light .budget-option:has(input:checked) strong,
.tone-light .budget-option:has(input:checked) small,
.tone-light .budget-option:hover span,
.tone-light .budget-option:hover strong,
.tone-light .budget-option:hover small{
  color:#fff !important;
}

/* CIENEQUIS · SEO bridge v01 */
.mq-seo-bridge{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:26px;
  padding-bottom:7px;
  border-bottom:1px solid currentColor;
  font-family:"Google Sans Variable","Google Sans",Arial,sans-serif;
  font-weight:650;
  font-variation-settings:"wght" 650,"opsz" 18,"GRAD" 80;
  font-size:15px;
  line-height:1.1;
  letter-spacing:-.02em;
  text-decoration:none;
}
.tone-light .mq-seo-bridge{color:#000!important;opacity:1!important}
.tone-dark .mq-seo-bridge{color:#fff!important;opacity:1!important}
@media(hover:hover) and (pointer:fine){
  .mq-seo-bridge:hover{transform:translateX(5px)}
}
@media(prefers-reduced-motion:no-preference){
  .mq-seo-bridge{transition:transform .25s ease}
}


/* CIENEQUIS · prelaunch accessibility hardening v01 */
:where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:2px solid currentColor !important;
  outline-offset:4px !important;
}
:where(input,textarea,select):focus-visible{
  outline-offset:2px !important;
}
.mq-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}


/* source style block 1 */
.hero-primary-link{display:inline-flex;align-items:center;gap:14px;margin-top:26px;padding:13px 18px;border-radius:999px;background:#000;color:#fff;font-size:13px;font-weight:700;width:max-content}
.home-situations{background:#000;color:#fff;padding-top:80px}
.home-situations .section-label,.home-situations .home-section-intro,.home-situations .industry-row{color:#fff}
.home-situations .industry-list{border-top-color:rgba(255,255,255,.28)}
.home-situations .industry-row{border-bottom-color:rgba(255,255,255,.28)}
.home-situations-head{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;margin:24px 0 70px;align-items:end}
.home-situations-head .big-copy{margin:0}.home-section-intro{font-size:20px;line-height:1.35;max-width:650px;margin:0}
.home-capabilities-close{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:44px}.home-inline-dark{background:#000;color:#fff}
.home-method{grid-template-columns:.8fr 1.2fr}.home-method .cap-list{margin-top:0;border-top-color:rgba(255,255,255,.3)}.home-method .cap-row{border-bottom-color:rgba(255,255,255,.3);color:#fff}.home-method .cap-row:hover{background:rgba(255,255,255,.08)}.home-method-principle{font-size:22px;font-weight:700;margin:42px 0 22px}
.home-agency{align-items:start}.home-agency-grid{display:grid;grid-template-columns:1fr 1fr;margin:45px 0;border-top:1px solid rgba(0,0,0,.22)}.home-agency-grid>div{padding:24px 24px 24px 0;border-bottom:1px solid rgba(0,0,0,.22)}.home-agency-grid strong{font-size:22px}.home-agency-grid p{font-size:14px;line-height:1.4;max-width:460px}
@media(max-width:900px){.home-situations-head,.home-method,.home-agency-grid{grid-template-columns:1fr}.home-capabilities-close{align-items:flex-start;flex-direction:column}.home-situations-head{margin-bottom:44px}}


/* source style block 2 */
/* =============================================================
   CIENEQUIS · RC13 · visual stability layer
   Purpose: preserve the visual language while removing fragile
   scroll pinning, clipped typography, grey UI states and excessive
   dead space. Appended last so it is auditable/reversible.
   ============================================================= */

:root{
  --mq13-pad:clamp(24px,3.25vw,52px);
  --mq13-section-y:clamp(82px,9vw,132px);
  --mq13-section-y-mobile:72px;
}
html{scroll-padding-top:96px}
body{background:#fff;color:#000;text-rendering:optimizeLegibility}
.site{overflow:clip}
.tone-section::after{display:none!important;content:none!important}
.tone-light{background:#fff!important;color:#000!important}
.tone-dark{background:#000!important;color:#fff!important}
main h1,main h2,main h3{opacity:1!important;filter:none!important;transform:none!important;text-wrap:balance}
main [class*="reveal"]{opacity:1!important;filter:none!important;transform:none!important}

/* --- Header: only pure black / pure white --- */
.header{
  transition:width .38s cubic-bezier(.16,.84,.18,1),top .38s cubic-bezier(.16,.84,.18,1),min-height .38s cubic-bezier(.16,.84,.18,1),padding .38s cubic-bezier(.16,.84,.18,1),border-radius .38s cubic-bezier(.16,.84,.18,1)!important;
}
.header::before{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
  border:0!important;
}
@media(min-width:901px){
  .header:not(.mq13-compact)::before{background:transparent!important}
  .header.mq13-compact.on-light::before{background:#000!important}
  .header.mq13-compact.on-light .logo{color:#fff!important}
  .header.mq13-compact.on-light .menu-toggle{background:#fff!important;color:#000!important;border-color:#fff!important}
  .header.mq13-compact.on-dark::before{background:#fff!important}
  .header.mq13-compact.on-dark .logo{color:#000!important}
  .header.mq13-compact.on-dark .menu-toggle{background:#000!important;color:#fff!important;border-color:#000!important}
}
body.menu-open .header::before{background:#000!important}
body.menu-open .header .logo{color:#fff!important}
body.menu-open .header .menu-toggle{background:#fff!important;color:#000!important;border-color:#fff!important}

/* Menu: stable, legible, no duplicated-motion displacement */
.menu-main .menu-link{transform:none!important}
.menu-main .menu-link[aria-current="page"]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}

/* --- Footer: keep the oversized signature, but stop it eating a viewport --- */
.wo-footer{min-height:auto!important;padding:72px var(--pad) 0!important;overflow:hidden!important}
.wo-footer-top{min-height:auto!important;padding-bottom:64px!important}
.footer-secondary-link{display:inline-flex!important;margin-top:18px!important;font-size:14px!important;text-decoration:underline!important;text-underline-offset:5px!important}
.wo-footer-wordmark-wrap{height:auto!important;min-height:0!important;margin-top:20px!important;overflow:hidden!important}
.wo-footer-wordmark{font-size:clamp(112px,19vw,300px)!important;line-height:.76!important;transform:none!important;white-space:nowrap!important}
.wo-footer-wordmark-inner{display:block!important;transform:translateY(.08em)!important}

/* --- Hero safety: dramatic, never colliding --- */
:is(.ar-hero-title,.lb-hero-title,.local-hero-title,.lw-hero-title,.miami-hero-title){
  font-size:clamp(68px,7.2vw,116px)!important;line-height:.84!important;letter-spacing:-.045em!important;max-width:12ch!important
}
:is(.brand-hero-title,.clarity-hero-title,.marketing-hero-title,.digital-hero-title,.launch-hero-title,.growth-hero-title){
  font-size:clamp(68px,7.55vw,120px)!important;line-height:.84!important;letter-spacing:-.055em!important;max-width:12ch!important
}
.brand-hero-title{font-size:clamp(64px,6.8vw,106px)!important;max-width:11.5ch!important}
.method-hero-title{font-size:clamp(72px,8vw,124px)!important;line-height:.84!important;letter-spacing:-.065em!important}
.solutions-hero-title,.budget-hero-title,.projects-hero-title{line-height:.84!important}
.resource-hero h1,.resource-hero-title{font-size:clamp(64px,6.7vw,108px)!important;line-height:.84!important;letter-spacing:-.045em!important}

/* Hero sections must fit content naturally. */
:is(.ar-hero,.lb-hero,.local-hero,.lw-hero,.miami-hero,.brand-hero,.clarity-hero,.marketing-hero,.digital-hero,.launch-hero,.growth-hero){
  min-height:min(100svh,920px)!important;
  overflow:hidden!important
}

/* --- Money pages / location pages: remove pinned dead zones --- */
.ar-system,.local-system,.lw-flow,.miami-system,
.brand-system,.clarity-noise,.marketing-orbit,.digital-compose,.launch-sequence,.growth-loop{
  min-height:auto!important;height:auto!important
}
:is(.ar-system-sticky,.local-system-sticky,.lw-flow-sticky,.miami-system-sticky,
.brand-system-sticky,.clarity-noise-sticky,.marketing-orbit-sticky,.digital-compose-sticky,.launch-sequence-sticky,.growth-loop-sticky){
  position:relative!important;top:auto!important;min-height:auto!important;height:auto!important;
  padding:var(--mq13-section-y) var(--pad)!important;overflow:hidden!important
}
:is(.ar-system-copy,.local-system-copy,.lw-flow-copy,.miami-system-copy,
.brand-system-copy,.clarity-noise-copy,.marketing-orbit-copy,.digital-compose-copy,.launch-sequence-copy,.growth-loop-copy) h2{
  font-size:clamp(52px,5.8vw,88px)!important;line-height:.9!important;letter-spacing:-.055em!important;max-width:11ch!important
}
:is(.ar-system-stage,.local-system-stage,.lw-flow-stage,.miami-system-stage){
  min-height:380px!important;height:380px!important
}
.brand-system-wheel,.marketing-orbit-stage,.growth-loop-stage{width:min(100%,540px)!important;height:auto!important;aspect-ratio:1/1!important;min-height:0!important;margin-inline:auto!important}
.clarity-noise-stage,.digital-compose-stage,.launch-sequence-stage{min-height:500px!important;height:500px!important}
.ar-system-step{transform:translate(-50%,-50%) scale(1)!important;opacity:1!important}
.local-system-step,.lw-flow-step,.miami-system-step{opacity:1!important;transform:translate(-50%,-50%) scale(1)!important}
.brand-wheel-item,.marketing-node,.growth-loop-step,.launch-phase{opacity:1!important;filter:none!important}
.clarity-noise-stage .noise-word{opacity:.22!important;filter:none!important}
.clarity-core{opacity:1!important;filter:none!important}
.digital-layer{opacity:1!important;filter:none!important}

/* Argentina money pages: denser rhythm, no pseudo-fullscreen gaps. */
.ar-editorial,.ar-list,.ar-grid,.ar-geo,.ar-faq,.ar-closing{padding-top:var(--mq13-section-y)!important;padding-bottom:var(--mq13-section-y)!important}
.ar-list-items{margin-top:72px!important}
.ar-list-items article{padding:28px 0!important}
.ar-grid-items{margin-top:68px!important}
.ar-geo{min-height:auto!important;padding-bottom:clamp(150px,14vw,210px)!important}
.ar-geo-word{font-size:clamp(46px,6vw,92px)!important;line-height:.84!important;bottom:38px!important}
.ar-closing-main h2,.ar-geo-main h2,.ar-faq-main h2,.ar-grid-main h2,.ar-list-head h2,.ar-editorial-main h2{line-height:.9!important}

/* Local money pages: keep editorial modules, reduce excessive vertical theatre. */
.lb-when,.lb-signals,.lb-system,.lb-services,.lb-decision,.lb-place,.lb-method,.lb-faq,.lb-closing,
.local-problem,.local-signals,.local-services,.local-place,.local-method,.local-faq,.local-closing,
.lw-problem,.lw-signals,.lw-services,.lw-principle,.lw-place,.lw-method,.lw-faq,.lw-closing{
  padding-top:var(--mq13-section-y)!important;padding-bottom:var(--mq13-section-y)!important;min-height:auto!important
}
.lb-services-grid,.local-services-grid,.lw-services-grid{margin-top:64px!important}
.lb-place,.local-place,.lw-place{min-height:auto!important;padding-bottom:clamp(150px,14vw,220px)!important}
:is(.lb-place-word,.local-place-word,.lw-place-word){font-size:clamp(52px,7vw,100px)!important;line-height:.82!important}

/* --- Solution pages: static systems instead of scroll traps --- */
.brand-symptoms,.brand-definition,.brand-areas,.brand-decision,.brand-closing,
.clarity-problem,.clarity-signals,.clarity-system,.clarity-test,.clarity-closing,
.marketing-direction,.marketing-signals,.marketing-architecture,.marketing-choice,.marketing-closing,
.digital-friction,.digital-signals,.digital-capabilities,.digital-principle,.digital-closing,
.launch-moment,.launch-needs,.launch-system,.launch-principle,.launch-closing,
.growth-principle,.growth-signals,.growth-system,.growth-evidence,.growth-closing{
  min-height:auto!important
}
:is(.brand-definition-main,.brand-areas-main,.brand-decision-main,.brand-closing-main,
.clarity-problem-main,.clarity-signals-main,.clarity-system-main,.clarity-test-main,.clarity-closing-main,
.marketing-direction-main,.marketing-signals-main,.marketing-architecture-main,.marketing-choice-main,.marketing-closing-main,
.digital-friction-main,.digital-signals-main,.digital-capabilities-main,.digital-principle-main,.digital-closing-main,
.launch-moment-main,.launch-needs-main,.launch-system-main,.launch-principle-main,.launch-closing-main,
.growth-principle-main,.growth-signals-main,.growth-system-main,.growth-evidence-main,.growth-closing-main) h2{
  line-height:.9!important
}
.mq12-deliverables{padding-top:var(--mq13-section-y)!important;padding-bottom:var(--mq13-section-y)!important;min-height:auto!important}

/* --- Method: keep the editorial rail, not four forced full screens --- */
.method-step{min-height:auto!important;padding:110px 0 110px clamp(42px,5vw,76px)!important;overflow:visible!important}
.method-step-number{right:20px!important;top:40px!important;font-size:clamp(126px,16vw,230px)!important;line-height:.8!important;letter-spacing:-.08em!important}
.method-step h2{margin-top:58px!important;font-size:clamp(56px,6vw,92px)!important;line-height:.88!important;letter-spacing:-.06em!important}
.method-step-lead{margin-top:38px!important}
.method-step-grid,.method-pair{margin-top:56px!important}
.method-principle h2,.method-loop h2,.method-intro-main h2{line-height:.9!important}

/* --- Solutions hub: chapters are content, not six near-fullscreen panels --- */
.solution-panel{min-height:auto!important;padding:94px 0 94px clamp(40px,4.6vw,72px)!important}
.solution-panel h2{font-size:clamp(50px,5.5vw,84px)!important;line-height:.9!important;letter-spacing:-.055em!important}
.solution-panel-lead{margin-top:34px!important}
.solution-panel-capabilities{margin-top:42px!important}
.solutions-index{top:92px!important;padding-top:94px!important}
.solutions-selector{min-height:auto!important}

/* --- Budget: no unnecessary 88vh step shell --- */
.budget-step{min-height:auto!important;padding:104px 0 104px clamp(42px,5vw,76px)!important}
.budget-step h2{margin-top:52px!important;font-size:clamp(54px,6.4vw,96px)!important;line-height:.88!important;letter-spacing:-.06em!important}
.budget-options{margin-top:52px!important}
.budget-form-section{padding-bottom:110px!important}

/* --- Resource pages: readable longform, stable sticky TOC --- */
.resource-hero{min-height:auto!important;padding-top:clamp(130px,15vh,170px)!important;padding-bottom:clamp(78px,9vw,118px)!important}
.resource-body{padding-top:var(--mq13-section-y)!important;padding-bottom:var(--mq13-section-y)!important}
.resource-body h2,.resource-faq h2{line-height:.92!important}
.resource-toc{top:92px!important}

/* --- Small screens --- */
@media(max-width:900px){
  html{scroll-padding-top:82px}
  .header{left:12px!important;right:12px!important;top:10px!important;width:auto!important;transform:none!important;min-height:58px!important;padding:7px 8px 7px 14px!important;border-radius:999px!important}
  .header.on-light::before{background:#000!important}
  .header.on-light .logo{color:#fff!important}
  .header.on-light .menu-toggle{background:#fff!important;color:#000!important;border-color:#fff!important}
  .header.on-dark::before{background:#fff!important}
  .header.on-dark .logo{color:#000!important}
  .header.on-dark .menu-toggle{background:#000!important;color:#fff!important;border-color:#000!important}
  body.menu-open .header::before{background:#000!important}
  body.menu-open .header .logo{color:#fff!important}
  body.menu-open .header .menu-toggle{background:#fff!important;color:#000!important}

  :is(.ar-hero-title,.lb-hero-title,.local-hero-title,.lw-hero-title,.miami-hero-title,
  .brand-hero-title,.clarity-hero-title,.marketing-hero-title,.digital-hero-title,.launch-hero-title,.growth-hero-title){
    font-size:clamp(48px,14vw,70px)!important;line-height:.88!important;letter-spacing:-.04em!important;max-width:12ch!important
  }
  .method-hero-title{font-size:clamp(52px,15vw,74px)!important;line-height:.88!important}
  .resource-hero h1,.resource-hero-title{font-size:clamp(48px,13vw,68px)!important;line-height:.88!important}

  :is(.ar-system-sticky,.local-system-sticky,.lw-flow-sticky,.miami-system-sticky,
  .brand-system-sticky,.clarity-noise-sticky,.marketing-orbit-sticky,.digital-compose-sticky,.launch-sequence-sticky,.growth-loop-sticky){
    grid-template-columns:1fr!important;gap:44px!important;padding:var(--mq13-section-y-mobile) 22px!important
  }
  :is(.ar-system-stage,.local-system-stage,.lw-flow-stage,.miami-system-stage){height:300px!important;min-height:300px!important}
  .brand-system-wheel,.marketing-orbit-stage,.growth-loop-stage{width:min(86vw,390px)!important}
  .clarity-noise-stage,.digital-compose-stage,.launch-sequence-stage{height:360px!important;min-height:360px!important}

  .ar-editorial,.ar-list,.ar-grid,.ar-geo,.ar-faq,.ar-closing,
  .lb-when,.lb-signals,.lb-system,.lb-services,.lb-decision,.lb-place,.lb-method,.lb-faq,.lb-closing,
  .local-problem,.local-signals,.local-services,.local-place,.local-method,.local-faq,.local-closing,
  .lw-problem,.lw-signals,.lw-services,.lw-principle,.lw-place,.lw-method,.lw-faq,.lw-closing{
    padding-top:var(--mq13-section-y-mobile)!important;padding-bottom:var(--mq13-section-y-mobile)!important
  }
  .ar-geo,.lb-place,.local-place,.lw-place{padding-bottom:130px!important}
  .ar-geo-word{bottom:28px!important;font-size:clamp(34px,11vw,58px)!important}

  .method-sequence{display:block!important;padding:0 22px!important}
  .method-rail{position:relative!important;top:auto!important;padding:72px 0 28px!important;border-bottom:1px solid #000}
  .method-rail nav{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px 18px!important}
  .method-progress{display:none!important}
  .method-steps{border-left:0!important}
  .method-step{padding:76px 0!important}
  .method-step-number{font-size:clamp(88px,27vw,120px)!important;right:0!important;top:44px!important}
  .method-step h2{font-size:clamp(48px,13vw,68px)!important;line-height:.9!important;max-width:10ch!important}
  .method-step-grid{grid-template-columns:1fr!important}
  .method-pair{grid-template-columns:1fr!important}

  .solutions-catalog{display:block!important;padding:0 22px!important}
  .solutions-index{position:relative!important;top:auto!important;padding:70px 0 30px!important;border-bottom:1px solid #000}
  .solutions-index nav{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3px 16px!important}
  .solutions-index-progress{display:none!important}
  .solutions-panels{border-left:0!important}
  .solution-panel{padding:72px 0!important}
  .solution-panel h2{font-size:clamp(46px,12vw,64px)!important}

  .budget-form-section{display:block!important;padding:0 22px 84px!important}
  .budget-progress{position:relative!important;top:auto!important;padding:72px 0 30px!important;border-bottom:1px solid #000}
  .budget-progress-count{margin-top:30px!important}
  .budget-progress-track{height:1px!important;width:100%!important;margin-top:24px!important}
  .budget-progress-track span{transform:scaleX(var(--budget-progress,.2))!important;transform-origin:left!important}
  .budget-progress nav{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px 18px!important;margin-top:24px!important}
  .budget-form{border-left:0!important}
  .budget-step{padding:72px 0 20px!important}
  .budget-step h2{font-size:clamp(48px,13vw,66px)!important}
  .budget-options-grid{grid-template-columns:1fr!important}

  .resource-layout{display:block!important}
  .resource-toc{position:relative!important;top:auto!important;margin-bottom:56px!important}

  .wo-footer{padding:64px 22px 0!important}
  .wo-footer-top{padding-bottom:50px!important}
  .wo-footer-wordmark{font-size:clamp(78px,25vw,140px)!important}
}

@media(max-width:560px){
  .menu-panel{padding-top:92px!important}
  .footer-nav-grid{gap:42px!important}
  .ar-list-items article{grid-template-columns:34px 1fr!important;gap:16px!important}
  .ar-list-items p{grid-column:2!important}
}

/* Header colour changes are discrete: geometry may morph, colour never passes through grey. */
.header::before{transition:none!important}
.header .logo,.header .menu-toggle{transition-property:transform,width,height,margin,border-radius!important}


/* source style block 3 */
/* ===== RC13 · integridad cromática del texto =====
   El movimiento puede usar posición/transformación, pero el texto nunca
   pasa por gris o semitransparencia: negro puro o blanco puro. */
.hero .kicker,
.hero .hero-line,
.hero .hero-sub,
main .mq54-label,
main .mq54-copy,
main .mq54-title,
main .mq54-row,
main .mq54-kinetic span,
main .industry-row,
main .services-intro,
main .big-copy,
main .section-label,
.wo-footer .footer-label,
.wo-footer .footer-intro-copy,
.wo-footer .footer-nav-column a,
.wo-footer .footer-meta,
.wo-footer .footer-meta a,
.wo-footer .footer-meta p{
  opacity:1 !important;
}
.wo-footer .footer-nav-column a[aria-current="page"]{
  opacity:1 !important;
  text-decoration:underline;
  text-underline-offset:.28em;
}
@media(hover:hover) and (pointer:fine){
  .wo-footer a:hover,
  .wo-footer .footer-nav-column a:hover,
  .wo-footer .footer-meta-bottom a:hover{
    opacity:1 !important;
  }
}

@media(prefers-reduced-motion:no-preference){
  .hero .kicker,.hero .hero-line,.hero .hero-sub,
  main .mq54-label,main .mq54-copy,main .mq54-title,main .mq54-row,
  main .mq54-kinetic span,main .industry-row,main .services-intro,main .big-copy,main .section-label{
    opacity:1 !important;
    transition-property:transform !important;
  }
}
.wo-footer a{transition-property:transform !important;}


/* source style block 4 */
/* ===== RC13.1 · accesibilidad + footer restaurado ===== */

/* Skip link: invisible until keyboard focus. */
.skip-link{
  position:fixed !important;
  left:16px !important;
  top:16px !important;
  z-index:1000000 !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:42px !important;
  padding:0 14px !important;
  background:#000 !important;
  color:#fff !important;
  border:1px solid #fff !important;
  border-radius:999px !important;
  font-size:14px !important;
  line-height:1 !important;
  text-decoration:none !important;
  transform:translateY(-220%) !important;
  opacity:0 !important;
  pointer-events:none !important;
  transition:transform .2s ease,opacity .2s ease !important;
}
.skip-link:focus,
.skip-link:focus-visible{
  transform:translateY(0) !important;
  opacity:1 !important;
  pointer-events:auto !important;
  outline:2px solid #fff !important;
  outline-offset:2px !important;
}

/* Footer CTA hierarchy: distinct actions, not one compressed line. */
.footer-secondary-link{
  display:flex !important;
  width:max-content !important;
  margin-top:24px !important;
  padding-top:2px !important;
  font-size:14px !important;
  line-height:1.2 !important;
}

/* Restore the large editorial footer signature without the RC12 overflow. */
.wo-footer-wordmark-wrap{
  margin-top:26px !important;
  padding:0 0 10px !important;
  overflow:hidden !important;
}
.wo-footer-wordmark{
  font-size:clamp(132px,19vw,300px) !important;
  line-height:.76 !important;
  white-space:nowrap !important;
}
.wo-footer-wordmark-inner{
  display:inline-flex !important;
  align-items:flex-end !important;
  width:max-content !important;
  max-width:none !important;
  font-size:inherit !important;
  line-height:inherit !important;
  letter-spacing:-.06em !important;
  white-space:nowrap !important;
  transform-origin:left bottom !important;
}

/* Pure-white character reveal: motion without grey/transparency styling. */
.footer-signature .footer-letter{
  position:relative !important;
  display:inline-block !important;
  color:#fff !important;
  opacity:1 !important;
  -webkit-text-stroke:0 transparent !important;
  text-stroke:0 transparent !important;
  clip-path:inset(100% 0 0 0) !important;
  transform:translate3d(0,24px,0) scaleY(.72) skewX(var(--footer-skew,-4deg)) !important;
  transform-origin:50% 100% !important;
  transition:
    clip-path .78s cubic-bezier(.16,.84,.18,1),
    transform .82s cubic-bezier(.16,.84,.18,1) !important;
  transition-delay:calc(var(--footer-i) * 48ms) !important;
  will-change:transform,clip-path !important;
}
.footer-signature .footer-letter:nth-child(even){--footer-skew:4deg;}
.footer-signature.is-active .footer-letter{
  clip-path:inset(0 0 0 0) !important;
  transform:translate3d(0,var(--footer-wave-y,0px),0) scaleY(var(--footer-wave-scale,1)) skewX(0deg) !important;
}
.footer-signature .footer-letter::after,
.footer-signature::after{display:none !important;content:none !important;}

@media(max-width:700px){
  .footer-secondary-link{margin-top:22px !important;font-size:15px !important;}
  .wo-footer-wordmark-wrap{margin-top:18px !important;padding-bottom:8px !important;}
  .wo-footer-wordmark{font-size:clamp(82px,25vw,132px) !important;}
  .footer-signature .footer-letter{
    transform:translate3d(0,18px,0) scaleY(.78) skewX(var(--footer-skew,-3deg)) !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .footer-signature .footer-letter,
  .footer-signature.is-active .footer-letter{
    clip-path:inset(0 0 0 0) !important;
    transform:none !important;
    transition:none !important;
  }
}


/* source style block 5 */
/* Home · black branding pill keeps white label despite tone-light guard. */
.hero .kicker.mq-type-label,
.hero .kicker{color:#fff !important;}


/* source style block 6 */
.logo-alt .char{transform:translateY(10px) scale(1)!important}
.logo.show-alt .logo-primary .char{transform:translateY(-10px) scale(1)!important}
.logo.show-alt .logo-alt .char{transform:translateY(0) scale(1)!important}
.wo-footer-wordmark-inner{font-size:20vw!important;transform:none!important;transform-origin:left bottom!important}
.footer-letter{transform:translate3d(0,26px,0) skewX(var(--footer-skew,-5deg))!important}
.footer-signature.is-active .footer-letter{transform:translate3d(0,var(--footer-wave-y,0px),0) skewX(0deg)!important}
@media(max-width:900px){
  .footer-letter{transform:translate3d(0,20px,0) skewX(var(--footer-skew,-4deg))!important}
  .footer-signature.is-active .footer-letter{transform:translate3d(0,0,0) skewX(0deg)!important}
}
.home-capabilities-spacer{display:block;flex:1 1 auto;min-width:1px}
@media(max-width:900px){.home-capabilities-spacer{display:none}}


/* source style block 7 */
/* CIENEQUIS · Home · Cómo trabajamos · v3.3
   Full-bleed real + máscara registrada + botón fotográfico claro. */

#metodo.home-method{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background:#000 !important;
}

/* Fotografía independiente del grid: cubre SIEMPRE la sección completa. */
#metodo.home-method > .cienequis-method-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  width:100% !important;
  height:100% !important;
  pointer-events:none !important;
  background-image:url("../media/7eb300987c805881.webp") !important;
  background-repeat:no-repeat !important;
  background-color:#111 !important;
  will-change:background-position,background-size;
}

/* Velo homogéneo sobre TODA la fotografía. */
#metodo.home-method::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:rgba(0,0,0,.27) !important;
}

#metodo.home-method::after{
  content:none !important;
  display:none !important;
}

/* Contenido por encima del fondo/velo. */
#metodo.home-method > *:not(.cienequis-method-bg){
  position:relative !important;
  z-index:2 !important;
  background:transparent !important;
}
#metodo.home-method .cap-list,
#metodo.home-method .cap-row{
  background:transparent !important;
}

/* Statement: más compacto, muy bold y máscara fotográfica aclarada. */
#metodo.home-method #metodo-title{
  max-width:10.3ch !important;
  margin:0 !important;
  font-size:clamp(56px,5.15vw,80px) !important;
  line-height:.89 !important;
  letter-spacing:-.058em !important;
  font-weight:950 !important;
  font-variation-settings:'wght' 900,'opsz' 144,'GRAD' 125 !important;

  color:transparent !important;
  -webkit-text-fill-color:transparent !important;

  background-image:
    linear-gradient(rgba(255,255,255,.48),rgba(255,255,255,.48)),
    url("../media/7eb300987c805881.webp") !important;
  background-repeat:no-repeat,no-repeat !important;
  background-size:
    100% 100%,
    var(--cq-mask-w) var(--cq-mask-h) !important;
  background-position:
    0 0,
    var(--cq-mask-x) var(--cq-mask-y) !important;

  -webkit-background-clip:text !important;
  background-clip:text !important;
  filter:brightness(1.24) contrast(.72) saturate(.64);
  -webkit-text-stroke:.28px rgba(255,255,255,.22);
  text-shadow:none !important;
}

/* Método: legibilidad sin volver a tapar la foto. */
#metodo.home-method .section-label{
  color:#fff !important;
  font-weight:850 !important;
  text-shadow:0 1px 10px rgba(0,0,0,.62);
}
#metodo.home-method .cap-row strong{
  color:#fff !important;
  font-weight:850 !important;
  text-shadow:0 1px 12px rgba(0,0,0,.68);
}
#metodo.home-method .cap-row p,
#metodo.home-method .cap-row > span,
#metodo.home-method .home-method-principle{
  color:#fff !important;
  text-shadow:0 1px 10px rgba(0,0,0,.72);
}
#metodo.home-method .cap-row p{font-weight:600 !important}
#metodo.home-method .home-method-principle{font-weight:850 !important}

#metodo.home-method .cap-list{
  border-top-color:rgba(255,255,255,.44) !important;
}
#metodo.home-method .cap-row{
  border-bottom-color:rgba(255,255,255,.44) !important;
}

/* Botón: la misma foto, registrada 1:1, aclarada como la máscara del título. */
#metodo.home-method .inline-link{
  position:relative !important;
  overflow:hidden !important;
  color:#000 !important;
  border-color:rgba(255,255,255,.72) !important;
  background-color:rgba(255,255,255,.74) !important;
  background-image:
    linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,.55)),
    url("../media/7eb300987c805881.webp") !important;
  background-repeat:no-repeat,no-repeat !important;
  background-size:
    100% 100%,
    var(--cq-button-w) var(--cq-button-h) !important;
  background-position:
    0 0,
    var(--cq-button-x) var(--cq-button-y) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18) inset,
    0 7px 24px rgba(0,0,0,.14) !important;
}
#metodo.home-method .inline-link,
#metodo.home-method .inline-link *{
  color:#000 !important;
  text-shadow:none !important;
}

/* El wordmark CIENEQUIS tiene 9 caracteres: damos un poco más de aire. */
.logo-stack{
  min-width:clamp(126px,10.8vw,164px) !important;
}

@media(max-width:900px){
  #metodo.home-method::before{
    background:rgba(0,0,0,.32) !important;
  }
  #metodo.home-method #metodo-title{
    max-width:9.2ch !important;
    font-size:clamp(42px,10.4vw,57px) !important;
    line-height:.91 !important;
    font-weight:950 !important;
  }
}

@media(prefers-reduced-motion:reduce){
  #metodo.home-method > .cienequis-method-bg{
    background-position:center !important;
  }
}


/* source style block 8 */
#metodo.home-method #metodo-title{
  background-position:
    0 0,
    calc(var(--cq-mask-x) - 5px) calc(var(--cq-mask-y) - 5px) !important;
  filter:
    brightness(1.20)
    contrast(1.08)
    saturate(1.18) !important;
}

#metodo.home-method .inline-link{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.76) !important;
  color:#000 !important;
}

#metodo.home-method .inline-link::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.48),rgba(255,255,255,.48)),
    url("../media/7eb300987c805881.webp");
  background-repeat:no-repeat,no-repeat;
  background-size:
    100% 100%,
    var(--cq-button-w) var(--cq-button-h);
  background-position:
    0 0,
    calc(var(--cq-button-x) - 5px) calc(var(--cq-button-y) - 5px);
  filter:
    brightness(1.12)
    contrast(1.10)
    saturate(1.22);
}

#metodo.home-method .inline-link,
#metodo.home-method .inline-link *{
  position:relative;
  z-index:1;
  color:#000 !important;
  text-shadow:none !important;
}


/* source style block 9 */
#situaciones .situations-cta-link{
  border:1px solid #fff !important;
  box-sizing:border-box;
}


/* source style block 10 */
#metodo.home-method .inline-link{
  margin-top:28px !important;
}
@media(max-width:900px){
  #metodo.home-method .inline-link{
    margin-top:24px !important;
  }
}


/* source style block 11 */
/* CIENEQUIS · Home · Slide 5
   Reforzamos por qué elegirnos sin sumar otra imagen.
   Composición editorial 12 columnas + cuatro argumentos con distinto peso. */

#cienequis.home-agency{
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  column-gap:clamp(18px,2vw,32px) !important;
  row-gap:0 !important;
  align-items:start !important;
  padding-top:clamp(110px,13vh,168px) !important;
  padding-bottom:clamp(120px,15vh,190px) !important;
  overflow:hidden;
}

/* Etiqueta lateral, como ancla pequeña frente a un bloque mucho más expresivo. */
#cienequis.home-agency > .section-label{
  grid-column:1 / span 2 !important;
  margin:8px 0 0 !important;
}

/* El contenido principal ocupa el resto del lienzo. */
#cienequis.home-agency > div{
  grid-column:4 / -1 !important;
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  column-gap:clamp(18px,2vw,32px) !important;
  align-items:end !important;
}

/* Titular grande pero con mejor medida. */
#cienequis.home-agency #agencia-title{
  grid-column:1 / span 8 !important;
  margin:0 !important;
  max-width:9.2ch !important;
  font-size:clamp(64px,6.8vw,108px) !important;
  line-height:.88 !important;
  letter-spacing:-.06em !important;
  text-wrap:balance;
}

/* El párrafo funciona como contrapunto, no como una bajada pegada al H2. */
#cienequis.home-agency .home-section-intro{
  grid-column:9 / -1 !important;
  margin:0 0 8px !important;
  max-width:32ch !important;
  font-size:clamp(16px,1.15vw,19px) !important;
  line-height:1.42 !important;
}

/* Tablero editorial: 8+4 / 4+8. */
#cienequis.home-agency .home-agency-grid{
  grid-column:1 / -1 !important;
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  gap:0 !important;
  margin:clamp(88px,9vw,138px) 0 0 !important;
  border:1px solid #000 !important;
  background:#fff;
}

#cienequis.home-agency .home-agency-grid > div{
  position:relative;
  display:flex !important;
  flex-direction:column;
  justify-content:flex-end;
  min-height:clamp(245px,21vw,350px);
  padding:clamp(24px,2.4vw,38px) !important;
  border:0 !important;
  background:#fff;
  color:#000;
  overflow:hidden;
}

/* Primera y cuarta tienen más peso visual. */
#cienequis.home-agency .home-agency-grid > div:nth-child(1){
  grid-column:1 / span 8 !important;
  border-right:1px solid #000 !important;
  border-bottom:1px solid #000 !important;
  background:#000;
  color:#fff;
}

#cienequis.home-agency .home-agency-grid > div:nth-child(2){
  grid-column:9 / -1 !important;
  border-bottom:1px solid #000 !important;
}

#cienequis.home-agency .home-agency-grid > div:nth-child(3){
  grid-column:1 / span 4 !important;
  border-right:1px solid #000 !important;
}

#cienequis.home-agency .home-agency-grid > div:nth-child(4){
  grid-column:5 / -1 !important;
  background:#000;
  color:#fff;
}

/* Números muy grandes y silenciosos: dan sistema sin competir con el texto. */
#cienequis.home-agency .home-agency-index{
  position:absolute;
  top:clamp(18px,2vw,30px);
  right:clamp(20px,2vw,32px);
  font-family:"Google Sans",sans-serif;
  font-size:clamp(54px,6vw,96px);
  line-height:.82;
  letter-spacing:-.07em;
  font-weight:800;
  opacity:.12;
  pointer-events:none;
}

#cienequis.home-agency .home-agency-grid > div:nth-child(1) .home-agency-index,
#cienequis.home-agency .home-agency-grid > div:nth-child(4) .home-agency-index{
  opacity:.19;
}

/* Los diferenciales pasan a ser los verdaderos protagonistas del slide. */
#cienequis.home-agency .home-agency-grid strong{
  position:relative;
  z-index:1;
  display:block;
  max-width:12ch;
  margin:0 0 18px !important;
  font-size:clamp(30px,3.1vw,50px) !important;
  line-height:.95 !important;
  letter-spacing:-.052em !important;
  font-weight:780 !important;
  text-wrap:balance;
}

#cienequis.home-agency .home-agency-grid p{
  position:relative;
  z-index:1;
  margin:0 !important;
  max-width:42ch !important;
  font-size:clamp(14px,1.05vw,17px) !important;
  line-height:1.43 !important;
}

/* En las piezas grandes, el texto puede respirar más horizontalmente. */
#cienequis.home-agency .home-agency-grid > div:nth-child(1) p,
#cienequis.home-agency .home-agency-grid > div:nth-child(4) p{
  max-width:48ch !important;
}

/* Interacción delicada: no desplaza contenido. */
@media(hover:hover) and (pointer:fine){
  #cienequis.home-agency .home-agency-grid > div{
    transition:
      background-color .32s cubic-bezier(.2,.75,.25,1),
      color .32s cubic-bezier(.2,.75,.25,1);
  }

  #cienequis.home-agency .home-agency-grid > div:nth-child(2):hover,
  #cienequis.home-agency .home-agency-grid > div:nth-child(3):hover{
    background:#000;
    color:#fff;
  }

  #cienequis.home-agency .home-agency-grid > div:nth-child(1):hover,
  #cienequis.home-agency .home-agency-grid > div:nth-child(4):hover{
    background:#fff;
    color:#000;
  }
}

/* CTA separado del tablero; el bloque termina con una acción clara. */
#cienequis.home-agency .inline-link{
  grid-column:9 / -1 !important;
  justify-self:start !important;
  margin-top:clamp(44px,5vw,72px) !important;
  border:1px solid #000 !important;
}

/* Mobile: conserva contraste y ritmo, sin composiciones frágiles. */
@media(max-width:900px){
  #cienequis.home-agency{
    grid-template-columns:1fr !important;
    padding-top:96px !important;
    padding-bottom:120px !important;
  }

  #cienequis.home-agency > .section-label,
  #cienequis.home-agency > div{
    grid-column:1 !important;
  }

  #cienequis.home-agency > div{
    grid-template-columns:1fr !important;
    margin-top:42px;
  }

  #cienequis.home-agency #agencia-title,
  #cienequis.home-agency .home-section-intro,
  #cienequis.home-agency .home-agency-grid,
  #cienequis.home-agency .inline-link{
    grid-column:1 !important;
  }

  #cienequis.home-agency #agencia-title{
    max-width:9ch !important;
    font-size:clamp(50px,13vw,70px) !important;
  }

  #cienequis.home-agency .home-section-intro{
    margin-top:34px !important;
    max-width:34ch !important;
  }

  #cienequis.home-agency .home-agency-grid{
    grid-template-columns:1fr !important;
    margin-top:68px !important;
  }

  #cienequis.home-agency .home-agency-grid > div,
  #cienequis.home-agency .home-agency-grid > div:nth-child(1),
  #cienequis.home-agency .home-agency-grid > div:nth-child(2),
  #cienequis.home-agency .home-agency-grid > div:nth-child(3),
  #cienequis.home-agency .home-agency-grid > div:nth-child(4){
    grid-column:1 !important;
    min-height:230px;
    border-right:0 !important;
    border-bottom:1px solid #000 !important;
  }

  #cienequis.home-agency .home-agency-grid > div:last-child{
    border-bottom:0 !important;
  }

  #cienequis.home-agency .home-agency-grid strong{
    max-width:11ch;
    font-size:clamp(32px,9.5vw,48px) !important;
  }

  #cienequis.home-agency .inline-link{
    margin-top:38px !important;
  }
}


/* source style block 12 */
/* CIENEQUIS · Home · Slide 5 · v4.1
   Blanco/negro puro. Sin grises. Razones explícitas, legibles y protagonistas. */

#cienequis.home-agency{
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  column-gap:clamp(18px,2vw,32px) !important;
  row-gap:0 !important;
  align-items:start !important;
  padding-top:clamp(112px,14vh,176px) !important;
  padding-bottom:clamp(120px,15vh,190px) !important;
  background:#fff !important;
  color:#000 !important;
}

/* Etiqueta explícita */
#cienequis.home-agency > .section-label{
  grid-column:1 / span 2 !important;
  margin:8px 0 0 !important;
  color:#000 !important;
  font-weight:800 !important;
}

/* Contenedor editorial */
#cienequis.home-agency > div{
  grid-column:4 / -1 !important;
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  column-gap:clamp(18px,2vw,32px) !important;
  align-items:end !important;
}

/* Headline: sin cortes absurdos ni palabra huérfana */
#cienequis.home-agency #agencia-title{
  grid-column:1 / span 8 !important;
  margin:0 !important;
  max-width:10.5ch !important;
  font-size:clamp(58px,6.1vw,96px) !important;
  line-height:.91 !important;
  letter-spacing:-.058em !important;
  color:#000 !important;
  text-wrap:balance;
}

/* Bajada breve, alineada como contrapunto */
#cienequis.home-agency .home-section-intro{
  grid-column:9 / -1 !important;
  margin:0 0 8px !important;
  max-width:30ch !important;
  font-size:clamp(16px,1.12vw,19px) !important;
  line-height:1.42 !important;
  color:#000 !important;
  font-weight:560 !important;
}

/* Mosaico 7+5 / 5+7 */
#cienequis.home-agency .home-agency-grid{
  grid-column:1 / -1 !important;
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  gap:0 !important;
  margin:clamp(82px,8vw,126px) 0 0 !important;
  border:1px solid #000 !important;
  background:#fff !important;
}

#cienequis.home-agency .home-agency-grid > div{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  min-height:clamp(255px,21vw,342px) !important;
  padding:clamp(24px,2.4vw,38px) !important;
  border:0 !important;
  overflow:hidden !important;
}

/* Puro blanco/negro, sin tercer color */
#cienequis.home-agency .home-agency-grid > div:nth-child(1){
  grid-column:1 / span 7 !important;
  background:#000 !important;
  color:#fff !important;
  border-right:1px solid #fff !important;
  border-bottom:1px solid #fff !important;
}
#cienequis.home-agency .home-agency-grid > div:nth-child(2){
  grid-column:8 / -1 !important;
  background:#fff !important;
  color:#000 !important;
  border-bottom:1px solid #000 !important;
}
#cienequis.home-agency .home-agency-grid > div:nth-child(3){
  grid-column:1 / span 5 !important;
  background:#fff !important;
  color:#000 !important;
  border-right:1px solid #000 !important;
}
#cienequis.home-agency .home-agency-grid > div:nth-child(4){
  grid-column:6 / -1 !important;
  background:#000 !important;
  color:#fff !important;
}

/* Número pequeño y funcional: nunca gris decorativo */
#cienequis.home-agency .home-agency-index{
  position:static !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:38px !important;
  height:38px !important;
  margin:0 0 clamp(54px,6vw,92px) !important;
  border:1px solid currentColor !important;
  border-radius:50% !important;
  font-family:"Google Sans",sans-serif !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  font-weight:800 !important;
  opacity:1 !important;
  color:inherit !important;
}

/* Texto siempre explícitamente legible */
#cienequis.home-agency .home-agency-grid strong{
  display:block !important;
  margin:0 0 18px !important;
  max-width:13ch !important;
  color:inherit !important;
  font-size:clamp(30px,3vw,48px) !important;
  line-height:.96 !important;
  letter-spacing:-.05em !important;
  font-weight:800 !important;
  text-wrap:balance;
}

#cienequis.home-agency .home-agency-grid p{
  margin:0 !important;
  max-width:40ch !important;
  color:inherit !important;
  font-size:clamp(14px,1.02vw,17px) !important;
  line-height:1.45 !important;
  font-weight:560 !important;
}

/* Microinteracción sin grises ni desplazamientos */
@media(hover:hover) and (pointer:fine){
  #cienequis.home-agency .home-agency-grid > div{
    transition:background-color .28s ease,color .28s ease;
  }
  #cienequis.home-agency .home-agency-grid > div:nth-child(2):hover,
  #cienequis.home-agency .home-agency-grid > div:nth-child(3):hover{
    background:#000 !important;
    color:#fff !important;
  }
  #cienequis.home-agency .home-agency-grid > div:nth-child(1):hover,
  #cienequis.home-agency .home-agency-grid > div:nth-child(4):hover{
    background:#fff !important;
    color:#000 !important;
  }
}

/* CTA: claro y separado del mosaico */
#cienequis.home-agency .inline-link{
  grid-column:9 / -1 !important;
  justify-self:start !important;
  margin-top:clamp(46px,5vw,72px) !important;
  border:1px solid #000 !important;
  background:#000 !important;
  color:#fff !important;
}
#cienequis.home-agency .inline-link:hover{
  background:#fff !important;
  color:#000 !important;
}

@media(max-width:900px){
  #cienequis.home-agency{
    grid-template-columns:1fr !important;
    padding-top:96px !important;
    padding-bottom:120px !important;
  }

  #cienequis.home-agency > .section-label,
  #cienequis.home-agency > div{
    grid-column:1 !important;
  }

  #cienequis.home-agency > div{
    grid-template-columns:1fr !important;
    margin-top:40px !important;
  }

  #cienequis.home-agency #agencia-title,
  #cienequis.home-agency .home-section-intro,
  #cienequis.home-agency .home-agency-grid,
  #cienequis.home-agency .inline-link{
    grid-column:1 !important;
  }

  #cienequis.home-agency #agencia-title{
    max-width:10ch !important;
    font-size:clamp(48px,12.5vw,68px) !important;
  }

  #cienequis.home-agency .home-section-intro{
    margin-top:34px !important;
    max-width:32ch !important;
  }

  #cienequis.home-agency .home-agency-grid{
    grid-template-columns:1fr !important;
    margin-top:64px !important;
  }

  #cienequis.home-agency .home-agency-grid > div,
  #cienequis.home-agency .home-agency-grid > div:nth-child(1),
  #cienequis.home-agency .home-agency-grid > div:nth-child(2),
  #cienequis.home-agency .home-agency-grid > div:nth-child(3),
  #cienequis.home-agency .home-agency-grid > div:nth-child(4){
    grid-column:1 !important;
    min-height:250px !important;
    border-right:0 !important;
    border-bottom:1px solid #000 !important;
  }

  #cienequis.home-agency .home-agency-grid > div:nth-child(1),
  #cienequis.home-agency .home-agency-grid > div:nth-child(4){
    border-bottom-color:#fff !important;
  }

  #cienequis.home-agency .home-agency-grid > div:last-child{
    border-bottom:0 !important;
  }

  #cienequis.home-agency .home-agency-index{
    margin-bottom:52px !important;
  }

  #cienequis.home-agency .home-agency-grid strong{
    font-size:clamp(32px,9vw,46px) !important;
  }

  #cienequis.home-agency .inline-link{
    margin-top:38px !important;
  }
}


/* source style block 13 */
:root{
  --cienequis-photo:url("../media/cbeb0897ded29797.webp");
}

/* HERO · la imagen se ve más: menos velo blanco */
.hero{
  background-color:#fff !important;
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,.58) 0%,
      rgba(255,255,255,.48) 28%,
      rgba(255,255,255,.30) 48%,
      rgba(255,255,255,.10) 68%,
      rgba(255,255,255,0) 100%
    ),
    var(--cienequis-photo) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:56% 50% !important;
}

/* HERO TITLE · la propia imagen oscurecida vive dentro de las letras */
.hero .hero-line{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  background-image:
    linear-gradient(rgba(0,0,0,.44),rgba(0,0,0,.44)),
    var(--cienequis-photo) !important;
  background-blend-mode:multiply !important;
  background-size:115vw auto !important;
  background-repeat:no-repeat !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  opacity:.88 !important;
}
.hero .hero-line-1{background-position:42% 28% !important;}
.hero .hero-line-2{background-position:50% 47% !important;}
.hero .hero-line-3{background-position:58% 66% !important;}

/* QUÉ HACEMOS · imagen aplicada A CADA SPAN.
   Así recuperamos intacta la animación cinética original de los spans. */
.services-word{
  color:inherit !important;
  -webkit-text-fill-color:initial !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
}
.services-word span{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  background-image:
    linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08)),
    var(--cienequis-photo) !important;
  background-blend-mode:multiply !important;
  background-size:110vw auto !important;
  background-repeat:no-repeat !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
}
.services-word span:nth-child(1){background-position:18% 28% !important;}
.services-word span:nth-child(2){background-position:50% 50% !important;}
.services-word span:nth-child(3){background-position:78% 68% !important;}

/* POR QUÉ ELEGIRNOS · transición real entre blanco e imagen */
#cienequis.home-agency .home-agency-grid > div{
  background:#fff !important;
  background-image:none !important;
  isolation:isolate !important;
  transition:color .34s cubic-bezier(.2,.75,.25,1) !important;
}

#cienequis.home-agency .home-agency-grid > div::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.48)),
    var(--cienequis-photo);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:0;
  transition:opacity .38s cubic-bezier(.2,.75,.25,1);
}

#cienequis.home-agency .home-agency-grid > div > *{
  position:relative !important;
  z-index:1 !important;
}

/* 01 + 04: imagen por defecto → hover blanco */
#cienequis.home-agency .home-agency-grid > div:nth-child(1),
#cienequis.home-agency .home-agency-grid > div:nth-child(4){
  color:#fff !important;
}
#cienequis.home-agency .home-agency-grid > div:nth-child(1)::before,
#cienequis.home-agency .home-agency-grid > div:nth-child(4)::before{
  opacity:1;
}
#cienequis.home-agency .home-agency-grid > div:nth-child(1){
  border-right:1px solid #000 !important;
  border-bottom:1px solid #000 !important;
}

/* 02 + 03: blanco por defecto */
#cienequis.home-agency .home-agency-grid > div:nth-child(2),
#cienequis.home-agency .home-agency-grid > div:nth-child(3){
  color:#000 !important;
}

@media(hover:hover) and (pointer:fine){
  #cienequis.home-agency .home-agency-grid > div:nth-child(1):hover,
  #cienequis.home-agency .home-agency-grid > div:nth-child(4):hover{
    color:#000 !important;
    background:#fff !important;
  }
  #cienequis.home-agency .home-agency-grid > div:nth-child(1):hover::before,
  #cienequis.home-agency .home-agency-grid > div:nth-child(4):hover::before{
    opacity:0 !important;
  }

  #cienequis.home-agency .home-agency-grid > div:nth-child(2):hover,
  #cienequis.home-agency .home-agency-grid > div:nth-child(3):hover{
    color:#fff !important;
    background:#fff !important;
  }
  #cienequis.home-agency .home-agency-grid > div:nth-child(2):hover::before,
  #cienequis.home-agency .home-agency-grid > div:nth-child(3):hover::before{
    opacity:1 !important;
  }
}

@media(max-width:900px){
  .hero{
    background-image:
      linear-gradient(
        90deg,
        rgba(255,255,255,.66) 0%,
        rgba(255,255,255,.54) 42%,
        rgba(255,255,255,.30) 72%,
        rgba(255,255,255,.06) 100%
      ),
      var(--cienequis-photo) !important;
    background-position:60% 50% !important;
  }
  .hero .hero-line{
    background-size:220vw auto !important;
    opacity:.90 !important;
  }
}


/* source style block 14 */
:root{
  --agency-img-1:url("../media/7f9447e7ea93471d.webp");
  --agency-img-2:url("../media/8d74ac44fb8bbd9f.webp");
  --agency-img-3:url("../media/eb76a584f9cbebab.webp");
  --agency-img-4:url("../media/5c8921962266ac95.webp");
}

/* Header: wordmark bastante más pesado sin cambiar su proporción */
.header .logo-word,
.menu-brand-desktop .logo-word{
  font-weight:900 !important;
  -webkit-text-stroke:.75px currentColor !important;
  paint-order:stroke fill !important;
}

/* Cada módulo usa una imagen distinta de la misma familia visual */
#cienequis.home-agency .home-agency-grid > div:nth-child(1)::before{
  background-image:
    linear-gradient(rgba(0,0,0,.46),rgba(0,0,0,.46)),
    var(--agency-img-1) !important;
  background-position:50% 52% !important;
  background-size:cover !important;
}

#cienequis.home-agency .home-agency-grid > div:nth-child(2)::before{
  background-image:
    linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,.42)),
    var(--agency-img-2) !important;
  background-position:54% 48% !important;
  background-size:cover !important;
}

#cienequis.home-agency .home-agency-grid > div:nth-child(3)::before{
  background-image:
    linear-gradient(rgba(0,0,0,.34),rgba(0,0,0,.34)),
    var(--agency-img-3) !important;
  background-position:48% 46% !important;
  background-size:cover !important;
}

#cienequis.home-agency .home-agency-grid > div:nth-child(4)::before{
  background-image:
    linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.48)),
    var(--agency-img-4) !important;
  background-position:52% 50% !important;
  background-size:cover !important;
}

/* Preservamos exactamente la lógica de interacción aprobada:
   01/04 imagen -> blanco; 02/03 blanco -> su propia imagen. */
@media(hover:hover) and (pointer:fine){
  #cienequis.home-agency .home-agency-grid > div:nth-child(1):hover::before,
  #cienequis.home-agency .home-agency-grid > div:nth-child(4):hover::before{
    opacity:0 !important;
  }

  #cienequis.home-agency .home-agency-grid > div:nth-child(2):hover::before,
  #cienequis.home-agency .home-agency-grid > div:nth-child(3):hover::before{
    opacity:1 !important;
  }
}

@media(max-width:900px){
  .header .logo-word,
  .menu-brand-desktop .logo-word{
    -webkit-text-stroke:.6px currentColor !important;
  }
}


/* source style block 15 */
/* 1. Header: vuelve al tratamiento original, sin falso bold. */
.header .logo-word,
.menu-brand-desktop .logo-word{
  font-weight:400 !important;
  -webkit-text-stroke:0 transparent !important;
  text-stroke:0 transparent !important;
  paint-order:normal !important;
}

/* 2. Hero H1: MUCHO más bold, manteniendo la máscara fotográfica. */
.hero-title,
.hero-title .hero-line{
  font-weight:900 !important;
  font-variation-settings:
    'wght' 900,
    'opsz' 17,
    'GRAD' 150 !important;
}

.hero .hero-line{
  -webkit-text-stroke:.58px rgba(255,255,255,.28) !important;
}

/* 3. Footer: espacio real para que el wordmark nunca se recorte. */
.wo-footer-wordmark-wrap{
  overflow:visible !important;
  padding-top:18px !important;
  padding-bottom:26px !important;
}

.wo-footer-wordmark{
  overflow:visible !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
}

.footer-signature .wo-footer-wordmark-inner{
  transform:
    scale(var(--footer-fit,1)) !important;
  transform-origin:left bottom !important;
  will-change:transform !important;
}

@media(max-width:700px){
  .wo-footer-wordmark-wrap{
    padding-top:14px !important;
    padding-bottom:22px !important;
  }
}


/* source style block 16 */
.hero{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
}

/* Video: encuadre completamente fijo; sólo se mueve el contenido de la imagen. */
.hero-bg-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:56% 50%;
  z-index:0;
  pointer-events:none;
  display:block;
  background:transparent;
}

/* El background estático actual queda debajo como fallback/poster natural. */
.hero-grid,
.hero .scroll-dot{
  position:relative !important;
  z-index:2 !important;
}

/* El H1 conserva la máscara estática ya aprobada. */
@media(max-width:900px){
  .hero-bg-video{
    object-position:60% 50%;
  }
}

/* Respeta usuarios que piden menos movimiento. */
@media(prefers-reduced-motion:reduce){
  .hero-bg-video{
    display:none !important;
  }
}


/* source style block 17 */
/* Hero H1 final: una sola capa, blanco 95%, sin máscara ni duplicados. */
.hero .hero-title{
  color:rgba(255,255,255,.95) !important;
  -webkit-text-fill-color:rgba(255,255,255,.95) !important;
  filter:none !important;
}

.hero .hero-title .hero-line{
  color:rgba(255,255,255,.95) !important;
  -webkit-text-fill-color:rgba(255,255,255,.95) !important;
  background:none !important;
  background-image:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-stroke:0 transparent !important;
  text-shadow:none !important;
  filter:none !important;
}

/* Mantener la entrada animada existente, pero sin afectar el color final. */
.hero.hero-in .hero-title .hero-line{
  color:rgba(255,255,255,.95) !important;
  -webkit-text-fill-color:rgba(255,255,255,.95) !important;
}


/* source style block 18 */
/* Restaurar la flecha del hero a su posición aprobada.
   Corrige el override accidental introducido al integrar el video. */
.hero .scroll-dot{
  position:absolute !important;
  right:28px !important;
  bottom:28px !important;
  left:auto !important;
  top:auto !important;
  z-index:10 !important;
}

@media(max-width:700px){
  .hero .scroll-dot{
    right:16px !important;
    bottom:18px !important;
  }
}


/* source style block 19 */
/* =========================================================
   CIENEQUIS · HERO SYSTEM RC1 · 24-09-2026
   Canon visual: hero de Soluciones
   - misma escala H1
   - misma corrección tonal
   - misma transparencia negra
   - misma retícula base 4x4; cada página muestra líneas distintas
   ========================================================= */

:root{--ci-hero-h1:clamp(68px,8.8vw,142px)}
.hero{
  position:relative!important;
  min-height:100svh!important;
  padding:0!important;
  background:#111!important;
  color:#fff!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.hero-bg-video{
  filter:saturate(.78) contrast(.98) brightness(.88)!important;
  transform:scale(1.01)!important;
}
.hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.43) 42%,rgba(0,0,0,.34) 68%,rgba(0,0,0,.46) 100%)!important;
}
.hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,transparent calc(25% - .5px),rgba(255,255,255,.12) 25%,transparent calc(25% + .5px)),
    linear-gradient(90deg,transparent calc(75% - .5px),rgba(255,255,255,.12) 75%,transparent calc(75% + .5px)),
    linear-gradient(180deg,transparent calc(50% - .5px),rgba(255,255,255,.12) 50%,transparent calc(50% + .5px))!important;
}
.hero-grid{
  display:block!important;
  position:relative!important;
  z-index:2!important;
  min-height:100svh!important;
  width:100%!important;
}
.hero-copy{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  text-align:left!important;
}
.hero .kicker{
  position:absolute!important;
  left:var(--pad)!important;
  top:clamp(112px,13vh,160px)!important;
  margin:0!important;
  color:rgba(255,255,255,.72)!important;
  text-align:left!important;
}
.hero .hero-title{
  position:absolute!important;
  left:var(--pad)!important;
  top:34%!important;
  width:min(82vw,1180px)!important;
  max-width:11.5ch!important;
  margin:0!important;
  transform:translateY(-16%)!important;
  font-size:var(--ci-hero-h1)!important;
  line-height:.78!important;
  letter-spacing:-.078em!important;
  font-weight:820!important;
  font-variation-settings:"wght" 820,"opsz" 18,"GRAD" 40!important;
  text-align:left!important;
}
.hero .hero-line{display:block!important;white-space:normal!important}
.hero .hero-line-2{margin-left:9vw!important}
.hero .hero-sub{
  position:absolute!important;
  right:var(--pad)!important;
  bottom:10.5vh!important;
  width:min(420px,28vw)!important;
  max-width:420px!important;
  margin:0!important;
  color:rgba(255,255,255,.84)!important;
  font-size:clamp(16px,1.35vw,21px)!important;
  line-height:1.28!important;
  letter-spacing:-.025em!important;
  text-align:left!important;
}
.hero .hero-primary-link{
  position:absolute!important;
  right:var(--pad)!important;
  bottom:5.8vh!important;
  z-index:3!important;
}
.hero .scroll-dot{z-index:3!important}

@media(max-width:900px){
  :root{--ci-hero-h1:clamp(52px,14vw,78px)}
  .hero::after{
    background:
      linear-gradient(90deg,transparent calc(33.333% - .5px),rgba(255,255,255,.12) 33.333%,transparent calc(33.333% + .5px)),
      linear-gradient(90deg,transparent calc(66.666% - .5px),rgba(255,255,255,.12) 66.666%,transparent calc(66.666% + .5px)),
      linear-gradient(180deg,transparent calc(50% - .5px),rgba(255,255,255,.12) 50%,transparent calc(50% + .5px))!important;
  }
  .hero .kicker{left:22px!important;top:112px!important}
  .hero .hero-title{
    left:22px!important;
    top:31%!important;
    width:calc(100% - 44px)!important;
    max-width:12ch!important;
    transform:none!important;
  }
  .hero .hero-line-2{margin-left:0!important}
  .hero .hero-sub{
    left:22px!important;right:82px!important;bottom:112px!important;
    width:auto!important;max-width:470px!important;
  }
  .hero .hero-primary-link{left:22px!important;right:auto!important;bottom:54px!important}
}


/* source style block 20 */
.hero .kicker{
  display:block!important;
  width:max-content!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
/* ===== RC2.2.2 · Lighthouse accessibility hardening =====
   Motion keeps position/transform, never reduces text contrast. */
@media(prefers-reduced-motion:no-preference){
  html body .hero .kicker,
  html body .hero .hero-line,
  html body .hero .hero-sub,
  html body main .mq54-label,
  html body main .mq54-copy,
  html body main .mq54-title,
  html body main .mq54-row,
  html body main .mq54-kinetic span,
  html body main .industry-row,
  html body .who .big-copy.mq54-copy:not(.mq54-in),
  html body .who .inline-link.mq54-copy:not(.mq54-in),
  html body .industries .section-label.mq54-label:not(.mq54-in),
  html body .industry-row.mq54-row:not(.mq54-in),
  html body .wo-footer .wo-footer-top.mq54-copy:not(.mq54-in),
  html body .wo-footer .wo-footer-wordmark:not(.mq54-in){
    opacity:1 !important;
  }
}
