:root{

  --bg:#FFFFFF;
  --surface-mint:#EBEDF0;
  --surface-ice:#F9FBFD;
  --surface-ice-2:#FAFBFD;
  --surface-steel:#D8DDE2;
  --surface-fog:#F0F2F5;

  --brand-deep:#071F3B;
  --brand:#112640;
  --brand-glow:#1C3A5F;
  --brand-mint:#5987C0;
  --brand-mint-soft:#C1D0E1;

  --ink:#202225;
  --ink-strong:#1A1C1F;
  --muted:#5E656E;
  --on-dark:#FFFFFF;

  --border-soft:#E9ECEF;
  --border-mid:#C3CDD9;
  --border-hair:rgba(7,31,59,.08);

  --accent-bg:#7499C0;
  --accent-ink:#14171A;
  --accent-text:#224B77;
  --accent-soft:#DCE7F3;
  --accent-strong:#A5C0DD;

  --glass-10:rgba(255,255,255,.10);
  --glass-15:rgba(255,255,255,.15);

  --wrap:1440px;
  --wrap-narrow:1320px;
  --gutter:60px;
  --band-y:80px;
  --r-card:16px;
  --r-card-lg:20px;
  --r-media:12px;
  --r-pill:100px;
  --r-hero-foot:60px;

  --font-head:'Figtree',system-ui,sans-serif;
  --font-body:'Poppins',system-ui,sans-serif;
  --font-mono:'Geist Mono',ui-monospace,monospace;
  --font-script:'Satisfy',cursive;
  --font-display:'Staatliches',sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--font-body); font-size:18px; line-height:26px; font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img{display:block; max-width:100%}
a{color:inherit; text-decoration:none}
h1,h2,h3,h4{margin:0; font-family:var(--font-head); font-weight:500; color:var(--brand-deep)}
h1{font-size:52px; line-height:60px; text-transform:uppercase; color:var(--on-dark)}
h2{font-size:40px; line-height:40px}
h3{font-size:24px; line-height:28.8px}
h4{font-size:22px; line-height:26.4px}
p{margin:0}

h1,h2,h3,h4{text-wrap:balance; overflow-wrap:break-word}

.hero h1,.hero--fullbleed h1{text-wrap:wrap; text-wrap:pretty; letter-spacing:-.01em}
@media (max-width:640px){ h1,h2,h3,h4{text-wrap:wrap; text-wrap:pretty} }

.band{width:100%; padding:var(--band-y) var(--gutter)}
.band--mint{background:var(--surface-mint)}
.band--white{background:var(--bg)}
.band--brand{background:var(--brand)}
.band--brand h2{color:var(--on-dark)}
.band--brand .sec-head p{color:rgba(255,255,255,.86)}
.band--brand .eyebrow{background:var(--on-dark); color:var(--brand-deep)}
.wrap{max-width:var(--wrap); margin:0 auto}
.row{max-width:var(--wrap-narrow); margin:0 auto}

