
/* ECHELON GROWTH — design system V6. Self-hosted fonts, no external requests. */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/instrument-serif-regular.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215;}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/instrument-serif-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500 800;font-display:swap;src:url('fonts/manrope-variable.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215;}

:root{
  --cream:#F4F0E9; --white:#FFFFFF; --blue:#C2DAE7; --taupe:#B5A08C; --ink:#111111;
  --cream-deep:#EAE3D5; --blue-deep:#A9CCDE; --taupe-deep:#9C8468; --taupe-line:#D8CDBE;
  --line:rgba(17,17,17,.13); --line-soft:rgba(17,17,17,.08);
  --ink-soft:rgba(17,17,17,.66); --ink-faint:rgba(17,17,17,.46);
  --on-ink:rgba(244,240,233,.72);
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --sans:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --max:1280px; --header-h:80px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:500;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
ul{margin:0}
.skip{position:fixed;z-index:999;top:-100px;left:12px;background:var(--ink);color:var(--cream);padding:14px 18px;font-weight:700;font-size:.85rem}
.skip:focus{top:12px}
a:focus,button:focus,input:focus,select:focus,textarea:focus,[tabindex]:focus{outline:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* type */
h1,h2,h3,h4{font-family:var(--sans);margin:0;color:var(--ink);line-height:1.05;letter-spacing:-.02em;font-weight:700}
h1{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:.98;font-size:clamp(2.9rem,6.4vw,7.4rem)}
h1 em{font-style:italic;color:inherit}
h2{font-family:var(--serif);font-weight:400;letter-spacing:-.005em;line-height:1.04;font-size:clamp(2.2rem,4.4vw,4.4rem)}
h3{font-size:1.32rem;letter-spacing:-.01em;font-weight:700}
p{margin:0;color:var(--ink-soft)}
.lead{font-size:clamp(1.05rem,1.5vw,1.24rem);max-width:720px;color:var(--ink-soft);line-height:1.55}
.small{font-size:.86rem}
.eyebrow{font-family:var(--sans);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--taupe-deep)}

/* layout */
.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.section{padding:118px 0}
.section-sm{padding:80px 0}
.section-head{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:56px}
.section-head>p{max-width:520px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;align-items:center}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;font-weight:700;font-size:.92rem;border:1px solid transparent;cursor:pointer;box-shadow:0 1px 2px rgba(17,17,17,.03);transition:transform .3s var(--ease),background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);min-height:48px}
.btn:focus-visible{outline:2px solid var(--taupe-deep);outline-offset:3px}
.btn-arrow{display:inline-block;transition:transform .3s var(--ease)}
.btn-primary,.btn-dark{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.btn-primary:hover,.btn-dark:hover{background:var(--taupe-deep);border-color:var(--taupe-deep);transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(17,17,17,.32)}
.btn-primary:hover .btn-arrow,.btn-dark:hover .btn-arrow{transform:translateX(4px)}
.btn-primary:active,.btn-dark:active{transform:translateY(-1px);transition-duration:.15s}
.btn-ghost{border-color:rgba(17,17,17,.3);color:var(--ink);background:transparent;box-shadow:none}
.btn-ghost:hover{border-color:var(--ink);background:rgba(17,17,17,.04)}
.btn-outline{border-color:var(--line);background:var(--white);color:var(--ink);box-shadow:none}
.btn-outline:hover{border-color:var(--ink)}
@media(prefers-reduced-motion:reduce){
  .btn-primary:hover,.btn-dark:hover{transform:none}
}

/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:200;padding:22px 0;transition:background-color .35s var(--ease),border-color .35s var(--ease),padding .35s var(--ease)}
.site-header.scrolled{padding:14px 0;background:rgba(244,240,233,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:11px;font-size:1rem;font-weight:800;letter-spacing:.03em;color:var(--ink);transition:color .3s var(--ease)}
.brand span{color:var(--taupe-deep);transition:color .3s var(--ease)}
.brand-mark{width:49px;height:32px;flex:0 0 auto;background-image:url('img/echelon-logo-transparent.png');background-repeat:no-repeat;background-size:196.9px 110.8px;background-position:-75.3px -22.5px}
.navlinks{display:flex;align-items:center;gap:30px;font-size:.9rem;font-weight:600}
.navlinks a:not(.btn){position:relative;display:inline-block;opacity:.82;transition:opacity .28s var(--ease),color .28s var(--ease),transform .28s var(--ease)}
.navlinks a:not(.btn):hover{opacity:1}
.navlinks a:not(.btn):after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--taupe-deep);transform:scaleX(0);transform-origin:left;transition:transform .32s var(--ease)}
.navlinks a.is-active{opacity:1}
@media(hover:hover) and (pointer:fine){
  .brand:hover{color:#000}
  .brand:hover span{color:#93714a}
  .navlinks a:not(.btn):hover{transform:translateY(-1px)}
  .navlinks a:not(.btn):hover:after{transform:scaleX(1)}
}
.menu{display:none;width:28px;height:22px;position:relative;color:var(--ink);background:none;border:0;padding:0;cursor:pointer;flex:0 0 auto}
.menu-icon,.menu-icon:before,.menu-icon:after{content:'';position:absolute;left:0;right:0;height:2px;background:var(--ink);transition:transform .25s var(--ease),opacity .25s var(--ease)}
.menu-icon{top:10px}
.menu-icon:before{top:-8px}
.menu-icon:after{top:8px}

/* hero */
.hero{padding-top:calc(var(--header-h) + 46px);padding-bottom:120px;background:var(--cream);position:relative}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.hero-copy{max-width:900px}
.hero-brand{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.4vw,2.05rem);line-height:1.05;letter-spacing:.005em;color:var(--ink);margin-top:14px}
.hero-copy h1{max-width:490px;font-size:clamp(2.6rem,4.3vw,4.6rem)}
.hero-copy .lead{margin-top:28px;max-width:520px}
.hero-cta-arrow{display:inline-block;transition:transform .3s var(--ease)}
.hero-grid .btn:hover .hero-cta-arrow{transform:translateX(3px)}

/* hero — promo card (auditoría gratuita) */
.hero-promo{background:var(--cream-deep);border:1px solid rgba(191,193,195,.55);border-radius:24px;padding:48px 44px;text-align:center;position:relative}
.hero-promo-fx{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:-1}
.hero-promo:before{content:'';position:absolute;top:-7px;left:-3px;right:-15px;bottom:-15px;background:rgba(238,231,217,.55);border:1px solid rgba(156,132,104,.3);border-radius:28px;pointer-events:none;z-index:-1}
.hero-promo-badge{display:inline-flex;align-items:center;background:var(--taupe-deep);color:var(--cream);font-family:var(--sans);font-weight:700;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:9px 20px;border-radius:999px}
.hero-promo-title{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,2.5vw,2.5rem);line-height:1.15;color:var(--ink);margin-top:26px}
.hero-promo-title em{display:block;font-style:italic;color:var(--taupe-deep);font-size:.72em;margin-top:2px}
.hero-promo-rule{display:flex;align-items:center;gap:10px;width:210px;margin:24px auto}
.hero-promo-rule i{display:block;flex:1;height:1px;background:var(--taupe);transform:scaleX(0);transition:transform .6s var(--ease)}
.hero-promo-copy{font-size:.92rem;color:var(--ink-soft);max-width:360px;margin:0 auto;line-height:1.55}
.hero-promo-indicators{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.hero-promo-item{display:flex;flex-direction:column;align-items:center;gap:10px;position:relative}
.hero-promo-item:before{content:'';position:absolute;left:-7px;top:2px;bottom:14px;width:1px;background:var(--line)}
.hero-promo-item:first-child:before{display:none}
.hero-promo-icon{width:26px;height:26px;color:var(--taupe-deep)}
.hero-promo-icon svg{width:100%;height:100%}
.hero-promo-item span:last-child{font-size:.78rem;font-weight:600;color:var(--ink-soft)}
.hero-promo-divider{display:flex;align-items:center;gap:10px;margin:32px 0 26px}
.hero-promo-divider i{display:block;flex:1;height:1px;background:rgba(17,17,17,.10);transform:scaleX(0);transition:transform .6s var(--ease)}
.hero-promo.reveal.on .hero-promo-rule i{transform:scaleX(1);transition-delay:.45s}
.hero-promo.reveal.on .hero-promo-divider i{transform:scaleX(1);transition-delay:.8s}
.hh-spark{font-style:normal;display:inline-block;color:var(--taupe-deep)}
.hero-promo-badge .hh-spark{margin-right:7px;font-size:.85em}
.hero-promo-rule .hh-spark{font-size:.72rem}
.hero-promo-divider .hh-spark{font-size:.68rem}
.hero-promo-cta{width:100%}
.hero-promo-safe{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;font-size:.85rem;color:var(--ink-soft)}
.hero-promo-safe svg{width:16px;height:16px;color:var(--taupe-deep);flex:0 0 auto}

/* hero — promo card motion (entrance, internal stagger, idle float, hover lift) */
.hero-promo.reveal{transition:opacity .8s var(--ease),transform .8s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);box-shadow:0 8px 30px rgba(17,17,17,.025)}
.hero-promo-reveal.reveal{opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.hero-promo-reveal.reveal.on{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){
  @keyframes heroPromoFloat{0%,100%{transform:translateY(0);box-shadow:0 8px 30px rgba(17,17,17,.025)}50%{transform:translateY(-3px);box-shadow:0 12px 38px rgba(17,17,17,.04)}}
  .hero-promo.reveal.on{animation:heroPromoFloat 7s ease-in-out 1.1s infinite}
  .hero-promo.reveal:hover{animation:none;transform:translateY(-6px);box-shadow:0 18px 42px rgba(17,17,17,.055);border-color:rgba(191,193,195,.75)}
}

/* hero — promo card silver premium accent (hairline border already set above; this layer = sparks + edge highlight + edge sweep) */
.silver-edge{position:absolute;top:0;left:14%;right:38%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent)}
.silver-sweep{position:absolute;top:-1px;left:-16%;width:16%;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);opacity:0}
.spark{position:absolute;display:block;opacity:0;pointer-events:none;filter:drop-shadow(0 0 2px rgba(255,255,255,.55))}
.spark svg{display:block}
.spark--main{top:16px;right:24px;width:28px;height:28px;color:#FFFFFF}
.spark--02{top:12px;left:20px;width:16px;height:16px;color:#E7E7E5}
.spark--03{top:-4px;left:44%;width:13px;height:13px;color:#D2D3D4}
.spark--04{top:42%;right:-3px;width:8px;height:8px;color:#BFC1C3}
.spark--05{bottom:92px;left:16px;width:12px;height:12px;color:#E7E7E5}
.hero-promo.reveal.on .spark--main,.hero-promo.reveal.on .spark--02,.hero-promo.reveal.on .spark--05{animation:silver-spark 5000ms cubic-bezier(.22,1,.36,1) infinite}
.hero-promo.reveal.on .spark--main{animation-delay:0ms}
.hero-promo.reveal.on .spark--02{animation-delay:1000ms}
.hero-promo.reveal.on .spark--05{animation-delay:2600ms}
.hero-promo.reveal.on .silver-sweep{animation:silver-sweep-move 5000ms cubic-bezier(.22,1,.36,1) infinite}
@media(min-width:1061px){
  .hero-promo.reveal.on .spark--03,.hero-promo.reveal.on .spark--04{animation:silver-spark 5000ms cubic-bezier(.22,1,.36,1) infinite}
  .hero-promo.reveal.on .spark--03{animation-delay:450ms}
  .hero-promo.reveal.on .spark--04{animation-delay:1700ms}
}
@keyframes silver-spark{0%{opacity:0;transform:scale(.65) rotate(-8deg)}8%{opacity:1;transform:scale(1) rotate(0deg)}16%,100%{opacity:0;transform:scale(.75) rotate(6deg)}}
@keyframes silver-sweep-move{0%{opacity:0;transform:translateX(0)}4%{opacity:.85}28%{opacity:.85;transform:translateX(560%)}34%,100%{opacity:0;transform:translateX(620%)}}
.hero-promo-cta{position:relative;overflow:hidden}
.hero-promo-cta:before{content:'';position:absolute;top:0;left:-40%;width:35%;height:100%;background:linear-gradient(115deg,transparent,rgba(231,231,229,.4),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
.hero-promo-cta:active{transform:scale(.985);transition-duration:.15s}
@media(hover:hover) and (pointer:fine){
  .hero-promo-cta:hover:before{animation:gsj-sheen .6s var(--ease)}
}

/* hero pin → next section overlay (sticky scroll transition) */
.hero-scene{position:relative}
.hero{position:sticky;top:0;z-index:1;transform-origin:center top;will-change:transform,opacity}
.hero-spacer{height:100vh}
@media(max-width:768px){.hero-spacer{height:60vh}}
.next-overlay{position:relative;z-index:5;background:var(--cream);box-shadow:0 -12px 40px rgba(17,17,17,0)}

/* home hero — mask reveal titular + decorative rule + premium buttons (scoped: .hero/.hero-grid/.hero-promo* are exclusive to index.html) */
.hh-mask{display:block;overflow:hidden}
.hh-mask.reveal{opacity:1;transform:none}
.hh-mask-line{display:block;clip-path:inset(0 0 100% 0);transform:translateY(14%);transition:clip-path .9s var(--ease),transform .9s var(--ease)}
.hh-mask.reveal.on .hh-mask-line{transform:none;clip-path:inset(0 0 0% 0)}
.hh-rule{display:block;width:40px;height:1px;background:var(--taupe);margin:28px 0}
.hh-rule.reveal{opacity:1;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.hh-rule.reveal.on{transform:scaleX(1)}

.hero-grid .btn{position:relative;overflow:hidden;border-radius:12px;padding:17px 30px}
.hero-grid .btn:before{content:'';position:absolute;top:0;left:-40%;width:35%;height:100%;transform:skewX(-18deg);opacity:0;pointer-events:none}
.hero-grid .btn-primary:before{background:linear-gradient(115deg,transparent,rgba(255,255,255,.26),transparent)}
.hero-grid .btn-ghost:before{background:linear-gradient(115deg,transparent,rgba(17,17,17,.07),transparent)}
.hero-grid .btn:active{transform:scale(.99)}
/* .hh-nav-cta — CTA "Hablemos" del header, ÚNICA fuente de verdad visual, idéntica en todas las páginas.
   !important en las propiedades clave es deliberado: algunas páginas tienen sistemas de botón
   propios y con mayor especificidad (.pg-sl/.pg-wc/.pg-crm .btn) para SUS CTAs internos; sin esto,
   ese sistema ganaría sobre el botón del header y produciría una animación distinta según página. */
.hh-nav-cta{position:relative;overflow:hidden;border-radius:12px!important}
.hh-nav-cta:before{content:'';position:absolute;top:0;left:-40%;width:35%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.26),transparent)!important;transform:skewX(-18deg)!important;opacity:0;pointer-events:none;transition:none!important}
.hh-nav-cta:active{transform:translateY(-1px) scale(.985)!important;transition-duration:.16s!important}
@media(hover:hover) and (pointer:fine){
  .hero-grid .btn:hover{box-shadow:0 10px 28px rgba(17,17,17,.14)}
  .hero-grid .btn:hover:before{opacity:1;animation:hh-sheen .6s var(--ease)}
  .hero-grid .btn-primary:hover{background:var(--ink);border-color:var(--ink)}
  .hh-nav-cta:hover{transform:translateY(-2px)!important;box-shadow:0 8px 22px rgba(17,17,17,.16)!important}
  .hh-nav-cta:hover:before{opacity:1!important;animation:hh-sheen .6s var(--ease)!important;transform:skewX(-18deg)!important}
  .btn-primary.hh-nav-cta:hover{background:var(--ink)!important;border-color:var(--ink)!important}
}
@keyframes hh-sheen{0%{left:-40%}100%{left:120%}}

/* home — presentación editorial (nuevo bloque entre hero y servicios; reutiliza .reveal/.hh-mask/.hh-rule/.hh-magnetic/.hh-spark/@keyframes hh-sheen del sistema hero) */
.psn-section{background:var(--cream)}

/* nuestro enfoque — bloque ejecutivo de dos columnas */
.eq-block{background:var(--cream)}
.eq-grid{display:grid;grid-template-columns:1fr 1fr}
.eq-copy{display:flex;flex-direction:column;justify-content:center;padding:96px max(48px,calc((100vw - var(--max))/2)) 80px 68px}
.eq-eyebrow-row{display:flex;align-items:center;gap:16px}
.eq-eyebrow-line{flex:1;height:1px;background:rgba(156,132,104,.35);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.eq-eyebrow-row.reveal.on .eq-eyebrow-line{transform:scaleX(1)}
.eq-spark{font-size:.8rem;flex:0 0 auto}
.eq-title{font-size:clamp(2.6rem,4.4vw,4.5rem);line-height:1.02;max-width:640px;margin-top:24px}
.eq-title em{font-style:italic}
.eq-lead{font-size:1.05rem;line-height:1.65;color:var(--ink-soft);max-width:460px}
.eq-lead em{font-style:normal;color:var(--taupe-deep);font-weight:700}
.eq-divider{display:block;height:1px;background:rgba(17,17,17,.1);margin-top:40px;transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.eq-divider.reveal.on{transform:scaleX(1)}
.eq-pillars{display:flex;margin-top:48px}
.eq-pillar{flex:1;padding:0 26px;position:relative}
.eq-pillar:first-child{padding-left:0}
.eq-pillar:last-child{padding-right:0}
.eq-pillar:not(:last-child):after{content:'';position:absolute;right:0;top:2px;bottom:2px;width:1px;background:rgba(17,17,17,.1)}
.eq-pillar-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.eq-pillar-num{font-family:var(--sans);font-size:1.75rem;font-weight:600;color:var(--taupe-deep);line-height:1;letter-spacing:-.01em}
.eq-pillar-icon{display:flex;width:32px;height:32px;align-items:center;justify-content:center;color:var(--taupe-deep)}
.eq-pillar-icon svg{width:23px;height:23px}
.eq-pillar h3{font-family:var(--sans);font-size:1.02rem;font-weight:600;margin-top:16px;color:var(--ink)}
.eq-pillar p{font-size:.85rem;font-weight:400;line-height:1.5;margin-top:8px;color:var(--ink-soft);max-width:190px}
.eq-action-row{display:flex;align-items:center;gap:32px;margin-top:46px;flex-wrap:wrap}
.eq-cta{position:relative;overflow:hidden;border-radius:12px;padding:18px 30px;box-shadow:0 10px 26px rgba(17,17,17,.16);transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .3s var(--ease),border-color .3s var(--ease)}
.eq-cta:before{content:'';position:absolute;top:0;left:-40%;width:35%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
.eq-cta:active{transform:scale(.99)}
.eq-cta-arrow{display:inline-block;transition:transform .3s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .eq-cta:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(17,17,17,.22)}
  .eq-cta:hover .eq-cta-arrow{transform:translateX(4px)}
  .eq-cta:hover:before{opacity:1;animation:hh-sheen .6s var(--ease)}
}
.eq-trust{display:flex;align-items:center;gap:12px}
.eq-trust-icon{width:34px;height:34px;border-radius:50%;background:rgba(156,132,104,.1);border:1px solid rgba(156,132,104,.28);display:flex;align-items:center;justify-content:center;color:var(--taupe-deep);flex:0 0 auto}
.eq-trust-icon svg{width:17px;height:17px}
.eq-trust p{font-size:.85rem;line-height:1.4;color:var(--ink-soft);font-weight:600;margin:0}
.eq-sign{margin-top:48px;display:flex;flex-direction:column;gap:5px}
.eq-sign strong{font-size:.82rem;letter-spacing:.14em;font-weight:800;color:var(--ink)}
.eq-sign span{font-size:.76rem;letter-spacing:.12em;color:var(--ink-faint);font-weight:700}
.eq-bottom-line{display:flex;align-items:center;gap:14px;margin-top:40px}
.eq-bottom-line-bar{flex:1;height:1px;background:rgba(156,132,104,.35);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.eq-bottom-line.reveal.on .eq-bottom-line-bar{transform:scaleX(1)}

.eq-media-wrap{position:relative;height:100%;background:linear-gradient(155deg,#1c1712 0%,#100d0a 55%,#070605 100%);display:flex;align-items:center;justify-content:center;padding:34px}
.eq-media-photo{position:relative;width:100%;max-width:700px;aspect-ratio:.72;max-height:100%;margin:0 auto;overflow:hidden;border-radius:16px;box-shadow:0 30px 70px -28px rgba(0,0,0,.6)}
.eq-media-photo.reveal{opacity:1;transform:none}
.eq-media-photo img{width:100%;height:100%;object-fit:contain;object-position:center top;display:block;opacity:0;transform:scale(1.015) translateY(10px);transition:opacity .95s var(--ease),transform .95s var(--ease)}
.eq-media-photo.reveal.on img{opacity:1;transform:none}
.eq-metrics-card{position:absolute;left:5%;right:5%;bottom:4%;background:linear-gradient(155deg,#1e1811,#0d0b09);border-radius:16px;padding:34px 38px;display:grid;grid-template-columns:1fr 1.3fr;gap:36px;box-shadow:0 34px 64px -22px rgba(0,0,0,.55)}
.eq-metrics-purpose{display:flex;flex-direction:column;gap:16px}
.eq-metrics-purpose .eyebrow{color:#cba874}
.eq-metrics-purpose p{color:#fff;font-family:var(--serif);font-weight:400;font-size:1.32rem;line-height:1.42;margin:0}
.eq-metrics-grid{display:grid;grid-template-columns:1fr 1fr}
.eq-metric{position:relative;display:flex;flex-direction:column;gap:7px;padding:6px 22px 20px 0}
.eq-metric:nth-child(2n){padding-left:22px;padding-right:0;border-left:1px solid rgba(255,255,255,.12)}
.eq-metric:nth-child(1),.eq-metric:nth-child(2){border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:18px}
.eq-metric:nth-child(3),.eq-metric:nth-child(4){padding-top:18px}
.eq-metric-icon{color:#cba874;width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.eq-metric-icon svg{width:100%;height:100%}
.eq-metric-icon-spark{font-size:1.1rem}
.eq-metric-icon-spark .hh-spark{color:#cba874}
.eq-metric strong{font-family:var(--serif);font-weight:400;font-size:1.9rem;color:#fff;line-height:1}
.eq-metric span{font-size:.66rem;letter-spacing:.09em;color:rgba(255,255,255,.52);font-weight:700}
@media(max-width:1060px){
  .eq-grid{grid-template-columns:1fr}
  .eq-copy{padding:64px 40px 48px}
  .eq-title{max-width:none}
  .eq-media-wrap{height:auto;aspect-ratio:.72}
}
@media(max-width:700px){
  .eq-copy{padding:48px 22px 40px}
  .eq-title{font-size:clamp(2.75rem,10vw,3.25rem);line-height:1.05}
  .eq-pillars{flex-direction:column;gap:26px;margin-top:38px}
  .eq-pillar{padding:0}
  .eq-pillar:not(:last-child):after{display:none}
  .eq-pillar:not(:first-child){border-top:1px solid rgba(17,17,17,.08);padding-top:22px}
  .eq-action-row{flex-direction:column;align-items:flex-start;gap:22px;margin-top:40px}
  .eq-cta{width:100%;justify-content:center}
  .eq-trust{padding-left:2px}
  .eq-media-wrap{height:auto;aspect-ratio:auto;padding:0}
  .eq-media-photo{max-width:none;aspect-ratio:auto;height:auto;max-height:none;overflow:visible;border-radius:0}
  .eq-media-photo img{position:static;width:100%;height:340px;transform:translateY(10px)}
  .eq-metrics-card{position:static;left:auto;right:auto;bottom:auto;margin:0 16px 24px;grid-template-columns:1fr;gap:26px;padding:28px 24px}
  .eq-metrics-grid{gap:0}
}

.psn-seam{display:block;height:1px;position:relative;opacity:1}
.psn-seam-line{display:block;height:1px;width:100%;background:rgba(156,132,104,.35);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.psn-seam.reveal.on .psn-seam-line{transform:scaleX(1)}

.psn-note{padding:100px 0}
.psn-note-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:80px;align-items:start;margin-top:28px}
.psn-note-quote{font-size:clamp(2.3rem,4vw,4.3rem);line-height:1.1;max-width:640px}
.psn-note-para{display:block}
.psn-note-para-2{margin-top:.3em}
.psn-note-body{padding-top:10px}
.psn-note-body p{font-size:1rem;line-height:1.6;max-width:420px}
.psn-note-body p+p{margin-top:20px}
.psn-note-sign{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:42px}
.psn-note-sign-dash{width:18px;height:1px;background:var(--taupe-deep);flex:0 0 auto}
.psn-note-sign-text{text-align:right}
.psn-note-sign-text strong{display:block;font-size:.86rem;letter-spacing:.04em;font-weight:800;color:var(--ink)}
.psn-note-sign-text span{display:block;font-size:.84rem;color:var(--ink-faint);margin-top:3px}
@media(max-width:1060px){
  .psn-note{padding:76px 0}
  .psn-note-grid{grid-template-columns:1fr;gap:40px}
  .psn-note-quote{max-width:none}
  .psn-note-body p{max-width:none}
  .psn-note-sign{justify-content:flex-start}
  .psn-note-sign-text{text-align:left}
}
@media(max-width:700px){
  .psn-note{padding:60px 0}
  .psn-note-quote{font-size:clamp(1.9rem,8.5vw,2.6rem)}
  .psn-note-sign{margin-top:32px}
}

/* services — editorial cards */
.service-tiles{display:grid;grid-template-columns:repeat(6,1fr);justify-content:center;gap:20px;margin-top:56px}
.service-tile{grid-column:span 3;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--white);text-decoration:none;color:inherit;transition:border-color .3s var(--ease)}
.service-tile:hover{border-color:rgba(17,17,17,.3)}
.tile-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--cream-deep)}
.tile-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.service-tile:hover .tile-media img{transform:scale(1.025)}
.tile-body{padding:24px 22px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.tile-num{font-size:.74rem;font-weight:800;color:var(--taupe-deep);letter-spacing:.04em}
.tile-body h3{font-family:var(--serif);font-weight:400;font-size:1.7rem;letter-spacing:0;line-height:1.08;margin:2px 0 0}
.tile-body p{font-size:.92rem;color:var(--ink-soft);margin:0;max-width:36ch}
.tile-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
.tile-pills span{font-size:.72rem;font-weight:700;color:var(--ink-soft);background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:5px 11px;letter-spacing:.01em}
.tile-cta{margin-top:auto;padding-top:10px;font-size:.86rem;font-weight:700;color:var(--ink);display:inline-flex;align-items:center;gap:6px}
.tile-arrow{display:inline-block;transition:transform .3s var(--ease)}
.service-tile:hover .tile-arrow{transform:translate(3px,-3px)}
.service-tiles>.reveal:nth-child(1){transition-delay:0ms}
.service-tiles>.reveal:nth-child(2){transition-delay:80ms}
.service-tiles>.reveal:nth-child(3){transition-delay:160ms}
.service-tiles>.reveal:nth-child(4){transition-delay:240ms}
.service-tiles>.reveal:nth-child(5){transition-delay:320ms}
/* services — closing principles block */
.services-close{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:56px}
.close-main,.close-principle{background:var(--cream);padding:32px 26px;display:flex;flex-direction:column;justify-content:center}
.close-main p{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.1vw,1.9rem);line-height:1.18;color:var(--ink);margin:0}
.close-principle{gap:12px}
.close-icon{width:28px;height:28px;color:var(--taupe-deep);flex:0 0 auto}
.close-principle h4{font-family:var(--sans);font-weight:800;font-size:.8rem;letter-spacing:.06em;color:var(--ink);margin:0}
.close-principle p{font-size:.86rem;color:var(--ink-soft);margin:0;line-height:1.5}

/* editorial split */
.editorial{display:grid;grid-template-columns:1fr 1fr;min-height:600px}
.editorial-media{min-height:600px;background-position:center;background-size:cover;position:relative;overflow:hidden}
.editorial-copy{padding:90px max(48px,calc((100vw - var(--max))/2)) 90px 68px;display:flex;flex-direction:column;justify-content:center}
.editorial.reverse .editorial-media{order:2}
.editorial.reverse .editorial-copy{order:1;padding-left:max(48px,calc((100vw - var(--max))/2));padding-right:68px}
.editorial-copy h2{font-size:clamp(2.3rem,3.8vw,3.9rem)}
.editorial-copy .lead{margin-top:22px}
.editorial-copy .checks{margin-top:26px}
.text-link{font-weight:700;margin-top:26px;color:var(--ink);display:inline-flex;align-items:center;gap:8px;transition:gap .25s var(--ease)}
.text-link:hover{gap:13px}

/* measure — big 2x2 */
.measure{background:var(--cream)}
.measure-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.measure-card{background:var(--cream);padding:48px 46px;min-height:250px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.measure-card .measure-num{font-family:var(--sans);font-weight:800;font-size:.76rem;letter-spacing:.06em;color:var(--taupe-deep)}
.measure-card strong{font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,4vw,3.4rem);letter-spacing:0;color:var(--ink);line-height:1.05}
.measure-card .measure-cat{font-family:var(--sans);font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.measure-card p{font-size:.98rem;color:var(--ink-soft);max-width:380px;margin-top:6px}
.measure-card .measure-caps{font-size:.78rem;color:var(--taupe-deep);letter-spacing:.01em;margin-top:10px}

/* process — sequential */
.process-row{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);position:relative}
.process-step{padding:26px 20px 20px;border-right:1px solid var(--line);min-height:180px;position:relative}
.process-step:last-child{border-right:0}
.process-step:after{content:'→';position:absolute;right:-11px;top:30px;color:var(--taupe-deep);font-weight:800;z-index:2;font-size:.85rem}
.process-step:last-child:after{content:''}
.process-step .num{font-size:.74rem;color:var(--taupe-deep);font-weight:800;margin-bottom:38px;display:block}
.process-step p{font-size:.84rem;margin-top:8px}

/* faq */
.faq{border-top:1px solid var(--line)}
.faq details{padding:24px 0;border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-size:1.08rem;font-weight:700;list-style:none;color:var(--ink);display:flex;justify-content:space-between;gap:20px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';color:var(--taupe-deep);font-size:1.3rem;font-weight:400;flex:0 0 auto}
.faq details[open] summary:after{content:'–'}
.faq p{padding-top:16px;max-width:820px}

/* contact / form */
.contact{background:var(--cream)}
.contact .eyebrow{color:var(--taupe-deep)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;margin-top:34px}
.field{display:grid;gap:8px;padding:14px 0}
.field.full{grid-column:1/-1}
label{font-size:.78rem;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}
input,select,textarea{width:100%;padding:12px 2px;border:none;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);outline:none;border-radius:0;min-height:44px;transition:border-color .25s var(--ease)}
textarea{min-height:100px;padding-top:10px}
input:hover,select:hover,textarea:hover{border-color:rgba(17,17,17,.32)}
input:focus,select:focus,textarea:focus{border-color:var(--ink)}
input:invalid:not(:placeholder-shown),select:invalid{border-color:#a34a3a}
.checkbox{display:flex;gap:12px;align-items:flex-start;font-size:.85rem;color:var(--ink-soft);line-height:1.5}
.checkbox input{width:auto;min-height:20px;min-width:20px;margin-top:2px;accent-color:var(--ink)}
.checkbox a{text-decoration:underline;color:var(--ink)}

/* subpages */
.subhero{padding:calc(var(--header-h) + 76px) 0 92px;background:var(--cream);position:relative;overflow:hidden}
.subhero:after{content:'';position:absolute;width:520px;height:520px;right:-200px;top:-240px;border-radius:50%;background:radial-gradient(circle,rgba(194,218,231,.55),transparent 68%)}
.subhero .container{position:relative;z-index:2}
.subhero h1{max-width:960px;font-size:clamp(2.6rem,5.6vw,5.4rem)}
.subhero p{margin-top:20px}
.content-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:70px;align-items:start}
.checks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:13px}
.checks li{color:var(--ink-soft)}
.checks li:before{content:'→';color:var(--taupe-deep);font-weight:800;margin-right:9px}
.dark-block{padding:40px;background:var(--ink);color:var(--cream);border-left:2px solid var(--taupe)}
.dark-block .eyebrow{color:var(--taupe)}
.dark-block h3{color:var(--cream)}
.dark-block p{color:var(--on-ink)}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.service-card{background:var(--white);border:none;padding:30px;min-height:250px;display:flex;flex-direction:column}
.service-card .num{font-size:.74rem;font-weight:800;color:var(--taupe-deep);margin-bottom:auto}
.service-card h3{margin-top:36px}
.service-card p{font-size:.9rem;margin-top:10px}
.service-card .text-link{font-size:.86rem}

/* contenido-creativo.html — hero (scoped to this page only; .subhero/.content-grid/.dark-block/.checks above are shared with other capability pages and stay untouched) */
.cc-hero{padding:calc(var(--header-h) + 64px) 0 90px;background:var(--cream)}
.cc-hero-grid{display:grid;grid-template-columns:1.15fr 1.3fr .35fr;gap:44px;align-items:center}
.cc-hero-copy h1{max-width:440px;font-size:clamp(2.3rem,3.4vw,3.6rem)}
.cc-hero-copy .lead{max-width:400px}
.cc-hero-media{aspect-ratio:6/5;overflow:hidden;background:var(--cream-deep)}
.cc-hero-media img{width:100%;height:100%;object-fit:cover;display:block}
.cc-hero-index{display:flex;flex-direction:column;gap:26px}
.cc-hero-index-item{display:flex;align-items:baseline;gap:8px}
.cc-hero-index-num{font-family:var(--sans);font-weight:800;font-size:.78rem;color:var(--taupe-deep)}
.cc-hero-index-label{font-family:var(--sans);font-weight:800;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.cc-hero-index-divider{display:block;width:26px;height:1px;background:var(--line)}
.cc-hero-copy.reveal,.cc-hero-media.reveal,.cc-hero-index-item.reveal{transform:translateY(14px)}
@media(max-width:700px){
  .cc-hero{padding:calc(var(--header-h) + 30px) 0 56px}
  .cc-hero-copy h1{max-width:none;font-size:clamp(2.2rem,9vw,2.8rem)}
  .cc-hero-copy .lead{max-width:none}
  .cc-hero-media{aspect-ratio:4/3;margin-top:8px}
  .cc-hero-index{margin-top:8px;gap:18px}
}

/* contenido-creativo.html — qué activamos (scoped; .content-grid/.checks/.dark-block above are shared with other capability pages and stay untouched) */
.cc-activate-grid{display:grid;grid-template-columns:1fr 2.4fr;gap:60px;align-items:start}
.cc-activate-copy h2{max-width:360px;font-size:clamp(2.2rem,3.9vw,3.6rem)}
.cc-activate-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:56px}
.cc-activate-col{position:relative}
.cc-activate-col:not(:first-child):before{content:'';position:absolute;left:-28px;top:0;bottom:0;width:1px;background:var(--line)}
.cc-activate-media{aspect-ratio:5/4;overflow:hidden;background:var(--cream-deep)}
.cc-activate-media img{width:100%;height:100%;object-fit:cover;display:block}
.cc-activate-num{display:block;margin-top:20px;font-family:var(--sans);font-weight:800;font-size:.78rem;letter-spacing:.03em;color:var(--taupe-deep)}
.cc-activate-col h3{font-family:var(--serif);font-weight:400;font-size:1.7rem;letter-spacing:0;line-height:1.1;margin-top:6px;color:var(--ink)}
.cc-activate-rule{display:block;width:28px;height:1px;background:var(--taupe);margin:14px 0}
.cc-activate-col p{font-size:.88rem;color:var(--ink-soft);line-height:1.55;margin:0}
.cc-activate-copy.reveal,.cc-activate-col.reveal{transform:translateY(12px)}
@media(max-width:1060px){
  .cc-activate-grid{grid-template-columns:1fr}
  .cc-activate-cols{grid-template-columns:1fr;gap:40px;margin-top:8px}
  .cc-activate-col:before{display:none}
}
@media(max-width:700px){
  .cc-activate-copy h2{max-width:225px}
}

/* contenido-creativo.html — principio echelon + conectada al sistema (scoped; .dark-block/.section-head/.process-row/.measure/.contact above are shared with other capability pages and stay untouched) */
.cc-principle{background:#111111;border-radius:20px;padding:64px 60px;display:grid;grid-template-columns:1.22fr 1fr;gap:56px}
.cc-principle-left .eyebrow{color:var(--taupe)}
.cc-principle-left h3{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3.1vw,2.9rem);line-height:1.1;color:var(--cream);margin-top:18px;max-width:420px}
.cc-principle-right{border-left:1px solid rgba(255,255,255,.25);padding-left:40px;display:flex;flex-direction:column;justify-content:center;gap:20px}
.cc-principle-right p{font-size:1rem;color:var(--cream);line-height:1.6;margin:0}

.cc-connected-head{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;padding-bottom:64px;border-bottom:1px solid var(--line)}
.cc-connected-left h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,4.6vw,4.6rem);line-height:1.04;letter-spacing:-.005em;margin-top:16px}
.cc-connected-right{border-left:1px solid var(--line);padding-left:40px}
.cc-connected-lead{font-family:var(--sans);font-weight:700;font-size:1.05rem;color:var(--ink);line-height:1.5;margin:0}
.cc-connected-right p:not(.cc-connected-lead){font-size:.95rem;color:var(--ink-soft);line-height:1.6;margin-top:16px}

.cc-journey{position:relative;padding:64px 0;display:flex;flex-direction:column;gap:72px}
.cc-journey-row{display:grid;grid-template-columns:repeat(3,1fr);gap:64px;position:relative;z-index:1}
.cc-step{text-align:center;position:relative}
.cc-step-head{display:flex;align-items:center;justify-content:center;gap:12px}
.cc-step-num{font-family:var(--serif);font-weight:400;font-size:2.5rem;color:var(--taupe-deep);line-height:1}
.cc-step-icon{width:26px;height:26px;color:var(--ink);flex:0 0 auto;transition:transform .25s var(--ease)}
.cc-step-icon svg{width:100%;height:100%}
.cc-step h4{font-family:var(--sans);font-weight:800;font-size:.92rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);margin-top:18px}
.cc-step p{font-size:.86rem;color:var(--ink-soft);margin-top:8px;line-height:1.5}
@media(hover:hover) and (pointer:fine){
  .cc-step:hover .cc-step-icon{transform:translateY(-2px)}
}
.cc-journey-path{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
.cc-journey-path-main,.cc-journey-arrow{fill:none;stroke:var(--taupe-deep);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.75}

.cc-final-divider{display:block;height:1px;background:var(--line);margin:8px 0 64px}
.cc-final{display:grid;grid-template-columns:1.6fr 1fr;gap:64px;align-items:center}
.cc-final-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,2.35vw,2.15rem);line-height:1.25;max-width:640px}
.cc-final-rule{display:block;width:36px;height:1px;background:var(--taupe);margin:22px 0}
.cc-final-copy p{font-size:.98rem;color:var(--ink-soft);line-height:1.6;max-width:420px}
.cc-final-media{aspect-ratio:5/4.6;overflow:hidden;border-radius:8px;background:var(--cream-deep)}
.cc-final-media img{width:100%;height:100%;object-fit:cover;display:block}

.cc-final-cta{display:inline-flex;align-items:center;gap:14px;margin-top:30px;background:var(--ink);color:var(--cream);font-family:var(--sans);font-weight:700;font-size:.94rem;padding:17px 30px;border-radius:12px;position:relative;overflow:hidden;text-decoration:none;transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.cc-final-cta:active{transform:translateY(-1px) scale(.99)}
.cc-final-arrow{display:inline-block;transition:transform .28s var(--ease)}
.cc-final-cta:before{content:'';position:absolute;top:0;left:-40%;width:35%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
@media(hover:hover) and (pointer:fine){
  .cc-final-cta:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(17,17,17,.12)}
  .cc-final-cta:hover .cc-final-arrow{transform:translateX(4px)}
  .cc-final-cta:hover:before{opacity:1;animation:cc-final-sheen .65s var(--ease)}
}
@keyframes cc-final-sheen{0%{left:-40%}100%{left:120%}}

.cc-principle.reveal,.cc-connected-head.reveal,.cc-step.reveal,.cc-final.reveal{transform:translateY(12px)}

@media(max-width:1060px){
  .cc-principle{grid-template-columns:1fr;padding:48px 32px;gap:28px}
  .cc-principle-right{border-left:none;padding-left:0;border-top:1px solid rgba(255,255,255,.25);padding-top:26px}
  .cc-connected-head{grid-template-columns:1fr;gap:26px;padding-bottom:40px}
  .cc-connected-right{border-left:none;padding-left:0}
  .cc-journey{padding:44px 0;gap:36px}
  .cc-journey-row{grid-template-columns:1fr;gap:36px}
  .cc-final{grid-template-columns:1fr;gap:32px}
  .cc-final-divider{margin:0 0 44px}
}
@media(max-width:700px){
  .cc-final-media{aspect-ratio:4/3}
}

/* header — active nav underline (opt-in class, only used on medicina-estetica.html; other pages' navlinks are unaffected) */
.navlinks a.is-active{position:relative}
.navlinks a.is-active:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--taupe-deep);transform:scaleX(0);transform-origin:left;animation:me-nav-underline .5s var(--ease) .2s forwards}
@keyframes me-nav-underline{to{transform:scaleX(1)}}

/* medicina-estetica.html — hero + journey (scoped; .subhero/.editorial/.checks/.measure/.section-head above are shared with other pages and stay untouched) */
.me-hero{padding:calc(var(--header-h) + 70px) 0 96px;background:var(--cream);overflow:hidden}
.me-hero-grid{display:grid;grid-template-columns:1.22fr 1fr;gap:56px;align-items:center}
.me-eyebrow-rule{display:block;width:40px;height:1px;background:var(--taupe);margin:12px 0 24px}
.me-hero-copy h1{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.005em;font-size:clamp(2.5rem,3.9vw,4rem);margin:0}
.me-line{display:block}
.me-hero-copy .lead{margin-top:24px;max-width:460px}
.me-hero-copy .actions{margin-top:34px;display:block}
.me-cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:var(--cream);font-family:var(--sans);font-weight:700;font-size:.94rem;padding:17px 30px;border-radius:12px;text-decoration:none;transition:box-shadow .28s var(--ease)}
.me-cta-arrow{display:inline-block;transition:transform .28s var(--ease)}
.me-cta:before{content:'';position:absolute;top:0;left:-40%;width:35%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
@media(hover:hover) and (pointer:fine){
  .me-cta:hover{box-shadow:0 10px 30px rgba(17,17,17,.12)}
  .me-cta:hover .me-cta-arrow{transform:translateX(4px)}
  .me-cta:hover:before{opacity:1;animation:me-sheen .65s var(--ease)}
}
@keyframes me-sheen{0%{left:-40%}100%{left:120%}}

.me-hero-media-wrap{position:relative}
.me-hero-media{aspect-ratio:.8/1;overflow:hidden;border-radius:110px 0 0 0;background:var(--cream-deep)}
.me-hero-media img{width:100%;height:100%;object-fit:cover;display:block;clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease)}
.me-hero-media.reveal{opacity:1;transform:none}
.me-hero-media.reveal.on img{clip-path:inset(0 0 0% 0)}
.me-hero-cards{position:absolute;left:-125px;bottom:56px;display:flex;flex-direction:column;gap:16px;width:290px;z-index:2}
.me-card{display:flex;gap:16px;align-items:flex-start;background:var(--white);border:1px solid var(--line-soft);border-radius:12px;padding:22px;box-shadow:0 18px 40px rgba(17,17,17,.06)}
.me-card-icon{width:38px;height:38px;border-radius:10px;background:var(--cream-deep);color:var(--taupe-deep);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.me-card-icon svg{width:19px;height:19px}
.me-card h3{font-family:var(--serif);font-weight:400;font-size:1.2rem;color:var(--ink);margin:0}
.me-card p{font-size:.84rem;color:var(--ink-soft);line-height:1.5;margin-top:6px}

.me-journey-section{padding-top:96px}
.me-journey-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:64px}
.me-journey-head h2{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.005em;font-size:clamp(2.3rem,3.6vw,3.1rem);max-width:360px;margin:0}
.me-journey-eyebrow{text-align:right;max-width:280px}
.me-journey{display:grid;grid-template-columns:repeat(4,1fr);column-gap:32px}
.me-stage{position:relative}
.me-stage-top{position:relative;display:flex;align-items:center;gap:10px}
.me-stage:not(:last-child) .me-stage-top:after{content:'→';position:absolute;top:-3px;right:-28px;color:var(--taupe-deep);font-size:.95rem}
.me-stage-num{font-family:var(--serif);font-weight:400;font-size:1.7rem;color:var(--taupe-deep);line-height:1;flex:0 0 auto}
.me-stage-rule{flex:1 1 auto;height:1px;background:var(--line);transform:scaleX(0);transform-origin:left}
.me-stage-icon{width:48px;height:48px;border-radius:50%;background:var(--cream-deep);color:var(--taupe-deep);display:flex;align-items:center;justify-content:center;margin-top:22px}
.me-stage-icon svg{width:21px;height:21px}
.me-stage h4{font-family:var(--sans);font-weight:700;font-size:1rem;color:var(--ink);margin-top:20px}
.me-stage p{font-size:.86rem;color:var(--ink-soft);line-height:1.55;margin-top:8px;max-width:240px}

.me-hero-copy .reveal{transform:translateY(20px)}
.me-card.reveal,.me-stage.reveal{transform:translateY(12px)}
.me-stage.reveal.on .me-stage-rule{transform:scaleX(1);transition:transform .8s var(--ease) .1s}

@media(max-width:1060px){
  .me-hero-grid{grid-template-columns:1fr;gap:64px}
  .me-hero-copy h1,.me-hero-copy .lead{max-width:none}
  .me-hero-media{aspect-ratio:16/11;border-radius:60px 0 0 0}
  .me-hero-cards{position:relative;width:auto;flex-direction:column;margin-top:-70px;left:0;padding:0 28px;z-index:2}
  .me-journey{grid-template-columns:1fr 1fr;row-gap:48px}
  .me-stage:nth-child(2) .me-stage-top:after{display:none}
  .me-stage-icon{margin-top:20px}
}
@media(max-width:700px){
  .me-hero{padding:calc(var(--header-h) + 30px) 0 64px}
  .me-hero-media{border-radius:40px 0 0 0}
  .me-hero-cards{margin-top:-48px;padding:0 16px;gap:14px}
  .me-card{padding:18px}
  .me-journey-head{flex-direction:column;align-items:start;gap:16px;margin-bottom:44px}
  .me-journey-eyebrow{text-align:left;max-width:none}
  .me-journey{grid-template-columns:1fr;row-gap:40px}
  .me-stage-top:after{display:none!important}
}

/* medicina-estetica.html — la decisión / manifiesto / footer final (scoped; replaces the old .me-journey-section markup above, which is left defined but unused for stability — no shared class was removed. .footer/.footer-links/.footer-bottom/.reveal/.btn/.me-magnetic reused as-is, shared with other pages) */
.me-decision{padding-top:96px;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.me-decision.me-decision-recede{opacity:.94;transform:translateY(-8px)}
.me-decision-head{max-width:640px}
.me-decision-title{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.005em;font-size:clamp(2.4rem,4.6vw,3.8rem);margin-top:18px}
.me-decision-title .me-line{display:block}
.me-decision-copy{margin-top:24px;max-width:460px;font-size:1.02rem;line-height:1.6}

.me-path{position:relative;margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);gap:44px 32px}
.me-path-svg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
.me-path-line,.me-path-arrow{fill:none;stroke:var(--taupe-deep);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.7}
.me-path-step{position:relative;z-index:1}
.me-path-step.reveal{transform:translateY(14px)}
.me-path-num{display:inline-block;font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,4.4vw,3.4rem);color:var(--taupe-deep);line-height:1}
.me-path-step h3{font-family:var(--sans);font-weight:700;font-size:.84rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-top:18px}
.me-path-step p{font-size:.87rem;color:var(--ink-soft);line-height:1.5;margin-top:8px;max-width:220px}

.me-decision-seam{height:1px;position:relative;margin-top:64px}
.me-decision-seam-line{display:block;height:1px;width:100%;background:rgba(156,132,104,.35);transform:scaleX(0);transition:transform .5s var(--ease)}
.me-decision-seam.is-revealed .me-decision-seam-line{transform:scaleX(1)}

.me-manifesto{background:#111111;padding:110px 0;opacity:0;transform:translateY(40px);clip-path:inset(4% 0 0 0);transition:opacity .7s var(--ease),transform .7s var(--ease),clip-path .7s var(--ease)}
.me-manifesto.is-revealed{opacity:1;transform:none;clip-path:inset(0 0 0 0)}
.me-manifesto-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:end}
.me-manifesto-eyebrow{color:var(--taupe);letter-spacing:.18em}
.me-manifesto-title{font-family:var(--serif);font-weight:400;line-height:1.16;letter-spacing:-.005em;font-size:clamp(2.3rem,4.3vw,3.6rem);color:var(--cream);margin-top:24px}
.me-manifesto-title .me-line{display:block;max-width:560px}
.me-manifesto-cta{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.me-manifesto-note{font-size:.86rem;color:var(--on-ink)}
.me-manifesto-item{opacity:0;transform:translateY(16px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.me-manifesto.is-revealed .me-manifesto-item{opacity:1;transform:none}

.me-manifest-cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:12px;background:transparent;border:1px solid var(--taupe);color:var(--cream);font-family:var(--sans);font-weight:700;font-size:.94rem;padding:17px 30px;border-radius:12px;text-decoration:none;transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.me-manifest-cta:active{transform:scale(.99)}
.me-manifest-cta-arrow{display:inline-block;transition:transform .28s var(--ease)}
.me-manifest-cta:before{content:'';position:absolute;top:0;left:-40%;width:35%;height:100%;background:linear-gradient(115deg,transparent,rgba(244,240,233,.22),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
@media(hover:hover) and (pointer:fine){
  .me-manifest-cta:hover{box-shadow:0 10px 30px rgba(0,0,0,.35);border-color:var(--cream)}
  .me-manifest-cta:hover .me-manifest-cta-arrow{transform:translateX(4px)}
  .me-manifest-cta:hover:before{opacity:1;animation:me-manifest-sheen .65s var(--ease)}
}
@keyframes me-manifest-sheen{0%{left:-40%}100%{left:120%}}

.me-footer-grid{display:grid;grid-template-columns:1.3fr .58fr .58fr .58fr .85fr;gap:40px}
.me-footer-logo-link{display:inline-block}
.me-footer-logo{width:170px;height:auto;display:block}
.me-footer-cta{border-left:1px solid var(--line);padding-left:32px;display:flex;flex-direction:column;justify-content:center}
.me-footer-cta-rule{display:block;width:32px;height:1px;background:var(--line);margin-bottom:16px}
.me-footer-hablemos{font-family:var(--serif);font-size:1.15rem;color:var(--ink);display:inline-flex;align-items:center;gap:6px}
.me-footer-hablemos span{display:inline-block;transition:transform .28s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .me-footer-hablemos:hover span{transform:translate(2px,-2px)}
}

@media(max-width:1060px){
  .me-path{grid-template-columns:1fr 1fr;row-gap:56px}
  .me-manifesto-grid{grid-template-columns:1fr;gap:40px;align-items:start}
  .me-manifesto-title .me-line{max-width:none}
  .me-footer-grid{grid-template-columns:1fr 1fr 1fr;gap:36px 28px}
  .me-footer-brand{grid-column:1/-1}
  .me-footer-cta{border-left:none;padding-left:0;grid-column:1/-1;margin-top:8px}
}
@media(max-width:700px){
  .me-decision{padding-top:64px}
  .me-decision-copy{max-width:none}
  .me-path{grid-template-columns:1fr;row-gap:44px;margin-top:56px}
  .me-manifesto{padding:76px 0}
  .me-manifesto-note{font-size:.82rem}
  .me-footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}
}

/* legal pages */
.legal-shell{padding:calc(var(--header-h) + 60px) 0 60px;background:var(--cream)}
.legal-copy{max-width:820px;padding-top:20px}
.legal-copy h2{font-family:var(--sans);font-weight:800;font-size:1.35rem;margin-top:52px;margin-bottom:16px;letter-spacing:-.01em}
.legal-copy h3{font-size:1.05rem;margin-top:28px;margin-bottom:10px}
.legal-copy p,.legal-copy li{color:var(--ink-soft);font-size:.98rem}
.legal-copy ul{padding-left:20px;display:grid;gap:8px;margin:14px 0}
.legal-copy a{text-decoration:underline;color:var(--ink)}
.legal-data{display:grid;grid-template-columns:200px 1fr;gap:10px 20px;margin:28px 0;padding:26px 28px;background:var(--white);border:1px solid var(--line);font-size:.92rem}
.legal-data div:nth-child(odd){color:var(--ink-faint);font-weight:700}
.legal-data div:nth-child(even){color:var(--ink)}
.legal-note{margin:26px 0;padding:20px 24px;background:var(--white);border-left:2px solid var(--taupe)}
.legal-note p{color:var(--ink);font-size:.92rem}

/* privacidad.html — rediseño editorial premium (clases pv-* exclusivas de esta página; no tocar .legal-* arriba, compartidas con cookies.html/aviso-legal.html) */
.pv-hero{padding:calc(var(--header-h) + 60px) 0 54px;background:var(--cream)}
.pv-eyebrow-row{display:flex;align-items:center;gap:16px}
.pv-eyebrow-line{width:52px;height:1px;background:rgba(156,132,104,.4);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.pv-eyebrow-row.reveal.on .pv-eyebrow-line{transform:scaleX(1)}
.pv-title{font-size:clamp(2.5rem,5.2vw,4.3rem);margin-top:22px;max-width:780px}
.pv-lead{margin-top:20px;max-width:620px}
.pv-summary{margin-top:8px;max-width:560px;font-size:.94rem;color:var(--ink-faint)}
.pv-meta-row{display:flex;align-items:center;gap:10px;margin-top:30px;flex-wrap:wrap}
.pv-meta{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;letter-spacing:.03em;color:var(--ink-faint);font-weight:700;padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:var(--white)}
.pv-meta i{width:5px;height:5px;border-radius:50%;background:var(--taupe-deep);flex:0 0 auto}

.pv-essentials{padding:64px 0 8px}
.pv-essentials-head{max-width:600px}
.pv-essentials-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.pv-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:26px 24px;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .pv-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -18px rgba(17,17,17,.16);border-color:rgba(17,17,17,.18)}
}
.pv-card-icon{width:34px;height:34px;border-radius:50%;background:var(--cream-deep);display:flex;align-items:center;justify-content:center;color:var(--taupe-deep)}
.pv-card-icon svg{width:17px;height:17px}
.pv-card h3{font-family:var(--sans);font-weight:800;font-size:.96rem;margin-top:16px;color:var(--ink)}
.pv-card p{font-size:.84rem;color:var(--ink-soft);margin-top:8px;line-height:1.5}

.pv-layout{display:grid;grid-template-columns:216px minmax(0,1fr);gap:70px;align-items:start;padding:66px 0 90px}
.pv-nav{position:sticky;top:calc(var(--header-h) + 36px)}
.pv-nav-eyebrow{font-size:.68rem;letter-spacing:.14em;color:var(--ink-faint);font-weight:800;text-transform:uppercase;margin-bottom:18px}
.pv-nav-list{display:flex;flex-direction:column;gap:3px}
.pv-nav-link{position:relative;display:inline-block;width:fit-content;padding:7px 0;font-size:.84rem;font-weight:600;color:var(--ink-soft);transition:color .25s var(--ease)}
.pv-nav-link:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:var(--taupe-deep);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.pv-nav-link:hover{color:var(--ink)}
.pv-nav-link:hover:after{transform:scaleX(1)}
.pv-nav-link.is-active{color:var(--ink);font-weight:800}
.pv-nav-link.is-active:after{transform:scaleX(1);background:var(--ink)}
.pv-nav-num{color:var(--taupe-deep);font-weight:700;margin-right:8px;font-size:.76rem}
.pv-nav-mobile{display:none}

.pv-content{max-width:700px;min-width:0}
.pv-block{padding:44px 0}
.pv-block:first-child{padding-top:0}
.pv-block-head{display:flex;align-items:baseline;gap:16px;scroll-margin-top:calc(var(--header-h) + 24px)}
.pv-block-num{font-family:var(--serif);font-size:1.7rem;font-weight:400;color:var(--taupe-deep);line-height:1;flex:0 0 auto;min-width:40px}
.pv-block-head h2{font-family:var(--sans);font-weight:800;font-size:1.4rem;letter-spacing:-.01em;color:var(--ink);margin:0}
.pv-block-body{margin-top:20px;margin-left:56px}
.pv-block-body p,.pv-block-body li{color:var(--ink-soft);font-size:1rem;line-height:1.7}
.pv-block-body p+p{margin-top:15px}
.pv-block-body h3{font-family:var(--sans);font-weight:800;font-size:1.02rem;margin-top:28px;margin-bottom:9px;color:var(--ink)}
.pv-block-body ul{padding-left:19px;display:grid;gap:9px;margin:15px 0}
.pv-block-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(17,17,17,.32);transition:text-decoration-color .25s var(--ease)}
.pv-block-body a:hover{text-decoration-color:var(--ink)}

.pv-divider{display:block;height:1px;position:relative}
.pv-divider-bar{display:block;height:1px;width:100%;background:rgba(156,132,104,.3);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.pv-divider.reveal.on .pv-divider-bar{transform:scaleX(1)}

.pv-data-card{margin-top:4px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:0 30px;box-shadow:0 20px 44px -26px rgba(17,17,17,.14)}
.pv-data-head{display:flex;align-items:center;gap:12px;padding:20px 0}
.pv-data-icon{width:36px;height:36px;border-radius:50%;background:var(--cream-deep);display:flex;align-items:center;justify-content:center;color:var(--taupe-deep);flex:0 0 auto}
.pv-data-icon svg{width:18px;height:18px}
.pv-data-head span{font-family:var(--sans);font-weight:800;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
.pv-data-card dl{margin:0;border-top:1px solid var(--line-soft)}
.pv-data-row{display:grid;grid-template-columns:190px 1fr;gap:6px 24px;padding:16px 0;border-bottom:1px solid var(--line-soft)}
.pv-data-row:last-child{border-bottom:none}
.pv-data-row dt{color:var(--ink-faint);font-weight:700;font-size:.85rem}
.pv-data-row dd{color:var(--ink);font-size:.97rem;margin:0;font-weight:600}

.pv-note{margin-top:24px;display:flex;gap:15px;padding:20px 24px;background:var(--cream-deep);border-radius:10px;border-left:2px solid var(--taupe-deep)}
.pv-note-icon{color:var(--taupe-deep);flex:0 0 auto;width:20px;height:20px;margin-top:2px}
.pv-note-icon svg{width:100%;height:100%}
.pv-note p{margin:0;color:var(--ink);font-size:.91rem;line-height:1.6}

.pv-close{margin-top:8px;padding-top:36px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.pv-close-meta{font-size:.86rem;color:var(--ink-faint);max-width:360px}
.pv-cta{position:relative;overflow:hidden;border-radius:12px;padding:16px 28px;box-shadow:0 8px 22px rgba(17,17,17,.12);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.pv-cta:before{content:'';position:absolute;top:0;left:-40%;width:35%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.24),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
.pv-cta-arrow{display:inline-block;transition:transform .3s var(--ease)}
.pv-cta:active{transform:scale(.99)}
@media(hover:hover) and (pointer:fine){
  .pv-cta:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(17,17,17,.18)}
  .pv-cta:hover .pv-cta-arrow{transform:translateX(4px)}
  .pv-cta:hover:before{opacity:1;animation:hh-sheen .6s var(--ease)}
}
@media(max-width:1000px){
  .pv-layout{grid-template-columns:1fr;gap:0;padding:8px 0 70px}
  .pv-nav{display:none}
  .pv-nav-mobile{display:flex;gap:9px;overflow-x:auto;padding:4px 2px 16px;margin-bottom:18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .pv-nav-mobile::-webkit-scrollbar{display:none}
  .pv-nav-mobile a{flex:0 0 auto;font-size:.78rem;font-weight:700;padding:9px 16px;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);background:var(--white);white-space:nowrap;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
  .pv-nav-mobile a.is-active{background:var(--ink);color:var(--cream);border-color:var(--ink)}
  .pv-content{max-width:none}
  .pv-block-body{margin-left:0}
  .pv-essentials-grid{grid-template-columns:1fr 1fr}
}
.pv-crossnav{border-top:1px solid var(--line);padding:36px 0 10px;display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.pv-crossnav span{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);font-weight:800}
.pv-crossnav a{position:relative;font-size:.88rem;font-weight:700;color:var(--ink-soft);padding:4px 0;transition:color .25s var(--ease)}
.pv-crossnav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.pv-crossnav a:hover{color:var(--ink)}
.pv-crossnav a:hover:after{transform:scaleX(1)}
@media(max-width:700px){
  .pv-crossnav{gap:16px 22px}
  .pv-hero{padding:calc(var(--header-h) + 40px) 0 40px}
  .pv-essentials{padding:44px 0 4px}
  .pv-essentials-grid{grid-template-columns:1fr;gap:14px}
  .pv-block{padding:34px 0}
  .pv-block-head{gap:12px}
  .pv-block-num{font-size:1.4rem;min-width:32px}
  .pv-block-head h2{font-size:1.2rem}
  .pv-data-card{padding:0 20px}
  .pv-data-row{grid-template-columns:1fr;gap:3px}
  .pv-close{flex-direction:column;align-items:flex-start}
}

/* cookie + footer + wa */
.cookie{position:fixed;z-index:250;left:20px;right:20px;bottom:20px;max-width:660px;margin:auto;background:var(--white);border:1px solid var(--line);padding:22px 24px;display:none}
.cookie.show{display:block}
.cookie-row{display:flex;gap:20px;justify-content:space-between;align-items:center}
.cookie p{font-size:.85rem;color:var(--ink-soft)}
.cookie-actions{display:flex;gap:10px;flex-shrink:0}
.footer{background:var(--white);color:var(--ink);padding:80px 0 30px;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.35fr .65fr .65fr .65fr;gap:48px}
.brand-mark-full{width:190px;height:120px;background-image:url('img/logo.jpeg');background-repeat:no-repeat;background-size:465.5px 261.8px;background-position:-138.2px -70.5px}
.footer h4{font-size:.78rem;letter-spacing:.1em;color:var(--ink);margin:0 0 16px;font-weight:800;text-transform:uppercase}
.footer p,.footer a{color:var(--ink-soft);font-size:.9rem}
.footer a:hover{color:var(--ink)}
.footer-links{display:grid;gap:11px}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:54px;padding-top:22px;color:var(--ink-faint);font-size:.8rem}
.footer-bottom a{color:var(--ink-faint)}

/* site-wide footer — editorial quiet luxury (used on every page; old .footer-grid/.brand-mark-full/.footer-links rules above are left defined but unused for stability, no shared class removed) */
.efoot-grid{display:grid;grid-template-columns:.85fr 1px 1.3fr;column-gap:56px;align-items:start;position:relative}
.efoot-brand{max-width:300px}
.efoot-logo-link{display:inline-block;opacity:0;transform:translateY(12px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.efoot-brand.efoot-on .efoot-logo-link{opacity:1;transform:none}
.efoot-logo{width:168px;height:auto;display:block}
.efoot-tagline{margin-top:20px;font-family:var(--sans);font-size:.94rem;color:var(--ink);line-height:1.5;opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease) .08s,transform .6s var(--ease) .08s}
.efoot-brand.efoot-on .efoot-tagline{opacity:1;transform:none}
.efoot-meta{margin-top:8px;font-family:var(--sans);font-size:.86rem;color:var(--taupe-deep);opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease) .16s,transform .6s var(--ease) .16s}
.efoot-brand.efoot-on .efoot-meta{opacity:1;transform:none}
.efoot-divider{align-self:stretch;width:1px;background:rgba(17,17,17,.12);transform:scaleY(0);transform-origin:center;transition:transform .95s var(--ease)}
.efoot-divider.efoot-on{transform:scaleY(1)}
.efoot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.efoot-col{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.efoot-col.efoot-on{opacity:1;transform:none}
.efoot-col h4{font-family:var(--sans);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe-deep);margin:0 0 18px}
.efoot-links{display:flex;flex-direction:column;gap:12px}
.efoot-links a{position:relative;width:fit-content;font-family:var(--sans);font-size:.92rem;color:var(--ink-soft);opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.efoot-col.efoot-on .efoot-links a{opacity:1;transform:none}
.efoot-col.efoot-on .efoot-links a:nth-child(1){transition-delay:0ms}
.efoot-col.efoot-on .efoot-links a:nth-child(2){transition-delay:35ms}
.efoot-col.efoot-on .efoot-links a:nth-child(3){transition-delay:70ms}
.efoot-col.efoot-on .efoot-links a:nth-child(4){transition-delay:105ms}
.efoot-links a:after{content:'';position:absolute;left:0;bottom:-3px;height:1px;width:0;background:var(--taupe-deep);transition:width .25s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .efoot-links a:hover{color:var(--ink);transition:color .25s var(--ease),transform .25s var(--ease)}
  .efoot-col.efoot-on .efoot-links a:hover{transform:translateX(3px)}
  .efoot-links a:hover:after{width:100%}
}
@media(max-width:860px){
  .efoot-grid{grid-template-columns:1fr}
  .efoot-divider{display:none}
  .efoot-cols{grid-template-columns:1fr 1fr;gap:32px 24px;margin-top:40px}
}
@media(max-width:700px){
  .efoot-cols{grid-template-columns:1fr;gap:32px}
}
.wa{position:fixed;z-index:150;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));width:58px;height:58px;display:grid;place-items:center;animation:wa-reveal .7s var(--ease) .15s both;transition:transform .28s var(--ease)}
.wa img{width:112%;height:112%;object-fit:contain;display:block;filter:drop-shadow(0 10px 26px rgba(17,17,17,.22));transition:transform .3s var(--ease)}
.wa:active{transform:scale(.97)}
@media(hover:hover) and (pointer:fine){
  .wa:hover{transform:translateY(-3px) scale(1.03)}
  .wa:hover img{transform:scale(1.04)}
}
@keyframes wa-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:700px){
  .wa{width:54px;height:54px;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px))}
}

/* growth-system page */
.gs-hero{padding:calc(var(--header-h) + 64px) 0 100px;background:var(--cream)}
.gs-hero-grid{display:grid;grid-template-columns:.7fr 1fr;gap:70px;align-items:start}
.gs-hero-copy h1{max-width:520px;font-family:var(--serif);font-weight:400;line-height:1.06}
.gs-hero-copy h1 em{font-style:italic}
#gsj-title .gsj-line{display:block;opacity:0;transform:translateY(22px);filter:blur(7px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),filter .85s cubic-bezier(.16,1,.3,1)}
#gsj-title.gsj-on .gsj-line{opacity:1;transform:none;filter:blur(0)}
#gsj-title.gsj-on .gsj-line:nth-child(2){transition-delay:.11s}
#gsj-title.gsj-on .gsj-line:nth-child(3){transition-delay:.22s}
#gsj-eyebrow{opacity:0;transform:translateY(8px);letter-spacing:.19em;filter:blur(5px);transition:opacity .6s var(--ease),transform .6s var(--ease),letter-spacing .6s var(--ease),filter .6s var(--ease)}
#gsj-eyebrow.gsj-on{opacity:1;transform:none;letter-spacing:.16em;filter:blur(0)}
.gsj-rule{display:block;width:40px;height:1px;background:var(--taupe);margin:24px 0;transform:scaleX(0);transform-origin:left;transition:transform .75s cubic-bezier(.16,1,.3,1)}
.gsj-rule.gsj-on{transform:scaleX(1)}
#gsj-hero .gsj-fade{opacity:0;transform:translateY(14px);filter:blur(6px);transition:opacity .7s var(--ease),transform .7s var(--ease),filter .7s var(--ease)}
#gsj-hero .gsj-fade.gsj-on{opacity:1;transform:none;filter:blur(0)}
#gsj-hero .reveal{opacity:0;transform:translateY(26px) scale(.985);filter:blur(9px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1)}
#gsj-hero .reveal.on{opacity:1;transform:none;filter:blur(0)}
.gsj-cta-wrap{display:inline-block}
.gsj-cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:12px;border-radius:11px;padding:17px 30px;box-shadow:0 4px 16px rgba(17,17,17,.06);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.gsj-cta.btn-primary:hover{background:var(--ink);border-color:var(--ink)}
.gsj-cta:before{content:'';position:absolute;top:0;left:-40%;width:35%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
.gsj-cta-arrow{display:inline-block;transition:transform .28s var(--ease)}
.gsj-cta:focus-visible{outline:2px solid var(--taupe-deep);outline-offset:3px}
@media(hover:hover) and (pointer:fine){
  .gsj-cta:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(17,17,17,.16)}
  .gsj-cta:hover .gsj-cta-arrow{transform:translateX(4px)}
  .gsj-cta:hover:before{animation:gsj-sheen .65s var(--ease)}
}
.gsj-cta:active{transform:scale(.985);transition:transform .15s var(--ease)}
@keyframes gsj-sheen{0%{opacity:0;left:-40%}30%{opacity:1}100%{opacity:0;left:120%}}
.gsj-microcopy{margin-top:16px;font-size:.85rem;color:var(--ink-soft);opacity:0;transform:translateY(5px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.gsj-microcopy.gsj-on{opacity:.75;transform:none}

.growth-system-media{width:100%;margin-top:72px;border-radius:24px;overflow:hidden;background:var(--cream-deep);box-shadow:0 24px 60px -20px rgba(17,17,17,.16)}
.gsj-motion{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1944/1080;background:transparent;pointer-events:none}
.growth-system-mobile-loop{display:none;width:100%;height:auto;object-fit:contain;border-radius:inherit;pointer-events:none;user-select:none}

/* nosotros.html - "Nuestra forma de pensar" hero photo + Principio 01 + Introduccion + CTA oscuro (nfp- prefix). Hero reuses the gsj-hero/gsj-line/growth-system-media rules above as-is (also present, independently, on growth-system.html's own video hero - same class/ID names, different documents, no conflict). */
.gsj-photo-wrap{position:relative}
.gsj-photo{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:.8/1;clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease)}
#gs-hero-media.reveal.on .gsj-photo{clip-path:inset(0 0 0% 0)}
.gsj-id-card{position:absolute;left:28px;bottom:-28px;max-width:calc(100% - 56px);background:#FFFDF9;border:1px solid rgba(17,17,17,.10);border-radius:14px;padding:14px 20px;box-shadow:0 20px 44px -24px rgba(17,17,17,.22)}
.gsj-id-name{margin:0;font-family:var(--sans);font-size:.82rem;font-weight:800;letter-spacing:.06em;color:var(--ink)}
.gsj-id-role{margin:4px 0 0;font-family:var(--sans);font-size:.78rem;font-weight:500;color:var(--ink-soft)}

.nfp-principle{background:var(--cream-deep)}
.nfp-principle-grid{display:grid;grid-template-columns:.85fr 1fr;gap:64px;align-items:start}
.nfp-principle-rule{display:block;width:40px;height:1px;background:var(--taupe);margin:18px 0}
.nfp-principle-title{margin:0;font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.005em;font-size:clamp(1.9rem,2.8vw,2.7rem)}
.nfp-principle-copy{border-left:1px solid var(--line);padding-left:56px;transition-delay:.1s}
.nfp-principle-main{margin:0;font-family:var(--sans);font-size:1.05rem;line-height:1.55;color:var(--ink-soft)}
.nfp-principle-sub{margin:18px 0 0;font-family:var(--sans);font-size:.92rem;line-height:1.6;color:var(--ink-faint)}

.nfp-intro-inner{max-width:680px}
.nfp-intro-title{margin:20px 0 0;font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.005em;font-size:clamp(2rem,3.6vw,3rem);transition-delay:.08s}
.nfp-intro-copy{margin-top:24px;display:flex;flex-direction:column;gap:14px;transition-delay:.16s}
.nfp-intro-copy p{margin:0;font-family:var(--sans);font-size:1.02rem;line-height:1.6;color:var(--ink-soft);max-width:520px}

/* nosotros.html hero proportion fix - scoped to .pg-nosotros only, does NOT touch the shared .gs-hero-grid/.gs-hero-copy/.growth-system-media rules that growth-system.html's own video hero also relies on. */
.pg-nosotros .gs-hero-grid{grid-template-columns:1.5fr 1fr;gap:80px}
.pg-nosotros .gs-hero-copy h1{max-width:680px;font-size:clamp(58px,5vw,82px);line-height:1}
.pg-nosotros #gsj-lead{max-width:560px}
.pg-nosotros .gsj-photo-wrap{max-width:520px;margin:0 auto}
.pg-nosotros .growth-system-media{border-radius:12px}
.pg-nosotros .gsj-id-card{padding:12px 16px;border-radius:11px}
.pg-nosotros .gsj-id-name{font-size:.76rem}
.pg-nosotros .gsj-id-role{font-size:.72rem}

.gs-final-cta.gs-final-cta--dark{background:#111111;position:relative;overflow:hidden}
.gs-final-cta--dark h2{color:var(--cream);font-family:var(--serif);font-weight:400;line-height:1.18}
.nfp-final-accent{color:var(--taupe-deep)}
.nfp-final-lines{position:absolute;inset:0;color:var(--cream);opacity:.05;pointer-events:none}
.nfp-final-lines svg{display:block;width:100%;height:100%}
.nfp-final-btn{position:relative;overflow:hidden;background:var(--cream);color:var(--ink);border-color:var(--cream)}
.nfp-final-btn:before{content:'';position:absolute;top:0;left:-40%;width:35%;height:100%;background:linear-gradient(115deg,transparent,rgba(17,17,17,.12),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
@media(hover:hover) and (pointer:fine){
  .gs-final-cta--dark .nfp-final-btn:hover{background:var(--white);border-color:var(--white);transform:translateY(-2px)}
  .gs-final-cta--dark .nfp-final-btn:hover:before{opacity:1;animation:gsj-sheen .65s var(--ease)}
}

.gs-band{background:var(--cream);padding:100px 0}
.gs-band .eyebrow{color:var(--ink)}
#ejr-title{font-family:var(--serif);font-weight:400;line-height:1.05}
#ejr-title em{font-style:italic}
#ejr-title .ejr-line{display:block;opacity:0;transform:translateY(24px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
#ejr-title.ejr-on .ejr-line{opacity:1;transform:none}
#ejr-title.ejr-on .ejr-line:nth-child(2){transition-delay:.13s}
#ejr-eyebrow{opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
#ejr-eyebrow.ejr-on{opacity:1;transform:none}
.ejr-rule{display:block;width:40px;height:1px;background:var(--taupe);margin:20px 0;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.ejr-rule.ejr-on{transform:scaleX(1)}
.ejr-fade{opacity:0;transform:translateY(12px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.ejr-fade.ejr-on{opacity:1;transform:none}

.ejr-rail{position:relative;display:flex;margin-top:64px;margin-bottom:210px}
.ejr-rail-svg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
.ejr-rail-line{fill:none;stroke:rgba(17,17,17,.16);stroke-width:1;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ejr-rail-mobile-svg{display:none;position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
.ejr-rail-mobile-line{fill:none;stroke:rgba(17,17,17,.16);stroke-width:1;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ejr-stage{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:1;padding:0 8px;opacity:.34;transition:opacity .5s var(--ease)}
.ejr-stage.ejr-active{opacity:1}
.ejr-stage.ejr-dim{opacity:.6}
.ejr-num{display:block;font-family:var(--sans);font-size:.8rem;font-weight:800;color:var(--taupe-deep);letter-spacing:.02em;opacity:0;transform:translateY(7px);transition:opacity .45s var(--ease),transform .45s var(--ease),color .35s var(--ease)}
.ejr-stage.ejr-active .ejr-num{opacity:1;transform:none}
.ejr-stage.is-active.ejr-detect .ejr-num{color:#6c8896}
.ejr-node{position:relative;width:22px;height:22px;display:flex;align-items:center;justify-content:center;margin:10px 0}
.ejr-node-ring{position:absolute;inset:0;border-radius:50%;border:1px solid transparent;transition:border-color .4s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease)}
.ejr-node-dot{width:8px;height:8px;border-radius:50%;background:var(--cream);border:1.2px solid rgba(17,17,17,.3);transition:background-color .4s var(--ease),border-color .4s var(--ease),transform .4s var(--ease)}
.ejr-node-ripple{position:absolute;inset:-2px;border-radius:50%;border:1px solid var(--blue-deep);opacity:0;pointer-events:none}
.ejr-node-ripple.ejr-ripple-play{animation:ejr-ripple .75s var(--ease)}
@keyframes ejr-ripple{0%{transform:scale(1);opacity:.4}100%{transform:scale(2.4);opacity:0}}
.ejr-stage.is-active.ejr-detect .ejr-node-ring{border-color:var(--blue-deep);transform:scale(1.4)}
.ejr-stage.is-active.ejr-detect .ejr-node-dot{background:#6c8896;border-color:#6c8896;transform:scale(1.1)}
.ejr-icon{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);margin:12px 0 14px;opacity:.4;transform:scale(.92);transition:opacity .5s var(--ease),transform .5s var(--ease),background-color .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease)}
.ejr-stage.ejr-active .ejr-icon{opacity:1;transform:scale(1)}
.ejr-icon svg{width:19px;height:19px}
.ejr-stage.is-active.ejr-detect .ejr-icon{background:var(--blue);border-color:var(--blue-deep);color:var(--ink);box-shadow:0 8px 24px rgba(130,160,175,.16)}
@keyframes ejr-detect-pulse{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}
.ejr-icon.ejr-pulse-play{animation:ejr-detect-pulse .5s var(--ease)}
.ejr-stage h3{font-family:var(--sans);font-weight:800;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);margin:0 0 4px;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease) .04s,transform .4s var(--ease) .04s}
.ejr-stage.ejr-active h3{opacity:1;transform:none}
.ejr-stage p{font-size:.84rem;color:var(--ink-soft);margin:0 0 8px;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease) .08s,transform .4s var(--ease) .08s}
.ejr-stage.ejr-active p{opacity:1;transform:none}
.ejr-cat{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(17,17,17,.42);opacity:0;transform:translateY(5px);transition:opacity .4s var(--ease) .12s,transform .4s var(--ease) .12s,color .3s var(--ease)}
.ejr-stage.ejr-active .ejr-cat{opacity:1;transform:none}
.ejr-stage.is-active.ejr-detect .ejr-cat{color:#6c8896}

.ejr-below{position:absolute;left:0;top:100%;z-index:1}
.ejr-connector{display:block;position:absolute;left:0;top:0;width:1px;height:26px;background:var(--taupe);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}
.ejr-connector.ejr-on{transform:scaleY(1)}
.ejr-annotation{margin:26px 0 0 -6px;width:205px}
.ejr-annotation-eyebrow{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6c8896;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.ejr-annotation-eyebrow.ejr-on{opacity:1;transform:none}
.ejr-annotation-dot{width:6px;height:6px;border-radius:50%;background:var(--blue-deep);flex:0 0 auto}
.ejr-annotation-text{font-size:.88rem;color:var(--ink-soft);line-height:1.5;margin-top:10px;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.ejr-annotation-text.ejr-on{opacity:1;transform:none}
.ejr-annotation-rule{display:block;width:34px;height:1px;background:var(--taupe);margin:16px 0 14px;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.ejr-annotation-rule.ejr-on{transform:scaleX(1)}
.ejr-annotation-label,.ejr-annotation-goal{font-size:.86rem;color:var(--taupe-deep);line-height:1.4;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.ejr-annotation-goal{margin-top:2px}
.ejr-annotation-label.ejr-on,.ejr-annotation-goal.ejr-on{opacity:1;transform:none}

@media(hover:hover) and (pointer:fine){
  .ejr-rail.ejr-ready .ejr-stage{transition:opacity .3s var(--ease),transform .25s var(--ease)}
  .ejr-rail.ejr-ready:hover .ejr-stage:not(.is-active){opacity:.68}
  .ejr-rail.ejr-ready .ejr-stage:hover{opacity:1!important;transform:translateY(-2px)}
  .ejr-rail.ejr-ready .ejr-stage:hover .ejr-icon{box-shadow:0 6px 18px rgba(17,17,17,.08)}
}

.gs-soft{background:var(--cream-deep)}
.gs-side-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:56px;align-items:start}
.gs-case-intro .small{font-size:.86rem}
.gs-case-flow{display:flex;align-items:stretch;gap:0}
.gs-case-block{flex:1;border-radius:8px;padding:24px 18px;display:flex;flex-direction:column;gap:10px}
.gs-case-problem{background:rgba(181,160,140,.18)}
.gs-case-leak{background:var(--white)}
.gs-case-fix{background:rgba(194,218,231,.5)}
.gs-case-goal{background:rgba(17,17,17,.045)}
.gs-case-icon{width:26px;height:26px;color:var(--ink-soft)}
.gs-case-block h4{font-family:var(--sans);font-weight:800;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);margin:0}
.gs-case-block p{font-size:.86rem;color:var(--ink-soft);margin:0;line-height:1.55}
.gs-case-arrow{flex:0 0 auto;display:flex;align-items:center;padding:0 10px;color:var(--ink-faint);font-weight:700}

.gs-solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.gs-solution-icon{width:26px;height:26px;color:var(--taupe-deep);display:block}
.gs-solution-col h4{font-family:var(--sans);font-weight:700;font-size:.94rem;margin:14px 0 0;letter-spacing:-.005em;line-height:1.3}
.gs-solution-col ul{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.gs-solution-col li{font-size:.86rem;color:var(--ink-soft)}

.gs-dark{background:var(--ink);color:var(--on-ink);padding:110px 0}
.gs-dark .eyebrow{color:var(--taupe)}
.gs-dark h2{color:var(--cream)}
.gs-dark .lead{color:var(--on-ink)}
.gs-loop{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.gs-loop-track{display:flex;align-items:center;gap:10px;border:1px solid rgba(244,240,233,.25);border-radius:999px;padding:24px 30px;width:100%}
.gs-loop-node{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.gs-loop-icon{width:44px;height:44px;border-radius:50%;border:1px solid rgba(244,240,233,.32);display:flex;align-items:center;justify-content:center;color:var(--cream)}
.gs-loop-icon svg{width:20px;height:20px}
.gs-loop-node span:last-child{font-size:.82rem;font-weight:600;color:var(--on-ink)}
.gs-loop-arrow{flex:0 0 auto;color:rgba(244,240,233,.4);font-weight:700}
.gs-loop-return{display:flex;align-items:center;gap:8px;color:var(--taupe);font-size:.76rem;font-weight:600;padding-left:8px}
.gs-loop-return svg{width:16px;height:16px}

.gs-final-cta{background:var(--cream)}
.gs-final-inner{max-width:680px;margin:0 auto;text-align:center}
.gs-final-inner .actions{justify-content:center}
.gs-final-cta-btn{padding:15px 28px;border-radius:10px;font-weight:600;font-size:.9rem;letter-spacing:.01em}

/* motion */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.on{opacity:1;transform:none}

/* LCP fix (predeploy audit): hero above-the-fold reveals were taking .7-.9s to finish, delaying LCP. Scoped strictly to hero containers on the pages the audit flagged (Home, growth-system.html, contenido-creativo.html, seo-local-google.html) - only the transition SPEED changes, same properties/easing/stagger-delay, so it still reads as an intentional fade, just fast. Below-the-fold reveals (cards, sections, stats, and every other page) are untouched. */
.hero-scene .reveal,.hero-scene .hh-mask-line{transition-duration:200ms!important}
#gsj-hero .reveal,#gsj-hero .gsj-line,#gsj-hero .gsj-fade,#gsj-hero .gsj-rule,#gsj-hero .gsj-microcopy{transition-duration:200ms!important}
.cc-hero-copy.reveal,.cc-hero-media.reveal,.cc-hero-index-item.reveal{transition-duration:200ms!important}
.sl-hero .reveal{transition-duration:200ms!important}
.service-cards>.reveal:nth-child(1){transition-delay:0ms}
.service-cards>.reveal:nth-child(2){transition-delay:70ms}
.service-cards>.reveal:nth-child(3){transition-delay:140ms}
.service-cards>.reveal:nth-child(4){transition-delay:210ms}
.service-cards>.reveal:nth-child(5){transition-delay:280ms}
.service-cards>.reveal:nth-child(6){transition-delay:350ms}

@media(max-width:1060px){
  .service-tiles{grid-template-columns:repeat(2,1fr)}
  .service-tile,.service-tile:nth-child(4),.service-tile:nth-child(5){grid-column:span 1}
  .services-close{grid-template-columns:1fr 1fr}
  .close-main{grid-column:1/-1}
  .editorial,.grid2,.content-grid,.hero-grid,.cc-hero-grid{grid-template-columns:1fr}
  .hero-promo{max-width:480px}
  .editorial.reverse .editorial-media{order:1}
  .editorial.reverse .editorial-copy{order:2}
  .editorial-copy,.editorial.reverse .editorial-copy{padding:64px 40px}
  .editorial-media{min-height:420px}
  .measure-grid,.service-cards,.grid3,.grid4{grid-template-columns:repeat(2,1fr)}
  .process-row{grid-template-columns:repeat(3,1fr)}
  .process-step:nth-child(3):after{content:''}
  .navlinks{display:none;position:absolute;left:24px;right:24px;top:70px;background:var(--cream);flex-direction:column;align-items:stretch;padding:22px;border:1px solid var(--line);gap:18px}
  .navlinks.open{display:flex}
  .menu{display:block}
}
@media(max-width:700px){
  .container{width:min(var(--max),calc(100% - 40px))}
  .section{padding:80px 0}
  .section-head{display:grid;align-items:start;gap:20px}
  .measure-grid,.process-row,.service-cards,.form,.grid3,.grid4{grid-template-columns:1fr}
  .service-tiles{grid-template-columns:1fr;gap:14px;margin-top:40px}
  .service-tile{grid-column:auto;flex-direction:row;border-radius:8px}
  .tile-media{aspect-ratio:auto;width:36%;flex:0 0 36%}
  .tile-body{padding:14px 14px 14px 12px;gap:6px}
  .tile-body h3{font-size:1.3rem}
  .tile-body p{font-size:.82rem;max-width:none}
  .tile-pills{display:none}
  .tile-cta{padding-top:4px;font-size:.8rem}
  .services-close{margin-top:40px}
  .hero{padding-top:calc(var(--header-h) + 26px);padding-bottom:64px}
  .hero-grid{gap:40px}
  .hero-copy h1{font-size:clamp(2.7rem,11vw,3.6rem)}
  .hero-promo{max-width:none;padding:34px 24px;border-radius:16px}
  .hero-promo:before{top:-6px;left:-3px;right:-11px;bottom:-11px;border-radius:20px}
  .hero-promo-title{font-size:clamp(1.7rem,7vw,2.1rem)}
  .hero-promo-indicators{grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-soft);border-radius:8px;overflow:hidden;margin-top:26px}
  .hero-promo-item{background:var(--cream-deep);padding:18px 8px 16px}
  .hero-promo-item:before{display:none}
  .hero-scene{height:auto!important}
  .hero{position:relative!important;transform:none!important;opacity:1!important}
  .hero-spacer{display:none!important}
  .next-overlay{margin-top:0!important;box-shadow:none!important}
  .process-step:after{display:none}
  .footer-grid{grid-template-columns:1fr;gap:36px}
  .footer-bottom{display:grid;gap:8px}
  .cookie{left:14px;right:14px;bottom:14px;padding:20px}
  .cookie-row{display:grid;gap:16px}
  .cookie-actions{justify-content:flex-start}
  .legal-data{grid-template-columns:1fr;gap:4px 0}
  .legal-data div:nth-child(odd){margin-top:10px}
}
@media(max-width:400px){
  .services-close{grid-template-columns:1fr}
  .close-main{grid-column:auto}
}
@media(max-width:1060px){
  .gs-hero-grid{grid-template-columns:1fr;gap:48px}
  .gs-hero-copy h1{max-width:none}
  .growth-system-media{margin-top:40px;border-radius:20px}
  .gsj-motion{aspect-ratio:768/520}
  .gs-side-grid{grid-template-columns:1fr;gap:40px}
  .ejr-icon{width:40px;height:40px}
  .ejr-stage{padding:0 4px}
  .nfp-principle-grid{grid-template-columns:1fr;gap:40px}
  .nfp-principle-copy{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:28px}
  .gsj-id-card{left:20px;bottom:-24px;padding:12px 16px}
  .pg-nosotros .gs-hero-grid{grid-template-columns:1fr;gap:40px}
  .pg-nosotros .gs-hero-copy h1{max-width:600px}
  .pg-nosotros .gsj-photo-wrap{max-width:460px}
}
@media(max-width:860px){
  .ejr-rail{flex-direction:column;align-items:stretch;margin-top:40px;margin-bottom:0;padding-left:50px;position:relative}
  .ejr-rail-svg{display:none}
  .ejr-rail-mobile-svg{display:block}
  .ejr-num{display:none}
  .ejr-node{display:none}
  .ejr-stage{flex-direction:column;align-items:flex-start;text-align:left;padding:12px 0;position:relative}
  .ejr-icon{position:absolute;left:-50px;top:0;margin:0}
  .ejr-stage h3,.ejr-stage p,.ejr-cat{margin-left:0}
  .ejr-below{position:relative;left:auto!important;top:auto;margin:6px 0 22px 0}
  .ejr-connector{left:0!important}
  .ejr-annotation{margin-left:0;width:auto;max-width:320px}
  .gs-case-flow{flex-direction:column}
  .gs-case-arrow{transform:rotate(90deg);padding:10px 0;align-self:center}
  .gs-loop-track{flex-direction:column;border-radius:26px;padding:26px 22px}
  .gs-loop-arrow{transform:rotate(90deg);padding:2px 0}
}
@media(max-width:700px){
  .gs-hero{padding:calc(var(--header-h) + 34px) 0 70px}
  .growth-system-media{margin-top:28px;border-radius:16px}
  .gsj-motion{display:none}
  .growth-system-mobile-loop{display:block}
  .gs-band{padding:70px 0}
  .gs-solution-grid{grid-template-columns:1fr;gap:36px}
  .ejr-rail{padding-left:44px}
  .ejr-icon{left:-44px;width:38px;height:38px}
  .nfp-principle{background:var(--cream-deep)}
  .nfp-principle-title{font-size:clamp(1.7rem,7vw,2.1rem)}
  .gsj-id-card{position:static;margin-top:16px;max-width:none}
  .gs-final-cta--dark .actions{justify-content:center}
  .pg-nosotros .gs-hero-copy h1{max-width:none;font-size:clamp(42px,12vw,58px)}
  .pg-nosotros #gsj-lead{max-width:none}
  .pg-nosotros .gsj-photo-wrap{max-width:none}
}
/* diagnostico page — editorial + panel form (scoped to diagnostico.html only) */
.diag{padding:calc(var(--header-h) + 64px) 0 90px;background:var(--cream)}
.diag .container{position:relative}
.diag-grid{display:grid;grid-template-columns:1fr;row-gap:56px}
.diag-copy{display:flex;flex-direction:column}
.diag-eyebrow{display:block;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe)}
.diag-title{margin:24px 0 0;font-family:var(--serif);font-size:clamp(48px,4.2vw,72px);font-weight:400;line-height:1.04;color:var(--ink)}
.diag-title em{font-style:italic}
.diag-rule{display:block;width:64px;height:1px;background:var(--taupe);margin-top:32px}
.diag-lead{margin:32px 0 0;max-width:440px;font-family:var(--sans);font-size:16px;font-weight:400;line-height:1.7;color:rgba(17,17,17,.65)}
.diag-analyze{margin-top:48px}
.diag-analyze-grid{display:grid;grid-template-columns:1fr;row-gap:28px;margin-top:24px}
.diag-analyze-item{display:flex;align-items:flex-start;gap:16px}
.diag-analyze-icon{display:flex;height:44px;width:44px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(181,160,140,.35)}
.diag-analyze-icon svg{width:18px;height:18px;color:var(--ink)}
.diag-analyze-item h3{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--ink)}
.diag-analyze-item p{margin-top:4px;font-size:14px;font-weight:400;line-height:1.5;color:rgba(17,17,17,.6)}
.diag-noncompromise{display:flex;align-items:flex-start;gap:16px;margin-top:40px;padding:24px;border-radius:16px;background:rgba(181,160,140,.12)}
.diag-shield{display:flex;height:44px;width:44px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:999px;background:rgba(181,160,140,.2)}
.diag-shield svg{width:18px;height:18px;color:var(--ink)}
.diag-noncompromise h3{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--ink)}
.diag-noncompromise p{margin-top:4px;font-size:14px;font-weight:400;line-height:1.55;color:rgba(17,17,17,.6)}
@media(min-width:640px){
  .diag-analyze-grid{grid-template-columns:repeat(2,1fr);column-gap:32px}
}
@media(min-width:1024px){
  .diag{padding:calc(var(--header-h) + 96px) 0 130px}
  .diag-grid{grid-template-columns:45% 1fr;column-gap:64px;row-gap:0}
  .diag-copy{position:sticky;top:calc(var(--header-h) + 32px);align-self:start}
}
/* diagnostico.html + index.html home-contact — shared panel/form (do not rename: reused on two pages) */
.diag-panel{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:40px}
.diag-form{display:grid;grid-template-columns:1fr 1fr;gap:20px 20px}
.diag-field,.diag-field-full{display:grid;gap:8px}
.diag-field-full{grid-column:1/-1}
.diag-field label,.diag-field-full label{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.diag-optional{color:var(--ink-faint);font-weight:600;text-transform:none;letter-spacing:0}
.diag-field input,.diag-field-full input,.diag-field-full select,.diag-field-full textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--cream);color:var(--ink);min-height:48px;outline:none;transition:border-color .25s var(--ease),background-color .25s var(--ease)}
.diag-field-full textarea{min-height:104px;padding-top:12px;resize:vertical}
.diag-field input::placeholder,.diag-field-full input::placeholder,.diag-field-full textarea::placeholder{color:var(--ink-faint)}
.diag-field input:hover,.diag-field-full input:hover,.diag-field-full select:hover,.diag-field-full textarea:hover{border-color:rgba(17,17,17,.32)}
.diag-field input:focus,.diag-field-full input:focus,.diag-field-full select:focus,.diag-field-full textarea:focus{border-color:var(--ink);background:var(--white)}
.diag-field select,.diag-field-full select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='1.5'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:44px}
.diag-consent{grid-column:1/-1}
.diag-submit-row{grid-column:1/-1;margin-top:4px}
.diag-submit{width:100%}
.diag-note{margin-top:18px;text-align:center;font-size:.8rem;color:var(--ink-faint)}
.diag-close{margin-top:96px;padding-top:34px;border-top:1px solid var(--line);text-align:center}
.diag-close-mark{display:block;width:28px;height:18px;margin:0 auto 16px;background-image:url('img/logo.jpeg');background-repeat:no-repeat;background-size:147.2px 82.8px;background-position:-60px -22px;opacity:.55}
.diag-close p{font-size:.72rem;letter-spacing:.14em;font-weight:700;color:var(--ink-faint);text-transform:uppercase;margin:0}
@media(max-width:700px){
  .diag-panel{padding:26px}
  .diag-form{grid-template-columns:1fr}
  .diag-close{margin-top:64px}
}

/* diagnostico.html — premium form card, reproduced from reference-diagnostico-echelon-premium (scoped to .dg-*, independent from shared .diag-panel/.diag-form) */
.dg-card{display:flex;flex-direction:column;padding:28px;background:#FFFDF9;border:1px solid rgba(17,17,17,.10);border-radius:26px;box-shadow:0 24px 60px -30px rgba(17,17,17,.18)}
.dg-card-header{display:flex;align-items:center;gap:8px}
.dg-card-header svg{width:14px;height:14px;flex:0 0 auto;color:var(--taupe)}
.dg-card-header span{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe)}
.dg-card-title{margin:16px 0 0;font-family:var(--serif);font-size:34px;font-weight:400;line-height:1.1;color:var(--ink)}
.dg-card-subtitle{margin:8px 0 0;font-family:var(--sans);font-size:14px;font-weight:400;color:rgba(17,17,17,.55)}
.dg-hr{display:block;height:1px;margin:32px 0;background:rgba(17,17,17,.10)}
.dg-fields{display:grid;grid-template-columns:1fr;gap:20px}
.dg-field{display:flex;flex-direction:column}
.dg-field-full{grid-column:1/-1}
.dg-label{margin-bottom:8px;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.dg-optional{color:var(--ink-faint);font-weight:500;text-transform:none;letter-spacing:0}
.dg-input,.dg-select,.dg-textarea{width:100%;font-family:var(--sans);font-size:15px;font-weight:400;color:var(--ink);background:#FAF8F3;border:1px solid rgba(181,160,140,.35);border-radius:11px;height:50px;padding:0 12px;outline:none;transition:border-color .25s var(--ease),background-color .25s var(--ease)}
.dg-textarea{height:auto;padding:14px 16px;line-height:1.5;resize:vertical}
.dg-input::placeholder,.dg-textarea::placeholder{color:rgba(17,17,17,.4)}
.dg-input:hover,.dg-select:hover,.dg-textarea:hover{border-color:rgba(181,160,140,.55)}
.dg-input:focus,.dg-select:focus,.dg-textarea:focus{border-color:var(--ink);background:var(--white)}
.dg-select{appearance:none;-webkit-appearance:none;color:rgba(17,17,17,.45);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='1.5'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:44px}
.dg-select:valid{color:var(--ink)}
.dg-divider{display:flex;align-items:center;gap:16px;margin:32px 0}
.dg-divider span{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe);white-space:nowrap}
.dg-divider i{display:block;flex:1;height:1px;background:rgba(17,17,17,.10);font-style:normal}
.dg-consent{display:flex;align-items:center;gap:12px;margin-top:28px;cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:400;color:rgba(17,17,17,.7)}
.dg-consent a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.dg-checkbox{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:20px;height:20px;border-radius:5px;border:1px solid rgba(181,160,140,.35);background-color:transparent;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease)}
.dg-checkbox:checked{background:var(--ink) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.2L5 8.5L9.5 3.5' stroke='%23F4F0E9' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center;border-color:var(--ink)}
.dg-checkbox:focus-visible{outline:2px solid var(--taupe-deep);outline-offset:2px}
.dg-cta{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:56px;margin-top:28px;border:0;border-radius:11px;background:var(--ink);color:var(--cream);cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 16px rgba(17,17,17,.06);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.dg-cta svg{flex:0 0 auto;width:16px;height:16px}
.dg-cta:before{content:'';position:absolute;top:0;left:-40%;width:35%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
.dg-cta-arrow{transition:transform .3s var(--ease)}
.dg-cta:focus-visible{outline:2px solid var(--taupe-deep);outline-offset:3px}
.dg-cta:active{transform:scale(.985);transition:transform .15s var(--ease)}
.dg-note{margin-top:20px;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-size:12.5px;font-weight:400;color:rgba(17,17,17,.45)}
.dg-note svg{width:13px;height:13px;flex:0 0 auto}
@media(hover:hover) and (pointer:fine){
  .dg-cta:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(17,17,17,.16)}
  .dg-cta:hover .dg-cta-arrow{transform:translateX(4px)}
  .dg-cta:hover:before{animation:gsj-sheen .65s var(--ease)}
}
@media(min-width:640px){
  .dg-fields{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .dg-card{padding:40px}
}
@media(prefers-reduced-motion:reduce){
  .dg-cta:hover{transform:none}
}

/* home page — final contact section (reuses .diag-panel/.diag-form from the diagnostico page) */
.home-contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:start}
.home-contact-copy{padding-top:6px}
.home-contact-copy h2{max-width:460px}
.home-contact-copy .lead{max-width:420px}
@media(max-width:1060px){
  .home-contact-grid{grid-template-columns:1fr;gap:48px}
  .home-contact-copy h2,.home-contact-copy .lead{max-width:none}
}

/* home page — cómo pensamos: editorial diagnostic sequence (scoped to this section only) */
.thinking-section{background:var(--cream);padding:136px 0}
.thinking-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:76px;align-items:start}
.thinking-title{font-family:var(--serif);font-weight:400;letter-spacing:-.005em;line-height:1.1;font-size:clamp(2.6rem,4.6vw,4.8rem);max-width:600px}
.td-line{display:block;opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.td-line-em em{font-style:italic;color:var(--ink);transition:color .6s var(--ease)}
.td-line-em em.td-emphasis{color:var(--taupe-deep)}
.thinking-title.td-on .td-line{opacity:1;transform:none}
.thinking-title.td-on .td-line:nth-child(1){transition-delay:0ms}
.thinking-title.td-on .td-line:nth-child(2){transition-delay:100ms}
.thinking-title.td-on .td-line:nth-child(3){transition-delay:200ms}
.thinking-title.td-on .td-line:nth-child(4){transition-delay:330ms}
.thinking-lead{margin-top:26px;max-width:480px}
.td-fade{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.td-fade.td-on{opacity:1;transform:none}
.thinking-closing{margin-top:48px}
.thinking-rule{display:block;height:1px;width:100%;background:rgba(17,17,17,.13);transform:scaleX(0);transform-origin:left;transition:transform .75s var(--ease)}
.thinking-rule.td-on{transform:scaleX(1)}
.thinking-final{font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,1.9vw,1.6rem);color:var(--ink);line-height:1.3;margin:24px 0 0}
.thinking-final em{font-style:italic}

.thinking-flow{position:relative;display:flex;flex-direction:column;gap:20px;padding-left:56px}
.td-divider{position:absolute;left:0;top:2px;bottom:2px;width:1px;background:rgba(17,17,17,.12);transform:scaleY(0);transform-origin:center;transition:transform 1s var(--ease)}
.td-divider.td-on{transform:scaleY(1)}
.td-path-svg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
.td-path-line{fill:none;stroke:var(--taupe-deep);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.6}
.td-path-highlight{fill:none;stroke:#6f93a8;stroke-width:1.5;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .6s var(--ease)}
.td-path-highlight.td-on{opacity:.55}

.thinking-step{position:relative;z-index:1;display:flex;align-items:center;gap:22px;border:1px solid rgba(17,17,17,.12);border-radius:10px;padding:26px 28px;background:var(--white);box-shadow:0 1px 3px rgba(17,17,17,.025);opacity:.28;transform:translateY(16px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),background-color .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease)}
.thinking-step.td-active{opacity:1;transform:none}
.thinking-num{font-family:var(--serif);font-weight:400;font-size:2.1rem;color:var(--taupe-deep);line-height:1;flex:0 0 auto;padding-right:22px;border-right:1px solid var(--line)}
.td-num-in{display:inline-block;opacity:0;transform:translateX(-8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.thinking-step.td-active .td-num-in{opacity:1;transform:none}
.thinking-step-body{display:flex;flex-direction:column;gap:5px;opacity:0;transform:translateY(4px);transition:opacity .4s var(--ease) .08s,transform .4s var(--ease) .08s}
.thinking-step.td-active .thinking-step-body{opacity:1;transform:none}
.thinking-step-body h3{font-family:var(--sans);font-weight:700;font-size:.94rem;letter-spacing:.01em;margin:0;color:var(--ink)}
.thinking-cat{font-family:var(--sans);font-size:.86rem;color:var(--ink-soft)}
.thinking-step-leak.td-detect{background:#E6E9E9;border-color:rgba(148,181,204,.55);box-shadow:0 12px 40px rgba(80,130,160,.1)}
@keyframes td-detect-pulse{0%{transform:scale(1)}50%{transform:scale(1.013)}100%{transform:scale(1)}}
.thinking-step-leak.td-detect-pulse{animation:td-detect-pulse .55s var(--ease)}
.thinking-tag{display:inline-block;width:fit-content;margin-top:2px;font-family:var(--sans);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#3d6b85;background:rgba(194,218,231,.3);border:1px solid rgba(169,204,222,.75);border-radius:999px;padding:4px 10px;opacity:0;transform:translateY(5px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.thinking-tag.td-on{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){
  .thinking-step.td-active:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(17,17,17,.08)}
  .thinking-step-leak.td-active:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(80,130,160,.14)}
}
@media(max-width:1060px){
  .thinking-grid{grid-template-columns:1fr;gap:48px}
  .thinking-title,.thinking-lead{max-width:none}
}
@media(max-width:700px){
  .thinking-section{padding:88px 0}
  .thinking-flow{padding-left:40px;gap:14px}
  .thinking-step{padding:16px 18px;gap:14px}
  .thinking-num{font-size:1.6rem;padding-right:14px}
  .thinking-step-body h3{font-size:.84rem}
  .thinking-cat{font-size:.8rem}
  .thinking-closing{margin-top:36px}
}

/* home page — cómo pensamos → growth system sticky cover transition (mirrors .hero-scene/.hero/.hero-spacer/.next-overlay) */
.thinking-scene{position:relative}
.thinking-pin{position:sticky;top:0;z-index:1;transform-origin:center top;will-change:transform,opacity}
.thinking-spacer{height:46vh}
@media(max-width:768px){.thinking-spacer{height:14vh}}
.system-overlay{position:relative;z-index:5;background:var(--cream);box-shadow:0 -12px 35px rgba(17,17,17,0)}

/* home page — echelon growth system journey (scoped) */
.gsys-grid{display:grid;grid-template-columns:.82fr 1fr;gap:74px;align-items:start}
.gsys-copy{padding-top:4px}
.gsys-title{font-family:var(--serif);font-weight:400;letter-spacing:-.005em;line-height:1.06;font-size:clamp(2.6rem,4.6vw,4.8rem);max-width:520px}
.gsys-title .gsj-line{display:block;opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.gsys-title.gsj-on .gsj-line{opacity:1;transform:none}
.gsys-title.gsj-on .gsj-line:nth-child(2){transition-delay:120ms}
.gsys-lead{margin-top:22px;max-width:440px}
.gsj-fade{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.gsj-fade.gsj-on{opacity:1;transform:none}
.gsys-cta{position:relative;overflow:hidden;border-radius:11px;padding:16px 26px;box-shadow:0 6px 20px rgba(17,17,17,.08);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.gsys-cta:active{transform:scale(.99)}
.gsys-cta:before{content:'';position:absolute;top:0;left:-40%;width:35%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.26),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
.gsys-cta-arrow{display:inline-block;transition:transform .3s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .gsys-cta.btn-dark:hover{box-shadow:0 10px 30px rgba(17,17,17,.14);background:var(--ink);border-color:var(--ink);transform:translateY(-2px)}
  .gsys-cta:hover .gsys-cta-arrow{transform:translateX(4px)}
  .gsys-cta:hover:before{opacity:1;animation:hh-sheen .6s var(--ease)}
}

/* home page — "ECHELON GROWTH SYSTEM" section rebuild: diagram replaces the old 6-item timeline. Reuses .gsys-grid/.gsys-copy/.gsys-title/.gsys-lead/.gsys-cta above as-is (only used in this one section — verified). Generic .reveal/.reveal.on drives entrance (already wired to a single sitewide observer), so no app.js changes and no dependency on the old gsysTimeline/gsysSectionEl sequence (which is bypassed entirely now that #gsys-timeline no longer exists in the DOM). */
.gsys-copy .gsys-title.reveal{transition-delay:80ms}
.gsys-copy .gsys-lead.reveal{transition-delay:160ms}
.gsys-copy .actions.reveal{transition-delay:260ms}
.gsys-copy .gsys-micro-rule.reveal{transition-delay:320ms}
.gsys-copy .gsys-microcopy.reveal{transition-delay:360ms}
.gsys-micro-rule{display:block;width:40px;height:1px;background:var(--taupe);opacity:.6;margin:26px 0 12px}
.gsys-microcopy{margin:0;font-family:var(--sans);font-size:.85rem;color:var(--ink-soft)}
.gsys-diagram-wrap{width:100%;transition-delay:200ms}
.gsys-diagram-wrap.reveal{transform:translateY(20px) scale(.985)}
.gsys-diagram-wrap.reveal.on{transform:none}
.gsys-diagram{display:block;width:100%;height:auto;object-fit:contain;transition:transform .6s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .gsys-diagram-wrap:hover .gsys-diagram{transform:scale(1.012)}
}
@media(max-width:1060px){
  .gsys-diagram-wrap{max-width:560px;margin:0 auto}
}

.gsys-timeline{position:relative;padding-left:58px}
.gsj-divider{position:absolute;left:0;top:2px;bottom:2px;width:1px;background:rgba(17,17,17,.12);transform:scaleY(0);transform-origin:center;transition:transform 1s var(--ease)}
.gsj-divider.gsj-on{transform:scaleY(1)}
.gsj-path-svg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
.gsj-path-line{fill:none;stroke:var(--taupe-deep);stroke-width:1.15;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.6}

.gsys-item{position:relative;z-index:1;display:flex;align-items:center;gap:26px;padding:26px 0;opacity:.34;transform:translateX(0);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}
.gsys-item:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(17,17,17,.08);transform:scaleX(0);transform-origin:left center;transition:transform .6s var(--ease)}
.gsys-item:last-child:after{display:none}
.gsys-item.gsj-active{opacity:1}
.gsys-item.gsj-active:after{transform:scaleX(1)}
.gsys-item.gsj-focus{transform:translateX(5px)}
.gsys-num{font-family:var(--serif);font-weight:400;font-size:2.1rem;color:var(--taupe-deep);line-height:1;flex:0 0 auto;width:56px}
.gsj-num-in{display:inline-block;opacity:0;transform:translateX(-10px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.gsys-item.gsj-active .gsj-num-in{opacity:1;transform:none}
.gsys-dot{position:absolute;left:64px;top:50%;width:6px;height:6px;border-radius:50%;background:var(--taupe-deep);transform:translate(-50%,-50%);z-index:2;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.gsys-item.gsj-active .gsys-dot{transform:translate(-50%,-50%) scale(1.35);box-shadow:0 0 0 5px rgba(156,132,104,.14)}
.gsys-icon{width:56px;height:56px;border-radius:50%;background:rgba(194,218,231,.32);border:1px solid rgba(169,204,222,.35);display:flex;align-items:center;justify-content:center;color:var(--ink);flex:0 0 auto;position:relative;opacity:.45;transform:scale(.93);transition:opacity .5s var(--ease),transform .5s var(--ease),box-shadow .5s var(--ease)}
.gsys-item.gsj-active .gsys-icon{opacity:1;transform:scale(1);box-shadow:0 8px 28px rgba(130,160,175,.12)}
.gsys-icon svg{width:22px;height:22px}
@keyframes gsj-complete-pulse{0%{transform:scale(1)}50%{transform:scale(1.115)}100%{transform:scale(1)}}
.gsys-icon.gsj-complete{animation:gsj-complete-pulse .48s var(--ease)}
.gsys-body{opacity:0;transform:translateY(4px);transition:opacity .4s var(--ease) .07s,transform .4s var(--ease) .07s}
.gsys-item.gsj-active .gsys-body{opacity:1;transform:none}
.gsys-body h3{font-family:var(--sans);font-weight:700;font-size:1.05rem;margin:0;color:var(--ink);letter-spacing:-.005em}
.gsys-body p{font-size:.9rem;color:var(--ink-soft);margin-top:4px}
@media(hover:hover) and (pointer:fine){
  .gsys-item.gsj-active:hover{transform:translateX(5px) translateY(-2px)}
}
@media(max-width:1060px){
  .gsys-grid{grid-template-columns:1fr;gap:48px}
  .gsys-title{max-width:none}
  .gsj-divider{display:none}
}
@media(max-width:700px){
  .gsys-timeline{padding-left:44px}
  .gsys-item{padding:18px 0;gap:16px}
  .gsys-num{font-size:1.6rem;width:40px}
  .gsys-dot{left:44px}
  .gsys-icon{width:46px;height:46px}
  .gsys-icon svg{width:19px;height:19px}
  .gsys-body h3{font-size:.94rem}
  .gsys-body p{font-size:.84rem}
}

/* home page — qué cambia: echelon outcome matrix (replaces the old "qué hacemos" .measure section; .measure* rules above stay untouched, still used by 8 other pages) */
.qc-section{background:var(--cream)}
.qc-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;position:relative}
.qc-grid:before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--line);transform:translateX(-50%) scaleY(0);transform-origin:center;opacity:.7;transition:transform 1s var(--ease),opacity .5s var(--ease)}
.qc-grid.qcm-on:before{transform:translateX(-50%) scaleY(1)}
.qc-grid.qcm-complete:before{opacity:1}
.qc-title{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.005em;font-size:clamp(2.6rem,4.6vw,4.6rem);max-width:520px;align-self:start}
.qc-title .qcm-line{display:block;opacity:0;transform:translateY(22px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.qc-title.qcm-on .qcm-line{opacity:1;transform:none}
.qc-title.qcm-on .qcm-line:nth-child(2){transition-delay:110ms}
.qc-title.qcm-on .qcm-line:nth-child(3){transition-delay:260ms}
.qc-side{align-self:start;padding-top:8px}
.qc-side p{font-size:1.05rem;color:var(--ink-soft);max-width:400px;line-height:1.55;margin:0}
.qcm-para-a,.qcm-para-b{display:block;opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.qc-side.qcm-on .qcm-para-a{opacity:1;transform:none}
.qc-side.qcm-on .qcm-para-b{opacity:1;transform:none;transition-delay:120ms}
.qcm-fade{opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.qcm-fade.qcm-on{opacity:1;transform:none}
.qcm-mobile-path{display:none}

.qc-grid>.qc-block{position:relative;padding-top:38px;margin-top:38px;opacity:.38;transform:translateY(8px);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}
.qc-grid>.qc-block:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:rgba(156,132,104,.2);transform:scaleX(0);transform-origin:center;transition:transform .6s var(--ease)}
.qc-block.qcm-active{opacity:1;transform:none}
.qc-block.qcm-active:before{transform:scaleX(1)}
.qc-block{display:flex;align-items:center;justify-content:space-between;gap:20px}
.qc-block-main{display:flex;align-items:flex-start;gap:18px}
.qc-num{font-family:var(--serif);font-weight:400;font-size:2.1rem;color:var(--taupe-deep);line-height:1;flex:0 0 auto;padding-right:18px;border-right:1px solid var(--line);opacity:.55;transition:opacity .4s var(--ease)}
.qc-block.qcm-active .qc-num{opacity:1}
.qcm-num-in{display:inline-block;opacity:0;transform:translateX(-10px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.qc-block.qcm-active .qcm-num-in{opacity:1;transform:none}
.qc-icon{width:52px;height:52px;border-radius:50%;background:rgba(194,218,231,.32);border:1px solid rgba(169,204,222,.35);display:flex;align-items:center;justify-content:center;color:var(--ink);flex:0 0 auto;opacity:.45;transform:scale(.92);transition:opacity .5s var(--ease) .07s,transform .5s var(--ease) .07s,box-shadow .5s var(--ease) .07s}
.qc-block.qcm-active .qc-icon{opacity:1;transform:scale(1);box-shadow:0 8px 28px rgba(130,160,175,.1)}
.qc-icon svg{width:22px;height:22px}
.qc-body{opacity:.4;transition:opacity .45s var(--ease) .07s}
.qc-block.qcm-active .qc-body{opacity:1}
.qc-body h3{font-family:var(--sans);font-weight:700;font-size:.96rem;letter-spacing:.01em;margin:0;color:var(--ink-soft);line-height:1.3;transition:color .4s var(--ease) .07s}
.qc-block.qcm-active .qc-body h3{color:var(--ink)}
.qc-body p{font-size:.88rem;color:var(--ink-soft);margin-top:6px;max-width:280px}
.qcm-connector{position:absolute;top:50%;right:-45px;width:40px;height:1px;transform:translateY(-50%) scaleX(0);transform-origin:left center;background:var(--taupe);transition:transform .5s var(--ease)}
.qcm-connector.qcm-on{transform:translateY(-50%) scaleX(1)}
.qcm-connector i{position:absolute;right:-3px;top:-2.5px;width:5px;height:5px;border-top:1px solid var(--taupe);border-right:1px solid var(--taupe);transform:rotate(45deg)}
.qc-cta-row{margin-top:56px}
.qc-cta{position:relative;overflow:hidden;border-radius:11px;padding:16px 26px;box-shadow:0 4px 16px rgba(17,17,17,.06);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.qc-cta.btn-dark:hover{transform:none}
.qc-cta:active{transform:scale(.99)}
.qc-cta:before{content:'';position:absolute;top:0;left:-40%;width:35%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.26),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
.qc-cta-arrow{display:inline-block;transition:transform .3s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .qc-cta:hover{box-shadow:0 10px 30px rgba(17,17,17,.12);background:var(--ink);border-color:var(--ink)}
  .qc-cta:hover .qc-cta-arrow{transform:translateX(4px)}
  .qc-cta:hover:before{opacity:1;animation:hh-sheen .6s var(--ease)}
  .qc-grid:hover .qc-block.qcm-active{opacity:.62}
  .qc-grid .qc-block.qcm-active:hover{opacity:1;transform:translateY(-2px)}
  .qc-grid .qc-block.qcm-active:hover .qc-icon{transform:scale(1.03)}
}
@media(max-width:860px){
  .qc-grid{grid-template-columns:1fr;column-gap:0}
  .qc-grid:before{display:none}
  .qc-title{max-width:none}
  .qc-side{padding-top:24px;border-top:1px solid var(--line);margin-top:36px}
  .qc-grid>.qc-block{margin-top:36px;padding-top:0;border-top:none}
  .qc-grid>.qc-block:before{display:none}
  .qcm-connector{display:none}
  .qcm-mobile-path{display:block;position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
  .qcm-mobile-path-line{fill:none;stroke:var(--taupe-deep);stroke-width:1.15;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.6}
}
@media(max-width:700px){
  .qc-num{font-size:1.7rem;padding-right:14px}
  .qc-icon{width:44px;height:44px}
  .qc-icon svg{width:19px;height:19px}
  .qc-body h3{font-size:.86rem}
  .qc-body p{font-size:.84rem;max-width:none}
  .qc-block{gap:12px}
  .qc-block-main{gap:14px}
}

/* home page — especialización (replaces the old .editorial-based section; .editorial* rules above stay untouched, still used by nosotros/estetica-avanzada/medicina-estetica pages) */
.spec-section{background:var(--cream)}
.spec-grid{display:grid;grid-template-columns:.85fr 1fr;gap:64px;align-items:center}
.spec-title{max-width:480px;font-size:clamp(2.1rem,3.3vw,3.6rem)}
.spec-lead{margin-top:22px;max-width:420px}
.spec-switch{display:inline-flex;align-items:center;gap:4px;padding:5px;border:1px solid var(--line);border-radius:999px;background:var(--white);margin-top:34px}
.spec-switch-btn{border:none;background:transparent;color:var(--ink);font-family:var(--sans);font-weight:700;font-size:.86rem;padding:13px 22px;border-radius:999px;cursor:pointer;transition:background-color .3s var(--ease),color .3s var(--ease);white-space:nowrap}
.spec-switch-btn:hover:not(.is-active){background:rgba(17,17,17,.05)}
.spec-switch-btn.is-active{background:var(--ink);color:var(--cream)}
.spec-microcopy{display:flex;align-items:flex-start;gap:16px;margin-top:30px}
.spec-microcopy-icon{width:32px;height:32px;border-radius:50%;background:var(--cream-deep);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--taupe-deep);flex:0 0 auto}
.spec-microcopy-icon svg{width:16px;height:16px}
.spec-microcopy-text{font-size:.94rem;color:var(--ink-soft);line-height:1.55;margin:0;max-width:400px;transition:opacity .18s var(--ease)}
.spec-media-frame{display:grid;grid-template-columns:1fr 1fr;gap:2px;border-radius:14px;overflow:hidden;min-height:600px}
.spec-img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;transition:opacity .35s var(--ease),clip-path .6s var(--ease),transform .6s var(--ease);clip-path:inset(100% 0 0 0);transform:translateY(20px)}
.spec-img.is-img-revealed{clip-path:inset(0 0 0 0);transform:none}
.spec-img:not(.is-active){opacity:.72}
@media(max-width:1060px){
  .spec-grid{grid-template-columns:1fr;gap:44px}
}
@media(max-width:700px){
  .spec-media-frame{grid-template-columns:1fr;gap:2px;min-height:0}
  .spec-img{aspect-ratio:4/3;height:auto}
  .spec-switch{width:100%;box-sizing:border-box}
  .spec-switch-btn{flex:1;text-align:center;padding:14px 10px;font-size:.82rem}
  .spec-microcopy-text{max-width:none}
}

/* qué cambia → especialización — editorial curtain reveal + image mask (lighter, one-shot IntersectionObserver + CSS transitions; not scroll-linked like the hero/thinking sticky overlays) */
.qc-section{transition:opacity .5s var(--ease),transform .5s var(--ease)}
.qc-section.qc-recede{opacity:.94;transform:translateY(-8px)}
.qc-spec-seam{height:1px;position:relative}
.qc-spec-seam-line{display:block;height:1px;width:100%;background:rgba(156,132,104,.35);transform:scaleX(0);transition:transform .5s var(--ease)}
.qc-spec-seam.is-revealed .qc-spec-seam-line{transform:scaleX(1)}
.spec-section{opacity:0;transform:translateY(36px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.spec-section.is-revealed{opacity:1;transform:none}
.spec-reveal-item{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.spec-section.is-revealed .spec-reveal-item{opacity:1;transform:none}

/* estetica-avanzada.html — dos situaciones (scoped to this page/section only; .section/.container/.eyebrow reused as-is, .section-head/.grid2/.dark-block deliberately not reused since they're shared across 12 pages) */
.ds-section{background:var(--cream)}
.ds-grid{display:grid;grid-template-columns:.56fr 1fr;gap:56px;align-items:start}
.ds-title{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.005em;font-size:clamp(2.2rem,3.3vw,3.1rem);max-width:360px}
.ds-rule{display:block;width:40px;height:1px;background:var(--taupe-deep);margin-top:22px}
.ds-text{margin-top:20px;color:var(--ink-soft);font-size:1rem;line-height:1.6;max-width:340px}
.ds-media{margin-top:32px;border-radius:10px;overflow:hidden}
.ds-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.ds-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch;position:relative}
.ds-card{border-radius:12px;padding:40px 36px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color .3s var(--ease),background-color .3s var(--ease),transform .3s var(--ease)}
.ds-card-base{background:var(--white);border:1px solid var(--line)}
.ds-card-base:hover{border-color:rgba(17,17,17,.28);transform:translateY(-2px)}
.ds-card-traccion{background:var(--ink);color:var(--cream);border:1px solid rgba(244,240,233,.14)}
.ds-card-traccion:hover{background:#1a1a1a;transform:translateY(-2px)}
.ds-card-top{display:flex;align-items:flex-start;justify-content:space-between}
.ds-card-num{font-family:var(--serif);font-weight:400;font-size:2.6rem;color:var(--taupe-deep);line-height:1}
.ds-card-icon{width:32px;height:32px;color:var(--taupe-deep);flex:0 0 auto}
.ds-card-icon svg{width:100%;height:100%}
.ds-card .eyebrow{margin-top:26px}
.ds-card-traccion .eyebrow{color:var(--taupe)}
.ds-card-title{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,2.1vw,2.15rem);line-height:1.1;margin-top:12px;color:inherit}
.ds-card-text{margin-top:18px;font-size:.92rem;line-height:1.55;color:var(--ink-soft);max-width:340px}
.ds-card-traccion .ds-card-text{color:var(--on-ink)}
.ds-checks{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.ds-checks li{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:600;color:inherit}
.ds-check-icon{width:22px;height:22px;border-radius:50%;border:1px solid var(--taupe-deep);color:var(--taupe-deep);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.ds-check-icon svg{width:12px;height:12px}
.ds-card-traccion .ds-check-icon{border-color:var(--taupe);color:var(--taupe)}
.ds-card-close{margin-top:auto;margin-left:-36px;margin-right:-36px;margin-bottom:-40px;padding:20px 36px;display:flex;align-items:center;gap:14px;font-weight:600;font-size:.9rem}
.ds-card-base .ds-card-close{background:rgba(156,132,104,.12);color:var(--ink)}
.ds-card-traccion .ds-card-close{background:rgba(244,240,233,.06);color:var(--cream)}
.ds-close-arrow{color:var(--taupe-deep)}
.ds-card-traccion .ds-close-arrow{color:var(--taupe)}
.ds-o{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:var(--taupe-deep);color:var(--cream);display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-weight:800;font-size:.8rem;border:3px solid var(--cream);z-index:3}
@media(max-width:1060px){
  .ds-grid{grid-template-columns:1fr;gap:40px}
  .ds-title{max-width:none}
  .ds-cards{grid-template-columns:1fr;gap:0}
  .ds-card{margin-bottom:0}
  .ds-o{position:relative;top:auto;left:auto;transform:none;margin:-20px auto;z-index:3}
}
@media(max-width:700px){
  .ds-card{padding:32px 26px}
  .ds-card-close{margin-left:-26px;margin-right:-26px;margin-bottom:-32px;padding:18px 26px}
  .ds-checks{grid-template-columns:1fr}
}

/* estetica-avanzada.html — hero / bloque superior (scoped to this page only; .subhero left untouched, still used by 12 other pages) */
.eh-hero{padding:calc(var(--header-h) + 76px) 0 100px;background:var(--cream)}
.eh-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:start}
.eh-title{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.005em;font-size:clamp(2.6rem,4.6vw,4.6rem);max-width:640px}
.eh-lead{margin-top:26px;max-width:460px}
.eh-cta.btn-primary:hover{transform:none}
.eh-cta-arrow{display:inline-block;transition:transform .3s var(--ease)}
.eh-cta:hover .eh-cta-arrow{transform:translateX(3px)}
.eh-system-num{display:block;font-family:var(--serif);font-weight:400;font-size:2.6rem;color:var(--taupe-deep);line-height:1}
.eh-system-title{font-family:var(--sans);font-weight:700;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-top:14px}
.eh-system-rule{display:block;height:1px;width:100%;background:var(--line);margin-top:20px}
.eh-timeline{position:relative;margin-top:40px;padding-left:32px}
.eh-timeline-line{position:absolute;left:3px;top:8px;bottom:8px;width:1px;background:rgba(156,132,104,.4);transform:scaleY(0);transform-origin:top;transition:transform .7s var(--ease) .15s}
.eh-system.on .eh-timeline-line{transform:scaleY(1)}
.eh-timeline-item{position:relative;padding:22px 0}
.eh-timeline-dot{position:absolute;left:-29px;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:var(--cream);border:1.5px solid var(--taupe-deep)}
.eh-timeline-label{font-family:var(--sans);font-weight:600;font-size:clamp(1.25rem,1.7vw,1.55rem);color:var(--ink)}
@media(max-width:1060px){
  .eh-grid{grid-template-columns:1fr;gap:48px}
  .eh-title{max-width:none}
}
@media(max-width:700px){
  .eh-hero{padding:calc(var(--header-h) + 36px) 0 70px}
  .eh-title{font-size:clamp(2.2rem,8.5vw,2.9rem)}
  .eh-timeline{margin-top:32px}
  .eh-timeline-item{padding:18px 0}
  .eh-timeline-label{font-size:1.2rem}
}

/* home page — FAQ: editorial faq index (scoped to this section only; .faq/.grid2 above stay untouched, .faq still shared with faq-insights.html) */
.efaq-section{background:var(--cream)}
.efaq-grid{display:grid;grid-template-columns:.9fr 1px 1fr;column-gap:37px;align-items:start;position:relative}
.efaq-copy{padding-top:4px}
@media(min-width:1061px){
  .efaq-copy{position:sticky;top:calc(var(--header-h) + 44px)}
}
.efaq-title{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.005em;font-size:clamp(2.6rem,4.4vw,4.2rem);margin-top:16px}
.efaq-line{display:block;opacity:0;transform:translateY(22px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.efaq-title.efaq-on .efaq-line{opacity:1;transform:none}
.efaq-fade{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.efaq-fade.efaq-on{opacity:1;transform:none}
.efaq-divider{align-self:stretch;width:1px;background:rgba(17,17,17,.12);transform:scaleY(0);transform-origin:center;transition:transform 1s var(--ease)}
.efaq-divider.efaq-on{transform:scaleY(1)}

.efaq-index{display:flex;flex-direction:column}
.efaq-row{opacity:0;transform:translateY(14px);transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1)}
.efaq-row.efaq-row-on{opacity:1;transform:none}
.efaq-q{display:flex;align-items:center;gap:20px;width:100%;text-align:left;background:none;border:none;padding:22px 0;margin:0;cursor:pointer;font:inherit;color:inherit}
.efaq-num{flex:0 0 auto;width:34px;position:relative}
.efaq-num:before{content:'';position:absolute;left:-16px;top:50%;width:1px;height:0;background:var(--taupe);transform:translateY(-50%);transition:height .35s var(--ease)}
.efaq-row.efaq-open .efaq-num:before{height:24px}
.efaq-num-in{display:inline-block;font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--taupe-deep);line-height:1;opacity:0;transform:translateX(-8px);transition:opacity .4s var(--ease) .07s,transform .4s var(--ease) .07s,color .3s var(--ease)}
.efaq-row.efaq-row-on .efaq-num-in{opacity:1;transform:none}
.efaq-row.efaq-open .efaq-num-in{color:var(--taupe-deep);opacity:1}
.efaq-q-text{flex:1;position:relative;font-family:var(--sans);font-weight:600;font-size:1.05rem;letter-spacing:-.005em;color:var(--ink);opacity:.82;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.efaq-q-text:after{content:'';position:absolute;left:0;bottom:-4px;height:1px;width:0;background:var(--taupe);transition:width .3s var(--ease)}
.efaq-row.efaq-open .efaq-q-text{transform:translateX(3px)}
.efaq-toggle{position:relative;width:14px;height:14px;flex:0 0 auto;opacity:.62;transition:opacity .3s var(--ease)}
.efaq-toggle i{position:absolute;left:0;top:50%;width:100%;height:1px;background:var(--taupe-deep);transform:translateY(-50%)}
.efaq-toggle i:last-child{transform:translateY(-50%) rotate(90deg);transition:transform .28s var(--ease)}
.efaq-row.efaq-open .efaq-toggle i:last-child{transform:translateY(-50%) rotate(0deg)}
.efaq-row.efaq-open .efaq-toggle{opacity:1}
.efaq-panel-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s var(--ease)}
.efaq-row.efaq-open .efaq-panel-wrap{grid-template-rows:1fr;transition-duration:.48s}
.efaq-panel{overflow:hidden;min-height:0}
.efaq-answer{padding:0 0 22px;max-width:640px;font-size:.96rem;color:var(--ink-soft);line-height:1.65;opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.efaq-row.efaq-open .efaq-answer{opacity:1;transform:none}
.efaq-rule{display:block;height:1px;background:rgba(156,132,104,.22);transform:scaleX(0);transform-origin:center;transition:transform .65s var(--ease)}
.efaq-row.efaq-open .efaq-rule{background:rgba(156,132,104,.4)}
.efaq-row.efaq-row-on .efaq-rule{transform:scaleX(1)}
#faq-section .efaq-q:focus-visible{outline:2px solid var(--taupe-deep);outline-offset:4px;border-radius:2px}
@media(hover:hover) and (pointer:fine){
  .efaq-index:hover .efaq-q-text{opacity:.76}
  .efaq-row:hover .efaq-q-text{opacity:1}
  .efaq-row:hover .efaq-q-text:after{width:26px}
  .efaq-row.efaq-open .efaq-q-text{opacity:1}
}
@media(max-width:1060px){
  .efaq-grid{grid-template-columns:1fr;column-gap:0}
  .efaq-divider{display:none}
  .efaq-copy{position:static}
}
@media(max-width:700px){
  .efaq-index{margin-top:8px}
  .efaq-q{padding:18px 0;gap:14px}
  .efaq-q-text{font-size:.96rem}
  .efaq-num{width:28px}
  .efaq-num-in{font-size:1.1rem}
  .efaq-answer{font-size:.9rem;padding-bottom:18px}
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  .hero-promo-reveal.reveal{opacity:1!important;transform:none!important}
  .hero-promo.reveal:hover{transform:none!important}
  .hero-promo.reveal.on{animation:none!important}
  .spark{opacity:.5!important;transform:none!important}
  .silver-sweep{opacity:0!important}
  .hero-promo-cta:hover:before{animation:none!important;opacity:0!important}
  .cc-principle.reveal,.cc-connected-head.reveal,.cc-step.reveal,.cc-final.reveal{opacity:1!important;transform:none!important}
  .cc-final-cta:hover{transform:none!important}
  .me-hero-copy .reveal,.me-card.reveal,.me-stage.reveal{opacity:1!important;transform:none!important}
  .me-hero-media img{clip-path:none!important}
  .me-stage-rule{transform:scaleX(1)!important}
  .me-cta{transform:none!important}
  .me-path-step.reveal{opacity:1!important;transform:none!important}
  .me-decision.me-decision-recede{opacity:1!important;transform:none!important}
  .me-decision-seam-line{transform:scaleX(1)!important}
  .me-manifesto{opacity:1!important;transform:none!important;clip-path:none!important}
  .me-manifesto-item{opacity:1!important;transform:none!important}
  .me-manifest-cta:hover{transform:none!important}
  .me-footer-hablemos:hover span{transform:none!important}
  .td-line{opacity:1!important;transform:none!important}
  .td-fade{opacity:1!important;transform:none!important}
  .thinking-rule{transform:scaleX(1)!important}
  .td-divider{transform:scaleY(1)!important}
  .thinking-step{opacity:1!important;transform:none!important}
  .td-num-in{opacity:1!important;transform:none!important}
  .thinking-step-body{opacity:1!important;transform:none!important}
  .thinking-step-leak{background:#E6E9E9!important;border-color:rgba(148,181,204,.55)!important;box-shadow:0 12px 40px rgba(80,130,160,.1)!important}
  .thinking-tag{opacity:1!important;transform:none!important}
  .td-path-highlight{opacity:.55!important}
  .thinking-step.td-active:hover,.thinking-step-leak.td-active:hover{transform:none!important}
  .gsys-title .gsj-line{opacity:1!important;transform:none!important}
  .gsj-fade{opacity:1!important;transform:none!important}
  .gsj-divider{transform:scaleY(1)!important}
  .gsys-item{opacity:1!important;transform:none!important}
  .gsys-item:after{transform:scaleX(1)!important}
  .gsj-num-in{opacity:1!important;transform:none!important}
  .gsys-dot{transform:translate(-50%,-50%) scale(1.35)!important;box-shadow:0 0 0 5px rgba(156,132,104,.14)!important}
  .gsys-icon{opacity:1!important;transform:none!important}
  .gsys-body{opacity:1!important;transform:none!important}
  .gsys-item.gsj-active:hover{transform:none!important}
  .qc-grid:before{opacity:1!important;transform:translateX(-50%) scaleY(1)!important}
  .qc-title .qcm-line{opacity:1!important;transform:none!important}
  .qcm-para-a,.qcm-para-b{opacity:1!important;transform:none!important}
  .qcm-fade{opacity:1!important;transform:none!important}
  .qc-grid>.qc-block{opacity:1!important;transform:none!important}
  .qc-grid>.qc-block:before{transform:scaleX(1)!important}
  .qc-num{opacity:1!important}
  .qcm-num-in{opacity:1!important;transform:none!important}
  .qc-icon{opacity:1!important;transform:none!important}
  .qc-body{opacity:1!important}
  .qc-body h3{color:var(--ink)!important}
  .qcm-connector{transform:translateY(-50%) scaleX(1)!important}
  .qc-grid .qc-block.qcm-active:hover{transform:none!important}
  .efaq-line{opacity:1!important;transform:none!important}
  .efaq-fade{opacity:1!important;transform:none!important}
  .efaq-divider{transform:scaleY(1)!important}
  .efaq-row{opacity:1!important;transform:none!important}
  .efaq-num-in{opacity:1!important;transform:none!important}
  .efaq-rule{transform:scaleX(1)!important}
  .efaq-row.efaq-open .efaq-q-text{transform:none!important}
  .efoot-logo-link{opacity:1!important;transform:none!important}
  .efoot-tagline,.efoot-meta{opacity:1!important;transform:none!important}
  .efoot-divider{transform:scaleY(1)!important}
  .efoot-col{opacity:1!important;transform:none!important}
  .efoot-links a{opacity:1!important;transform:none!important}
  .efoot-col.efoot-on .efoot-links a:hover{transform:none!important}
  .hh-mask-line{opacity:1!important;transform:none!important;clip-path:none!important}
  .hh-rule.reveal{transform:none!important}
  .hero-promo-rule i,.hero-promo-divider i{transform:none!important}
  #gsj-title .gsj-line{opacity:1!important;transform:none!important;filter:none!important}
  #gsj-eyebrow{opacity:1!important;transform:none!important;letter-spacing:.16em!important;filter:none!important}
  .gsj-rule{transform:scaleX(1)!important}
  .gsj-microcopy{opacity:.75!important;transform:none!important}
  #gsj-hero .gsj-fade,#gsj-hero .reveal{opacity:1!important;transform:none!important;filter:none!important}
  .gsj-cta:hover{transform:none!important}
  .gsys-diagram-wrap{transform:none!important}
  .gsys-diagram-wrap:hover .gsys-diagram{transform:none!important}
  .gsys-cta.btn-dark:hover{transform:none!important}
  .gsj-photo{clip-path:none!important;transition:none!important}
  .gs-final-cta--dark .nfp-final-btn:hover{transform:none!important}
  #ejr-title .ejr-line{opacity:1!important;transform:none!important}
  #ejr-eyebrow{opacity:1!important;transform:none!important}
  .ejr-rule{transform:scaleX(1)!important}
  .ejr-fade{opacity:1!important;transform:none!important}
  .ejr-stage{opacity:1!important}
  .ejr-num{opacity:1!important;transform:none!important}
  .ejr-icon{opacity:1!important;transform:none!important}
  .ejr-stage h3,.ejr-stage p,.ejr-cat{opacity:1!important;transform:none!important}
  .ejr-connector{transform:scaleY(1)!important}
  .ejr-annotation-eyebrow,.ejr-annotation-text,.ejr-annotation-label,.ejr-annotation-goal{opacity:1!important;transform:none!important}
  .ejr-annotation-rule{transform:scaleX(1)!important}
  .ejr-rail.ejr-ready .ejr-stage:hover{transform:none!important}
  .hero-grid .btn:hover,.hh-nav-cta:hover{transform:none!important}
  .hh-nav-cta:hover:before{animation:none!important;opacity:0!important}
  .navlinks a.is-active:after{animation:none!important;transform:scaleX(1)!important}
  .hero-scene{height:auto!important}
  .hero{position:relative!important;transform:none!important;opacity:1!important}
  .hero-spacer{display:none!important}
  .next-overlay{margin-top:0!important;box-shadow:none!important}
  .thinking-scene{height:auto!important}
  .thinking-pin{position:relative!important;transform:none!important;opacity:1!important}
  .thinking-spacer{display:none!important}
  .system-overlay{margin-top:0!important;box-shadow:none!important}
  .qc-section{opacity:1!important;transform:none!important}
  .qc-spec-seam-line{transform:scaleX(1)!important}
  .spec-section{opacity:1!important;transform:none!important}
  .spec-reveal-item{opacity:1!important;transform:none!important}
  .spec-img{clip-path:inset(0 0 0 0)!important;transform:none!important}
  .eh-timeline-line{transform:scaleY(1)!important}
  .psn-seam-line{transform:scaleX(1)!important}
  .eq-eyebrow-line{transform:scaleX(1)!important}
  .eq-divider{transform:scaleX(1)!important}
  .eq-bottom-line-bar{transform:scaleX(1)!important}
  .eq-media-photo img{opacity:1!important;transform:none!important}
  .eq-cta:hover{transform:none!important}
  .pv-eyebrow-line{transform:scaleX(1)!important}
  .pv-divider-bar{transform:scaleX(1)!important}
  .pv-card:hover{transform:none!important}
  .pv-cta:hover{transform:none!important}
  .wa{opacity:1!important;transform:none!important}
  .wa:hover,.wa:hover img{transform:none!important}
}

/* growth-system.html — módulos section, reproduced from /_figma-growth-system reference (scoped to .gsm-*) */
.gsm-section{width:100%;background:#f2efe8}
.gsm-wrap{max-width:1500px;margin:0 auto;padding:96px 32px;display:grid;grid-template-columns:1fr;row-gap:56px}
.gsm-intro{display:flex;flex-direction:column}
.gsm-kicker{display:flex;align-items:center;gap:16px}
.gsm-kicker-text{font-family:'Inter',var(--sans);font-size:13px;font-weight:500;letter-spacing:.25em;color:#b08d57}
.gsm-hr{display:block;width:56px;height:1px;background:#b08d57;flex:0 0 auto}
.gsm-hr-below{margin-top:32px}
.gsm-heading{margin:32px 0 0;font-family:'Cormorant Garamond',var(--serif);font-size:clamp(54px,4.6vw,78px);font-weight:500;line-height:1.04;color:#141210;letter-spacing:-.01em;max-width:10ch}
.gsm-desc{margin:32px 0 0;max-width:340px;font-family:'Inter',var(--sans);font-size:17px;font-weight:400;line-height:1.6;color:#8a8178}
.gsm-brand{display:block;margin-top:56px;font-family:'Inter',var(--sans);font-size:13px;font-weight:500;letter-spacing:.22em;color:#b08d57}
.gsm-cards{display:grid;grid-template-columns:1fr;gap:20px}
.gsm-card{position:relative;display:flex;flex-direction:column;height:100%;border-radius:16px;border:1px solid rgba(120,100,70,.12);background:rgba(255,255,255,.55);box-shadow:0 1px 2px rgba(120,100,70,.04),0 10px 26px -14px rgba(120,100,70,.14);padding:28px;opacity:0;transform:translateY(24px);filter:blur(9px);transition:opacity .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1),transform .42s cubic-bezier(.16,1,.3,1),box-shadow .42s cubic-bezier(.16,1,.3,1),border-color .42s cubic-bezier(.16,1,.3,1)}
.gsm-card.on{opacity:1;transform:none;filter:blur(0)}
.gsm-card--featured{background:rgba(255,255,255,.72);border-color:rgba(176,141,87,.55);box-shadow:0 1px 2px rgba(120,100,70,.05),0 14px 34px -14px rgba(120,100,70,.2)}
.gsm-card-star{position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-size:18px;line-height:1;color:#b08d57;transition:transform .45s cubic-bezier(.34,1.4,.64,1)}
.gsm-card-top{display:flex;align-items:flex-start;justify-content:space-between}
.gsm-card-num{font-family:'Cormorant Garamond',var(--serif);font-size:52px;font-weight:500;line-height:1;color:#b08d57;letter-spacing:.01em;transition:color .35s var(--ease)}
.gsm-card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;border-radius:999px;background:rgba(120,100,70,.06);color:#2b2620;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s var(--ease),background-color .4s var(--ease)}
.gsm-card-icon svg{transition:transform .4s cubic-bezier(.16,1,.3,1)}
.gsm-card-title{margin:20px 0 0;font-family:'Inter',var(--sans);font-size:19px;font-weight:600;line-height:1.3;color:#161311;letter-spacing:0}
.gsm-card-desc{margin:12px 0 0;font-family:'Inter',var(--sans);font-size:15px;font-weight:400;line-height:1.55;color:#8a8178}
.gsm-card-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;padding-top:0}
.gsm-card-tags span{font-family:'Inter',var(--sans);font-size:13px;font-weight:400;color:#4a443c;background:rgba(255,255,255,.4);border:1px solid rgba(120,100,70,.18);border-radius:999px;padding:6px 14px;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .4s var(--ease),border-color .3s var(--ease),background-color .3s var(--ease)}
.gsm-card.on .gsm-card-tags span{opacity:1;transform:none}
.gsm-card.on .gsm-card-tags span:nth-child(2){transition-delay:50ms}
.gsm-card.on .gsm-card-tags span:nth-child(3){transition-delay:100ms}
.gsm-card.on .gsm-card-tags span:nth-child(4){transition-delay:150ms}
.gsm-card.on .gsm-card-tags span:nth-child(5){transition-delay:200ms}
.gsm-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gsm-cards>.reveal:nth-child(1){transition-delay:0ms}
.gsm-cards>.reveal:nth-child(2){transition-delay:80ms}
.gsm-cards>.reveal:nth-child(3){transition-delay:160ms}
.gsm-cards>.reveal:nth-child(4){transition-delay:240ms}
.gsm-cards>.reveal:nth-child(5){transition-delay:320ms}
.gsm-cards>.reveal:nth-child(6){transition-delay:400ms}
@media(hover:hover) and (pointer:fine){
  .gsm-card:hover{transform:translateY(-5px);border-color:rgba(176,141,87,.45);box-shadow:0 1px 2px rgba(120,100,70,.06),0 22px 44px -18px rgba(120,100,70,.24)}
  .gsm-card:hover .gsm-card-star{transform:translateX(-50%) scale(1.15)}
  .gsm-card:hover .gsm-card-num{color:#9c6f3a}
  .gsm-card:hover .gsm-card-icon{background:rgba(176,141,87,.12);box-shadow:0 0 0 5px rgba(176,141,87,.09)}
  .gsm-card:hover .gsm-card-icon svg{transform:rotate(-6deg) scale(1.08)}
  .gsm-card:hover .gsm-card-tags span{border-color:rgba(176,141,87,.4);background:rgba(255,255,255,.65)}
}
@media(min-width:640px){
  .gsm-cards{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .gsm-wrap{grid-template-columns:31% 1fr;column-gap:64px;row-gap:56px;padding:112px 32px}
  .gsm-intro{position:sticky;top:calc(var(--header-h) + 40px);align-self:start}
  .gsm-cards{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:400px){
  .gsm-wrap{padding:56px 20px}
  .gsm-card{padding:22px}
}

/* premium scoped entrance (blur-in) — ECHELON GROWTH SYSTEM hero only (no hover-transform conflict on these elements) */
#gsj-hero .reveal{filter:blur(10px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1)}
#gsj-hero .reveal.on{filter:blur(0)}
#gsm-section .gsm-intro.reveal>*{opacity:0;transform:translateY(14px);filter:blur(7px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),filter .6s cubic-bezier(.16,1,.3,1)}
#gsm-section .gsm-intro.reveal.on>*{opacity:1;transform:none;filter:blur(0)}
#gsm-section .gsm-intro.reveal.on>*:nth-child(1){transition-delay:0ms}
#gsm-section .gsm-intro.reveal.on>*:nth-child(2){transition-delay:90ms}
#gsm-section .gsm-intro.reveal.on>*:nth-child(3){transition-delay:180ms}
#gsm-section .gsm-intro.reveal.on>*:nth-child(4){transition-delay:260ms}
#gsm-section .gsm-intro.reveal.on>*:nth-child(5){transition-delay:340ms}
@media(prefers-reduced-motion:reduce){
  #gsj-hero .reveal,#gsm-section .gsm-intro.reveal>*,.gsm-card,.gsm-card-tags span{opacity:1!important;transform:none!important;filter:none!important}
}

/* growth-system.html — mapa de fugas section, reproduced from /_figma-mapa-fugas reference (scoped to .leak-map__*) */
.leak-map{width:100%;background:#F5F1E9}
.leak-map__wrap{max-width:1540px;margin:0 auto;padding:96px 32px;display:grid;grid-template-columns:1fr;row-gap:64px}
.leak-map__intro{display:flex;flex-direction:column}
.leak-map__kicker-row{display:flex;align-items:center}
.leak-map__kicker{font-family:'Inter',var(--sans);font-size:12px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:#B78A45}
.leak-map__hr{display:block;width:56px;height:1px;background:#B78A45;margin-top:20px}
.leak-map__hr-below{margin-top:36px}
.leak-map__heading{margin:36px 0 0;font-family:'Cormorant Garamond',var(--serif);font-size:clamp(52px,4.4vw,76px);font-weight:500;line-height:1.02;letter-spacing:-.01em;color:#11110F}
.leak-map__accent{color:#B78A45}
.leak-map__desc{margin:36px 0 0;max-width:360px;font-family:'Inter',var(--sans);font-size:17px;font-weight:400;line-height:1.65;color:#726C65}
.leak-map__brand{display:block;margin-top:80px;font-family:'Inter',var(--sans);font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:#B78A45}
.leak-map__body{display:flex;flex-direction:column}
.leak-map__journey{display:none}
.leak-map__stages{display:grid;grid-template-columns:1fr;row-gap:56px}
.leak-map__stage{position:relative;padding-top:8px;opacity:0;transform:translateY(22px);filter:blur(8px);transition:opacity .7s cubic-bezier(.16,1,.3,1),filter .7s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1)}
.leak-map__stage.on{opacity:1;transform:none;filter:blur(0)}
.leak-map__stages>.leak-map__stage:nth-child(1){transition-delay:0ms}
.leak-map__stages>.leak-map__stage:nth-child(2){transition-delay:90ms}
.leak-map__stages>.leak-map__stage:nth-child(3){transition-delay:180ms}
.leak-map__stages>.leak-map__stage:nth-child(4){transition-delay:270ms}
.leak-map__stage-num{pointer-events:none;position:absolute;top:-10px;left:0;font-family:'Cormorant Garamond',var(--serif);font-size:96px;font-weight:500;line-height:1;color:#B78A45;opacity:.08;user-select:none}
.leak-map__stage-icon{position:relative;display:flex;height:52px;width:52px;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(183,138,69,.22);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.leak-map__stage-icon svg{width:22px;height:22px;color:#11110F}
.leak-map__stage-cat{position:relative;display:block;margin-top:28px;font-family:'Inter',var(--sans);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#B78A45}
.leak-map__stage-problem{position:relative;margin:14px 0 0;font-family:'Inter',var(--sans);font-size:18px;font-weight:500;line-height:1.35;color:#11110F;letter-spacing:0}
.leak-map__stage-rule{position:relative;display:block;margin-top:22px;height:1px;width:36px;background:#B78A45;transition:width .4s cubic-bezier(.16,1,.3,1)}
.leak-map__stage-list{position:relative;list-style:none;margin:22px 0 0;padding:0;display:grid;row-gap:12px}
.leak-map__stage-list li{font-family:'Inter',var(--sans);font-size:15px;font-weight:400;line-height:1.5;color:#726C65;transition:color .25s var(--ease)}
.leak-map__statement{margin-top:56px;display:flex;align-items:center;gap:18px;border:1px solid rgba(183,138,69,.22);border-radius:14px;background:rgba(255,255,255,.45);padding:22px 26px;opacity:0;transform:translateY(18px);filter:blur(8px);transition:opacity .7s cubic-bezier(.16,1,.3,1) .1s,filter .7s cubic-bezier(.16,1,.3,1) .1s,transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s var(--ease),border-color .4s var(--ease),background-color .4s var(--ease)}
.leak-map__statement.on{opacity:1;transform:none;filter:blur(0)}
.leak-map__statement-icon{width:18px;height:18px;flex:0 0 auto;color:#B78A45}
.leak-map__statement-divider{width:1px;height:24px;flex:0 0 auto;background:rgba(183,138,69,.22)}
.leak-map__statement-text{flex:1;margin:0;font-family:'Inter',var(--sans);font-size:15px;font-weight:400;line-height:1.55;color:#11110F}
.leak-map__statement-arrow{width:18px;height:18px;flex:0 0 auto;color:#B78A45;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.leak-map__intro{opacity:0;transform:translateY(18px);filter:blur(8px);transition:opacity .75s cubic-bezier(.16,1,.3,1),filter .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
.leak-map__intro.on{opacity:1;transform:none;filter:blur(0)}
.leak-map__intro.on>*{opacity:0;transform:translateY(10px);animation:lm-fade-up .6s cubic-bezier(.16,1,.3,1) forwards}
.leak-map__intro.on>*:nth-child(1){animation-delay:.05s}
.leak-map__intro.on>*:nth-child(2){animation-delay:.13s}
.leak-map__intro.on>*:nth-child(3){animation-delay:.2s}
.leak-map__intro.on>*:nth-child(4){animation-delay:.3s}
.leak-map__intro.on>*:nth-child(5){animation-delay:.38s}
.leak-map__intro.on>*:nth-child(6){animation-delay:.48s}
@keyframes lm-fade-up{to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){
  .leak-map__stage:hover{transform:translateY(-4px)}
  .leak-map__stage:hover .leak-map__stage-icon{border-color:#B78A45;box-shadow:0 0 0 5px rgba(183,138,69,.12)}
  .leak-map__stage:hover .leak-map__stage-rule{width:56px}
  .leak-map__stage-list li:hover{color:#11110F}
  .leak-map__statement:hover{border-color:rgba(183,138,69,.4);background:rgba(255,255,255,.65);box-shadow:0 12px 30px -16px rgba(17,17,17,.16)}
  .leak-map__statement:hover .leak-map__statement-arrow{transform:translateX(4px)}
}
@media(min-width:640px){
  .leak-map__stages{grid-template-columns:repeat(2,1fr);column-gap:32px}
}
@media(min-width:1024px){
  .leak-map__wrap{grid-template-columns:32% 1fr;column-gap:96px;row-gap:0;padding:144px 32px}
  .leak-map__intro{position:sticky;top:calc(var(--header-h) + 32px);align-self:start}
  .leak-map__journey{display:block;margin-bottom:56px;opacity:0;transition:opacity .5s var(--ease)}
  .leak-map__journey.on{opacity:1}
  .leak-map__journey-labels{display:flex;align-items:center;justify-content:space-between;padding:0 32px}
  .leak-map__journey-labels span{flex:1;font-family:'Inter',var(--sans);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#726C65;text-align:center;opacity:0;transform:translateY(6px);transition:opacity .5s var(--ease),transform .5s var(--ease),color .25s var(--ease)}
  .leak-map__journey.on .leak-map__journey-labels span{opacity:1;transform:none;transition-delay:.85s}
  .leak-map__journey.on .leak-map__journey-labels span:nth-child(2){transition-delay:.92s}
  .leak-map__journey.on .leak-map__journey-labels span:nth-child(3){transition-delay:.99s}
  .leak-map__journey.on .leak-map__journey-labels span:nth-child(4){transition-delay:1.06s}
  .leak-map__journey-labels span:first-child{text-align:left}
  .leak-map__journey-labels span:last-child{text-align:right}
  .leak-map__journey-labels span.lm-hl{color:#B78A45}
  .leak-map__journey-track{position:relative;display:flex;align-items:center;margin-top:20px;padding:0 32px}
  .leak-map__journey-line{position:absolute;left:32px;right:32px;height:1px;background:rgba(183,138,69,.4);transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.16,1,.3,1)}
  .leak-map__journey.on .leak-map__journey-line{transform:scaleX(1)}
  .leak-map__journey-node{position:relative;flex:1;height:10px;width:10px;border-radius:999px;border:1px solid #B78A45;background:#F5F1E9;opacity:0;transform:scale(.3);transition:opacity .45s cubic-bezier(.34,1.2,.64,1),transform .45s cubic-bezier(.34,1.2,.64,1),box-shadow .3s var(--ease),background-color .3s var(--ease)}
  .leak-map__journey.on .leak-map__journey-node{opacity:1;transform:scale(1);transition-delay:.3s}
  .leak-map__journey.on .leak-map__journey-node:nth-child(3){transition-delay:.42s}
  .leak-map__journey.on .leak-map__journey-node:nth-child(4){transition-delay:.54s}
  .leak-map__journey.on .leak-map__journey-node:nth-child(5){transition-delay:.66s}
  .leak-map__journey-node:last-child{flex:0 0 auto;margin-left:auto}
  .leak-map__journey-node--on{background:#B78A45}
  .leak-map__journey-node--focus{border-color:#B78A45;box-shadow:0 0 0 3px rgba(183,138,69,.14)}
  .leak-map__journey.on .leak-map__journey-node--focus{animation:lm-node-pulse 1.1s cubic-bezier(.16,1,.3,1) .95s 1}
  .leak-map__journey.on .leak-map__journey-node:hover{transform:scale(1.5);box-shadow:0 0 0 6px rgba(183,138,69,.2)}
  .leak-map__journey-arrow{position:relative;width:16px;height:16px;flex:0 0 auto;margin-left:4px;color:#B78A45;opacity:0;transition:opacity .4s var(--ease)}
  .leak-map__journey.on .leak-map__journey-arrow{opacity:1;transition-delay:.78s}
  .leak-map__stages{grid-template-columns:repeat(4,1fr);column-gap:0;row-gap:0;border-top:1px solid rgba(183,138,69,.4);padding-top:56px}
  .leak-map__stage{padding:0 32px;border-right:1px solid rgba(183,138,69,.14)}
  .leak-map__stage:last-child{border-right:0}
  .leak-map__stage-num{font-size:150px;top:-16px;left:24px}
}
@keyframes lm-node-pulse{0%{box-shadow:0 0 0 3px rgba(183,138,69,.14)}45%{box-shadow:0 0 0 7px rgba(183,138,69,.22),0 0 0 3px rgba(183,138,69,.32) inset}100%{box-shadow:0 0 0 3px rgba(183,138,69,.14)}}
@media(prefers-reduced-motion:reduce){
  .leak-map__intro,.leak-map__intro.on>*,.leak-map__stage,.leak-map__statement,.leak-map__journey,.leak-map__journey-node,.leak-map__journey-labels span,.leak-map__journey-line,.leak-map__journey-arrow{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}
  .leak-map__journey-line{transform:scaleX(1)!important}
}

/* growth-system.html — sección 06 "ciclo de crecimiento continuo", reproducida desde reference-06-sistema-optimizacion-continua (scoped to .gs6-*) */
.gs6-section{width:100%;background:var(--ink)}
.gs6-wrap{max-width:1600px;margin:0 auto;padding:96px 32px;display:grid;grid-template-columns:1fr;row-gap:64px}
.gs6-intro{display:flex;flex-direction:column}
.gs6-kicker{display:block;max-width:300px;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.14em;line-height:1.5;text-transform:uppercase;color:var(--taupe)}
.gs6-heading{margin:32px 0 0;font-family:var(--serif);font-size:clamp(72px,7.2vw,120px);font-weight:400;line-height:.98;letter-spacing:.005em;color:var(--cream)}
.gs6-rule{display:block;width:64px;height:1px;background:var(--taupe);margin-top:40px}
.gs6-body{margin:40px 0 0;max-width:340px;font-family:var(--sans);font-size:16px;font-weight:500;line-height:1.7;color:rgba(244,240,233,.6)}
.gs6-signature{margin-top:72px;display:flex;align-items:center;gap:16px}
.gs6-signature-icon{display:flex;height:36px;width:36px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(181,160,140,.22)}
.gs6-signature-icon svg{width:15px;height:15px;color:var(--taupe)}
.gs6-signature-text{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe)}
.gs6-signature-line{height:1px;width:40px;background:rgba(181,160,140,.22)}
.gs6-panel-wrap{display:flex;flex-direction:column}
.gs6-panel{position:relative;overflow:hidden;border:1px solid rgba(181,160,140,.22);border-radius:32px;background:#161514;padding:56px 28px}
.gs6-steps{position:relative;display:flex;flex-direction:column;row-gap:56px}
.gs6-steps-line{display:none}
.gs6-steps-dot{display:none}
.gs6-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.gs6-step-num{margin-bottom:20px;font-family:var(--serif);font-size:24px;line-height:1;color:var(--taupe)}
.gs6-step-node{position:relative;display:flex;align-items:center;justify-content:center}
.gs6-step-halo{display:none}
.gs6-step-ring{display:none}
.gs6-step-circle{position:relative;display:flex;height:70px;width:70px;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(181,160,140,.22);background:#161514;transition:transform .3s var(--ease),border-color .3s var(--ease)}
.gs6-step-circle svg{width:24px;height:24px;color:var(--taupe)}
.gs6-step-dot{display:none}
.gs6-step-label{margin:24px 0 0;font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.1;color:rgba(244,240,233,.78)}
.gs6-step-copy{margin:12px 0 0;max-width:180px;font-family:var(--sans);font-size:13px;font-weight:500;line-height:1.5;color:rgba(181,160,140,.85)}
.gs6-step--active .gs6-step-circle{border-color:rgba(181,160,140,.65);background:#1b1917}
.gs6-step--active .gs6-step-circle svg{color:var(--cream)}
.gs6-step--active .gs6-step-label{color:var(--cream)}
.gs6-step--active .gs6-step-halo{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:104px;height:104px;border-radius:999px;background:radial-gradient(circle,rgba(181,160,140,.16) 0%,rgba(181,160,140,0) 70%)}
.gs6-step--active .gs6-step-ring{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:86px;height:86px;border-radius:999px;border:1px solid rgba(181,160,140,.28)}
.gs6-step--active .gs6-step-dot{display:block;position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:999px;background:var(--cream);box-shadow:0 0 6px rgba(244,240,233,.7)}
.gs6-return{display:none}
.gs6-principles{margin-top:48px;display:grid;grid-template-columns:1fr;row-gap:32px}
.gs6-principle{position:relative}
.gs6-principle-num{font-family:var(--serif);font-size:18px;line-height:1;color:var(--taupe)}
.gs6-principle-title{margin:8px 0 0;font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.4;color:rgba(244,240,233,.82)}
@media(hover:hover) and (pointer:fine){
  .gs6-step:hover .gs6-step-circle{transform:translateY(-2px)}
}
@media(min-width:640px){
  .gs6-steps{flex-direction:row;flex-wrap:wrap;justify-content:center;column-gap:32px;row-gap:48px}
  .gs6-step{flex:0 0 calc(33.333% - 22px)}
  .gs6-principles{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .gs6-wrap{grid-template-columns:30% 1fr;column-gap:80px;row-gap:0;padding:128px 32px}
  .gs6-intro{position:sticky;top:calc(var(--header-h) + 32px);align-self:start}
  .gs6-panel{border-radius:42px;padding:80px 56px}
  .gs6-steps{flex-direction:row;flex-wrap:nowrap;column-gap:24px}
  .gs6-step{flex:1}
  .gs6-steps-line{display:block;position:absolute;left:10%;right:10%;top:79px;height:1px;background:rgba(181,160,140,.3)}
  .gs6-steps-dot{display:block;position:absolute;top:79px;width:4px;height:4px;border-radius:999px;background:var(--taupe);opacity:.55;transform:translate(-50%,-50%)}
  .gs6-return{display:block;position:relative;margin-top:64px;height:64px}
  .gs6-return-frame{position:absolute;left:9%;right:9%;top:0;bottom:0;border-left:1px solid rgba(181,160,140,.3);border-right:1px solid rgba(181,160,140,.3);border-bottom:1px solid rgba(181,160,140,.3);border-radius:0 0 40px 40px}
  .gs6-return-tag{position:absolute;bottom:-11px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:0 16px;background:#161514;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--taupe);white-space:nowrap}
  .gs6-return-bullet{display:block;width:4px;height:4px;border-radius:999px;background:var(--taupe)}
  .gs6-principles{grid-template-columns:repeat(5,1fr);column-gap:0}
  .gs6-principle{padding:0 24px}
  .gs6-principle:not(:first-child){border-left:1px solid rgba(181,160,140,.16)}
}
@media(prefers-reduced-motion:reduce){
  .gs6-step-circle{transition:none!important}
}

/* seo-local-google.html — full page rebuild, reproduced from /_figma-seo-local-google (scoped to .sl-*) */
:root{
  --sl-bg:#F5F1E9; --sl-bg-2:#F6F2EB; --sl-ink:#12110F; --sl-ink-2:#746E65; --sl-gold:#B58A4D;
  --sl-line:rgba(18,17,15,.08); --sl-line-strong:rgba(18,17,15,.14); --sl-black:#131210;
}
.sl-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--sl-gold)}
.sl-eyebrow:before{content:'';display:inline-block;width:24px;height:1px;background:var(--sl-gold);opacity:.7}
.sl-eyebrow--light:before{opacity:.8}
.sl-h2{margin:20px 0 0;font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.01em;color:var(--sl-ink);font-size:clamp(30px,3.4vw,44px)}
.sl-h2--light{color:#F5F1E9}
.sl-lead{font-family:var(--sans);font-size:15px;line-height:1.65;color:var(--sl-ink-2)}
.sl-rating-num{font-family:var(--sans);font-size:8.5px;color:var(--sl-ink)}
.sl-stars{color:var(--sl-gold);font-size:7px;letter-spacing:1px}
.sl-count{font-family:var(--sans);font-size:8px;color:var(--sl-ink-2)}
.sl-pin{position:absolute;width:14px;height:14px}
.sl-pin--a{left:34%;top:40%}
.sl-pin--b{left:58%;top:30%;width:12px;height:12px}

/* hero */
.sl-hero{padding:calc(var(--header-h) + 56px) 0 64px;background:var(--sl-bg);overflow-x:clip}
.sl-hero-grid{display:grid;grid-template-columns:1fr;row-gap:56px;align-items:center}
.sl-hero-copy{display:flex;flex-direction:column}
.sl-h1{margin:28px 0 0;max-width:13ch;font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.01em;color:var(--sl-ink);font-size:clamp(40px,4.6vw,64px)}
.sl-hero-copy .sl-lead{margin-top:28px;max-width:420px}
.sl-hero-copy .actions{margin-top:36px}
.sl-mockup{position:relative;width:100%}
.sl-mockup-caption{display:block;margin-top:14px;text-align:center;font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);opacity:.6}
.sl-mockup-glow{position:absolute;inset:clamp(-64px,-6vw,-96px);pointer-events:none;background:radial-gradient(52% 52% at 55% 40%,rgba(181,138,77,.07),rgba(181,138,77,0) 72%)}
.sl-mockup-row{position:relative;display:flex;align-items:flex-start;justify-content:center;gap:0;--slb:clamp(240px,22.5vw,300px)}
.sl-icon{width:12px;height:12px;color:var(--sl-ink-2)}

/* panel A — búsqueda */
.sl-panel-a{display:none}
.sl-panel-a-top{padding:14px 14px 12px}
.sl-panel-a-toprow{display:flex;align-items:center;justify-content:space-between}
.sl-google-word{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:-.02em}
.sl-menu-dots{display:flex;flex-direction:column;gap:2px}
.sl-menu-dots i{display:block;width:12px;height:2px;background:var(--sl-ink-2)}
.sl-search-pill{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border:1px solid var(--sl-line-strong);border-radius:999px}
.sl-search-pill span{font-family:var(--sans);font-size:9px;color:var(--sl-ink)}
.sl-search-pill .sl-icon{width:10px;height:10px;color:var(--sl-gold)}
.sl-tabs{margin-top:12px;display:flex;align-items:center;gap:10px}
.sl-tabs span{font-family:var(--sans);font-size:7.5px;color:var(--sl-ink-2);border-bottom:1.5px solid transparent;padding-bottom:3px}
.sl-tabs span.is-active{color:var(--sl-ink);border-bottom-color:var(--sl-gold)}
.sl-panel-a-map-wrap{padding:0 14px 12px}
.sl-panel-a-maphead{display:flex;align-items:center;justify-content:space-between}
.sl-panel-a-maphead span:first-child{font-family:var(--sans);font-size:9px;font-weight:600;color:var(--sl-ink)}
.sl-chevron{color:var(--sl-ink-2);font-size:11px}
.sl-mini-map{position:relative;margin-top:8px;height:80px;overflow:hidden;border-radius:10px;border:1px solid var(--sl-line);background:linear-gradient(140deg,#F1EBE0,#F6F2EB 55%,#ECE5D8)}
.sl-mini-map svg:first-child{position:absolute;inset:0;width:100%;height:100%}
.sl-panel-a-result{padding:0 14px 16px}
.sl-result-name{font-family:var(--serif);font-size:13px;line-height:1.1;color:var(--sl-ink)}
.sl-result-rating{margin-top:4px;display:flex;align-items:center;gap:4px}
.sl-result-sub{margin-top:4px;font-family:var(--sans);font-size:8.5px;color:var(--sl-ink-2)}
.sl-result-open{margin-top:2px;font-family:var(--sans);font-size:8.5px;color:var(--sl-gold)}

/* panel B — ficha del negocio (protagonista) */
.sl-panel-b{position:relative;z-index:20;width:clamp(280px,86vw,360px);max-width:100%;flex:0 0 auto;overflow:hidden;background:#FFFFFF;border:1px solid var(--sl-line-strong);border-radius:18px;box-shadow:0 46px 90px -42px rgba(18,17,15,.46)}
.sl-gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:6px;height:clamp(120px,30vw,148px);padding:10px}
.sl-gallery-main,.sl-gallery-thumb{position:relative;overflow:hidden;border-radius:8px;background:linear-gradient(150deg,#EFE8DA,#E3D9C6 60%,#D8CBAF)}
.sl-gallery-main{grid-row:1/3}
.sl-gallery-main img,.sl-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sl-gallery-thumb--more:after{content:'';position:absolute;inset:0;background:rgba(18,17,15,.42)}
.sl-gallery-thumb--more span{position:absolute;z-index:1;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:9.5px;font-weight:500;color:#F5F1E9}
.sl-panel-b-body{padding:4px 16px 16px}
.sl-biz-name{font-family:var(--serif);font-size:19px;line-height:1.08;color:var(--sl-ink)}
.sl-biz-rating{margin-top:6px;display:flex;align-items:center;gap:6px}
.sl-biz-rating .sl-rating-num{font-size:10px;font-weight:500}
.sl-biz-rating .sl-stars{font-size:9px}
.sl-biz-rating .sl-count{font-size:9.5px}
.sl-biz-sub{margin-top:4px;font-family:var(--sans);font-size:9.5px;color:var(--sl-ink-2)}
.sl-biz-actions{margin-top:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.sl-action{display:flex;flex-direction:column;align-items:center;gap:4px}
.sl-action-icon{display:flex;height:32px;width:32px;align-items:center;justify-content:center;border-radius:999px;background:rgba(181,138,77,.1)}
.sl-action-icon svg{width:13px;height:13px;color:var(--sl-gold)}
.sl-action span:last-child{font-family:var(--sans);font-size:7px;color:var(--sl-ink-2);text-align:center}
.sl-biz-address{margin-top:14px;display:flex;align-items:center;gap:8px}
.sl-biz-address svg{width:10px;height:10px;flex:0 0 auto;color:var(--sl-ink-2)}
.sl-biz-address span{font-family:var(--sans);font-size:8.5px;color:var(--sl-ink-2)}
.sl-biz-tabs{margin-top:12px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--sl-line);padding-bottom:7px;overflow-x:auto}
.sl-biz-tabs span{font-family:var(--sans);font-size:7.5px;color:var(--sl-ink-2);border-bottom:1.5px solid transparent;padding-bottom:5px;white-space:nowrap}
.sl-biz-tabs span.is-active{color:var(--sl-ink);font-weight:500;border-bottom-color:var(--sl-gold)}
.sl-biz-reviews{margin-top:12px}
.sl-biz-reviews-head{font-family:var(--sans);font-size:9px;font-weight:600;color:var(--sl-ink)}
.sl-biz-reviews-rating{margin-top:8px;display:flex;align-items:center;gap:6px}
.sl-biz-reviews-rating .sl-stars{font-size:8px}
.sl-review{margin-top:8px;display:flex;align-items:flex-start;gap:8px}
.sl-review-avatar{display:flex;height:24px;width:24px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:999px;background:var(--sl-black);font-family:var(--serif);font-size:10px;color:#F5F1E9}
.sl-review p{font-family:var(--sans);font-size:9px;line-height:1.45;color:var(--sl-ink-2);margin:0}
.sl-review-link{margin-top:9px;font-family:var(--sans);font-size:8.5px;font-weight:500;color:var(--sl-gold)}

/* panel C — métricas */
.sl-panel-c{display:none}
.sl-metric{padding-top:18px;border-top:1px solid rgba(245,241,233,.1)}
.sl-metric:first-child{padding-top:0;border-top:0}
.sl-metric-label{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.04em;color:rgba(245,241,233,.72)}
.sl-metric-value{display:block;margin-top:8px;font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,34px);line-height:1;letter-spacing:-.01em;color:var(--sl-gold)}
.sl-metric-sub{display:block;margin-top:8px;font-family:var(--sans);font-size:8.5px;letter-spacing:.02em;color:rgba(245,241,233,.42)}

@media(min-width:640px){
  .sl-mockup-row{justify-content:flex-end}
  .sl-panel-a{display:block;position:relative;z-index:10;margin-top:32px;width:calc(var(--slb) * .7);flex:0 0 auto;overflow:hidden;background:#FFFFFF;border:1px solid var(--sl-line);border-radius:18px;box-shadow:0 28px 64px -42px rgba(18,17,15,.34)}
  .sl-panel-b{width:var(--slb);margin-left:-24px}
  .sl-panel-c{position:relative;z-index:10;margin-top:32px;margin-left:-16px;display:flex;width:calc(var(--slb) * .58);flex:0 0 auto;flex-direction:column;justify-content:space-between;padding:clamp(24px,2.4vw,32px) clamp(20px,2vw,26px);min-height:calc(var(--slb) * 1.2);background:linear-gradient(165deg,#161513,#0C0C0C);border:1px solid rgba(181,138,77,.2);border-radius:18px;box-shadow:0 32px 64px -40px rgba(18,17,15,.4)}
}
@media(min-width:1024px){
  .sl-hero{padding:calc(var(--header-h) + 88px) 0 80px}
  .sl-hero-grid{grid-template-columns:44fr 56fr;column-gap:48px;row-gap:0}
}
@media(hover:hover) and (pointer:fine){
  .sl-panel-b:hover,.sl-panel-a:hover,.sl-panel-c:hover{transform:translateY(-2px)}
  .sl-panel-a,.sl-panel-b,.sl-panel-c{transition:transform .35s var(--ease)}
}

/* SEO LOCAL — sistema de botones premium (scope .pg-sl: aplica únicamente a esta página) */
.pg-sl .btn{position:relative;overflow:hidden;border-radius:12px}
.pg-sl .btn:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.12) 45%,rgba(255,255,255,.18) 50%,rgba(255,255,255,.12) 55%,transparent 75%);transform:translateX(-120%);transition:transform .58s var(--ease)}
.pg-sl .btn-outline:before{background:linear-gradient(110deg,transparent 25%,rgba(18,17,15,.05) 45%,rgba(18,17,15,.08) 50%,rgba(18,17,15,.05) 55%,transparent 75%)}
.pg-sl .btn-arrow{transition:transform .28s var(--ease)}
.pg-sl .btn:active{transform:translateY(-1px);transition-duration:.15s}
@media(hover:hover) and (pointer:fine){
  .pg-sl .btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(17,17,17,.12)}
  .pg-sl .btn:hover:before{transform:translateX(120%)}
  .pg-sl .btn:hover .btn-arrow{transform:translateX(4px)}
  .pg-sl .btn-primary:hover,.pg-sl .btn-dark:hover{box-shadow:0 12px 28px -6px rgba(17,17,17,.24)}
  .pg-sl .btn-outline:hover{box-shadow:0 8px 20px -8px rgba(17,17,17,.14)}
}
@media(prefers-reduced-motion:reduce){
  .pg-sl .btn,.pg-sl .btn:before,.pg-sl .btn-arrow{transition:none}
  .pg-sl .btn:hover{transform:none}
  .pg-sl .btn:hover:before{transform:translateX(-120%)}
  .pg-sl .btn:hover .btn-arrow{transform:none}
}

/* qué activamos */
.sl-capabilities{padding:64px 0 80px;background:var(--sl-bg)}
.sl-cap-grid{margin-top:48px;display:grid;grid-template-columns:1fr;gap:16px}
.sl-cap-card{display:flex;flex-direction:column;padding:20px;background:#FFFFFF;border:1px solid var(--sl-line);border-radius:14px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.sl-cap-top{display:flex;align-items:center;justify-content:space-between}
.sl-cap-icon{display:flex;height:40px;width:40px;align-items:center;justify-content:center;border-radius:999px;background:var(--sl-black);transition:transform .3s var(--ease)}
.sl-cap-icon svg{width:16px;height:16px;color:#F5F1E9}
.sl-cap-num{font-family:var(--sans);font-size:11px;letter-spacing:.04em;color:var(--sl-ink-2)}
.sl-cap-title{margin:20px 0 0;font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.25;color:var(--sl-ink)}
.sl-cap-desc{margin:8px 0 0;font-family:var(--sans);font-size:12px;line-height:1.55;color:var(--sl-ink-2)}
.sl-cap-grid>.reveal:nth-child(1){transition-delay:0ms}
.sl-cap-grid>.reveal:nth-child(2){transition-delay:50ms}
.sl-cap-grid>.reveal:nth-child(3){transition-delay:100ms}
.sl-cap-grid>.reveal:nth-child(4){transition-delay:150ms}
.sl-cap-grid>.reveal:nth-child(5){transition-delay:200ms}
.sl-cap-grid>.reveal:nth-child(6){transition-delay:250ms}
@media(hover:hover) and (pointer:fine){
  .sl-cap-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -28px rgba(18,17,15,.24)}
  .sl-cap-card:hover .sl-cap-icon{transform:translateY(-2px)}
}
@media(min-width:640px){.sl-cap-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.sl-cap-grid{grid-template-columns:repeat(6,1fr)}}

/* principio echelon */
.sl-principle{padding:16px 0}
.sl-principle-box{display:grid;grid-template-columns:1fr;gap:48px;padding:40px 24px;background:#0C0C0C;border-radius:20px}
.sl-principle-text{margin:24px 0 0;max-width:480px;font-family:var(--sans);font-size:14px;line-height:1.7;color:rgba(245,241,233,.65)}
.sl-principle-seq{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.sl-principle-line{position:absolute;left:6%;right:6%;top:9px;height:1px;background:rgba(181,138,77,.3)}
.sl-principle-node{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;text-align:center}
.sl-principle-dot{position:relative;z-index:1;height:18px;width:18px;flex:0 0 auto;border-radius:999px;background:#0C0C0C;border:1.5px solid var(--sl-gold)}
.sl-principle-label{margin-top:16px;padding:0 4px;font-family:var(--sans);font-size:11px;line-height:1.35;color:rgba(245,241,233,.82)}
@media(min-width:1024px){
  .container .sl-principle-box{grid-template-columns:1fr 1fr;align-items:center;padding:56px}
}

/* del descubrimiento a la reserva */
.sl-journey{padding:64px 0 80px;background:var(--sl-bg)}
.sl-journey-rule{display:block;height:1px;margin-bottom:12px;background:var(--sl-line)}
.sl-journey-row{margin-top:56px;display:flex;flex-direction:column;gap:40px}
.sl-journey-step{display:flex;flex-direction:column;flex:1}
.sl-journey-visual{height:72px;display:flex;align-items:center;background:#FFFFFF;border:1px solid var(--sl-line);border-radius:12px;box-shadow:0 18px 40px -32px rgba(18,17,15,.3);padding:0 14px}
.sl-journey-visual span{font-family:var(--sans);font-size:10.5px;color:var(--sl-ink)}
.sl-journey-visual-icon{margin-left:auto;display:flex;height:24px;width:24px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:999px;background:rgba(181,138,77,.12)}
.sl-journey-visual-icon svg{width:11px;height:11px;color:var(--sl-gold)}
.sl-journey-num{margin-top:20px;display:block;font-family:var(--sans);font-size:11px;letter-spacing:.04em;color:var(--sl-gold)}
.sl-journey-title{margin:8px 0 0;font-family:var(--serif);font-size:19px;color:var(--sl-ink)}
.sl-journey-desc{margin:6px 0 0;font-family:var(--sans);font-size:12px;line-height:1.5;color:var(--sl-ink-2)}
.sl-journey-arrow{display:none;color:var(--sl-ink-2)}
.sl-journey-visual--map{flex-direction:column;align-items:flex-start;justify-content:center;padding:8px 12px;gap:0}
.sl-journey-visual-label{font-family:var(--sans);font-size:8px;font-weight:600;color:var(--sl-ink)}
.sl-journey-mini-map{position:relative;margin-top:6px;width:100%;height:44px;overflow:hidden;border-radius:8px;background:linear-gradient(140deg,#F1EBE0,#F6F2EB 55%,#ECE5D8)}
.sl-journey-mini-map svg:first-child{position:absolute;inset:0;width:100%;height:100%}
.sl-journey-mini-map .sl-pin--a{left:30%;top:30%;width:12px;height:12px}
.sl-journey-mini-map .sl-pin--b{left:58%;top:45%;width:11px;height:11px}
.sl-journey-visual--card{flex-direction:column;align-items:flex-start;justify-content:center;padding:0 14px;gap:4px}
.sl-journey-visual-name{font-family:var(--serif);font-size:13px;color:var(--sl-ink)}
.sl-journey-visual-rating{display:flex;align-items:center;gap:4px}
.sl-journey-visual-rating .sl-rating-num{font-size:9px}
.sl-journey-visual-rating .sl-stars{font-size:7px}
.sl-journey-visual--icons{justify-content:center;gap:10px}
.sl-journey-mini-icon{display:flex;height:32px;width:32px;align-items:center;justify-content:center;border-radius:999px;background:rgba(181,138,77,.1)}
.sl-journey-mini-icon svg{width:13px;height:13px;color:var(--sl-gold)}
.sl-journey-visual--confirm{flex-direction:column;align-items:flex-start;justify-content:center;padding:0 14px;gap:2px}
.sl-journey-confirm-head{display:flex;align-items:center;gap:6px;font-family:var(--sans);font-size:11px;font-weight:600;color:var(--sl-ink)}
.sl-journey-confirm-check{display:flex;height:16px;width:16px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:999px;background:var(--sl-gold)}
.sl-journey-confirm-check svg{width:9px;height:9px}
.sl-journey-confirm-sub{font-family:var(--sans);font-size:8.5px;color:var(--sl-ink-2)}
@media(min-width:1024px){
  .sl-journey-row{flex-direction:row;align-items:stretch;gap:0}
  .sl-journey-arrow{display:flex;align-items:flex-start;padding-top:28px;margin:0 12px;flex:0 0 auto}
}

/* conectada al sistema */
.sl-system{padding:64px 0 80px;background:var(--sl-bg)}
.sl-system-head{margin-top:12px;display:grid;grid-template-columns:1fr;gap:24px}
.sl-system-desc{font-family:var(--sans);font-size:14.5px;line-height:1.65;color:var(--sl-ink-2)}
.sl-system-diagram{position:relative;margin-top:64px}
.sl-system-lines{display:none}
.sl-system-col{display:flex;flex-direction:column;gap:20px}
.sl-system-col--right{margin-top:24px}
.sl-system-center-col{display:flex;flex-direction:column;align-items:center;gap:24px;margin:24px 0}
.sl-system-node{position:relative;display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:#FFFFFF;border:1px solid var(--sl-line);border-radius:14px;box-shadow:0 18px 40px -34px rgba(18,17,15,.3)}
.sl-system-node--right{flex-direction:row-reverse;text-align:right}
.sl-system-node-icon{margin-top:2px;display:flex;height:36px;width:36px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--sl-line-strong);transition:transform .3s var(--ease)}
.sl-system-node-icon svg{width:15px;height:15px;color:var(--sl-gold)}
.sl-system-node-copy{display:flex;flex-direction:column}
.sl-system-node-title{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--sl-ink)}
.sl-system-node-desc{margin-top:3px;font-family:var(--sans);font-size:11px;line-height:1.45;color:var(--sl-ink-2)}
.sl-system-center{display:flex;aspect-ratio:1;width:176px;margin:0 auto;flex-direction:column;align-items:center;justify-content:center;padding:0 24px;text-align:center;border-radius:20px;background:#0C0C0C;box-shadow:0 34px 70px -40px rgba(18,17,15,.6)}
.sl-system-center span{font-family:var(--serif);font-size:20px;line-height:1.15;color:#F5F1E9}
@media(hover:hover) and (pointer:fine){
  .sl-system-node:hover .sl-system-node-icon{transform:translateY(-2px)}
}
@media(min-width:1024px){
  .sl-system-head{grid-template-columns:1fr 1fr;align-items:end}
  .sl-system-diagram{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:24px}
  .sl-system-lines{display:block;position:absolute;inset:0;width:100%;height:100%}
  .sl-system-col{padding:24px 0}
  .sl-system-col--right{margin-top:0}
  .sl-system-center-col{margin:0}
}

/* qué cambia */
.sl-outcomes{padding:64px 0 80px;background:var(--sl-bg)}
.sl-outcome-grid{margin-top:40px;display:grid;grid-template-columns:1fr;gap:16px}
.sl-outcome-card{display:flex;align-items:flex-start;gap:16px;padding:20px;background:#FFFFFF;border:1px solid var(--sl-line);border-radius:14px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.sl-outcome-icon{margin-top:2px;display:flex;height:40px;width:40px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--sl-line-strong);transition:transform .3s var(--ease)}
.sl-outcome-icon svg{width:16px;height:16px;color:var(--sl-gold)}
.sl-outcome-card h3{font-family:var(--sans);font-size:13.5px;font-weight:600;line-height:1.25;color:var(--sl-ink)}
.sl-outcome-card p{margin-top:6px;font-family:var(--sans);font-size:12px;line-height:1.5;color:var(--sl-ink-2)}
@media(hover:hover) and (pointer:fine){
  .sl-outcome-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -28px rgba(18,17,15,.22)}
  .sl-outcome-card:hover .sl-outcome-icon{transform:translateY(-2px)}
}
@media(min-width:640px){.sl-outcome-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.sl-outcome-grid{grid-template-columns:repeat(4,1fr)}}

/* cta final */
.sl-final{padding:80px 0 112px;background:var(--sl-bg)}
.sl-final-box{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr;gap:40px;padding:40px 24px;background:var(--sl-bg-2);border:1px solid var(--sl-line);border-radius:20px}
.sl-final-rings{position:absolute;right:-96px;bottom:-96px;width:420px;height:420px;pointer-events:none}
.sl-final-copy{position:relative}
.sl-final-aside{position:relative}
.sl-final-points{margin-top:28px;display:flex;flex-direction:column;gap:12px}
.sl-final-point{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:13.5px;color:var(--sl-ink)}
.sl-final-check{display:flex;height:18px;width:18px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:999px;background:rgba(181,138,77,.14)}
.sl-final-check svg{width:11px;height:11px;color:var(--sl-gold)}
@media(min-width:1024px){
  .sl-final-box{grid-template-columns:1.1fr .9fr;align-items:center;padding:64px}
  .sl-final-aside{justify-self:end}
}
@media(max-width:389px){
  .sl-biz-actions{grid-template-columns:repeat(2,1fr);row-gap:12px}
}

/* ============================================================
   WEB & CRO — página completa (scope .wc-*: exclusivo de web-cro.html;
   .pg-wc en <body> activa botones/reduced-motion solo en esta página)
   ============================================================ */
.wc-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe-deep)}
.wc-eyebrow.reveal,.wc-principle-eyebrow.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.wc-eyebrow.reveal.on,.wc-principle-eyebrow.reveal.on{opacity:1;transform:none}

/* hero */
.wc-hero{padding:calc(var(--header-h) + 52px) 0 68px;background:var(--cream);overflow-x:clip}
.wc-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);row-gap:56px;align-items:center}
.wc-hero-copy{display:flex;flex-direction:column;max-width:440px}
.wc-h1{margin:22px 0 0;font-size:clamp(36px,4.6vw,58px)}
.wc-h1 em{font-style:italic;color:var(--taupe-deep)}
.wc-lead{margin-top:24px;max-width:380px}
.wc-lead.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.wc-lead.reveal.on{opacity:1;transform:none}
.wc-hero-copy .actions{margin-top:32px}
.wc-hero-copy .actions.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.wc-hero-copy .actions.reveal.on{opacity:1;transform:none}

.wc-hero-visual{position:relative;display:block;width:100%;height:auto;border-radius:24px;border:1px solid rgba(17,17,17,.07);box-shadow:0 24px 60px rgba(17,17,17,.07);overflow:hidden;object-fit:contain}
@media(hover:hover) and (pointer:fine){
  .wc-hero-visual.reveal.on:hover{transform:scale(1.01);transition-duration:.6s}
}

@media(min-width:1024px){
  .wc-hero{padding:calc(var(--header-h) + 84px) 0 84px}
  .wc-hero-grid{grid-template-columns:minmax(0,42fr) minmax(0,58fr);column-gap:56px}
}

/* qué activamos (pillars) */
.wc-pillars{padding:88px 0 60px;background:var(--cream)}
.wc-pillars-grid{margin-top:52px;display:grid;grid-template-columns:minmax(0,1fr);gap:44px 24px}
.wc-pillar{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 8px}
.wc-pillar-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;background:rgba(181,138,77,.1)}
.wc-pillar-icon svg{width:22px;height:22px;color:var(--taupe-deep)}
.wc-pillar h3{margin:18px 0 0;font-family:var(--serif);font-weight:400;font-size:19px;color:var(--ink)}
.wc-pillar p{margin-top:8px;font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--ink-soft);max-width:220px}
.wc-pillar-icon,.wc-pillar-icon svg{transition:background-color .32s var(--ease),transform .32s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .wc-pillar{transition:transform .32s var(--ease)}
  .wc-pillar:hover{transform:translateY(-3px)}
  .wc-pillar:hover .wc-pillar-icon{background:rgba(181,138,77,.17)}
  .wc-pillar:hover .wc-pillar-icon svg{transform:translateY(-1px)}
}
.wc-ornament{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:56px}
.wc-ornament i{display:block;width:56px;height:1px;background:var(--line)}
.wc-ornament svg{width:13px;height:13px;color:var(--taupe-deep)}
.wc-ornament.reveal{opacity:1;transform:none}
.wc-ornament.reveal i{transform:scaleX(0);transition:transform .7s var(--ease)}
.wc-ornament.reveal i:first-child{transform-origin:right}
.wc-ornament.reveal i:last-child{transform-origin:left}
.wc-ornament.reveal.on i{transform:scaleX(1)}
.wc-ornament.reveal svg{opacity:0;transition:opacity .4s var(--ease) .35s}
.wc-ornament.reveal.on svg{opacity:1}
@media(min-width:640px){.wc-pillars-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){
  .wc-pillars-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .wc-pillar:not(:first-child):before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:1px;background:var(--line-soft)}
}

/* panel negro — principio echelon */
.wc-principle{padding:12px 0}
.wc-principle-box{position:relative;overflow:hidden;background:linear-gradient(160deg,#161513,#0C0C0C);border-radius:28px;padding:clamp(36px,5vw,64px) clamp(26px,5vw,56px);display:grid;grid-template-columns:minmax(0,1fr);row-gap:32px}
.wc-principle-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe)}
.wc-principle-h2{margin:20px 0 0;font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.01em;color:#F5F1E9;font-size:clamp(28px,3.6vw,42px)}
.wc-principle-h2 em{font-style:italic;color:var(--taupe)}
.wc-principle-box.reveal{opacity:0;transform:scaleY(.97);transform-origin:top;transition:opacity .8s var(--ease),transform .8s var(--ease)}
.wc-principle-box.reveal.on{opacity:1;transform:none}
.wc-principle-aside{display:flex;flex-direction:column;gap:20px}
.wc-principle-divider{width:40px;height:1px;background:rgba(245,241,233,.16)}
.wc-principle-divider.reveal{opacity:0;transform:scaleX(0);transform-origin:left;transition:opacity .5s var(--ease),transform .6s var(--ease)}
.wc-principle-divider.reveal.on{opacity:1;transform:scaleX(1)}
.wc-principle-sub{font-family:var(--sans);font-size:14px;line-height:1.6;color:rgba(245,241,233,.6);max-width:240px}
.wc-principle-sub.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.wc-principle-sub.reveal.on{opacity:1;transform:none}
.wc-principle-visual{position:relative;min-height:120px}
.wc-principle-visual.reveal{opacity:0;transform:scale(.98);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.wc-principle-visual.reveal.on{opacity:1;transform:none}
.wc-door{position:absolute;right:22%;top:6%;bottom:6%;width:3px;transform:skewX(-5deg);background:linear-gradient(180deg,rgba(245,241,233,0),rgba(245,241,233,.85) 45%,rgba(181,138,77,.55));box-shadow:0 0 50px 8px rgba(245,241,233,.16)}
.wc-door-glow{position:absolute;right:10%;bottom:2%;width:65%;height:60%;background:radial-gradient(ellipse at bottom right,rgba(245,241,233,.22),rgba(245,241,233,0) 70%)}
@media(min-width:1024px){
  .wc-principle-box{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);column-gap:48px;align-items:center}
  .wc-principle-aside{flex-direction:row;align-items:stretch;gap:28px}
  .wc-principle-divider{width:1px;height:auto;align-self:stretch}
  .wc-principle-divider.reveal{transform:scaleY(0);transform-origin:top}
  .wc-principle-divider.reveal.on{transform:scaleY(1)}
  .wc-principle-sub{padding-top:2px}
  .wc-principle-visual{flex:1;min-height:150px}
}

/* conectada al sistema */
.wc-system{padding:88px 0 96px;background:var(--cream);overflow-x:clip}
.wc-system-track{position:relative;margin-top:56px}
.wc-system-track:before{content:'';position:absolute;left:26px;top:4px;bottom:4px;width:1px;background:var(--line);transform:scaleY(0);transform-origin:top;transition:transform 1s var(--ease)}
.wc-system-track.reveal.on:before{transform:scaleY(1)}
.wc-system-line{display:none}
.wc-system-row{position:relative;display:flex;flex-direction:column;gap:32px}
.wc-system-node{position:relative;display:flex;flex-direction:row;align-items:center;gap:16px;text-align:left}
.wc-system-mark{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto}
.wc-system-num{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.05em;color:var(--ink-faint)}
.wc-system-circle{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex:0 0 auto;border-radius:999px;background:var(--cream);border:1px solid var(--line)}
.wc-system-circle svg{width:20px;height:20px;color:var(--taupe-deep)}
.wc-system-copy h3{margin:0;font-family:var(--serif);font-weight:400;font-size:16px;color:var(--ink)}
.wc-system-copy p{margin-top:6px;font-family:var(--sans);font-size:11.5px;line-height:1.45;color:var(--ink-faint);max-width:220px}
.wc-system-node.reveal{opacity:0;transform:scale(.97);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.wc-system-node.reveal.on{opacity:1;transform:none}
@media(min-width:1024px){
  .wc-system-track:before{content:none}
  .wc-system-line{display:block;position:absolute;left:0;top:48px;width:100%;height:4px;overflow:visible}
  .wc-system-line-draw{transition:stroke-dashoffset 1.1s var(--ease)}
  .wc-system-track.reveal.on .wc-system-line-draw{stroke-dashoffset:0}
  .wc-system-row{flex-direction:row;gap:0}
  .wc-system-node{flex:1;flex-direction:column;align-items:center;text-align:center;gap:0}
  .wc-system-copy{margin-top:14px}
  .wc-system-copy p{margin-left:auto;margin-right:auto}
}

/* cta final */
.wc-final{padding:80px 0 116px;background:var(--cream)}
.wc-final-grid{display:grid;grid-template-columns:minmax(0,1fr);row-gap:40px}
.wc-final-h2{margin:20px 0 0;font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.01em;color:var(--ink);font-size:clamp(30px,3.8vw,46px)}
.wc-final-h2 em{font-style:italic;color:var(--taupe-deep)}
.wc-final-aside{display:flex;gap:24px}
.wc-final-divider{width:1px;align-self:stretch;background:var(--line);flex:0 0 auto}
.wc-final-divider.reveal{opacity:0;transform:scaleY(0);transform-origin:top;transition:opacity .5s var(--ease),transform .7s var(--ease)}
.wc-final-divider.reveal.on{opacity:1;transform:scaleY(1)}
.wc-final-copy{flex:1;min-width:0}
.wc-final-copy .lead{max-width:360px}
.wc-final-copy .actions{margin-top:26px}
.wc-final-note{display:flex;align-items:center;gap:8px;margin-top:22px;font-family:var(--sans);font-size:12px;color:var(--ink-faint)}
.wc-final-note svg{width:15px;height:15px;color:var(--taupe-deep);flex:0 0 auto}
@media(min-width:1024px){
  .wc-final-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:64px;align-items:center}
}

/* motion — Luxury Image Reveal (hero visual) */
.wc-hero-visual.reveal{opacity:0;transform:translateY(14px) scale(.99);box-shadow:0 8px 20px rgba(17,17,17,.04);transition:opacity .9s var(--ease),transform .9s var(--ease),box-shadow .9s var(--ease)}
.wc-hero-visual.reveal.on{opacity:1;transform:none;box-shadow:0 24px 60px rgba(17,17,17,.07)}

/* motion — mobile: mismo lenguaje, desplazamientos más cortos */
@media(max-width:639px){
  .pg-wc .reveal{transform:translateY(16px)}
  .wc-eyebrow.reveal,.wc-principle-eyebrow.reveal{transform:translateY(8px)}
  .wc-lead.reveal,.wc-principle-sub.reveal{transform:translateY(13px)}
}

/* botones — sistema premium ECHELON (scope .pg-wc: aplica únicamente a esta página) */
.pg-wc .btn{position:relative;overflow:hidden;border-radius:12px}
.pg-wc .btn:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.12) 45%,rgba(255,255,255,.18) 50%,rgba(255,255,255,.12) 55%,transparent 75%);transform:translateX(-120%);transition:transform .6s var(--ease)}
.pg-wc .btn-outline:before{background:linear-gradient(110deg,transparent 25%,rgba(17,17,17,.05) 45%,rgba(17,17,17,.08) 50%,rgba(17,17,17,.05) 55%,transparent 75%)}
.pg-wc .btn-arrow{transition:transform .28s var(--ease)}
.pg-wc .btn:active{transform:translateY(-1px) scale(.985);transition-duration:.16s}
@media(hover:hover) and (pointer:fine){
  .pg-wc .btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(17,17,17,.12)}
  .pg-wc .btn:hover:before{transform:translateX(120%)}
  .pg-wc .btn:hover .btn-arrow{transform:translateX(4px)}
  .pg-wc .btn-primary:hover,.pg-wc .btn-dark:hover{box-shadow:0 12px 28px -6px rgba(17,17,17,.24)}
  .pg-wc .btn-outline:hover{box-shadow:0 8px 20px -8px rgba(17,17,17,.14)}
}

/* reduced motion — obligatorio en esta página */
@media(prefers-reduced-motion:reduce){
  .pg-wc .reveal,.pg-wc .hh-mask-line,.pg-wc .hh-rule,.pg-wc .wc-system-track:before,.pg-wc .wc-system-line-draw,.pg-wc .btn,.pg-wc .btn:before,.pg-wc .btn-arrow{transition:none!important;animation:none!important}
  .pg-wc .reveal{opacity:1!important;transform:none!important}
  .pg-wc .hh-mask-line{clip-path:none!important;transform:none!important}
  .pg-wc .hh-rule{transform:none!important}
  .pg-wc .wc-system-track:before{transform:scaleY(1)!important}
  .pg-wc .wc-system-line-draw{stroke-dashoffset:0!important}
  .pg-wc .btn:hover{transform:none!important}
  .pg-wc .btn:hover:before{transform:translateX(-120%)!important}
  .pg-wc .btn:hover .btn-arrow{transform:none!important}
  .pg-wc .wc-ornament i,.pg-wc .wc-ornament svg{transition:none!important}
  .pg-wc .wc-pillar,.pg-wc .wc-pillar-icon,.pg-wc .wc-pillar-icon svg,.pg-wc .wc-hero-visual{transition:none!important}
  .pg-wc .wc-pillar:hover,.pg-wc .wc-pillar:hover .wc-pillar-icon svg,.pg-wc .wc-hero-visual:hover{transform:none!important}
}

/* ============================================================
   CRM & AUTOMATIZACIÓN — página completa (scope .crm-*: exclusivo de
   crm-automatizacion.html; .pg-crm en <body> activa botones/reduced-motion
   solo en esta página)
   ============================================================ */
.crm-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe-deep)}
.crm-eyebrow.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.crm-eyebrow.reveal.on{opacity:1;transform:none}
.crm-eyebrow--gold{color:var(--taupe)}

/* hero */
.crm-hero{padding:calc(var(--header-h) + 52px) 0 68px;background:var(--cream);overflow-x:clip}
.crm-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);row-gap:52px;align-items:center}
.crm-hero-copy{display:flex;flex-direction:column;max-width:540px}
.crm-h1{margin:22px 0 0;font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.01em;color:var(--ink);font-size:clamp(36px,4.6vw,58px)}
.crm-lead{margin-top:24px;max-width:400px}
.crm-lead.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.crm-lead.reveal.on{opacity:1;transform:none}
.crm-hero-copy .actions{margin-top:32px}
.crm-hero-copy .actions.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.crm-hero-copy .actions.reveal.on{opacity:1;transform:none}

.crm-hero-visual-wrap{display:block;width:100%}
.crm-hero-caption{display:block;margin-top:14px;text-align:center;font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);opacity:.6}
.crm-hero-visual{position:relative;display:block;width:100%;height:auto;object-fit:contain}
.crm-hero-visual.reveal{opacity:0;transform:translateY(14px) scale(.99);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.crm-hero-visual.reveal.on{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){
  .crm-hero-visual.reveal.on:hover{transform:scale(1.01);transition-duration:.6s}
}

@media(min-width:1024px){
  .crm-hero{padding:calc(var(--header-h) + 84px) 0 84px}
  .crm-hero-grid{grid-template-columns:minmax(0,42fr) minmax(0,58fr);column-gap:56px}
}

/* qué activamos + principio echelon */
.crm-pillars{padding:88px 0 90px;background:var(--cream)}
.crm-pillars-grid{display:grid;grid-template-columns:minmax(0,1fr);row-gap:48px}
.crm-pillars-copy{display:flex;flex-direction:column}
.crm-h2{margin:18px 0 0;font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.01em;color:var(--ink);font-size:clamp(28px,3.2vw,38px)}
.crm-checks{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.crm-checks li{display:flex;align-items:flex-start;gap:10px;font-family:var(--sans);font-size:14.5px;line-height:1.5;color:var(--ink-soft)}
.crm-checks li.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.crm-checks li.reveal.on{opacity:1;transform:none}
.crm-check{display:flex;flex:0 0 auto;margin-top:1px}
.crm-check svg{width:17px;height:17px;color:var(--taupe-deep)}

.crm-principle{position:relative;overflow:hidden;background:linear-gradient(160deg,#161513,#0C0C0C);border-radius:24px;padding:clamp(32px,4vw,48px);display:flex;flex-direction:column}
.crm-principle.reveal{opacity:0;transform:scale(.98);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.crm-principle.reveal.on{opacity:1;transform:none}
.crm-principle>.crm-eyebrow{position:relative;z-index:1}
.crm-principle-h3{margin:16px 0 0;font-family:var(--serif);font-weight:400;line-height:1.14;letter-spacing:-.01em;color:#F5F1E9;font-size:clamp(24px,2.6vw,32px);max-width:340px;position:relative;z-index:1}
.crm-principle-text{margin-top:16px;font-family:var(--sans);font-size:14px;line-height:1.65;color:rgba(245,241,233,.62);max-width:380px;position:relative;z-index:1}
.crm-principle-rings{display:none;position:absolute;right:-10px;bottom:-10px;width:170px;height:auto;pointer-events:none;opacity:.7}
.crm-principle-mark{display:none;position:absolute;right:46px;bottom:34px;font-family:var(--serif);font-size:26px;color:var(--taupe);pointer-events:none}
@media(min-width:1024px){
  .crm-pillars-grid{grid-template-columns:minmax(0,45fr) minmax(0,55fr);column-gap:48px;align-items:stretch}
  .crm-principle-rings{display:block;right:-10px;top:50%;bottom:auto;transform:translateY(-50%);width:240px}
  .crm-principle-mark{display:block;right:70px;top:50%;bottom:auto;transform:translateY(-52%);font-size:34px}
}

/* conectada al sistema */
.crm-system{padding:88px 0 96px;background:var(--cream)}
.crm-system-head{display:flex;flex-direction:column;gap:16px}
.crm-system-lead{max-width:420px}
.crm-cards-grid{margin-top:44px;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.crm-card{position:relative;display:flex;flex-direction:column;padding:24px 22px 30px;background:#FFFFFF;border:1px solid var(--line-soft);border-radius:16px;box-shadow:0 1px 2px rgba(17,17,17,.02)}
.crm-card:after{content:'';position:absolute;left:22px;right:22px;bottom:16px;height:1px;background:linear-gradient(90deg,var(--taupe-deep),rgba(156,132,104,0) 85%)}
.crm-card-top{display:flex;align-items:center;justify-content:space-between}
.crm-card-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 auto;border-radius:999px;background:rgba(181,138,77,.1)}
.crm-card-icon svg{width:18px;height:18px;color:var(--taupe-deep);transition:transform .3s var(--ease)}
.crm-card-num{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--ink-faint)}
.crm-card h3{margin:16px 0 0;font-family:var(--serif);font-weight:400;font-size:18px;color:var(--ink)}
.crm-card p{margin-top:6px;font-family:var(--sans);font-size:12.5px;line-height:1.5;color:var(--ink-faint)}
.crm-card.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.crm-card.reveal.on{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){
  .crm-card{transition:transform .32s var(--ease),border-color .32s var(--ease),box-shadow .32s var(--ease)}
  .crm-card.reveal.on:hover{transform:translateY(-3px);border-color:var(--line);box-shadow:0 14px 30px -18px rgba(17,17,17,.18)}
  .crm-card.reveal.on:hover .crm-card-icon svg{transform:translateY(-1px)}
}
@media(min-width:640px){.crm-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.crm-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1280px){.crm-cards-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* cta final */
.crm-final{padding:0 0 120px;background:var(--cream)}
.crm-final-box{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:22px;padding:36px 28px;background:var(--cream-deep);border-radius:24px}
.crm-final-box.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.crm-final-box.reveal.on{opacity:1;transform:none}
.crm-final-h2{margin:0;font-family:var(--serif);font-weight:400;line-height:1.15;letter-spacing:-.01em;color:var(--ink);font-size:clamp(24px,2.6vw,32px)}
.crm-final-sub{margin-top:8px;font-family:var(--sans);font-size:13.5px;color:var(--ink-faint)}
.crm-final-cta{flex:0 0 auto}
@media(min-width:768px){
  .crm-final-box{flex-direction:row;align-items:center;justify-content:space-between;padding:44px 48px;gap:32px}
}

/* botones — sistema premium ECHELON (scope .pg-crm: aplica únicamente a esta página) */
.pg-crm .btn{position:relative;overflow:hidden;border-radius:12px}
.pg-crm .btn:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.12) 45%,rgba(255,255,255,.18) 50%,rgba(255,255,255,.12) 55%,transparent 75%);transform:translateX(-120%);transition:transform .6s var(--ease)}
.pg-crm .btn-outline:before{background:linear-gradient(110deg,transparent 25%,rgba(17,17,17,.05) 45%,rgba(17,17,17,.08) 50%,rgba(17,17,17,.05) 55%,transparent 75%)}
.pg-crm .btn-arrow{transition:transform .28s var(--ease)}
.pg-crm .btn:active{transform:translateY(-1px) scale(.985);transition-duration:.16s}
@media(hover:hover) and (pointer:fine){
  .pg-crm .btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(17,17,17,.12)}
  .pg-crm .btn:hover:before{transform:translateX(120%)}
  .pg-crm .btn:hover .btn-arrow{transform:translateX(4px)}
  .pg-crm .btn-primary:hover,.pg-crm .btn-dark:hover{box-shadow:0 12px 28px -6px rgba(17,17,17,.24)}
  .pg-crm .btn-outline:hover{box-shadow:0 8px 20px -8px rgba(17,17,17,.14)}
}

/* motion — mobile: mismo lenguaje, desplazamientos más cortos */
@media(max-width:639px){
  .pg-crm .reveal{transform:translateY(16px)}
  .crm-eyebrow.reveal{transform:translateY(8px)}
  .crm-lead.reveal{transform:translateY(13px)}
  .crm-checks li.reveal{transform:translateY(10px)}
}

/* reduced motion — obligatorio en esta página */
@media(prefers-reduced-motion:reduce){
  .pg-crm .reveal,.pg-crm .hh-mask-line,.pg-crm .hh-rule,.pg-crm .btn,.pg-crm .btn:before,.pg-crm .btn-arrow,.pg-crm .crm-card,.pg-crm .crm-card-icon svg,.pg-crm .crm-hero-visual{transition:none!important;animation:none!important}
  .pg-crm .reveal{opacity:1!important;transform:none!important}
  .pg-crm .hh-mask-line{clip-path:none!important;transform:none!important}
  .pg-crm .hh-rule{transform:none!important}
  .pg-crm .btn:hover{transform:none!important}
  .pg-crm .btn:hover:before{transform:translateX(-120%)!important}
  .pg-crm .btn:hover .btn-arrow{transform:none!important}
  .pg-crm .crm-card:hover,.pg-crm .crm-card:hover .crm-card-icon svg,.pg-crm .crm-hero-visual:hover{transform:none!important}
}

/* 404.html — página de error, editorial/quiet-luxury (scoped a .error404-*, no comparte nada con .subhero) */
.error404-hero{padding:calc(var(--header-h) + 64px) 0 90px;background:var(--cream)}
.error404-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}
.error404-copy{max-width:560px}
.error404-num{font-family:var(--serif);font-weight:400;line-height:.85;font-size:clamp(150px,17vw,260px);margin:0}
.error404-num-b{color:var(--ink);font-weight:400;font-style:normal}
.error404-num-t{color:var(--taupe);font-weight:400;font-style:normal}
.error404-title{margin-top:20px;font-family:var(--serif);font-weight:400;line-height:1.05;font-size:clamp(2.4rem,3.6vw,3.4rem);color:var(--ink)}
.error404-title em{font-style:normal;color:var(--taupe)}
.error404-lead{margin-top:28px;font-size:1.05rem;line-height:1.65;color:var(--ink-soft);max-width:460px}
.error404-actions{display:flex;align-items:center;gap:28px;margin-top:40px;flex-wrap:wrap}
.error404-cta{position:relative;overflow:hidden;border-radius:12px;padding:18px 30px;box-shadow:0 10px 26px rgba(17,17,17,.16);transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .3s var(--ease),border-color .3s var(--ease)}
.error404-cta:before{content:'';position:absolute;top:0;left:-40%;width:35%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
.error404-cta:active{transform:scale(.99)}
@media(hover:hover) and (pointer:fine){
  .error404-cta:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(17,17,17,.22)}
  .error404-cta:hover:before{opacity:1;animation:hh-sheen .6s var(--ease)}
}
.error404-link{font-family:var(--sans);font-size:.82rem;font-weight:700;letter-spacing:.04em;color:var(--ink);text-decoration:underline;text-decoration-color:var(--taupe);text-underline-offset:5px;transition:color .25s var(--ease)}
.error404-link:hover{color:var(--taupe-deep)}
.error404-orbit{display:flex;align-items:center;justify-content:center}
.error404-orbit svg{width:100%;max-width:560px;height:auto}

.error404-links{padding:0 0 90px;background:var(--cream)}
.error404-links-grid{display:flex;border:1px solid rgba(181,160,140,.35);border-radius:20px;padding:40px 48px}
.error404-link-item{flex:1;display:flex;align-items:center;gap:20px;padding:0 32px;position:relative;color:var(--ink);text-decoration:none}
.error404-link-item:first-child{padding-left:0}
.error404-link-item:last-child{padding-right:0}
.error404-link-item:not(:last-child):after{content:'';position:absolute;right:0;top:-6px;bottom:-6px;width:1px;background:rgba(181,160,140,.3)}
.error404-link-icon{display:flex;width:56px;height:56px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(181,160,140,.4);color:var(--taupe-deep)}
.error404-link-icon svg{width:22px;height:22px}
.error404-link-body{display:flex;flex-direction:column;gap:6px}
.error404-link-body strong{font-family:var(--sans);font-size:.78rem;font-weight:800;letter-spacing:.1em;color:var(--ink)}
.error404-link-body span{font-family:var(--sans);font-size:.85rem;line-height:1.45;color:var(--ink-soft);max-width:220px}
.error404-link-arrow{margin-left:auto;flex:0 0 auto;color:var(--ink-faint);transition:transform .3s var(--ease),color .3s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .error404-link-item:hover .error404-link-arrow{transform:translateX(4px);color:var(--ink)}
}

.error404-footer{padding:0 0 40px}
.error404-footer-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:28px;flex-wrap:wrap}
.error404-footer-copy,.error404-footer-tag,.error404-footer-steps{font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}
.error404-footer-steps .is-active{color:var(--taupe-deep);font-style:normal}

@media(max-width:1060px){
  .error404-hero{padding:calc(var(--header-h) + 40px) 0 60px}
  .error404-links-grid{padding:28px 24px}
  .error404-link-item{padding:0 16px;gap:14px}
  .error404-link-icon{width:48px;height:48px}
  .error404-link-icon svg{width:19px;height:19px}
  .error404-link-body span{max-width:none}
}
@media(max-width:700px){
  .error404-grid{grid-template-columns:1fr;gap:56px}
  .error404-copy{max-width:none}
  .error404-num{font-size:clamp(100px,26vw,170px)}
  .error404-title{font-size:clamp(2.1rem,8.5vw,2.6rem)}
  .error404-lead{max-width:none}
  .error404-actions{flex-direction:column;align-items:flex-start;gap:22px;margin-top:36px}
  .error404-cta{width:100%;justify-content:center;min-height:62px}
  .error404-orbit{padding-right:76px}
  .error404-orbit svg{width:74vw;max-width:280px}
  .error404-links{display:none}
  .error404-footer{border-top:1px solid var(--line-soft)}
  .error404-footer-row{flex-direction:column;justify-content:center;text-align:center;gap:10px;padding:24px 0 8px}
  .error404-footer-tag{display:none}
}

@media(prefers-reduced-motion:reduce){
  .pg-404 .reveal,.pg-404 .hh-mask-line,.pg-404 .btn,.pg-404 .btn:before,.pg-404 .btn-arrow,.pg-404 .error404-cta,.pg-404 .error404-cta:before,.pg-404 .error404-link-arrow{transition:none!important;animation:none!important}
  .pg-404 .reveal{opacity:1!important;transform:none!important}
  .pg-404 .hh-mask-line{clip-path:none!important;transform:none!important}
  .pg-404 .error404-cta:hover{transform:none!important}
  .pg-404 .error404-link-item:hover .error404-link-arrow{transform:none!important}
}
