/* home-critical.css — first viewport (fonts, shell, hero, wizard). Source files kept separately. */

/* <<< fonts.css >>> */
/* Fuentes locales — Raleway + Space Grotesk (variable, latin / latin-ext) */

/* latin-ext */
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/raleway-400-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/raleway-400-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/spacegrotesk-400-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/spacegrotesk-400-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* <<< styles.css >>> */
:root{--lime:#cfff81;--black:#0b0c0a;--paper:#f1f1ed;--line:rgba(11,12,10,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;background:var(--paper);color:var(--black);font-family:Raleway,sans-serif;font-size:18px;line-height:1.6}h1,h2,h3,.brand{font-family:"Space Grotesk",sans-serif;line-height:.98;letter-spacing:-.045em;margin:0}p{margin:0 0 1.4rem}a{color:inherit;text-decoration:none}.topbar{height:82px;padding:0 3.5vw;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:rgba(241,241,237,.93);backdrop-filter:blur(16px);position:fixed;z-index:10;inset:0 0 auto}.brand{font-size:2.2rem;font-weight:700;letter-spacing:-.09em;flex:0 0 auto}.topbar nav{display:flex;gap:2rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;align-items:center;flex:1 1 auto;justify-content:center;min-width:0;padding:0 1rem}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:1.25rem;flex:0 0 auto;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.topbar-tagline{max-width:34rem;line-height:1.25;text-align:center}.topbar-tagline br{display:none}.topbar-guide{white-space:nowrap;align-self:center;border-bottom:1px solid transparent;padding-bottom:.15rem;transition:border-color .2s ease}.topbar-guide:hover,.topbar-guide[aria-current=page]{border-bottom-color:currentColor}.topbar-guide em{font-style:normal;text-transform:none;letter-spacing:-.02em}.top-cta{font-size:.82rem;border-bottom:1px solid;padding-bottom:.2rem;white-space:nowrap}.hero{height:100svh;min-height:720px;position:relative;color:white;overflow:hidden}.hero-media{position:absolute;inset:0;width:100%;height:100%;display:block}.hero-media img{width:100%;height:100%;object-fit:cover;display:block}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.08) 70%)}.hero-copy{position:absolute;left:6vw;bottom:9vh;max-width:840px}.eyebrow{text-transform:uppercase;font-weight:600;font-size:.76rem;letter-spacing:.15em;margin-bottom:1.6rem}.hero h1{font-size:clamp(3.8rem,7.4vw,8.7rem);font-weight:500}.hero-copy>p:not(.eyebrow){max-width:650px;font-size:1.13rem;margin:2rem 0}.actions{display:flex;align-items:center;gap:2rem}.button{display:inline-block;padding:1rem 1.4rem;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.lime{background:var(--lime);color:var(--black)}.dark{background:var(--black);color:white}.text-link{font-size:.86rem;border-bottom:1px solid rgba(255,255,255,.7)}.scroll-mark{position:absolute;right:3vw;bottom:5vh;display:flex;align-items:center;gap:1rem;writing-mode:vertical-rl;font-size:.65rem;letter-spacing:.2em}.scroll-mark i{display:block;height:68px;width:1px;background:white}.lime-section{background:var(--lime)}.manifest{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;padding:10vw 7vw}.sticky-title h2,.concept-intro h2,.renovation h2,.method h2,.faq h2{font-size:clamp(3.4rem,6vw,7rem);font-weight:500}.manifest-copy{padding-top:7rem}.lead{font-family:"Space Grotesk";font-size:clamp(1.5rem,2.2vw,2.4rem);line-height:1.25;letter-spacing:-.025em}.concepts{padding:10vw 6vw;background:var(--black);color:white}.concept-intro{display:grid;grid-template-columns:.2fr 1.1fr .7fr;gap:4vw;align-items:end;padding-bottom:7vw;border-bottom:1px solid #444}.concept-intro span,.number{font-family:"Space Grotesk";color:var(--lime)}.concept-card{display:grid;grid-template-columns:.25fr 1fr;padding:7vw 2vw;border-bottom:1px solid #444;max-width:1400px;margin-left:auto}.concept-card>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:4vw}.concept-card .eyebrow{grid-column:1/-1;color:var(--lime)}.concept-card h3{font-size:clamp(2.2rem,4vw,5rem);font-weight:500}.concept-card ul{grid-column:2;list-style:none;padding:1.5rem 0 0;margin:0;border-top:1px solid #444}.concept-card li{padding:.55rem 0;border-bottom:1px solid #333}.conclusion{max-width:900px;margin:8vw 0 0 auto;font-size:1.35rem}.conclusion strong{display:block;color:var(--lime);font-family:"Space Grotesk";font-size:clamp(2.4rem,4.5vw,5rem);line-height:1.05}.experience{display:grid;grid-template-columns:1.25fr .75fr;min-height:90vh}.experience-image picture{display:block;width:100%;height:100%}.experience-image img{width:100%;height:100%;object-fit:cover}.experience-copy{background:white;padding:10vw 5vw;display:flex;flex-direction:column;justify-content:center}.experience-copy h2{font-size:clamp(3rem,5vw,6rem);margin-bottom:2rem}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.metrics .metric{border-top:1px solid transparent;padding-top:1rem;position:relative}
.metrics .metric:before{
  content:"";
  position:absolute;
  left:0;top:0;
  width:100%;height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .7s cubic-bezier(.16,1,.3,1);
  transition-delay:calc(var(--i,0) * .12s);
}
.metrics .metric strong,
.metrics .metric span{
  display:block;
  opacity:0;
  transform:translate3d(0,10px,0);
  transition:opacity .55s ease,transform .7s cubic-bezier(.16,1,.3,1);
}
.metrics .metric strong{
  transition-delay:calc(var(--i,0) * .12s + .08s);
}
.metrics .metric span{
  font-size:.78rem;
  transition-delay:calc(var(--i,0) * .12s + .16s);
}
.metrics.is-live .metric:before{transform:scaleX(1)}
.metrics.is-live .metric strong,
.metrics.is-live .metric span{
  opacity:1;
  transform:none;
}
@media(prefers-reduced-motion:reduce){
  .metrics .metric:before,
  .metrics .metric strong,
  .metrics .metric span{transition:none;opacity:1;transform:none}
  .metrics .metric:before{transform:scaleX(1)}
}.renovation{background:var(--lime);display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:10vw 7vw;align-items:start}.reform-title{position:sticky;top:calc(82px + 1.5rem);align-self:start;height:fit-content;z-index:2}.reform-content{padding-top:6rem}.before-after{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;margin:3rem 0}.before-after>div:not(.arrow){border-top:2px solid;padding-top:1rem}.before-after span{font-size:.68rem;font-weight:700;letter-spacing:.15em}.method{padding:10vw 6vw}.method-head{display:grid;grid-template-columns:.4fr 1fr;align-items:end}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:7vw;border-top:1px solid}.steps article{padding:2rem 2rem 2rem 0;border-right:1px solid var(--line);min-height:300px}.steps article+article{padding-left:2rem}.steps span{font-family:"Space Grotesk";font-size:.75rem}.steps h3{font-size:1.7rem;margin:4rem 0 1rem}.paths{display:grid;grid-template-columns:1fr 1fr;background:var(--black);color:white}.path{padding:7vw;min-height:520px;position:relative;border-right:1px solid #444;transition:.3s}.path:hover{background:var(--lime);color:var(--black)}.path span{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em}.path h2{font-size:clamp(3rem,5vw,6rem);margin-top:4rem}.path i{position:absolute;right:4vw;bottom:3vw;font-style:normal;font-size:3rem}.faq{padding:10vw 7vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw}.accordions details{border-top:1px solid;padding:1.5rem 0}.accordions details:last-child{border-bottom:1px solid}.accordions summary{list-style:none;cursor:pointer;font-family:"Space Grotesk";font-size:1.3rem;display:flex;justify-content:space-between;gap:2rem}.accordions details p{padding:1.4rem 3rem 0 0}.contact{background:var(--black);color:white;padding:10vw 7vw 3vw}.contact h2{font-size:clamp(3.2rem,6.5vw,6.8rem);font-weight:500;max-width:14ch;line-height:.95}.contact>p:not(.eyebrow){max-width:600px;font-size:1.2rem;margin:3rem 0}.footer{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:end;gap:2rem;border-top:1px solid #444;margin-top:8vw;padding-top:2rem;font-size:.75rem}.footer strong{font-family:"Space Grotesk";font-size:2rem}.footer-meta{display:grid;gap:.85rem;max-width:28rem}.footer-address{font-style:normal;line-height:1.45;margin:0}.footer-legal{border-bottom:1px solid rgba(255,255,255,.45);width:max-content;padding-bottom:.15rem}.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:820px){body{font-size:16px}.topbar{height:66px;padding:0 4vw;gap:.55rem}.topbar nav{display:none}.topbar-actions{gap:.7rem}.topbar-tagline{display:none}.topbar-guide{font-size:.65rem;letter-spacing:.06em}.top-cta{font-size:.65rem;flex-shrink:0;white-space:nowrap}.hero{min-height:680px}.hero-copy{left:5vw;right:5vw}.hero h1{font-size:clamp(3.2rem,14vw,5.8rem)}.actions{align-items:flex-start;flex-direction:column;gap:1rem}.manifest,.renovation,.faq,.experience{grid-template-columns:1fr}.manifest,.renovation,.faq{padding:20vw 7vw}.manifest-copy,.reform-content{padding-top:1rem}.reform-title{position:static}.concepts{padding:18vw 0}.concept-intro{grid-template-columns:1fr}.concept-card{grid-template-columns:1fr;padding:0}.concept-card>div:last-child{grid-template-columns:1fr}.concept-card h3,.concept-card p,.concept-card ul,.concept-card .eyebrow{grid-column:1}.experience-image{height:65vh}.experience-copy{padding:18vw 7vw}.metrics{grid-template-columns:1fr}.method{padding:18vw 7vw}.method-head{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.steps article{min-height:auto;border-right:0;border-bottom:1px solid;padding:2rem 0!important}.steps h3{margin:2rem 0 1rem}.paths{grid-template-columns:1fr}.path{min-height:420px}.footer{grid-template-columns:1fr;gap:1.3rem}.scroll-mark{display:none}}


/* <<< wizard.css >>> */
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.contact-intro{position:sticky;top:120px;height:max-content}.contact-intro>p:not(.eyebrow){max-width:540px;font-size:1.1rem;margin:3rem 0}.project-wizard{background:var(--paper);color:var(--black);padding:clamp(1.6rem,4vw,4.5rem);min-height:660px;display:flex;flex-direction:column}.wizard-top{display:flex;align-items:center;gap:1.5rem;font:600 .72rem "Space Grotesk";letter-spacing:.1em}.progress{height:3px;background:#d5d7d0;flex:1}.progress i{display:block;width:0;height:100%;background:var(--black);transition:.4s}.wizard-step{display:none;padding-top:5rem}.wizard-step.active{display:block}.wizard-step h3,.wizard-success h3{font-size:clamp(2.2rem,3.6vw,4.6rem);margin-bottom:1rem}.wizard-steps{flex:1}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:2.5rem}.choice-grid button,.chips button{font:inherit;text-align:left;border:1px solid #bdc1ba;background:transparent;padding:1.3rem;cursor:pointer;transition:.2s}.choice-grid button:hover,.choice-grid button.selected,.chips button.selected{border-color:var(--black);background:var(--lime)}.choice-grid strong,.choice-grid span{display:block}.choice-grid strong{font-family:"Space Grotesk";font-size:1rem}.choice-grid span{font-size:.76rem;margin-top:.4rem}.chips{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2.5rem}.chips button{padding:.8rem 1rem;font-size:.85rem}.wizard-nav{margin-top:auto;padding-top:3rem;display:flex;justify-content:space-between}.wizard-nav button{border:0;background:none;font:600 .8rem Raleway;cursor:pointer}.wizard-nav button:disabled{opacity:.28}.secure{font-size:.68rem;margin:1rem 0 0;color:#5f665d}.project-wizard--contact .wizard-progress-cta{margin-top:auto}.wizard-step label{display:block;font-size:.78rem;font-weight:700;margin-top:1.2rem}.wizard-step input{display:block;width:100%;border:1px solid #bdc1ba;background:white;padding:1rem;margin-top:.4rem;font:1rem Raleway}.wizard-step label.privacy{display:flex;align-items:flex-start;gap:.5rem;font-weight:400}.wizard-step label.privacy input{width:auto;margin:.25rem 0}.wizard-success{padding-top:7rem}.contact .footer{grid-column:1/-1;margin-top:4vw}@media(max-width:820px){.contact{grid-template-columns:1fr;padding:20vw 7vw}.contact-intro{position:static}.project-wizard{min-height:680px;padding:1.5rem}.wizard-step{padding-top:3rem}.choice-grid{grid-template-columns:1fr}}

.wizard-error{margin:1rem 0 0;font-size:.82rem;font-weight:600;color:#9b1c1c;line-height:1.4}.wizard-progress-cta:disabled{opacity:.55;cursor:wait}
.wizard-step input.is-invalid{border-color:#9b1c1c}
.field-hint{display:block;margin-top:.35rem;font-size:.72rem;font-weight:600;color:#9b1c1c;line-height:1.3}
.field-hint[hidden]{display:none}


/* <<< hero-form.css >>> */
.hero-layout{position:absolute;inset:82px 5vw 5vh 6vw;display:grid;grid-template-columns:1.15fr .65fr;gap:5vw;align-items:end;z-index:auto}
.hero-layout .hero-copy{
  position:static;
  max-width:840px;
  padding-top:0;
  padding-bottom:2vh;
  align-self:end;
}
.hero-form{position:relative;z-index:4;align-self:center;background:rgba(241,241,237,.97);color:var(--black);padding:1.6rem 1.8rem 1.4rem;max-width:500px;justify-self:end;max-height:calc(100svh - 110px);overflow:auto}
.hero-form .wizard-intro .form-title{font:600 clamp(1.6rem,2.4vw,2.2rem) "Space Grotesk";letter-spacing:-.04em;line-height:1.05;margin:0 0 .6rem}
.hero-form .wizard-intro>p:not(.eyebrow):not(.form-title){font-size:.82rem;margin:0 0 .4rem}
.hero-form .wizard-intro .eyebrow{margin-bottom:.8rem}
.hero-form .project-wizard{background:transparent;color:var(--black);padding:0;min-height:0;display:flex;flex-direction:column;gap:.4rem}
.hero-form .wizard-top{margin-top:.8rem}
.hero-form .wizard-step{padding-top:1rem}
.hero-form .wizard-step h3{font-size:clamp(1.35rem,2.2vw,1.85rem);margin-bottom:.4rem}
.hero-form .wizard-step>p:not(.eyebrow){font-size:.78rem;margin-bottom:0}
.hero-form .choice-grid{margin-top:1rem;gap:.55rem}
.hero-form .choice-grid button{padding:.9rem}
.hero-form .chips{margin-top:1rem}
.hero-form .wizard-nav{padding-top:1rem}
.hero-form .wizard-success{padding-top:1.5rem}
.hero-form .wizard-success h3{font-size:clamp(1.5rem,2.4vw,2rem)}
.hero-form .wizard-hint{display:block;margin-top:.6rem;font-size:.67rem}
.hero-form .wizard-step label{margin-top:.8rem}
.hero-form .wizard-step input{padding:.75rem;font-size:.9rem}

/* CTA con relleno de progreso (hero + contact) */
.wizard-progress-cta{position:relative;overflow:hidden;width:100%;border:0;background:#c5c9c2;color:var(--black);padding:1rem 1.1rem;font:700 .78rem Raleway;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;margin-top:.6rem;isolation:isolate}
.wizard-progress-cta:disabled{cursor:not-allowed;opacity:.9}
.wizard-progress-cta__fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--lime);transition:width .35s ease;z-index:0}
.wizard-progress-cta__label{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.wizard-progress-cta__pct{font-variant-numeric:tabular-nums;opacity:.75}
.wizard-progress-cta:not(:disabled) .wizard-progress-cta__fill{background:var(--lime)}
.project-wizard--hero .wizard-top .progress,
.project-wizard--hero .wizard-nav .wizard-next,
.project-wizard--contact .wizard-nav .wizard-next{display:none}
.project-wizard--hero .wizard-nav{justify-content:flex-start;padding-top:.8rem;margin-top:0}
.project-wizard--contact .wizard-progress-cta{margin-top:1rem}

@media(max-width:820px){
  .hero{height:auto;min-height:0;padding-bottom:8vw;background:#111;overflow:visible}
  .hero-media,.hero-shade{position:absolute;inset:0;height:56vh;max-height:56vh}
  .hero-media img{height:100%;width:100%;object-fit:cover}
  /* Copy debajo de imagen + franja blanca (~18vh) */
  .hero-layout{position:relative;inset:auto;display:block;padding:58vh 5vw 0;width:100%;box-sizing:border-box}
  .hero-layout .hero-copy{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    min-height:0;
    max-width:none;
    padding-top:.6rem;
    padding-bottom:0;
    width:100%;
  }
  .hero-form{margin-top:3rem;max-width:none;padding:1.5rem;max-height:none}
  .hero h1{font-size:clamp(2.4rem,10vw,4rem)!important}
}


/* <<< brand-seo.css >>> */
/* Franja blanca con logos: se desplaza con el hero (sin fixed ni reveal) */
.nove-display{
  position:absolute;
  left:0;
  right:0;
  top:28%;
  z-index:2;
  width:100%;
  margin:0;
  pointer-events:none;
  transform:translateY(-50%);
}
.nove-display__band{
  display:flex;
  align-items:center;
  width:100%;
  background:#fff;
  color:#0b0c0a;
  padding:clamp(1.45rem,3vw,2.35rem) 6vw;
  box-sizing:border-box;
}
.nove-display__lockup{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  width:fit-content;
  gap:clamp(.2rem,.5vw,.4rem);
}
.nove-display__product{
  display:block;
  height:clamp(2.6rem,5.8vw,4.8rem);
  width:auto;
}
.nove-display__credit{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.4rem;
  width:100%;
}
.nove-display__by{
  font:500 clamp(.75rem,1.15vw,.95rem)/1 "Space Grotesk",sans-serif;
  letter-spacing:.06em;
  text-transform:lowercase;
  color:#0b0c0a;
}
.nove-display__company{
  display:block;
  height:clamp(1.15rem,2.4vw,1.85rem);
  width:auto;
  filter:brightness(0);
}
.hero-media{overflow:hidden}
.hero-media img{
  will-change:transform;
  transform:scale(1.12);
  transform-origin:center center;
}
.brand-logo{display:block;height:32px;width:auto;filter:brightness(0)}
.topbar .brand{display:flex;align-items:center}
.manifest.lime-section{position:relative;z-index:5}
.hero-copy h1{
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(2.2rem,3.5vw,4.8rem);
  font-weight:500;
  line-height:1.02;
  letter-spacing:-.045em;
  max-width:850px;
  margin:0;
}
.form-title{font:500 clamp(2.2rem,3vw,4rem)/1 "Space Grotesk";letter-spacing:-.04em;margin-bottom:1rem}
.manifest-line{font:600 1.15rem/1.25 "Space Grotesk";margin-top:3rem}
.path>strong{display:block;font-family:"Space Grotesk";font-size:clamp(3rem,5vw,6rem);font-weight:500;line-height:.98;letter-spacing:-.045em;margin-top:4rem}
@media(max-width:820px){
  .nove-display{top:18vh;transform:translateY(-50%)}
  .nove-display__band{padding:1.15rem 5vw}
  .hero-copy h1{font-size:clamp(2.2rem,9vw,3.5rem)}
  .brand-logo{height:26px}
}
@media(prefers-reduced-motion:reduce){
  .hero-media img{will-change:auto;transform:none}
}



/* --- extracted from scroll-progress.css: critical topbar layout --- */
.topbar-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  min-width:0;
  flex:1 1 auto;
  max-width:min(34rem, 42vw);
}
@media(max-width:820px){
  .topbar-center{max-width:none;flex:1}
}
@media(min-width:821px){
  .topbar{
    height:auto;
    min-height:82px;
    padding-top:.65rem;
    padding-bottom:.55rem;
  }
}