.eyebrow{
  display:inline-block; background:var(--brand); color:var(--on-dark);
  font-family:var(--font-mono); font-size:16px; font-weight:500; line-height:28px;
  padding:0 14px; border-radius:var(--r-pill);
}
.sec-head{display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center}
.sec-head__top{display:flex; flex-direction:column; align-items:center; gap:8px}
.sec-head p{font-size:18px; line-height:26px; color:var(--ink); max-width:698px}
.sec-head--w636 p{max-width:636px}
.sec-head--w746 p{max-width:746px}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-body); font-size:18px; font-weight:500; line-height:1;
  border:0; cursor:pointer; white-space:nowrap; transition:transform .25s cubic-bezier(.22,1,.36,1), opacity .25s;
}
.btn:hover{transform:translateY(-2px)}
.btn--white{background:#fff; color:var(--brand-deep); border-radius:var(--r-pill); padding:15px 20px}
.btn--ghost{background:var(--glass-10); color:var(--on-dark); border-radius:var(--r-pill); padding:15px 20px; border:1px solid rgba(255,255,255,.30)}
.btn--nav{background:#fff; color:var(--brand-deep); border-radius:118px; padding:12px 16px}
.btn--cta{background:#fff; color:var(--ink-strong); border-radius:80px; padding:17px 32px}
.btn--dark{background:var(--brand-deep); color:#fff; border-radius:var(--r-pill); padding:15px 20px}
.btn--accent{
  background:var(--accent-bg); color:var(--accent-ink);
  border-radius:50px; padding:16px 18px; width:100%;
  font-family:var(--font-head); font-size:22px; font-weight:500;
}

.hdr{position:fixed; inset:0 0 auto 0; z-index:60; background:var(--brand-deep); padding:12px var(--gutter)}
.hdr__in{max-width:var(--wrap-narrow); margin:0 auto; height:36px; display:flex; align-items:center; justify-content:space-between; gap:24px}
.brand{display:flex; align-items:center; gap:12px}
.brand__mark{width:36px; height:36px; border-radius:50%}
.brand__word{font-family:var(--font-display); font-size:22px; line-height:26px; color:var(--on-dark); letter-spacing:.5px}
.nav{display:flex; align-items:center; gap:32px}
.nav a{font-size:16px; font-weight:500; line-height:24px; color:var(--on-dark); opacity:.92; transition:opacity .2s}
.nav a:hover{opacity:1}
.burger{display:none; width:32px; height:35px; background:none; border:0; padding:0; cursor:pointer; flex-direction:column; justify-content:center; gap:5px; align-items:flex-end; position:relative; z-index:70}
.burger span{display:block; height:3px; border-radius:2px; background:#fff; transition:transform .3s, width .3s, opacity .3s}
.burger span:nth-child(1){width:24px}
.burger span:nth-child(2){width:32px}
.burger span:nth-child(3){width:18px}

.burger.is-open span:nth-child(1){width:28px; transform:translateY(8px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0}
.burger.is-open span:nth-child(3){width:28px; transform:translateY(-8px) rotate(-45deg)}

.mnav{
  position:fixed; inset:60px 0 0 0; z-index:55; background:var(--brand-deep);
  padding:12px 20px 20px; display:none; flex-direction:column; justify-content:space-between;
}
.mnav.open{display:flex}
.mnav__links{display:flex; flex-direction:column; gap:20px; padding-top:8px}
.mnav__links a{font-size:18px; font-weight:500; line-height:22px; color:#fff}
.mnav__foot{display:flex; flex-direction:column; gap:14px}
.mnav__meta{font-family:var(--font-mono); font-size:13px; line-height:20px; color:rgba(255,255,255,.66)}
.mnav .btn--nav{width:100%; padding:14px 16px; border-radius:var(--r-pill); font-size:18px}

.hero--fullbleed{
  position:relative; overflow:hidden; padding:0; min-height:724px;
  display:flex; align-items:center; background:var(--brand);
  border-radius:0 0 var(--r-hero-foot) var(--r-hero-foot);
}
.hero--fullbleed picture{position:absolute; inset:0; z-index:0; display:block; line-height:0; margin:0}
.hero--fullbleed .hero-bgphoto{
  display:block !important;
  width:100% !important; height:100% !important;
  max-width:none !important; max-height:none !important;
  object-fit:cover; object-position:72% 0%;
}

.hero-scrim{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg,
    rgba(17,38,64,.95) 0%, rgba(17,38,64,.86) 26%, rgba(17,38,64,.56) 48%,
    rgba(17,38,64,.16) 68%, rgba(17,38,64,.32) 100%);
}
.hero--fullbleed .hero-inner{
  position:relative; z-index:2; width:100%;
  display:grid; grid-template-columns:minmax(0,640px); justify-content:start;
  padding:84px var(--gutter) 96px;
}

.hero-copy{display:flex; flex-direction:column; gap:32px; align-items:flex-start; max-width:640px}
.hero--fullbleed h1{color:#FCFDFF; text-transform:none; font-size:46px; line-height:54px; max-width:640px}
.hero--fullbleed h1 b{font-weight:500; color:var(--accent-soft)}
.hero-lead{font-size:18px; line-height:26px; color:rgba(255,255,255,.86); max-width:620px}
.hero__badge{
  align-self:flex-start; display:inline-flex; align-items:center; gap:10px;
  background:var(--glass-10); border-radius:var(--r-pill); padding:6px 16px;
  font-family:var(--font-mono); font-size:16px; font-weight:500; line-height:28px; color:var(--on-dark);
}
.hero__badge .spark{color:var(--accent-strong)}
.hero__actions{display:flex; align-items:center; gap:12px; margin-top:4px}

@media (min-width:1025px) and (max-width:1440px){
  .hero--fullbleed{min-height:640px}
  .hero--fullbleed .hero-bgphoto{object-position:76% 0%}
}
@media (min-width:769px) and (max-width:1024px){
  .hero--fullbleed{min-height:540px}
  .hero--fullbleed .hero-bgphoto{object-position:80% 0%}
}

.stack-60{display:flex; flex-direction:column; gap:60px}
.cards-4{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:var(--wrap-narrow); margin:0 auto}
.carrossel-nav{display:none}
.pcard{background:var(--surface-mint); border-radius:var(--r-card); padding:12px 12px 14px; display:flex; flex-direction:column; gap:20px; transition:transform .3s cubic-bezier(.22,1,.36,1)}
.pcard:hover{transform:translateY(-4px)}
.pcard__media{border-radius:var(--r-media); overflow:hidden; aspect-ratio:294/254}
.pcard__media img{width:100%; height:100%; object-fit:cover}
.pcard__body{display:flex; flex-direction:column; gap:10px; padding:0 6px 4px; align-items:center; text-align:center}
.pcard__body p{font-size:16px; line-height:20px; color:var(--ink)}

.stats-row{display:grid; grid-template-columns:388px 444px 452px; gap:16px; justify-content:center; max-width:var(--wrap-narrow); margin:0 auto; min-width:0}
.stats-col{display:flex; flex-direction:column; gap:16px}
.stat-card{background:#fff; border-radius:var(--r-card); padding:26px 24px; height:232px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center}

.stat-card p{font-size:16px; line-height:20px; color:var(--ink)}
.case-card{
  position:relative; overflow:hidden; border-radius:var(--r-card); padding:20px;
  display:flex; flex-direction:column; gap:16px; height:480px; color:#fff; align-items:center; text-align:center;

  background:
    radial-gradient(115% 70% at 78% 8%, rgba(28,58,95,.55) 0%, rgba(28,58,95,0) 64%),
    linear-gradient(155deg, var(--brand-deep) 0%, #132E4E 55%, var(--brand-glow) 100%);
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.case-card:hover{transform:translateY(-4px)}
.case-card > *{position:relative; z-index:1}
.case-card .eyebrow{background:transparent; padding:0; font-size:14px}
.case-card h4{color:#fff; max-width:330px}
.case-card__media{margin-top:auto; border-radius:var(--r-media); overflow:hidden}
.case-card__media img{width:100%; height:304px; object-fit:cover}
.metric-card{position:relative; overflow:hidden; border-radius:var(--r-card); height:480px; color:#fff; display:flex; flex-direction:column; justify-content:space-between; align-items:center; text-align:center; padding:20px}
.metric-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0}
.metric-card::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(4,27,55,.86) 0%, rgba(4,27,55,.22) 46%, rgba(4,27,55,.66) 100%); z-index:1}
.metric-card > *{position:relative; z-index:2}
.metric-card .eyebrow{background:transparent; padding:0; font-size:14px; opacity:.9}

.metric-card h4{color:#fff}

.split{display:flex; align-items:center; gap:20px; max-width:var(--wrap-narrow); margin:0 auto}
.tabs{flex:1 1 auto; display:flex; flex-direction:column; gap:22px; align-items:flex-start}
.tabs__head{display:flex; flex-direction:column; gap:14px; align-items:flex-start; margin-bottom:2px}
.tabs__label{font-family:var(--font-mono); font-size:16px; line-height:28px; color:var(--brand-deep); text-transform:uppercase}
.tabs__head h2{max-width:560px}
.tabs__head p{font-size:18px; line-height:26px; color:var(--ink); max-width:560px}
.tab{border:0; background:transparent; cursor:pointer; border-radius:var(--r-pill); padding:16px 24px; text-align:left; transition:background .3s}
.tab h3{color:var(--brand-deep); transition:color .3s}
.tab.is-active{background:var(--brand)}
.tab.is-active h3{color:#fff}
.solution-card{flex:0 0 650px; background:var(--surface-steel); border-radius:var(--r-card-lg); padding:12px}
.solution-card__media{border-radius:var(--r-card-lg); overflow:hidden; aspect-ratio:626/417}
.solution-card__media img{width:100%; height:100%; object-fit:cover}
.solution-card__body{display:flex; flex-direction:column; gap:8px; align-items:center; text-align:center}
.solution-card__body p{font-size:18px; line-height:26px; color:var(--ink)}
.solution-card__inner{background:#fff; border-radius:var(--r-card-lg); overflow:hidden; padding-bottom:20px}
.solution-card__inner .solution-card__media{border-radius:var(--r-card-lg) var(--r-card-lg) 0 0}
.solution-card__inner .solution-card__body{margin:20px 0 0; border-radius:0; padding:0 8px; gap:20px}
.solution-card__body h3 a{color:var(--brand-deep)}
.solution-card__body h3 a:hover{text-decoration:underline}
.btn--saiba{margin-top:4px; align-self:center}
.solution-card__inner .btn--saiba{margin-bottom:4px}
.solution-panel{display:none}
.solution-panel.is-shown{display:block}
.areas-scroll{position:relative}
@media (min-width:1025px){
  .areas-scroll{height:calc(6 * 48vh)}
  .areas-scroll > .split{position:sticky; top:96px}
}

.method-list{flex:1 1 auto; display:flex; flex-direction:column; gap:16px; max-width:640px}
.method{
  background:#fff; border:1px solid var(--border-soft); border-radius:var(--r-media);
  padding:28px 24px 28px 21px; text-align:center; position:relative;
}
.method::before{content:""; position:absolute; left:0; top:14px; bottom:14px; width:4px; border-radius:0 4px 4px 0; background:var(--brand-deep)}
.method p{font-size:16px; line-height:20px; color:var(--ink); margin-top:8px; max-width:590px}
.method-media{flex:0 0 662px; background:var(--surface-mint); border-radius:var(--r-card-lg); padding:10px}
.method-media__in{border-radius:var(--r-card-lg); overflow:hidden; aspect-ratio:642/558}
.method-media__in img{width:100%; height:100%; object-fit:cover}
.mono-row{display:flex; align-items:center; justify-content:center; gap:14px; font-family:var(--font-mono); font-size:16px; line-height:28px; color:var(--brand-deep); text-transform:uppercase}

.mono-row .spark{color:var(--accent-text)}

.form-card__title{display:flex; align-items:center; justify-content:center; gap:14px; font-family:var(--font-head); font-size:22px; font-weight:500; line-height:26.4px; color:#fff}
.form-card__title .spark{color:var(--accent-strong)}
.form-card__rule{height:1px; background:rgba(255,255,255,.18); margin-top:-8px}

.form-card__note{font-family:var(--font-mono); font-size:13px; line-height:19px; color:rgba(255,255,255,.62); text-align:center}

.step__mock--cal{display:flex; gap:10px; align-items:flex-start; padding:16px 14px}

.cal__grid--hit{background-image:
  repeating-linear-gradient(to right, var(--surface-mint) 0 11px, transparent 11px 14px),
  repeating-linear-gradient(to bottom, var(--surface-mint) 0 11px, transparent 11px 14px)}

.chip--ice{background:#E5E6E9}
.chip--mint{background:var(--brand-mint-soft)}
.chip--peach{background:var(--accent-soft); color:var(--accent-text)}
.chip--mono{font-family:var(--font-mono); font-size:13px; letter-spacing:.04em; text-transform:uppercase}

.why-card{
  position:relative; overflow:hidden; border-radius:var(--r-card-lg); padding:40px; min-height:546px;
  border:1px solid var(--border-soft);
  background:linear-gradient(101deg,#F6F8FA 0%, var(--surface-mint) 60.6%, var(--surface-mint) 100%);
  width:100%; max-width:var(--wrap-narrow); margin:0 auto;
}
.why-card__quote{font-size:18px; line-height:26px; color:var(--ink); max-width:1114px}
.why-card__sign{margin-top:22px}
.why-card__sign .name{font-family:var(--font-script); font-size:26px; line-height:1.3; color:var(--brand-deep)}
.why-card__sign .role{font-family:var(--font-mono); font-size:14px; line-height:20px; color:var(--muted)}
.features{display:grid; grid-template-columns:repeat(2,1fr); gap:20px 16px; max-width:693px; margin-top:64px}
.feature{padding:8px}
.feature__head{display:flex; align-items:center; gap:10px}
.feature__head h4{letter-spacing:-.015em}
.feature__head svg{flex:0 0 22px; width:22px; height:22px; color:var(--brand-deep)}
.feature p{font-size:16px; line-height:20px; color:var(--ink); margin-top:10px; max-width:320px}

.why-card__photo{position:absolute; right:36px; bottom:0; width:auto !important; height:443px !important; max-width:467px !important; pointer-events:none}

.loc-split{display:flex; align-items:flex-start; justify-content:space-between; gap:60px; max-width:var(--wrap-narrow); margin:0 auto}
.loc-col{flex:0 0 560px; display:flex; flex-direction:column; gap:16px; align-items:flex-start}
.loc-col p{font-size:18px; line-height:26px; color:var(--ink); max-width:520px}
.loc-col .btn{margin-top:8px}
.loc-map{width:100%; max-width:var(--wrap-narrow); margin:40px auto 0; aspect-ratio:24/7; border-radius:var(--r-media); overflow:hidden; border:1px solid var(--border-soft); background:var(--surface-mint)}
.loc-map iframe{width:100%; height:100%; border:0; display:block}
@media (max-width:1024px){.loc-map{aspect-ratio:16/7; margin-top:32px}}
@media (max-width:640px){.loc-map{aspect-ratio:4/3; margin-top:24px}}
.loc-list{flex:1 1 auto; display:flex; flex-direction:column; gap:16px}
.info-card{background:var(--brand); border:1px solid transparent; border-radius:var(--r-media); padding:24px 24px 24px 21px; text-align:center; position:relative}
.info-card::before{content:""; position:absolute; left:0; top:14px; bottom:14px; width:4px; border-radius:0 4px 4px 0; background:var(--accent-strong)}
.info-card h3{color:var(--on-dark)}
.info-card p{font-size:16px; line-height:20px; color:rgba(255,255,255,.86); margin-top:8px}
.info-card a{color:var(--accent-strong); text-decoration:underline}

.cta-card{
  position:relative; overflow:hidden; border-radius:var(--r-card); height:410px;
  width:100%; max-width:var(--wrap-narrow); margin:0 auto;

  background:
    radial-gradient(78% 130% at 86% 112%, rgba(28,58,95,.62) 0%, rgba(28,58,95,0) 60%),
    linear-gradient(100deg, #051529 0%, var(--brand-deep) 44%, #09284E 100%);
  display:flex; align-items:center;
}

.cta-card__fig{
  position:absolute; right:0; bottom:0; width:569px !important; height:410px !important;
  max-width:569px !important; object-fit:cover; z-index:1;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 16%, rgba(0,0,0,.85) 42%, #000 68%);
          mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 16%, rgba(0,0,0,.85) 42%, #000 68%);
}
.cta-card__body{position:relative; z-index:2; padding:48px; max-width:700px; color:#fff; display:flex; flex-direction:column; gap:24px}
.cta-card__body h2{color:#fff}
.cta-card__body h2 .mark{background:#fff; color:var(--brand-deep); padding:2px 12px; border-radius:var(--r-pill)}
.cta-card__body p{font-size:18px; line-height:26px}

.faq{width:100%; max-width:847px; margin:0 auto; display:flex; flex-direction:column; gap:12px}
.faq__item{background:#fff; border:1px solid var(--border-soft); border-radius:var(--r-media); overflow:hidden; transition:border-radius .3s}
.faq__item.is-open{border-radius:28px}
.faq__q{width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; background:none; border:0; cursor:pointer; padding:16px 24px 16px 20px; text-align:left}
.faq__q h4{font-size:22px; line-height:26.4px; color:var(--brand-deep); flex:1 1 auto; text-align:center}
.faq__ic{flex:0 0 24px; width:24px; height:24px; position:relative}
.faq__ic::before,.faq__ic::after{content:""; position:absolute; background:var(--brand-deep); border-radius:2px; transition:transform .3s, opacity .3s}
.faq__ic::before{left:2px; right:2px; top:11px; height:2px}
.faq__ic::after{top:2px; bottom:2px; left:11px; width:2px}
.faq__item.is-open .faq__ic::after{transform:scaleY(0); opacity:0}
.faq__a{max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.22,1,.36,1)}
.faq__a p{padding:0 24px 24px 20px; font-size:16px; line-height:20px; color:var(--ink); text-align:center}
.faq__item.is-open .faq__a{max-height:400px}

.ftr{position:relative; overflow:hidden; background:var(--brand-deep); padding:56px var(--gutter) 32px}
.ftr__glow{position:absolute; left:0; bottom:0; width:100%; height:744px; object-fit:cover; mix-blend-mode:color-dodge; opacity:.3; pointer-events:none; z-index:0}
.ftr__cols{display:grid; grid-template-columns:1.6fr 1fr 1fr 1.25fr; gap:40px; align-items:start}
.ftr__col{display:flex; flex-direction:column; gap:14px; min-width:0}
.ftr__col--brand{gap:16px}
.ftr__desc{font-size:16px; line-height:22px; color:#fff; opacity:.8; max-width:340px}
.ftr__ttl{font-family:var(--font-mono); font-size:14px; line-height:20px; letter-spacing:.04em; text-transform:uppercase; color:#fff; opacity:.62; font-weight:500}
.ftr__list{display:flex; flex-direction:column; gap:10px; font-style:normal}
.ftr__list a,.ftr__list span{font-size:16px; line-height:22px; color:#fff; opacity:.9; transition:opacity .25s}
.ftr__list a:hover{opacity:1; text-decoration:underline}
.ftr__horario{opacity:.72 !important}
.ftr__social{display:flex; gap:16px}
.ftr__social a{font-size:16px; line-height:22px; color:#fff; opacity:.9}
.ftr__social a:hover{opacity:1; text-decoration:underline}
.ftr__in{position:relative; z-index:1; max-width:var(--wrap-narrow); margin:0 auto; display:flex; flex-direction:column; gap:40px}
.ftr__bot{display:flex; align-items:center; justify-content:space-between; gap:40px; border-top:1px solid rgba(255,255,255,.16); padding-top:16px}
.ftr__bot span{font-size:16px; line-height:20px; color:#fff; opacity:.85}
.ftr__bot a{text-decoration:underline}

.whatsapp-float{
  position:fixed; bottom:24px; right:24px;
  width:60px; height:60px;
  background:#25D366; color:#fff;
  border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 6px 24px rgba(0,0,0,0.18), 0 2px 8px rgba(37,211,102,0.32);
  z-index:999;
  transition:transform 0.25s ease;
}
.whatsapp-float:hover{transform:scale(1.06)}
.whatsapp-float svg{width:32px; height:32px; fill:currentColor}
.whatsapp-float::before{
  content:""; position:absolute; inset:-6px;
  border-radius:50%;
  background:rgba(37,211,102,0.32);
  animation:wa-pulse 2.4s ease-out infinite;
  z-index:-1;
}
@keyframes wa-pulse{
  0%{transform:scale(0.9); opacity:0.7}
  100%{transform:scale(1.6); opacity:0}
}

.reveal{opacity:0; transform:translateY(32px); transition:opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1)}
.reveal.visible{opacity:1; transform:translateY(0)}
.scale-in{opacity:0; transform:scale(.96); transition:opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1)}
.scale-in.visible{opacity:1; transform:scale(1)}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

.tab:hover:not(.is-active) h3{color:var(--brand-glow)}
.faq__q h4{transition:color .25s ease}
.faq__q:hover h4{color:var(--brand-glow)}
.tab:focus-visible,.faq__q:focus-visible{outline:2px solid var(--brand-deep); outline-offset:2px}

.pcard:hover,.case-card:hover{transition:transform .25s cubic-bezier(.22,1,.36,1)}

@keyframes panel-in{from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:translateY(0)}}
.solution-panel.is-shown{animation:panel-in .28s cubic-bezier(.22,1,.36,1) both}

main[id],section[id]{scroll-margin-top:76px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    transition-delay:0s !important;
    scroll-behavior:auto !important;
  }
  .reveal,.scale-in{opacity:1 !important; transform:none !important}
  html{scroll-behavior:auto}
  .whatsapp-float::before{animation:none !important}
}

@media (min-width:1361px) and (max-width:1470px){
  .stats-row{grid-template-columns:388fr 444fr 452fr}
}
@media (max-width:1360px){
  .stats-row{grid-template-columns:1fr 1.15fr 1.15fr}
  .solution-card{flex:0 0 520px}
  .method-media{flex:0 0 520px}
  .loc-col{flex:0 0 460px}
}
@media (max-width:1024px){
  :root{--gutter:32px; --band-y:64px}
  h1{font-size:38px; line-height:44px}
  h2{font-size:30px; line-height:34px}
  h3{font-size:20px; line-height:25px}

  h4{font-size:18px; line-height:24px}
  .faq__q h4{font-size:18px; line-height:24px}
  .nav{display:none}
  .hdr .btn--nav{display:none}
  .burger{display:flex}
  .cards-4{
    display:flex; grid-template-columns:none; flex-wrap:nowrap; overflow-x:auto;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    margin:0 calc(var(--gutter) * -1); padding:0 calc(50% + var(--gutter) - 159px) 4px; max-width:none;
  }
  .cards-4::-webkit-scrollbar{display:none}
  .cards-4{scrollbar-width:none}
  .cards-4 > .pcard{flex:0 0 318px; scroll-snap-align:center}
  .carrossel-nav{display:flex; justify-content:center; gap:12px; margin-top:20px; padding:0 var(--gutter)}
  .carrossel-btn{
    width:44px; height:44px; border-radius:var(--r-pill); cursor:pointer;
    display:inline-flex; align-items:center; justify-content:center;
    background:var(--on-dark); color:var(--brand-deep); border:0;
    transition:opacity .25s;
  }
  .carrossel-btn:disabled{opacity:.35; cursor:default}
  .carrossel-btn .is-flip{transform:rotate(180deg)}
  .carrossel-btn:focus-visible{outline:2px solid var(--on-dark); outline-offset:3px}
  .stats-row{grid-template-columns:1fr; gap:16px}
  .case-card,.metric-card{height:auto; min-height:360px}.split,.loc-split{flex-direction:column; align-items:stretch; gap:32px}

  .areas-scroll{height:auto}
  .areas-scroll > .split{min-height:calc(6 * 52vh); justify-content:flex-start}

  .areas-scroll > .split > .tabs{flex:0 0 auto}
  .areas-scroll > .split > .solution-card{flex:0 0 auto}
  .areas-scroll .solution-card{position:sticky; top:72px}
.solution-card,.method-media,.loc-col,.loc-list{flex:1 1 auto; width:100%; max-width:none}
  .method-list{max-width:none}
  .tabs{align-items:stretch}
  .tabs__head{align-items:flex-start}
  .features{grid-template-columns:1fr; margin-top:32px}
  .why-card{padding:28px}

  .why-card__photo{position:static; display:block; width:auto !important; height:248px !important; max-width:100% !important; margin:24px auto 0}
  .cta-card{height:auto}
  .cta-card__fig{display:none !important}
  .cta-card__body{padding:32px; max-width:none}
  .ftr{height:auto}
  .ftr__in{height:auto; gap:32px}
  .ftr__bot{flex-direction:column; align-items:flex-start; gap:8px}
  .ftr__cols{grid-template-columns:1fr 1fr; gap:32px}
  .ftr__desc{max-width:none}
}
@media (max-width:768px){

  .hero.hero--fullbleed{display:block; min-height:auto; padding:60px 0 0; background:var(--brand); border-radius:0 0 32px 32px}
  .hero.hero--fullbleed .hero-scrim{display:none}
  .hero.hero--fullbleed picture{position:relative; inset:auto; display:block; line-height:0; margin:0}
  .hero.hero--fullbleed picture::after{
    content:""; position:absolute; left:0; right:0; bottom:0; height:42%; pointer-events:none;
    background:linear-gradient(180deg, rgba(17,38,64,0) 0%, rgba(17,38,64,.45) 45%, rgba(17,38,64,.85) 76%, var(--brand) 100%);
  }
  .hero.hero--fullbleed .hero-bgphoto{
    position:static; display:block !important;
    width:100% !important; height:auto !important; max-height:none !important;
    aspect-ratio:10/11; object-fit:cover; object-position:center top; margin:0;
  }
  .hero.hero--fullbleed .hero-inner{padding:0 var(--gutter) 52px; margin-top:-96px; grid-template-columns:1fr}
  .hero.hero--fullbleed .hero-copy{align-items:center; text-align:center; max-width:none}
  .hero.hero--fullbleed h1{font-size:34px; line-height:40px; max-width:none}
  .hero.hero--fullbleed .hero-lead{max-width:none}
  .hero.hero--fullbleed .hero__badge{align-self:center}
  .hero.hero--fullbleed .hero__actions{flex-direction:column; width:100%; gap:12px}
  .hero.hero--fullbleed .hero__actions .btn{width:100%}
}
@media (max-width:640px){

  .sec-head,.sec-head__top{align-items:center; text-align:center}.tabs,.tabs__head,.loc-col{align-items:center; text-align:center}.tabs__head p,.loc-col p{text-align:center}
  .tab{text-align:center}
  .method,.info-card{text-align:center; padding-left:24px}
  .method::before,.info-card::before{display:none}
  .method p,.info-card p{max-width:none}

  .feature,.feature__head{justify-content:center; text-align:center}
  .feature p{margin-left:auto; margin-right:auto; max-width:none}
  .why-card__sign{text-align:center}
  .cta-card__body{align-items:center; text-align:center}
  .cta-card__body .btn{align-self:center !important}

  .faq__q{padding:14px 16px; flex-direction:column; align-items:center; gap:10px}
  .faq__q h4{text-align:center}

  .btn{white-space:normal; text-align:center; line-height:1.25}
  .cta-card__body .btn{width:100%}
  .ftr__bot{align-items:center; justify-content:center; text-align:center}
  .ftr__cols{grid-template-columns:1fr; gap:28px; text-align:center}
  .ftr__col,.ftr__col--brand{align-items:center}
  .ftr__list,.ftr__social{align-items:center; justify-content:center}
  .ftr__bot{flex-direction:column}
  .loc-col .btn{align-self:center}
}

@media (max-width:640px){

  .why-card__quote{text-align:center}
  .stat-card{align-items:center; text-align:center}
  .case-card{align-items:center; text-align:center}
  .case-card h4{max-width:none}
  .metric-card{text-align:center}
  .metric-card h4{text-align:center}
  .pcard__body{align-items:center; text-align:center}
  .solution-card__body{align-items:center; text-align:center}
  .faq__a p{text-align:center; padding:0 18px 18px}

  .hero__badge{justify-content:center}
  .step__mock--cal{justify-content:center}
  .cta-card{justify-content:center}

  .feature__head{flex-direction:column; gap:6px}
  .feature__head svg{flex:0 0 20px; width:20px; height:20px}
}

@media (max-width:640px){
  :root{--band-y:48px}

  .hero.hero--fullbleed h1{font-size:31px; line-height:37px}
  .stack-60{gap:40px}
  .sec-head{gap:12px}
  .sec-head__top{gap:6px}

  .stat-card{height:auto; min-height:0; padding:22px 20px}
  .case-card{gap:14px; padding:18px}
  .case-card__media img{height:200px}
  .metric-card{min-height:300px; padding:18px}

  .split{gap:24px}
  .method-list{gap:12px}
  .method{padding:18px 20px}
  .method p{margin-top:6px}
  .method-media{padding:8px}.loc-split{gap:24px}

  .loc-list{gap:12px}
  .info-card{padding:18px}

  .why-card{min-height:0; padding:22px}
  .features{margin-top:24px; gap:16px}
  .feature{padding:4px}
  .why-card__photo{margin-top:16px}

  .faq{gap:10px}
  .faq__q{gap:6px; padding:12px 16px}
  .faq__ic{flex:0 0 18px; width:18px; height:18px}
  .faq__ic::before{top:8px}
  .faq__ic::after{left:8px}

  .cta-card__body{padding:26px 22px; gap:18px}
}

@media (max-width:640px){
  h4,.faq__q h4{font-size:18px; line-height:23px}
  .eyebrow{font-size:13px; line-height:22px}
  .tabs__label,.mono-row{font-size:13px; line-height:20px}

  .btn{font-size:16px}
  .btn--accent{font-size:17px; padding:15px 16px}
  .mnav .btn--nav{font-size:16px}
  .form-card__title{font-size:18px; line-height:24px}
}

@media (max-width:560px){
  :root{--gutter:22px}
  .hero__badge{font-size:13px; padding:6px 12px}
}

@media (max-width:370px){
  .hero.hero--fullbleed h1{font-size:28px; line-height:34px}
}

a.inl{color:var(--accent-text); text-decoration:underline; text-underline-offset:2px}
a.inl:hover{color:var(--brand-deep)}
a.inl:focus-visible{outline:2px solid var(--brand-deep); outline-offset:2px; border-radius:2px}

:root{
  --blog-measure:800px;
  --blog-wrap:1320px;
}

.kcp-blog-main{padding-top:60px}

.post-hero{
  background:var(--brand-deep); color:var(--on-dark);
  padding:64px var(--gutter) 56px;
  border-radius:0 0 var(--r-hero-foot) var(--r-hero-foot);
}
.post-hero-inner{
  display:flex; flex-direction:column; align-items:flex-start; gap:18px;
}
.post-back{
  width:max-content; display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-mono); font-size:14px; line-height:22px;
  color:rgba(255,255,255,.72);
}
.post-back:hover{color:var(--on-dark)}

.post-cat-badge{
  display:inline-flex; align-items:center; height:30px; padding:0 14px;
  border-radius:var(--r-pill);
  background:var(--accent-strong); color:var(--brand-deep) !important;
  font-family:var(--font-mono); font-size:13px; letter-spacing:.02em;
  text-transform:uppercase;
}

.post-title{
  font-family:var(--font-head); font-size:42px; line-height:1.18; font-weight:500;
  letter-spacing:-.01em; text-transform:none;
  color:var(--on-dark) !important; text-wrap:wrap; text-wrap:pretty;
}
.post-meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px;
  font-size:15px; line-height:22px; color:rgba(255,255,255,.72);
}
.post-meta-sep{opacity:.55}

.post-hero-inner.container,
.post-media.container,
.post-body-wrap.container{
  max-width:var(--blog-measure) !important;
  width:100%;
  margin-left:auto !important; margin-right:auto !important;
  padding-left:0 !important; padding-right:0 !important;
}
.post-media{padding:0 var(--gutter); margin-top:-36px; position:relative; z-index:2}
.post-featured{
  width:100%; max-width:var(--blog-measure); margin:0 auto; max-height:440px;
  object-fit:cover; border-radius:var(--r-card-lg); display:block;
}
.post-featured-fallback{
  width:100%; max-width:var(--blog-measure); margin:0 auto;
  aspect-ratio:16/7; max-height:440px; border-radius:var(--r-card-lg);
  background:linear-gradient(135deg,var(--brand-deep) 0%,var(--brand-glow) 55%,var(--surface-mint) 100%);
  display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.55);
}
.post-featured-fallback svg{width:72px; height:72px}

.post-body-wrap{padding:46px var(--gutter) 88px}
.post-body{font-size:17px; line-height:1.75; color:var(--ink); text-align:left}
.post-body > *:first-child{margin-top:0}
.post-body h2{font-size:30px; line-height:1.25; margin:44px 0 14px; color:var(--brand-deep); text-wrap:pretty}
.post-body h3{font-size:22px; line-height:1.3; margin:32px 0 10px; color:var(--brand-deep); text-wrap:pretty}
.post-body h4{font-size:18px; line-height:1.35; margin:26px 0 8px; color:var(--ink-strong)}
.post-body p{margin:0 0 18px}
.post-body ul,.post-body ol{margin:0 0 20px; padding-left:24px}
.post-body ul{list-style:disc}
.post-body ol{list-style:decimal}
.post-body li{margin-bottom:9px}
.post-body li::marker{color:var(--accent-text)}
.post-body strong{font-weight:600; color:var(--ink-strong)}
.post-body a{color:var(--accent-text); text-decoration:underline; text-underline-offset:3px}
.post-body a:hover{color:var(--brand-deep)}
.post-body blockquote{
  margin:28px 0; padding:22px 26px;
  background:var(--surface-ice); border-left:3px solid var(--accent-strong);
  border-radius:0 var(--r-media) var(--r-media) 0;
  font-size:18px; line-height:1.55; color:var(--ink-strong);
}
.post-body blockquote p:last-child{margin-bottom:0}
.post-body table{width:100%; border-collapse:collapse; margin:0 0 24px; font-size:16px}
.post-body th,.post-body td{border:1px solid var(--border-soft); padding:11px 13px; text-align:left; vertical-align:top}
.post-body th{background:var(--surface-mint); font-weight:600}
.post-body img{border-radius:var(--r-media); margin:24px auto}

.post-footer-cta{
  margin-top:48px; padding:38px 32px; border-radius:var(--r-card-lg);
  background:var(--brand); color:var(--on-dark); text-align:center;
}
.post-footer-cta h3{font-size:26px; line-height:1.25; margin:0 0 14px; color:var(--on-dark) !important}
.post-footer-cta p{max-width:52ch; margin:0 auto 24px; font-size:16px; line-height:1.6; color:rgba(255,255,255,.86)}
.btn-post-cta{
  display:inline-flex; align-items:center; justify-content:center;
  height:50px; padding:0 32px; border-radius:var(--r-pill);
  background:#fff; color:var(--ink-strong) !important;
  font-family:var(--font-body); font-size:16px; font-weight:500;
  text-decoration:none !important; transition:transform .25s cubic-bezier(.22,1,.36,1);
}
.btn-post-cta:hover{transform:translateY(-2px)}
.post-back-bottom{margin-top:34px; color:var(--accent-text)}
.post-back-bottom:hover{color:var(--brand-deep)}

.blog-archive-hero{
  background:var(--brand-deep); color:var(--on-dark);
  padding:64px var(--gutter) 56px;
  border-radius:0 0 var(--r-hero-foot) var(--r-hero-foot);
}
.blog-archive-hero > .container{
  max-width:var(--blog-wrap) !important; margin:0 auto !important;
  padding-left:0 !important; padding-right:0 !important;
  display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center;
}
.blog-archive-hero .eyebrow{background:var(--on-dark); color:var(--brand-deep)}
.blog-archive-title{
  font-family:var(--font-head); font-size:42px; line-height:1.18; font-weight:500;
  letter-spacing:-.01em; text-transform:none;
  color:var(--on-dark) !important; max-width:820px; text-wrap:wrap; text-wrap:pretty;
}
.blog-archive-sub{font-size:18px; line-height:26px; color:rgba(255,255,255,.86); max-width:698px}

.blog-archive-wrap{
  max-width:var(--blog-wrap) !important; margin:0 auto !important;
  padding:64px var(--gutter) 88px !important;
}
.blog-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:24px}
.blog-card{
  display:flex; flex-direction:column; background:var(--surface-mint);
  border-radius:var(--r-card); padding:12px 12px 14px; overflow:hidden;
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.blog-card:hover{transform:translateY(-4px)}
.blog-card-media{position:relative; aspect-ratio:294/254; border-radius:var(--r-media); overflow:hidden; background:var(--surface-steel)}
.blog-card-img{width:100%; height:100%; object-fit:cover}
.blog-card-fallback{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--brand-deep) 0%,var(--brand-glow) 55%,var(--surface-mint) 100%);
  color:rgba(255,255,255,.55);
}
.blog-card-fallback svg{width:56px; height:56px}
.blog-card-badge{
  position:absolute; left:12px; bottom:12px;
  display:inline-flex; align-items:center; height:26px; padding:0 12px;
  border-radius:var(--r-pill); background:var(--brand-deep); color:var(--on-dark);
  font-family:var(--font-mono); font-size:12px; letter-spacing:.02em; text-transform:uppercase;
}
.blog-card-body{padding:16px 6px 4px; display:flex; flex-direction:column; gap:10px; flex:1; align-items:center; text-align:center}
.blog-card-title{font-family:var(--font-head); font-size:20px; line-height:1.3; font-weight:500; color:var(--brand-deep)}
.blog-card-excerpt{font-size:16px; line-height:20px; color:var(--ink); flex:1}
.blog-card-date{font-family:var(--font-mono); font-size:13px; color:var(--muted)}
.blog-empty{text-align:center; color:var(--muted); padding:60px 0}
.blog-pagination{margin-top:44px; display:flex; justify-content:center}
.blog-pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px; padding:0 12px; margin:0 4px;
  border-radius:var(--r-pill); border:1px solid var(--border-mid);
  font-family:var(--font-mono); font-size:14px; color:var(--brand-deep);
}
.blog-pagination .page-numbers.current{background:var(--brand-deep); color:var(--on-dark); border-color:var(--brand-deep)}

@media (max-width:1024px){
  .post-title,.blog-archive-title{font-size:36px}
}
@media (max-width:768px){
  .post-hero,.blog-archive-hero{padding:48px var(--gutter) 44px}
  .post-body-wrap{padding-top:38px; padding-bottom:64px}
  .post-footer-cta{padding:32px 22px}
}
@media (max-width:640px){

  .post-hero-inner{align-items:center; text-align:center}
  .post-meta{justify-content:center}
  .post-back{margin-left:auto; margin-right:auto}
  .post-title,.blog-archive-title{font-size:30px; text-wrap:wrap; text-wrap:pretty}
  .post-featured,.post-featured-fallback{max-height:240px}
  .post-media{margin-top:-24px}
  .post-body{font-size:16px}
  .post-body h2{font-size:25px; margin-top:36px}
  .post-body h3{font-size:20px}
  .blog-grid{grid-template-columns:1fr}
}

body{
  color:var(--ink) !important; background:var(--bg) !important;
  font-family:var(--font-body) !important; font-size:18px !important;
  line-height:26px !important; font-weight:400 !important;
}

.post-body{font-family:var(--font-body) !important}
.post-body p,.post-body li,.post-body td,.post-body th{
  font-family:var(--font-body) !important;
  font-size:inherit !important; line-height:inherit !important;
}
.post-body blockquote p{font-size:inherit !important}
.post-body table{font-size:16px !important}
p{font-family:var(--font-body) !important}
.mnav__meta{font-family:var(--font-mono) !important; font-size:13px !important; line-height:20px !important}

.ftr__desc{font-size:16px !important; line-height:22px !important}
.post-footer-cta p{font-size:16px !important; line-height:1.6 !important}
.blog-archive-sub{font-size:18px !important; line-height:26px !important}
.blog-card-excerpt{font-size:16px !important; line-height:20px !important}
.blog-empty{font-size:18px !important; line-height:26px !important}

h1.post-title,h1.blog-archive-title{font-family:var(--font-head) !important; color:var(--on-dark) !important}
.post-body h2{font-family:var(--font-head) !important; color:var(--brand-deep) !important; font-size:30px !important}
.post-body h3{font-family:var(--font-head) !important; color:var(--brand-deep) !important; font-size:22px !important}
.post-body h4{font-family:var(--font-head) !important; color:var(--ink-strong) !important; font-size:18px !important}
.blog-card-title{font-family:var(--font-head) !important; color:var(--brand-deep) !important}
.post-footer-cta h3{font-family:var(--font-head) !important; color:var(--brand-deep) !important}
.ftr__ttl{font-family:var(--font-mono) !important; color:#fff !important}
@media (max-width:640px){
  .post-body h2{font-size:25px !important}
  .post-body h3{font-size:20px !important}
}

a::after{content:none !important}

.nav a,.nav a:link,.nav a:visited{color:var(--on-dark) !important}
.mnav__links a,.mnav__links a:link,.mnav__links a:visited{color:#fff !important}
.ftr__list a,.ftr__list a:link,.ftr__list a:visited,
.ftr__list span,
.ftr__social a,.ftr__social a:link,.ftr__social a:visited,
.ftr__bot a,.ftr__bot a:link,.ftr__bot a:visited,
.ftr__bot span{color:#fff !important}
a.brand,a.brand:link,a.brand:visited{color:var(--ink) !important}
a.post-back,a.post-back:link,a.post-back:visited{color:rgba(255,255,255,.72) !important}
a.post-back:hover{color:var(--on-dark) !important}
.post-body a,.post-body a:link,.post-body a:visited,
a.inl,a.inl:link,a.inl:visited{color:var(--accent-text) !important}
.post-body a:hover,a.inl:hover{color:var(--brand-deep) !important}
a.blog-card,a.blog-card:link,a.blog-card:visited{color:var(--ink) !important}
a.whatsapp-float,a.whatsapp-float:link,a.whatsapp-float:visited{color:#fff !important; background:#25D366 !important}
.whatsapp-float svg{fill:#fff !important}

.btn.btn--nav,.btn.btn--nav:link,.btn.btn--nav:visited{color:var(--brand-deep) !important; background:#fff !important}
.btn-post-cta,.btn-post-cta:link,.btn-post-cta:visited{color:#fff !important; background:var(--brand-deep) !important}
.post-cat-badge,.blog-card-badge{background:var(--accent-strong) !important; color:var(--brand-deep) !important}
.burger{white-space:normal !important; border:0 !important; border-radius:0 !important; background:none !important; box-shadow:none !important; color:initial !important}
.burger span{background:#fff !important}

.brand__mark{width:36px !important; height:36px !important}
.whatsapp-float svg{width:32px !important; height:32px !important}
.ftr__glow{width:100% !important; height:744px !important; object-fit:cover !important}
.post-featured{max-width:var(--blog-measure) !important; max-height:440px !important; object-fit:cover !important}
.blog-card-img{width:100% !important; height:100% !important; object-fit:cover !important}
.post-featured-fallback svg{width:72px !important; height:72px !important}

header.hdr,footer.ftr,main.kcp-blog-main,header.post-hero,header.blog-archive-hero{
  max-width:none !important; width:100% !important;
}
header.hdr{margin:0 !important; padding:12px var(--gutter) !important}
footer.ftr{margin:0 !important}
main.kcp-blog-main{margin:0 !important}
