/* GS Support · V5
   Capa final de refinamiento. Se carga después de scroll-v4.css, así que reemplaza reglas anteriores.
   El hero no se toca. Aquí viven: títulos, secciones editoriales, índice de servicios, proceso, FAQ y contacto.
*/
:root{--v5-red:#8E2025;--v5-red-deep:#5f161b;--v5-ink:#100D11;--v5-paper:#F9F4F2;--v5-ease:cubic-bezier(.16,1,.3,1)}

/* ───────── Títulos de sección ───────── */
.v5-title{font-family:'Manrope',system-ui,sans-serif;font-weight:700;font-size:clamp(36px,4.5vw,66px);line-height:1.08;letter-spacing:-.045em;margin:0;text-wrap:balance;max-width:19ch}
.v5-title-xl{font-size:clamp(46px,6vw,92px);max-width:11ch;line-height:1}
.light-section .v5-title{color:#241b20}
/* máscara por palabra (igual que las líneas del hero) */
.v5-title.is-split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.v5-title.is-split .wi{display:inline-block;transform:translate3d(0,112%,0);transition:transform 1.1s var(--v5-ease);transition-delay:calc(var(--i)*38ms)}
.v5-title.is-split.is-in .wi{transform:none}
.section-heading-row{align-items:flex-end;margin-bottom:clamp(40px,5vw,72px)}
.section-heading-row>p{max-width:340px;font-size:15px;line-height:1.75;margin:0 0 6px}
.text-link{display:inline-block;gap:0;position:relative;padding-bottom:6px;border-bottom:0;font-weight:700}
.text-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:currentColor;transform-origin:left;transition:transform .5s var(--v5-ease)}
.text-link:hover:after{transform:scaleX(.35)}
/* botón: relleno que barre de izquierda a derecha */
.btn{gap:0;position:relative;overflow:hidden;isolation:isolate;transition:color .3s,border-color .3s,box-shadow .3s}
.btn-primary{background:var(--v5-red);border-color:#a93e42}
.btn-primary:before{content:"";position:absolute;inset:0;z-index:-1;background:#b13d42;transform:translateX(-101%);transition:transform .55s var(--v5-ease)}
.btn-primary:hover{background:var(--v5-red);box-shadow:0 14px 40px rgba(142,32,37,.3)}
.btn-primary:hover:before{transform:none}
.nav-cta{gap:0}

/* ───────── Marcas ───────── */
.brand-strip{background:#151116}
.brand-strip-inner{min-height:104px;gap:56px}
.brand-strip-label{font-size:14px;font-weight:500;letter-spacing:0;color:#9d9096;min-width:0;white-space:nowrap;margin:0}
.brand-names{list-style:none;margin:0;padding:0}
.brand-names li{font-family:'Manrope',sans-serif;letter-spacing:-.05em;font-weight:800;font-size:clamp(17px,2vw,26px);color:#7d727a;transition:color .3s}
.brand-names li:hover{color:#e4dadd}

/* ───────── Nosotros ───────── */
.about{padding:clamp(88px,11vw,160px) 0 clamp(80px,9vw,130px);overflow:hidden}
.about .v5-title{max-width:20ch;font-size:clamp(38px,5.2vw,76px)}
.about-cols{display:grid;grid-template-columns:minmax(220px,.62fr) minmax(0,1fr);gap:clamp(40px,9vw,160px);margin-top:clamp(56px,8vw,120px);align-items:start}
.about-facts{margin:0;display:grid;gap:0}
.about-facts>div{padding:22px 0 24px;border-top:1px solid var(--line-light)}
.about-facts>div:last-child{border-bottom:1px solid var(--line-light)}
.about-facts dt{font-size:13px;color:#7a6f73;order:2}
.about-facts dd{margin:0 0 4px;font-family:'Manrope',sans-serif;font-weight:800;font-size:clamp(54px,6vw,88px);line-height:1;letter-spacing:-.06em;color:var(--v5-red);font-variant-numeric:tabular-nums}
.about-facts>div{display:flex;flex-direction:column}
.about-text{max-width:620px}
.scrub{font-size:clamp(21px,2vw,29px);line-height:1.5;letter-spacing:-.02em;font-weight:500;color:#241b20;margin:0 0 28px}
.scrub .sw{opacity:calc(.2 + var(--on,1)*.8);transition:opacity .15s linear}
.about-aside{font-size:15px;line-height:1.8;color:#6f6468;margin:0 0 30px;max-width:460px}
.about-text .text-link{color:var(--v5-red);font-size:14px}

/* ───────── Cuatro áreas (pines) ───────── */
.solutions{background:#141015}
.solutions .section-heading-row{margin-bottom:26px}
.solutions .section-heading-row>p{color:#a79ca1}
.pillar-tab{grid-template-columns:34px 1fr;gap:20px;padding:15px 18px 15px 4px;overflow:visible}
.pillar-tab .ico{width:24px;height:24px;stroke-width:1.4;color:#a8666b;transition:color .3s,transform .5s var(--v5-ease)}
.pillar-tab.active .ico,.pillar-tab:hover .ico{color:#f08c91;transform:scale(1.12)}
.pillar-tab:after{display:none}
.pillar-name{font-size:clamp(17px,1.45vw,21px);font-weight:600;letter-spacing:-.02em;line-height:1.35}
.pillar-tab.active{background:linear-gradient(90deg,rgba(142,32,37,.32),transparent 85%)}
.pillar-feature{border-radius:14px;border-color:rgba(255,255,255,.1)}
.pillar-content{background:#211820;padding:clamp(28px,3.4vw,52px)}
.pillar-content h3{margin:0 0 20px;font-weight:700;letter-spacing:-.04em;line-height:1.2;font-size:clamp(25px,2.4vw,36px)}
.pillar-content p{font-size:15px;line-height:1.75;color:#c0b1b9;margin-bottom:26px}
.feature-tags span{font-size:12px;padding:6px 12px;color:#e8d6d8;border-color:rgba(255,255,255,.2)}
.feature-link{justify-content:flex-start;border:0;position:relative;font-size:14px;padding:30px 0 0;width:auto;margin-top:auto}
.feature-link:after{content:"";position:absolute;left:0;bottom:-8px;height:1.5px;width:100%;background:#d36064;transform-origin:left;transition:transform .5s var(--v5-ease)}
.feature-link:hover:after{transform:scaleX(.35)}
.pillars-footer{margin-top:4px;justify-content:flex-start}
.progress-track{max-width:none;flex:1;height:2px}
.pillar-img-overlay{background:linear-gradient(180deg,rgba(11,10,14,0) 40%,rgba(11,10,14,.55) 100%)}

/* ───────── Índice de servicios ───────── */
.services{position:relative;background:#F9F4F2}
.svc-list{list-style:none;margin:0;padding:0;border-top:1px solid #d9cdca}
.svc{border-bottom:1px solid #d9cdca;position:relative}
.svc:before{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--v5-red);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--v5-ease)}
.svc:hover:before,.svc:focus-within:before{transform:scaleX(1)}
.svc a{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:baseline;gap:clamp(20px,5vw,80px);padding:clamp(20px,2.4vw,32px) 0;transition:padding .5s var(--v5-ease),color .3s}
.svc h3{font-family:'Manrope',sans-serif;font-weight:700;font-size:clamp(23px,2.7vw,40px);letter-spacing:-.04em;line-height:1.15;margin:0;color:#2a2025;transition:color .3s,transform .5s var(--v5-ease)}
.svc p{margin:0;font-size:15px;line-height:1.6;color:#7a6e73;max-width:360px;transition:color .3s}
.svc:hover h3,.svc:focus-within h3{color:var(--v5-red);transform:translateX(14px)}
.svc:hover p{color:#4d4146}
.svc a:focus-visible{outline-offset:-3px}
.svc-preview{position:absolute;left:0;top:0;z-index:5;width:clamp(240px,24vw,360px);aspect-ratio:3/2;pointer-events:none;border-radius:10px;overflow:hidden;opacity:0;scale:.86;transition:opacity .35s,scale .5s var(--v5-ease);box-shadow:0 30px 70px rgba(60,12,18,.28);will-change:transform}
.svc-preview.is-on{opacity:1;scale:1}
.svc-preview img{width:100%;height:100%;object-fit:cover}
.services .shell{position:relative}
@media(hover:none),(pointer:coarse){.svc-preview{display:none}.svc:hover h3{transform:none}}

/* ───────── Ecosistema ───────── */
.ecosystem .v5-title{font-size:clamp(40px,4.6vw,68px);max-width:12ch;margin-bottom:24px}
.eco-intro{max-width:400px}
.eco-choice{grid-template-columns:1fr;padding:16px 4px;font-size:19px;font-weight:600;letter-spacing:-.02em;position:relative}
.eco-choice:before{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:#d36064;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--v5-ease)}
.eco-choice.is-selected:before{transform:scaleX(1)}
.eco-choice:hover,.eco-choice.is-selected{padding-left:4px;background:none}
.eco-detail{padding-top:22px}
.eco-detail strong{display:block;font-family:'Manrope',sans-serif;font-size:17px;font-weight:700;color:#f3d3d4;letter-spacing:-.02em}
.eco-detail p{font-size:15px;color:#bfb1b7;margin:6px 0 0}
.eco-node small{font-size:9px;font-weight:600;letter-spacing:0;line-height:1.15}
.eco-node{gap:6px}
.eco-center{width:30%}
.ecosystem .eco-stage{transform:none;transition:none}
.ecosystem .ecosystem-copy{max-width:480px}

/* ───────── Tranquilidad (texto + imagen) ───────── */
.feature-story{background:#140f14;min-height:clamp(520px,66vh,700px);grid-template-columns:1fr 1.05fr}
.story-content{padding:clamp(56px,8vw,120px) clamp(28px,6vw,96px) clamp(56px,8vw,120px) max(28px,calc((100vw - 1320px)/2));justify-content:center}
.story-content .v5-title{font-size:clamp(34px,3.9vw,58px);max-width:15ch;margin:0 0 26px}
.story-content p{font-size:16px;line-height:1.75;max-width:400px;margin-bottom:34px;color:#b7a9b0}
.story-motion .story-img{clip-path:inset(0 0 0 14%);opacity:1;transition:clip-path 1.5s cubic-bezier(.14,.82,.15,1)}
.story-motion.is-in-view .story-img{clip-path:inset(0)}
.story-img:after{background:linear-gradient(270deg,transparent 55%,rgba(20,15,20,.5))}
.story-motion .story-content>:not(.story-ref){opacity:1;transform:none;transition:none}

/* ───────── Marca (rojo) ───────── */
.brand-manifesto{--bm-padding:clamp(88px,10vw,150px)}
.brand-manifesto .v5-title{color:#fff;font-size:clamp(36px,4.3vw,64px);max-width:15ch;margin:0 0 26px}
.brand-manifesto-copy>p{font-size:16px;line-height:1.75;color:#f6d6d5;max-width:430px;margin-bottom:34px}
.brand-manifesto-link{font-size:14px;gap:0;position:relative;padding-bottom:8px;border-bottom:0}
.brand-manifesto-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:#fff;transform-origin:left;transition:transform .5s var(--v5-ease)}
.brand-manifesto-link:hover{gap:0}
.brand-manifesto-link:hover:after{transform:scaleX(.35)}
.brand-manifesto-art{padding:14px;transition:transform .35s var(--v5-ease);will-change:transform}
.brand-manifesto-logo-wrap{margin:0;min-height:clamp(190px,22vw,300px)}

/* ───────── Proceso ───────── */
.process{background:#F9F4F2}
.process .section-heading-row{margin-bottom:clamp(36px,5vw,64px)}
.method-story-grid{grid-template-columns:minmax(200px,.34fr) minmax(0,1fr);gap:clamp(30px,6vw,110px)}
.method-side-sticky{padding:0;top:calc(var(--v4-header) + 56px)}
.method-side-number{font-size:clamp(76px,9vw,148px);letter-spacing:-.07em;line-height:.95;color:var(--v5-red)}
.method-side-number span{font-size:15px;font-weight:500;letter-spacing:0;color:#9b8c8f;margin-left:4px}
.method-side-track{width:100%;max-width:230px;margin:22px 0 26px;height:2px}
.method-nav{gap:12px}
.method-nav a{font-size:15px;font-weight:500;color:#9a8c90}
.method-nav a.is-active,.method-nav a:hover{color:var(--v5-red);transform:translateX(6px)}
/* pasos: sin cajas, con la línea que se dibuja */
.method-story-grid .process-list{padding-left:44px;position:relative}
.process-list:before,.process-list:after{left:11px;top:14px;height:calc(100% - 28px)}
.method-story-grid .process-list:before,.method-story-grid .process-list:after{display:block}
.method-story-grid .process-step{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto;align-content:start;align-items:start;column-gap:22px;row-gap:0;min-height:clamp(260px,46svh,420px);margin:0;padding:6px 0 56px;border:0;border-radius:0;background:none;box-shadow:none;scroll-margin-top:calc(var(--v4-header) + 12vh);opacity:.42;transition:opacity .6s var(--v5-ease)}
.method-story-grid .process-step.is-current{background:none;box-shadow:none;border:0;opacity:1}
.method-story-grid .process-step.is-passed{opacity:.7}
.method-story-grid .process-step:hover{background:none;padding-left:0}
.method-story-grid .process-step:after{display:block;left:-39px;top:12px;transform:none}
.method-story-grid .step-index{grid-column:1;grid-row:1;align-self:start;font-family:'Manrope',sans-serif;font-size:14px;font-weight:700;color:#a0868a;padding-top:12px}
.method-story-grid .step-icon{display:none}
.method-story-grid .process-step>div:nth-of-type(2){grid-column:2;grid-row:1;padding-top:0;align-self:start}
.method-story-grid .process-step h3{font-size:clamp(28px,3.4vw,50px);letter-spacing:-.045em;line-height:1.1;max-width:14ch;margin-bottom:16px;color:#241b20}
.method-story-grid .process-step p{font-size:16px;line-height:1.7;max-width:420px;color:#6e6367}
.method-story-grid .process-step.is-current .step-index{color:var(--v5-red)}
.process-list:before{background:#e3d3d1}.process-list:after{background:var(--v5-red)}
.process-step.is-current:after,.process-step.is-passed:after{background:var(--v5-red);border-color:var(--v5-red);box-shadow:0 0 0 5px #efd7d5}
.process:before{display:none}

/* ───────── FAQ ───────── */
.faq{padding:clamp(40px,5vw,70px) 0 clamp(88px,10vw,150px)}
.faq-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,8vw,140px)}
.faq-intro .v5-title{font-size:clamp(34px,3.8vw,54px);max-width:11ch;margin:0 0 18px}
.faq-intro>p{font-size:15px;color:#7a6e73}
.faq-list{border-top:1px solid #d9cdca}
.faq-list details{border-bottom:1px solid #d9cdca}
.faq-list summary{padding:26px 4px 26px 0;font-family:'Manrope',sans-serif;font-size:clamp(17px,1.5vw,21px);font-weight:600;letter-spacing:-.025em;color:#2a2025}
.faq-list summary:hover{color:var(--v5-red)}
.faq-mark{border:0;width:22px;height:22px;position:relative;border-radius:0;background:none!important;transform:none!important}
.faq-mark:before,.faq-mark:after{content:"";position:absolute;left:50%;top:50%;width:16px;height:1.8px;margin:-.9px 0 0 -8px;background:var(--v5-red);transition:transform .45s var(--v5-ease)}
.faq-mark:after{transform:rotate(90deg)}
.faq-list details[open] .faq-mark:after{transform:rotate(0)}
.faq-answer{font-size:16px;line-height:1.7;color:#6e6367;padding:0 56px 28px 0;max-width:620px}
.faq-list details[open] .faq-answer{animation:none}
@supports (interpolate-size:allow-keywords){
  .faq-list details{interpolate-size:allow-keywords}
  .faq-list details::details-content{block-size:0;overflow:clip;transition:block-size .5s var(--v5-ease),content-visibility .5s allow-discrete}
  .faq-list details[open]::details-content{block-size:auto}
}

/* ───────── Contacto ───────── */
.contact{background:#140f14}
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(40px,8vw,130px)}
.contact-copy .v5-title-xl{margin:0 0 26px}
.contact-lead{font-size:clamp(17px,1.5vw,21px);line-height:1.6;color:#c6b8be;max-width:380px;margin:0 0 44px}
.contact-method-label{font-size:13px;font-weight:500;letter-spacing:0;color:#a08b93;margin-bottom:8px}
.contact-method>a{font-size:clamp(19px,2.1vw,28px);letter-spacing:-.035em;position:relative}
.contact-method>a:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1.5px;background:#d36064;transform:scaleX(.3);transform-origin:left;transition:transform .5s var(--v5-ease)}
.contact-method>a:hover{color:#fff}
.contact-method>a:hover:after{transform:scaleX(1)}
.contact-locations div>span{font-size:13px;font-weight:600;letter-spacing:0;color:#e6a0a3;margin-bottom:10px}
.contact-locations a{font-size:15px}
.contact-locations p{font-size:13px;color:#9a8b92}
.contact-form-wrap{border-radius:16px;padding:clamp(28px,3.6vw,52px);background:#F7F2F0;box-shadow:none}
.contact-form-wrap:before{display:none}
.contact-form-wrap:hover{box-shadow:none}
.contact-form-wrap h3{font-size:clamp(24px,2.3vw,32px);font-weight:700;letter-spacing:-.04em;margin:0 0 30px}
#contact-form label{font-size:13px;font-weight:600;color:#4f4247}
#contact-form input:not([type=checkbox]),#contact-form select,#contact-form textarea{font-size:15px;padding:12px 0;border-bottom:1.5px solid #d3c5c6;background:linear-gradient(var(--v5-red),var(--v5-red)) no-repeat left bottom/0 2px;transition:background-size .5s var(--v5-ease),border-color .3s}
#contact-form input:focus,#contact-form select:focus,#contact-form textarea:focus{border-color:#d3c5c6;background-size:100% 2px}
#contact-form input:focus-visible,#contact-form select:focus-visible,#contact-form textarea:focus-visible{outline:0}
#contact-form .privacy-field{font-size:13px}
.form-submit{justify-content:center;min-height:56px;font-size:15px;border-radius:8px}
.form-hint{font-size:12px}

/* ───────── Pie ───────── */
.footer-bottom{font-size:13px;letter-spacing:0}
.back-top{font-size:14px;gap:0;position:relative;padding-bottom:6px}
.back-top:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:currentColor;transform:scaleX(.3);transform-origin:left;transition:transform .5s var(--v5-ease)}
.back-top:hover:after{transform:none}
.footer-top p{font-size:14px}

/* ───────── Adaptativo ───────── */
@media(max-width:1100px){
  .about-cols{grid-template-columns:1fr}
  .about-facts{grid-template-columns:repeat(3,1fr);gap:20px}
  .about-facts>div{border-bottom:0!important;padding-right:10px}
  .method-story-grid .process-step{min-height:0}
  .solutions .section-heading-row{margin-bottom:34px}
}
@media(max-width:900px){
  .svc a{grid-template-columns:1fr;gap:6px}
  .story-content{padding:56px 28px}
  .feature-story{grid-template-columns:1fr}
  .story-img{min-height:300px;order:-1}
  .story-motion .story-img{clip-path:none}
  .contact-grid,.faq-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  .method-story-grid{grid-template-columns:1fr}
  .method-side-sticky{background:rgba(249,244,242,.97);padding:10px 0 12px;top:74px;border-bottom:1px solid #e2d3d0}
  .method-side-number{font-size:44px;display:inline-block;margin-right:14px;vertical-align:middle}
  .method-side-track{max-width:none;margin:8px 0}
  .method-nav a{font-size:12px}
  .method-story-grid .process-list{padding-left:34px}
  .method-story-grid .process-step{grid-template-columns:1fr;padding-bottom:40px}
  .method-story-grid .step-index{padding:0 0 6px}
  .method-story-grid .process-step>div:nth-of-type(2){grid-column:1}
  .method-story-grid .process-step:after{left:-29px}
  .process-list:before,.process-list:after{left:6px}
}
@media(max-width:767px){
  .brand-strip-label{white-space:normal}
  .brand-strip-inner{display:block;padding:26px 0}
  .brand-names{margin-top:14px}
  .v5-title{font-size:clamp(34px,9.4vw,48px)}
  .v5-title-xl{font-size:clamp(46px,13vw,70px)}
  .about-facts{grid-template-columns:1fr 1fr 1fr}
  .about-facts dd{font-size:46px}
  .about-facts dt{font-size:12px}
  .pillar-tab{grid-template-columns:1fr;place-items:center}
  .solutions-pin .pillar-tab{min-height:60px}
  .pillar-content{padding:24px 20px}
  .pillars-footer{display:none}
  .svc h3{font-size:22px}
  .eco-choice{font-size:15px}
  .contact-form-wrap{padding:26px 20px}
}
@media(prefers-reduced-motion:reduce){
  .v5-title.is-split .wi{transform:none!important;transition:none!important}
  .scrub .sw{opacity:1!important}
  .svc-preview{display:none}
  .story-motion .story-img{clip-path:none!important}
  .method-story-grid .process-step{opacity:1}
}
/* peso de h3 (el reset de Tailwind los deja en 400) */
.process-step h3,.eco-detail strong{font-weight:700}
@media(max-width:767px){
  .section-heading-row>p{margin-top:18px}
  .method-story-grid .process-step>div:nth-of-type(2){grid-row:2}
}
