@font-face{font-family:Poppins;src:url('../assets/fonts/Poppins-Regular-latin.12cd9b11c8.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('../assets/fonts/Poppins-Bold-latin.d32d2c4013.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--blue:#0954ff;--cta:#d60078;--cta-hover:#b80067;--navy:#06142f;--body:#526482;--white:#fff;--page-gutter:6.2vw}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--navy);font-family:Poppins,sans-serif;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
.site-header{position:relative;z-index:10;background:#fff;border-bottom:1px solid #b7c5df}
.header-inner{height:96px;max-width:1720px;margin:auto;padding:0 var(--page-gutter);display:flex;align-items:center;justify-content:space-between}
.brand{display:block;width:238px;line-height:0;flex-shrink:0}
.brand img{display:block;width:100%;height:auto}
.navigation{display:flex;align-items:center;gap:68px}
.navigation a{text-decoration:none;font-size:15.3px;line-height:1.5}
.navigation a:hover,.form-link:hover{color:var(--blue)}
.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:800px}
.hero-inner{position:relative;max-width:1720px;margin:auto;padding:84px var(--page-gutter) 58px;z-index:2;pointer-events:none}
.hero-copy{width:760px;max-width:64%;pointer-events:auto}
.eyebrow{font-size:15.3px;line-height:1.4;font-weight:700;color:var(--body);margin:0 0 20px}
h1{font-size:clamp(46.75px,4.777vw,74.8px);font-weight:700;line-height:1.08;letter-spacing:-.044em;margin:0 0 25px}
.headline-opening,.headline-blue,.headline-location{display:block}
.headline-blue{color:var(--blue);white-space:nowrap}
.hero-description{font-size:clamp(19.55px,1.768vw,28.05px);line-height:1.29;letter-spacing:-.035em;color:var(--body);width:565px;max-width:85%;margin:0 0 21px}
.hero-assurance{font-size:17px;line-height:1.42;letter-spacing:-.027em;color:var(--body);margin:0 0 12px;max-width:610px}
.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.whatsapp-button{display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:70px;padding:15px 30px;background:var(--cta);color:white;border-radius:12px;font-size:18.7px;line-height:1.3;font-weight:700;text-decoration:none;transition:background .16s}
.whatsapp-button:hover{background:var(--cta-hover)}
.whatsapp-button svg{width:34px;height:34px;flex-shrink:0}
.form-link{font-size:16.15px;line-height:1.4;text-underline-offset:4px}
.hero-art{position:absolute;inset:0;z-index:0;pointer-events:none}
.city-photo{position:absolute;width:83%;height:100%;right:-12%;top:0;object-fit:cover;object-position:center 46%}
.photo-fade{position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#fff 29%,rgba(255,255,255,.97) 34%,rgba(255,255,255,.86) 40%,rgba(255,255,255,.38) 51%,rgba(255,255,255,0) 62%),linear-gradient(0deg,#fff 0%,rgba(255,255,255,.75) 6%,transparent 26%)}
.crystals{position:absolute;right:-9%;top:0;height:100%;width:auto;max-width:none;opacity:.85;clip-path:polygon(84% 0,100% 0,100% 100%,55% 100%,55% 76%,66% 62%,66% 46%,72% 52%);mask-image:linear-gradient(90deg,transparent 54%,#000 65%),linear-gradient(0deg,transparent 0%,#000 10%);mask-composite:intersect}
.preview-notice{background:#fff;border:1px solid #b7c5df;border-radius:8px;padding:12px 16px;font-size:11.9px;line-height:1.6;color:var(--body);max-width:560px}
[hidden]{display:none!important}
@media(min-width:1720px){:root{--page-gutter:100px}.hero{min-height:860px}.hero-inner{padding-top:100px}.city-photo{width:75%;right:-5%}.crystals{right:-7%}}
@media(min-width:768px) and (max-width:1100px){.header-inner{height:82px}.brand{width:195px}.navigation{gap:26px}.navigation a{font-size:12.75px}.hero-inner{padding-top:64px}.hero{min-height:740px}h1{font-size:4.76vw}.hero-description{font-size:18.7px;max-width:80%}.hero-assurance{font-size:13.6px;max-width:85%}.whatsapp-button{font-size:16.15px;min-height:60px}.form-link{font-size:13.6px}}
@media(max-width:767px){
  :root{--page-gutter:32px}
  .header-inner{height:59px;padding:0 29px}
  .brand{width:154px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:space-between;width:29px;height:25px;background:none;border:0;padding:3px 0;cursor:pointer}
  .menu-toggle span{display:block;height:3px;width:25px;border-radius:2px;background:var(--navy)}
  .navigation{display:none;position:absolute;left:0;right:0;top:100%;padding:20px 32px;background:#fff;border-bottom:1px solid #b7c5df;flex-direction:column;align-items:flex-start;gap:20px}
  .navigation[data-open="true"]{display:flex}
  .navigation a{font-size:13.6px}
  .hero{display:flex;flex-direction:column;min-height:0}
  .hero-inner{padding:27px var(--page-gutter) 0;margin:0;width:100%;order:0}
  .hero-copy{width:100%;max-width:none}
  .eyebrow{font-size:11.9px;line-height:1.5;margin-bottom:14px;letter-spacing:-.015em}
  h1{font-size:clamp(30.6px,10.03vw,40.8px);line-height:1.03;letter-spacing:-.048em;margin-bottom:20px}
  .headline-opening{display:block}
  .headline-blue{display:inline;white-space:normal}
  .headline-location{display:inline}
  .hero-description{font-size:16.15px;line-height:1.26;letter-spacing:-.035em;width:auto;max-width:none;margin-bottom:15px}
  .hero-assurance{font-size:12.75px;line-height:1.38;letter-spacing:-.035em;margin-bottom:15px;max-width:none}
  .hero-actions{gap:12px}
  .whatsapp-button{width:100%;min-height:57px;padding:13px 12px;gap:12px;font-size:16.15px;border-radius:9px}
  .whatsapp-button svg{width:29px;height:29px}
  .form-link{font-size:12.75px;line-height:1.5;letter-spacing:-.025em}
  .hero-art{position:relative;order:1;height:380px;min-height:380px;margin-top:2px;width:100%}
  .city-photo{width:100%;height:100%;right:0;object-fit:cover;object-position:47% center}
  .photo-fade{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.9) 5%,rgba(255,255,255,0) 23%)}
  .crystals{top:100px;right:-119px;height:310px;width:auto;opacity:.92}
  .preview-notice{font-size:11.9px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.whatsapp-button{transition:none}}

/* Authorized simplified navigation: one visible contact CTA. */
.site-header .navigation{display:flex;position:static;align-items:center;flex-direction:row;padding:0;border:0;background:transparent;gap:0}
.site-header .header-contact{display:inline-flex;align-items:center;justify-content:center;background:var(--cta);color:#fff;border-radius:9px;padding:13px 25px;font-size:15.3px;font-weight:700;text-decoration:none;min-height:46px;transition:background .2s}
.site-header .header-contact:hover{background:var(--cta-hover)}
@media(max-width:767px){.site-header .header-inner{padding:0 26px;height:70px}.site-header .header-contact{font-size:12.75px;padding:10px 17px;min-height:40px}.site-header .brand{width:145px}}

.whatsapp-button:focus-visible,.site-header .header-contact:focus-visible{outline-color:var(--cta)}

/* Approved services: three featured cards + four supporting cards. */
.services-section{position:relative;scroll-margin-top:24px}
.services-inner{max-width:1440px;margin:auto;padding:70px 48px 52px}
.services-section h2{font-size:clamp(27px,2.6vw,38px);font-weight:700;line-height:1.2;letter-spacing:-.04em;text-align:center;max-width:1100px;margin:0 auto 44px;color:var(--navy);text-wrap:balance}
.services-row{display:grid;gap:26px;align-items:stretch}
.services-row--first{grid-template-columns:repeat(3,minmax(0,1fr))}
.services-row--second{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:44px}
.service-card{position:relative;min-width:0;border:1px solid #e8edf4;border-radius:13px;background:#fff;box-shadow:0 5px 14px #06142f06;overflow:hidden}
.service-visual{position:relative;aspect-ratio:2.2;overflow:hidden;background:#eef3fa}
.service-art-source{position:absolute;pointer-events:none;overflow:hidden}
.service-art{display:block;width:100%;height:100%;object-fit:cover;overflow:hidden}
.services-row--first .service-visual{aspect-ratio:1.465}
.service-icon{box-sizing:content-box;position:relative;display:block;width:26px;height:26px;padding:13px;margin:-27px 0 0 23px;background:#fff;border:1px solid var(--service-accent);border-radius:50%;color:var(--navy);box-shadow:0 3px 8px #06142f09;z-index:1}
.service-card-content{padding:13px 24px 27px}
.service-card h3{margin:0 0 13px;font-size:20px;font-weight:700;line-height:1.27;letter-spacing:-.04em;color:var(--navy)}
.service-card p{margin:0;font-size:16px;line-height:1.55;letter-spacing:-.025em;color:var(--body)}
.services-row--first .service-card h3{font-size:23px}
.services-row--first .service-card p{font-size:17px}
.services-action{display:flex;justify-content:center;margin-top:44px}
.services-section .services-whatsapp{min-height:56px;padding:14px 28px;font-size:17px;border-radius:12px;gap:10px}
.services-section .services-whatsapp svg{width:26px;height:26px}
@media(min-width:768px) and (max-width:1100px){.services-inner{padding:60px 32px 44px}.services-row{gap:20px}.services-row--second{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card-content{padding:13px 20px 24px}.service-card h3,.services-row--first .service-card h3{font-size:19px}.services-row--first .service-card p{font-size:16px}}
@media(max-width:767px){.services-inner{padding:36px 20px 36px}.services-section h2{font-size:26px;line-height:1.2;letter-spacing:-.04em;text-align:left;margin-bottom:28px}.services-row--first,.services-row--second{grid-template-columns:minmax(0,1fr);gap:24px}.services-row--second{margin-top:24px}.service-icon{width:24px;height:24px;padding:11px;margin:-24px 0 0 20px}.service-card-content{padding:14px 20px 24px}.service-card h3,.services-row--first .service-card h3{font-size:20px;margin-bottom:10px}.service-card p,.services-row--first .service-card p{font-size:16px;line-height:1.5}.services-action{margin-top:36px}.services-section .services-whatsapp{width:100%;max-width:350px;justify-content:center;min-height:54px;font-size:16px}}

@media(min-width:768px){.services-row--second .service-card h3{min-height:2.54em}}

/* Scoped to the approved Nosotros section; original client files remain intact. */
.about-section{position:relative;isolation:isolate;overflow:hidden;background:#fff;scroll-margin-top:24px}
.about-inner{position:relative;z-index:1;max-width:1586px;margin:auto;padding:132px 5.25% 70px}
.about-columns{display:grid;grid-template-columns:1.22fr 1fr;gap:6%}
.about-copy h2{margin:0 0 34px;font-size:clamp(30.6px,4.165vw,64.6px);line-height:1.12;letter-spacing:-.05em;font-weight:700}
.about-copy h2 span,.about-copy strong{color:var(--blue)}
.about-copy p{margin:0;max-width:670px;font-size:clamp(17.85px,1.7255vw,27.2px);line-height:1.42;letter-spacing:-.038em;color:var(--body)}
.about-differences{margin:0;padding:0;list-style:none}
.about-differences li{position:relative;border-top:1px solid #b7c5df;padding:22px 0 32px;font-size:clamp(17px,1.7vw,26.35px);line-height:1.22;font-weight:700;letter-spacing:-.035em}
.about-differences li:before{content:"";position:absolute;top:-3px;left:0;width:60px;height:6px;background:var(--blue);border-radius:3px}
.about-differences li:nth-child(2):before{background:#f60088}
.about-differences li:nth-child(3):before{background:#ff7200}
.about-differences li:last-child{padding-bottom:0}
.about-crystal{position:absolute;right:0;top:0;width:160px;height:auto;z-index:0;pointer-events:none;mix-blend-mode:multiply;mask-image:linear-gradient(180deg,#000 88%,transparent 100%)}
.about-clients{border-top:1px solid #ced9ec;margin-top:76px;padding-top:44px}
.about-clients h3{font-size:clamp(21.25px,2.04vw,31.45px);line-height:1.25;letter-spacing:-.04em;text-align:center;margin:0 0 46px}
.client-logos{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:24px;align-items:center;list-style:none;padding:0;margin:0}
.client-logo{display:flex;align-items:center;justify-content:center;min-width:0;min-height:88px}
.client-crop{display:block;position:relative;overflow:hidden;width:min(100%,var(--logo-width));flex-shrink:0}
.client-crop img{position:absolute;height:auto;max-width:none;display:block}
@media(min-width:1586px){.about-inner{padding-left:84px;padding-right:84px}}
@media(min-width:768px) and (max-width:1100px){.about-inner{padding-top:96px}.about-columns{gap:5%}.about-copy h2{font-size:3.315vw}.about-differences li{font-size:17px;padding-bottom:25px}.client-logos{gap:16px}.about-clients{margin-top:56px}.about-crystal{width:140px;top:0}}
@media(max-width:767px){
.about-inner{padding:48px 26px 30px}
.about-columns{display:block}
.about-copy h2{font-size:clamp(23.8px,6.375vw,28.9px);line-height:1.13;letter-spacing:-.048em;margin-bottom:22px}
.about-copy p{font-size:14.45px;line-height:1.38;letter-spacing:-.035em;max-width:none}
.about-differences{margin-top:30px}
.about-differences li{font-size:16.15px;line-height:1.22;padding:13px 0 22px;letter-spacing:-.035em}
.about-differences li:before{width:34px;height:4px;top:-2px}
.about-crystal{width:120px;right:0;top:2px;opacity:1}
.about-clients{margin-top:32px;padding-top:23px}
.about-clients h3{font-size:17.85px;line-height:1.25;margin-bottom:22px}
.client-logos{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:18px}
.client-logo{min-height:60px}
.client-crop{width:min(100%,calc(var(--logo-width)*.82))}
.client-logo--cyan .client-crop{width:65px}
.client-logo--legislatura{grid-column:1/-1}
.client-logo--legislatura .client-crop{width:74px}
}

/* Recorrido comercial: scoped responsive implementation of approved designs. */
.journey-section{position:relative;isolation:isolate;scroll-margin-top:24px}
.journey-inner{position:relative;z-index:1;max-width:1586px;margin:auto;padding:70px 8.5% 150px}
.journey-section h2{max-width:1180px;margin:0 auto 18px;text-align:center;font-size:clamp(37.4px,4.4625vw,68px);line-height:1.08;letter-spacing:-.047em;font-weight:700}
.journey-section h2 span{display:block;color:var(--blue)}
.journey-intro{text-align:center;color:var(--body);font-size:clamp(17px,1.683vw,25.5px);line-height:1.4;letter-spacing:-.028em;margin:0 auto 48px;max-width:1200px}
.journey-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:36px;list-style:none;padding:0;margin:0}
.journey-step{position:relative;min-width:0;--step-color:var(--blue)}
.journey-step:nth-child(2){--step-color:#f60088}.journey-step:nth-child(3){--step-color:#ff7200}
.journey-step:not(:last-child):before{content:"";position:absolute;left:29px;top:28px;width:calc(100% + 36px);height:2px;background:#a8c2ff;z-index:-1}
.journey-number{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border:3px solid var(--step-color);border-radius:50%;color:var(--step-color);background:white;font-weight:700;font-size:27.2px;line-height:1;margin-bottom:20px}
.journey-step h3{font-size:clamp(20.4px,1.9125vw,28.9px);line-height:1.25;letter-spacing:-.035em;margin:0 0 15px}
.journey-step p{font-size:clamp(16.15px,1.53vw,22.95px);line-height:1.43;letter-spacing:-.025em;color:var(--body);margin:0}
.journey-art{position:absolute;inset:0;z-index:0;pointer-events:none}
.journey-crystal{position:absolute;height:auto;max-width:none;mask-image:linear-gradient(180deg,transparent 0%,#000 20%,#000 70%,transparent 100%)}


@media(min-width:1586px){.journey-inner{padding-left:135px;padding-right:135px}}
@media(min-width:768px) and (max-width:1100px){.journey-inner{padding:60px 6.2% 120px}.journey-steps{gap:22px}.journey-step:not(:last-child):before{width:calc(100% + 22px)}.journey-step h3{font-size:19.55px}.journey-step p{font-size:15.3px}.journey-number{width:50px;height:50px;font-size:23.8px}.journey-step:not(:last-child):before{top:24px}}
@media(max-width:767px){
.journey-inner{padding:44px 26px 62px}
.journey-section h2{font-size:clamp(27.2px,7.225vw,32.3px);line-height:1.08;letter-spacing:-.044em;max-width:390px;margin-bottom:18px}
.journey-intro{font-size:14.45px;line-height:1.4;letter-spacing:-.035em;margin-bottom:32px}
.journey-steps{display:block;padding-right:18px}
.journey-step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:18px;padding-bottom:36px}
.journey-step:last-child{padding-bottom:0}
.journey-step:not(:last-child):before{left:20px;top:21px;width:2px;height:100%;z-index:-1}
.journey-number{width:42px;height:42px;border-width:2px;font-size:22.1px;margin:0}
.journey-step h3{font-size:18.7px;line-height:1.25;margin:6px 0 10px;letter-spacing:-.03em}
.journey-step p{font-size:14.45px;line-height:1.42;letter-spacing:-.03em}


}

/* Authorized symmetry adjustment: paired equal-size mirrored crystals. */
.journey-crystal{width:160px;bottom:0;top:auto;opacity:.85;mix-blend-mode:multiply;mask-image:linear-gradient(180deg,#000 88%,transparent 100%)}
.journey-crystal--left{left:5.25%;transform:none}
.journey-crystal--right{right:5.25%;transform:scaleX(-1)}
@media(min-width:768px) and (max-width:1100px){.journey-crystal{width:140px}.journey-crystal--left{left:18px}.journey-crystal--right{right:18px}}
@media(max-width:767px){.journey-inner{padding-bottom:92px}.journey-crystal{width:100px;bottom:0}.journey-crystal--left{left:14px}.journey-crystal--right{right:14px}}

/* Authorized cross-section spacing and crystal continuity, 16 Sep 2026.
   Locked text, cards and typography remain in their original style sheets. */
main{position:relative;overflow:hidden;background:#fff}
.about-section,.services-section{overflow:visible;background:transparent}
.about-inner{padding-top:88px;padding-bottom:44px}
.services-crystal{mask-image:linear-gradient(90deg,transparent 50%,#000 78%),linear-gradient(180deg,transparent 0%,#000 20%,#000 58%,transparent 100%);mask-composite:intersect}
@media(max-width:767px){
 .about-inner{padding-top:42px;padding-bottom:32px}
 .services-crystal{mask-image:linear-gradient(90deg,transparent 60%,#000 86%),linear-gradient(180deg,transparent 0%,#000 25%,#000 58%,transparent 100%)}
 .hero .photo-fade{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.9) 5%,rgba(255,255,255,0) 23%),linear-gradient(0deg,#fff 0%,rgba(255,255,255,.82) 8%,rgba(255,255,255,0) 32%)}
 .hero .crystals{mask-image:linear-gradient(90deg,transparent 54%,#000 65%),linear-gradient(0deg,transparent 0%,#000 24%);mask-composite:intersect}
}

/* Approved desktop and mobile: eight cases, balanced solid crystals. */
.cases-section{position:relative;background:transparent;scroll-margin-top:24px}
.cases-inner{max-width:1586px;margin:auto;padding:64px 5.25% 64px;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.08fr);gap:7%}
.cases-intro h2{margin:0 0 20px;font-size:clamp(40px,4.8vw,70px);line-height:.98;letter-spacing:-.05em;font-weight:700}
.cases-intro h2 span,.cases-intro strong{color:var(--blue)}
.cases-intro p{font-size:clamp(17px,1.72vw,25px);line-height:1.36;letter-spacing:-.035em;color:var(--body);margin:0}
.cases-crystal{display:block;width:100%;max-width:490px;height:auto;margin:14px auto 0;mix-blend-mode:multiply}
.cases-list{margin:0;padding:0}
.case-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border-top:1px solid #7c98db;min-height:75px;padding:18px 0}
.case-row:last-child{border-bottom:1px solid #7c98db}
.case-row dt{font-size:clamp(16px,1.65vw,24px);font-weight:700;line-height:1.25;letter-spacing:-.035em}
.case-row dd{margin:0;font-size:clamp(14px,1.3vw,19px);color:#526caa;line-height:1.3;white-space:nowrap;letter-spacing:-.025em}
@media(min-width:1586px){.cases-inner{padding-left:84px;padding-right:84px}}
@media(min-width:768px) and (max-width:1100px){.cases-inner{gap:5%;grid-template-columns:minmax(0,.65fr) minmax(0,1.1fr)}.case-row{gap:10px}.case-row dt{font-size:16px}.case-row dd{font-size:13px}}
@media(max-width:767px){
.cases-inner{display:block;padding:38px 26px 44px}
.cases-intro{text-align:center}
.cases-intro h2{font-size:32.3px;line-height:1.02;letter-spacing:-.045em;margin-bottom:14px}
.cases-intro p{font-size:14.45px;line-height:1.36;max-width:340px;margin:0 auto}
.cases-crystal{width:220px;max-width:100%;margin:12px auto 14px}
.case-row{display:block;min-height:0;padding:12px 0;border-color:#8ba9ef}
.case-row:first-child{border-top:0}
.case-row:last-child{border-bottom:0}
.case-row dt{font-size:15.3px;line-height:1.25;letter-spacing:-.035em;margin-bottom:3px}
.case-row dd{font-size:13.6px;line-height:1.3;letter-spacing:-.03em}
}

.contact-section{position:relative;background:transparent;scroll-margin-top:24px}
.contact-inner{max-width:1586px;margin:auto;padding:64px 5.25% 44px}
.contact-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;align-items:start}
.contact-copy h2{margin:0 0 26px;font-size:clamp(32px,3.65vw,56px);line-height:1.08;letter-spacing:-.045em}
.contact-copy h2 span{color:var(--blue);display:block}
.contact-intro{margin:0 0 25px;font-size:clamp(17px,1.8vw,26px);line-height:1.4;letter-spacing:-.035em;color:var(--body)}
.contact-coverage{margin:0 0 32px;font-size:clamp(15px,1.4vw,20px);line-height:1.4;letter-spacing:-.025em;color:var(--body)}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.contact-actions .whatsapp-button{min-width:72%;justify-content:center}
.contact-email{font-size:clamp(20px,2.35vw,35px);line-height:1.2;font-weight:700;letter-spacing:-.04em;color:var(--blue);text-decoration:none;max-width:100%;overflow-wrap:anywhere}
.contact-email:hover{text-decoration:underline;text-underline-offset:5px}
.contact-form{min-width:0;scroll-margin-top:24px}
.contact-form h3{font-size:clamp(22px,2.4vw,35px);letter-spacing:-.04em;line-height:1.2;margin:0 0 24px}
.hs-form-frame{min-height:330px;max-width:100%}
.contact-crystal{display:block;width:360px;max-width:65%;height:auto;margin:30px auto 0;mix-blend-mode:multiply}
@media(min-width:1586px){.contact-inner{padding-left:84px;padding-right:84px}}
@media(max-width:767px){.contact-inner{padding:38px 26px 36px}.contact-columns{display:block}.contact-copy h2{font-size:28.9px;margin-bottom:20px;line-height:1.08}.contact-intro{font-size:14.45px;margin-bottom:18px}.contact-coverage{font-size:13.6px;margin-bottom:24px}.contact-actions{gap:18px}.contact-actions .whatsapp-button{width:100%;min-width:0}.contact-email{font-size:clamp(19px,5.4vw,23px);white-space:nowrap;letter-spacing:-.045em}.contact-form{margin-top:36px}.contact-form h3{font-size:20.4px;margin-bottom:20px}.contact-crystal{width:230px;max-width:75%;margin-top:24px}}

/* Reserve form space before the deferred embed arrives. */
.hs-form-frame{min-height:560px}
.form-load-status{font-size:14px;color:var(--body);margin:0 0 12px}
.form-load-status button{font:inherit;color:var(--blue);background:none;border:0;text-decoration:underline;cursor:pointer}

/* v2: slow motion, same photographs and official client logos. */
@keyframes hero-photo-drift{from{transform:scale(1.015)}to{transform:scale(1.045)}}
@keyframes hero-glass-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-24px) rotate(1deg)}}
@keyframes hero-copy-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes clients-loop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hero .city-photo{transform-origin:65% 50%;animation:hero-photo-drift 20s ease-in-out infinite alternate}
.hero .crystals{transform-origin:75% 55%;animation:hero-glass-float 7s ease-in-out infinite}
.hero-copy h1,.hero-description,.hero-assurance,.hero-actions{animation:hero-copy-enter .8s ease-out both}
.hero-description{animation-delay:.1s}.hero-assurance{animation-delay:.18s}.hero-actions{animation-delay:.25s}
.clients-carousel{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.clients-track{display:flex;width:max-content;animation:clients-loop 42s linear infinite}
.clients-track .client-logos{display:flex;flex:none;width:1400px;gap:0;align-items:center;margin:0;padding:0;list-style:none}
.clients-track .client-logo{width:200px;flex:0 0 200px;min-height:92px;padding:0 20px}
.clients-track .client-logo--legislatura{grid-column:auto}
.clients-carousel:hover .clients-track,.clients-carousel:focus-within .clients-track{animation-play-state:paused}
.motion-toggle{display:block;margin:18px auto 0;border:0;background:transparent;color:var(--body);font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;padding:8px 12px;cursor:pointer}
html[data-motion-paused="true"] .clients-track,html[data-motion-paused="true"] .hero .city-photo,html[data-motion-paused="true"] .hero .crystals{animation-play-state:paused}
@media(max-width:767px){.hero .city-photo{animation:none;transform:none}.hero .crystals{animation-name:hero-glass-float-mobile;animation-duration:7s}.clients-track{animation-duration:38s}.clients-track .client-logos{width:1120px}.clients-track .client-logo{width:160px;flex-basis:160px;min-height:76px;padding:0 16px}}
@media(prefers-reduced-motion:reduce){.hero .city-photo,.hero .crystals,.hero-copy h1,.hero-description,.hero-assurance,.hero-actions,.clients-track{animation:none!important;transform:none!important;opacity:1!important}.clients-carousel{overflow-x:auto;mask-image:none}.clients-track .client-logos--copy{display:none}.motion-toggle{display:none}}

@keyframes hero-glass-float-mobile{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-12px) rotate(.5deg)}}
@keyframes section-arrive{from{opacity:.25;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.motion-enter{animation:section-arrive .65s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--entry-delay,0ms)}
html[data-motion-paused="true"] .motion-enter{animation:none}
@media(prefers-reduced-motion:reduce){.motion-enter{animation:none!important;transform:none!important;opacity:1!important}}

.hero.motion-offscreen .city-photo,.hero.motion-offscreen .crystals,.clients-carousel.motion-offscreen .clients-track,html[data-page-hidden="true"] .city-photo,html[data-page-hidden="true"] .crystals,html[data-page-hidden="true"] .clients-track{animation-play-state:paused}

/* Keep the primary message visible during first paint. Decorative motion remains. */
.hero-copy h1{animation:none}

/* Hero animation trial: independent glass elements, one continuous 15-second sequence. */
.hero .whatsapp-button{min-height:58px;padding:12px 25px;font-size:17px;gap:12px}
.hero .whatsapp-button svg{width:28px;height:28px}
.hero .crystals{animation:none;opacity:.34}
.hero .city-photo{animation:hero-photo-drift 18s ease-in-out infinite alternate}
.hero-crystal-stage{position:absolute;inset:0 0 0 55%;overflow:hidden;pointer-events:none;z-index:1;mask-image:linear-gradient(90deg,transparent,#000 14%,#000 100%)}
.hero-shard{position:absolute;display:block;width:clamp(170px,16vw,250px);aspect-ratio:1/1.5;will-change:transform,opacity;opacity:0;animation-duration:15s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-iteration-count:infinite;transform-origin:center;pointer-events:none}
.hero-shard-crop{position:absolute;inset:0;overflow:hidden}
.hero-shard img{position:absolute;display:block;max-width:none;width:300%;height:100%;object-fit:fill;top:0;left:var(--atlas-left)}
.hero-shard--blue{right:0;top:-12%;animation-name:hero-blue-flight;animation-delay:-1s}
.hero-shard--magenta{right:-5%;top:33%;width:clamp(150px,15vw,220px);animation-name:hero-magenta-flight;animation-delay:-5s}
.hero-shard--orange{right:32%;bottom:-12%;width:clamp(130px,13vw,195px);animation-name:hero-orange-flight;animation-delay:-9s}
@keyframes hero-blue-flight{
 0%{opacity:0;transform:translate3d(90%,-45%,0) rotate(24deg) scale(.85)}
 16%{opacity:.92;transform:translate3d(-2%,12%,0) rotate(9deg) scale(.97)}
 38%{opacity:.96;transform:translate3d(-30%,25%,0) rotate(-9deg) scale(1.06)}
 63%{opacity:0;transform:translate3d(-72%,125%,0) rotate(-30deg) scale(.82)}
 100%{opacity:0;transform:translate3d(-72%,125%,0) rotate(-30deg) scale(.82)}
}
@keyframes hero-magenta-flight{
 0%{opacity:0;transform:translate3d(105%,85%,0) rotate(-24deg) scale(.8)}
 18%{opacity:.94;transform:translate3d(-8%,4%,0) rotate(-9deg) scale(.95)}
 42%{opacity:.98;transform:translate3d(-36%,-27%,0) rotate(12deg) scale(1.06)}
 67%{opacity:0;transform:translate3d(24%,-145%,0) rotate(34deg) scale(.8)}
 100%{opacity:0;transform:translate3d(24%,-145%,0) rotate(34deg) scale(.8)}
}
@keyframes hero-orange-flight{
 0%{opacity:0;transform:translate3d(-90%,80%,0) rotate(-32deg) scale(.72)}
 18%{opacity:.9;transform:translate3d(-8%,-22%,0) rotate(-9deg) scale(.93)}
 40%{opacity:.96;transform:translate3d(42%,-39%,0) rotate(15deg) scale(1)}
 66%{opacity:0;transform:translate3d(180%,-120%,0) rotate(40deg) scale(.75)}
 100%{opacity:0;transform:translate3d(180%,-120%,0) rotate(40deg) scale(.75)}
}
.hero.motion-offscreen .hero-shard,html[data-page-hidden="true"] .hero-shard,html[data-motion-paused="true"] .hero-shard{animation-play-state:paused}
@media(max-width:767px){
 .hero .whatsapp-button{width:calc(100% - 32px);max-width:280px;min-height:50px;font-size:15.3px;padding:11px 20px;gap:10px}
 .hero .whatsapp-button svg{width:25px;height:25px}
 .hero .city-photo{animation:none}
 .hero .crystals{opacity:.3}
 .hero-crystal-stage{inset:0;mask-image:linear-gradient(0deg,transparent,#000 12%,#000 90%,transparent)}
 .hero-shard--blue{width:155px;right:-4%;top:-30%}
 .hero-shard--magenta{width:142px;right:-5%;top:25%}
 .hero-shard--orange{width:125px;right:44%;bottom:-20%}
}
@media(prefers-reduced-motion:reduce){
 .hero-shard{animation:none!important;display:none}
 .hero .crystals{opacity:.85}
 .hero .city-photo{animation:none!important}
}

/* Unified CTA component; brand blue stays on headings and decoration. */
:root{--cta:#d60078;--cta-hover:#b80067}
.whatsapp-button,.site-header .header-contact{background-color:var(--cta);background-image:none;color:#fff;border-color:var(--cta)}
.whatsapp-button:visited,.site-header .header-contact:visited{color:#fff}
.whatsapp-button:hover,.whatsapp-button:active,.site-header .header-contact:hover,.site-header .header-contact:active{background-color:var(--cta-hover);background-image:none;color:#fff;border-color:var(--cta-hover)}
.whatsapp-button:focus-visible,.site-header .header-contact:focus-visible{outline:3px solid var(--cta);outline-offset:4px}
