:root{
  --navy-900:#061b35;
  --navy-800:#08213c;
  --navy-700:#0c294a;
  --navy-600:#0c2e56;
  --navy-500:#10335a;
  --blue-700:#16457d;
  --blue-050:#e6effa;
  --green-500:#a8d341;
  --green-400:#b6df55;
  --green-600:#9ac33c;
  --green-700:#67920f;
  --green-800:#497409;
  --green-pale:#c0ea5f;
  --green-pale2:#c1ea63;
  --green-glow:#d6f58b;
  --orange-700:#8a4a14;
  --orange-050:#f7ecdc;
  --off-white:#f7f8f5;
  --ink:#070707;
  --wa:#25D366;
  --maxw:80rem;
  --radius:1rem;
  --shadow-nav:0 12px 40px rgba(0,0,0,.14);
  --ease:cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  font-family:"Geist","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  background:#fff;color:var(--ink);line-height:1.6;
  -webkit-font-smoothing:antialiased;min-height:100vh;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul{list-style:none}
:focus-visible{outline:2px solid var(--green-500);outline-offset:3px}

.container{max-width:var(--maxw);margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}
@media(min-width:1024px){.container{padding-left:2rem;padding-right:2rem}}

/* ============ HEADER ============ */
.site-header{position:fixed;inset:0 0 auto;z-index:50;padding:.75rem .75rem 0}
@media(min-width:640px){.site-header{padding:1.25rem 1.25rem 0}}
.nav-shell{
  position:relative;max-width:var(--maxw);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  border-radius:1rem;border:1px solid rgba(255,255,255,.15);
  background:rgba(6,27,53,.5);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  box-shadow:var(--shadow-nav);padding:.75rem 1rem;
  transition:background .5s var(--ease),border-color .5s var(--ease);
  overflow:hidden;
}
@media(min-width:640px){.nav-shell{padding:.75rem 1.25rem}}
.nav-shell.is-scrolled{background:rgba(6,27,53,.92);border-color:rgba(255,255,255,.25)}

.brand{display:flex;align-items:center;gap:.5rem;position:relative;z-index:10;min-width:0;flex:1 1 auto;max-width:60%}
.brand-logo{height:2.5rem;width:auto;flex-shrink:0}
.brand-text{display:flex;flex-direction:column;line-height:1;gap:.15rem;min-width:0;overflow:hidden}
.brand-text strong{color:#fff;font-size:.875rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-text span{color:rgba(255,255,255,.7);font-size:.6875rem;font-weight:600;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:639px){
  .brand-text span{display:none}
  .brand img{height:24px;max-width:80px}
  .brand-text strong{font-size:.75rem}
  .nav-shell{padding:.5rem .6rem;gap:.4rem}
  .nav-actions{gap:.3rem;flex-shrink:0}
  .btn-wa-sm{padding:.35rem .5rem;font-size:.7rem}
  .btn-wa-sm .lbl{display:none}
  .icon-btn{width:32px;height:32px}
}
@media(max-width:479px){
  .brand img{height:22px;max-width:70px}
  .brand-text strong{font-size:.7rem}
  .btn-wa-sm{padding:.3rem .45rem}
}

/* desktop pill nav */
.nav-pills{
  position:absolute;left:50%;transform:translateX(-50%);
  display:none;align-items:center;gap:.125rem;
  border-radius:50px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);padding:.25rem;
}
@media(min-width:1024px){.nav-pills{display:flex}}
.nav-pills a{
  position:relative;border-radius:50px;padding:.5rem 1rem;
  font-size:.875rem;font-weight:600;color:rgba(255,255,255,.7);
  transition:all .3s var(--ease);
}
.nav-pills a:hover{color:#fff}
.nav-pills a.active{background:#fff;color:var(--navy-800);box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  border-radius:50px;font-weight:700;font-size:.875rem;
  padding:.75rem 1.5rem;transition:all .3s var(--ease);white-space:nowrap;
}
.btn-green{background:var(--green-500);color:var(--navy-900)}
.btn-green:hover{background:var(--green-pale2);box-shadow:0 10px 20px -5px rgba(168,211,65,.35);transform:translateY(-1px)}
.btn-outline-light{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:#fff}
.btn-outline-light:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}
.btn-nav-green{display:none}
@media(min-width:1024px){.btn-nav-green{display:inline-flex}}

/* mobile actions */
.nav-actions{display:flex;align-items:center;gap:.5rem;position:relative;z-index:10}
@media(min-width:1024px){.nav-actions{display:none}}
.icon-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.5rem;height:2.5rem;border-radius:.75rem;
  background:rgba(255,255,255,.1);color:#fff;transition:background .3s
}
.icon-btn:hover{background:rgba(255,255,255,.2)}
.btn-wa-sm{background:var(--green-500);color:var(--navy-800);padding:.5rem .75rem;border-radius:.75rem;font-size:.75rem;font-weight:700}
@media(min-width:360px){.btn-wa-sm .lbl{display:inline}}

/* mobile overlay menu */
.mobile-menu{position:fixed;inset:0;z-index:40;visibility:hidden;opacity:0;transition:all .5s var(--ease)}
.mobile-menu.open{visibility:visible;opacity:1}
.mobile-menu__bg{position:absolute;inset:0;background:rgba(6,27,53,.7);backdrop-filter:blur(4px)}
@media(min-width:1024px){.mobile-menu{display:none}}
.mobile-menu__panel{
  position:absolute;left:.75rem;right:.75rem;top:5.5rem;
  border-radius:1.5rem;border:1px solid rgba(255,255,255,.1);
  background:var(--navy-800);padding:1.5rem;
  box-shadow:0 25px 50px -12px rgba(0,0,0,.5);
  transform:translateY(-1.5rem);opacity:0;transition:all .5s var(--ease);
  max-height:calc(100vh - 7rem);overflow-y:auto;
}
@media(min-width:640px){.mobile-menu__panel{left:1.25rem;right:1.25rem}}
.mobile-menu.open .mobile-menu__panel{transform:translateY(0);opacity:1}
.mm-eyebrow{display:flex;align-items:center;gap:.5rem;font-size:.6875rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green-400);margin-bottom:1rem}
.mm-eyebrow i{width:.5rem;height:.5rem;border-radius:50%;background:var(--green-500)}
.mobile-menu nav{display:flex;flex-direction:column;gap:.25rem}
.mobile-menu nav a{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem;border-radius:.75rem;font-size:1.25rem;font-weight:600;color:#fff;
  transition:background .3s
}
.mobile-menu nav a:hover{background:rgba(255,255,255,.06)}
.mobile-menu nav a svg{width:1.1rem;height:1.1rem;color:var(--green-400)}
.mm-cta{margin-top:1rem;width:100%;padding:1rem;border-radius:.75rem;background:var(--green-500);color:var(--navy-800);font-weight:700;text-align:center;display:block}
.mm-socials{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}
.mm-socials a{width:2.5rem;height:2.5rem;border-radius:.75rem;background:rgba(255,255,255,.05);display:grid;place-items:center;color:#fff}
.mm-socials a:hover{background:rgba(255,255,255,.12)}
.mm-branches{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);font-size:.875rem;color:rgba(255,255,255,.7)}
.mm-branches b{display:block;color:#fff;font-weight:600;margin-top:.75rem}
.mm-branches a{color:var(--green-400)}

/* ============ HERO ============ */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-900);color:#fff;padding-top:7rem}
@media(min-width:1024px){.hero{min-height:760px;padding-top:0}}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(115deg,rgba(5,25,51,.99) 0%,rgba(5,25,51,.93) 48%,rgba(5,25,51,.58) 100%)}
.hero__grid{
  position:absolute;inset:0;opacity:.3;
  background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent);
  mask-image:linear-gradient(to bottom,#000,transparent);
}
.hero__glow{position:absolute;border-radius:50%;filter:blur(90px)}
.hero__glow--a{left:-7rem;top:4rem;width:24rem;height:24rem;background:rgba(154,195,60,.2)}
.hero__glow--b{right:10%;bottom:10%;width:20rem;height:20rem;background:rgba(168,211,65,.14)}
.hero__media{position:absolute;right:0;top:0;height:100%;width:50%;overflow:hidden}
@media(max-width:1023px){.hero__media{width:100%;height:55%;opacity:.4}}
.hero__media img{width:100%;height:100%;object-fit:cover;opacity:.8}
.hero__media::before{content:"";position:absolute;inset:0;background:linear-gradient(to right,var(--navy-900),rgba(6,27,53,.35) 60%,transparent);z-index:1}
@media(max-width:1023px){.hero__media::before{background:linear-gradient(to top,var(--navy-900),rgba(6,27,53,.5))}}
.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,27,53,.6),transparent 50%,rgba(6,27,53,.2));z-index:1}
.hero__inner{position:relative;max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;min-height:660px;padding:5rem 1.5rem}
@media(min-width:1024px){.hero__inner{min-height:760px;padding:5rem 2rem}}
.hero__copy{max-width:48rem}
@media(min-width:1024px){.hero__copy{padding-top:3rem}}
.hero__badge{
  display:inline-flex;align-items:center;gap:.5rem;
  border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.1);
  padding:.5rem .875rem;border-radius:50px;
  font-size:.75rem;font-weight:500;letter-spacing:.025em;color:rgba(255,255,255,.9);
  backdrop-filter:blur(4px);
}
.hero__badge i{width:.4rem;height:.4rem;border-radius:50%;background:var(--green-500)}
.hero__badge svg{width:.875rem;height:.875rem;color:var(--green-400)}
.hero h1{
  margin-top:1.5rem;font-size:3rem;font-weight:600;line-height:.98;letter-spacing:-.055em;color:#fff;
}
@media(min-width:640px){.hero h1{font-size:3.75rem}}
@media(min-width:768px){.hero h1{font-size:4.375rem}}
@media(min-width:1024px){.hero h1{font-size:5.25rem}}
.hero h1 span{display:block;color:var(--green-400)}
.hero__p{margin-top:1.75rem;max-width:36rem;font-size:1.125rem;line-height:1.65;color:#e2e8f0}
@media(min-width:768px){.hero__p{font-size:1.25rem}}
.hero__actions{margin-top:2.25rem;display:flex;flex-wrap:wrap;gap:1rem}
.hero__actions .btn{padding:1rem 1.5rem;font-size:.875rem}
.hero__checks{margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid rgba(255,255,255,.15);display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.875rem;color:#e2e8f0}
.hero__checks span{display:flex;align-items:center;gap:.4rem}
.hero__checks svg{width:1rem;height:1rem;color:var(--green-400);flex-shrink:0}
.hero__floatcard{
  position:absolute;bottom:2rem;right:1.5rem;display:none;
  max-width:250px;border-radius:1rem;border:1px solid rgba(255,255,255,.15);
  background:rgba(12,41,74,.9);padding:1.25rem;
  box-shadow:0 20px 25px -5px rgba(0,0,0,.3);backdrop-filter:blur(12px);
}
@media(min-width:1024px){.hero__floatcard{display:block}}
.hero__floatcard .lbl{font-size:11px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--green-400)}
.hero__floatcard p{margin-top:.5rem;font-size:.8125rem;color:#cbd5e1;line-height:1.5}
.hero__floatcard hr{border:none;border-top:1px solid rgba(255,255,255,.12);margin:1rem 0}
.hero__floatcard .big{display:flex;align-items:baseline;gap:.5rem}
.hero__floatcard .big b{font-size:1.5rem;font-weight:600;color:#fff}
.hero__floatcard .big span{font-size:.75rem;color:#cbd5e1}

/* ============ MARQUEE ============ */
.marquee-strip{position:relative;z-index:10;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;background:#fff;padding:1.75rem 0}
@media(min-width:640px){.marquee-strip{padding:2.25rem 0}}
.marquee-strip p{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#94a3b8;text-align:center}
.marquee{margin-top:1.25rem;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}
.marquee__track{display:flex;gap:3rem;width:max-content;animation:marquee 25s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee__item{display:flex;align-items:center;gap:.5rem;color:#94a3b8;transition:color .3s;white-space:nowrap}
.marquee__item:hover{color:#334155}
.marquee__item svg{width:1.125rem;height:1.125rem;stroke-width:2.5;flex-shrink:0}
.marquee__item b{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

/* ============ SECTIONS ============ */
.section{overflow:hidden;background:var(--off-white);padding:5rem 0}
@media(min-width:768px){.section{padding:7rem 0}}
.section--white{background:#fff}
.eyebrow{display:block;margin-bottom:1rem;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green-700)}
.section__head{margin-bottom:3rem;display:grid;gap:2rem}
@media(min-width:1024px){.section__head{grid-template-columns:repeat(12,1fr);gap:3rem;align-items:end}}
.section__title-col{grid-column:span 12;min-width:0}
.section__text-col{min-width:0}
@media(min-width:1024px){.section__title-col{grid-column:span 7}}
.section__text-col{grid-column:span 12}
@media(min-width:1024px){.section__text-col{grid-column:span 4;grid-column-start:9}}
h2.big{font-size:2.25rem;font-weight:600;line-height:1.05;letter-spacing:-.045em;color:var(--navy-800);max-width:42rem}
@media(min-width:768px){h2.big{font-size:3rem}}
.section__text{font-size:1rem;line-height:1.65;color:#475569;max-width:28rem}

/* features */
.features-grid{margin-top:2rem;display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}
@media(min-width:768px){.features-grid{grid-template-columns:repeat(2,1fr)}}
.feature{min-width:0;border-radius:1rem;padding:2rem;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
@media(min-width:768px){.feature--dark{grid-column:span 2}}
.feature:hover{transform:translateY(-4px);box-shadow:0 25px 50px -12px rgba(0,0,0,.18)}
.feature--dark{background:var(--navy-800);border:1px solid #1e293b;color:#fff}
.feature--white{background:#fff;border:1px solid #e2e8f0;color:var(--ink)}
.feature__ico{width:3rem;height:3rem;border-radius:.75rem;display:grid;place-items:center;margin-bottom:1.25rem}
.feature__ico svg{width:1.5rem;height:1.5rem}
.feature--dark .feature__ico{background:rgba(168,211,65,.1);border:1px solid rgba(168,211,65,.2);color:var(--green-400)}
.feature--white .feature__ico--blue{background:var(--blue-050);color:var(--blue-700)}
.feature--white .feature__ico--orange{background:var(--orange-050);color:var(--orange-700)}
.feature h3{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.75rem}
.feature--white h3{color:var(--ink)}
.feature p{font-size:.9375rem;line-height:1.65}
.feature--dark p{color:#cbd5e1}
.feature--white p{color:#475569}

/* mini diagram in dark card */
.diagram{display:flex;align-items:center;gap:1rem;margin-top:2rem;flex-wrap:wrap}
.diagram__node{border-radius:.75rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);padding:.75rem 1.25rem;font-size:.6875rem;font-weight:700;letter-spacing:.12em;color:#e2e8f0}
.diagram__node--mid{border-color:rgba(168,211,65,.35);background:rgba(168,211,65,.12);color:var(--green-400);display:flex;align-items:center;gap:.5rem}
.diagram__spin{width:1rem;height:1rem;border:2px solid rgba(168,211,65,.3);border-top-color:var(--green-400);border-radius:50%;animation:spin 8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.diagram__arrow{color:rgba(255,255,255,.3);font-size:1.25rem}

/* 3D paper mock */
.mock3d{display:flex;gap:1.25rem;margin-top:2rem;perspective:800px}
.mock3d div{
  flex:1;border-radius:.75rem;padding:1.5rem 1rem;text-align:center;
  font-size:.625rem;font-weight:700;letter-spacing:.12em;
  transition:transform .5s var(--ease);
}
.mock3d div:hover{transform:rotateY(-12deg) translateZ(10px)}
.mock3d .m1{background:#fafaf9;border:1px solid #e5e7eb;color:#64748b}
.mock3d .m2{background:#fff;border:1px solid var(--blue-dummy,#b6d2f5);color:var(--blue-700)}
.mock3d .m3{background:var(--off-white);border:1px solid #e2e8f0;color:var(--navy-800)}
.idea-mock{margin-top:2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.idea-mock span{border-radius:.75rem;padding:.875rem 1.5rem;font-size:.6875rem;font-weight:700;letter-spacing:.12em}
.idea-mock .i{background:var(--orange-050);color:var(--orange-700)}
.idea-mock .a{color:#94a3b8;font-size:1.25rem}

.features-note{min-width:0;margin-top:1rem;display:flex;align-items:center;gap:.75rem;border-radius:1rem;background:var(--navy-800);padding:1.25rem 1.5rem;font-size:.875rem;color:#e2e8f0}
@media(min-width:768px){.features-note{padding:1.25rem 2rem}}
.features-note svg{width:1.25rem;height:1.25rem;color:var(--green-400);flex-shrink:0}
.features-note strong{color:#fff;font-weight:600}

/* ============ SERVICES ============ */
.svc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem}
.svc-link{font-size:.875rem;font-weight:700;color:var(--navy-800);display:inline-flex;align-items:center;gap:.4rem;transition:color .3s}
.svc-link:hover{color:var(--green-700)}
.svc-link svg{width:1rem;height:1rem;transition:transform .3s}
.svc-link:hover svg{transform:translateX(4px)}
.svc-grid{margin-top:3rem;display:grid;gap:1.5rem}
@media(min-width:768px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
.svc-card{
  position:relative;border-radius:1.5rem;overflow:hidden;background:#f8fafc;
  display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 25px 50px -12px rgba(0,0,0,.18)}
@media(min-width:768px){
  .svc-card--wide{grid-column:span 2;flex-direction:row;min-height:300px}
  .svc-card--tall{aspect-ratio:auto}
}
.svc-card__body{padding:2rem;display:flex;flex-direction:column;gap:.75rem;flex:1}
.svc-card--wide .svc-card__body{justify-content:center;padding:2.5rem}
.svc-badge{
  align-self:flex-start;border-radius:50px;padding:.375rem .875rem;
  background:rgba(103,146,15,.1);color:var(--green-700);
  font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.svc-card h3{font-size:1.5rem;font-weight:600;letter-spacing:-.03em;color:var(--navy-800)}
.svc-card p{font-size:.9375rem;line-height:1.65;color:#475569;flex:1}
.svc-card__link{font-size:.875rem;font-weight:700;color:var(--green-800);display:inline-flex;align-items:center;gap:.4rem}
.svc-card__link svg{width:1rem;height:1rem;transition:transform .3s}
.svc-card:hover .svc-card__link svg{transform:translateX(4px)}
.svc-card__media{position:relative;overflow:hidden;flex-shrink:0}
@media(min-width:768px){
  .svc-card--wide .svc-card__media{width:45%;order:2}
  .svc-card--tall .svc-card__media{height:190px}
}
.svc-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.svc-card:hover .svc-card__media img{transform:scale(1.07)}

/* ============ FAQ ============ */
.faq-sec{padding:8rem 0;position:relative}
.faq-grid{display:grid;gap:4rem}
@media(min-width:1024px){.faq-grid{grid-template-columns:repeat(12,1fr);gap:4rem}}
.faq-side{grid-column:span 12}
@media(min-width:1024px){.faq-side{grid-column:span 4;position:sticky;top:8rem;align-self:start}}
.faq-list{grid-column:span 12}
@media(min-width:1024px){.faq-list{grid-column:span 8}}
.faq-label{font-size:.875rem;font-weight:500;color:var(--green-700)}
.faq-side h2{margin-top:.75rem;font-size:2.25rem;font-weight:700;line-height:1.2;color:#111827;letter-spacing:-.03em}
@media(min-width:768px){.faq-side h2{font-size:3rem}}
.faq-side p{margin-top:1rem;font-size:1rem;color:#6b7280}
.faq-side .btn{margin-top:1.5rem;background:#111827;color:#fff;padding:.875rem 1.5rem;font-weight:600;border-radius:50px;font-size:.875rem}
.faq-side .btn:hover{background:#1f2937}
.faq-item{border-bottom:1px solid #e5e7eb}
.faq-item:last-child{border-bottom:none}
.faq-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.5rem 0;font-size:1rem;font-weight:500;color:#111827;text-align:left;
  transition:color .3s;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--green-700)}
.faq-item[open] summary{color:var(--green-700)}
.faq-item summary svg{width:1.25rem;height:1.25rem;flex-shrink:0;transition:transform .3s var(--ease)}
.faq-item[open] summary svg{transform:rotate(180deg)}
.faq-item__ans{padding-bottom:1.5rem;font-size:.9375rem;line-height:1.7;color:#4b5563;max-width:44rem}

/* ============ CTA FINAL ============ */
.cta-sec{background:var(--off-white);padding:5rem 0}
@media(min-width:768px){.cta-sec{padding:7rem 0}}
.cta-box{
  position:relative;overflow:hidden;border-radius:2rem;background:var(--green-500);
  padding:3.5rem 1.75rem;
}
@media(min-width:768px){.cta-box{padding:5rem 3.5rem}}
.cta-ring{position:absolute;right:-6rem;top:-7rem;width:24rem;height:24rem;border-radius:50%;border:56px solid rgba(255,255,255,.2)}
.cta-glow{position:absolute;bottom:0;left:33%;width:24rem;height:10rem;border-radius:50%;background:rgba(214,245,139,.6);filter:blur(90px)}
.cta-inner{position:relative;max-width:48rem}
.cta-box .eyebrow{color:var(--green-800,#31520c);color:#31520c}
.cta-box h2{font-size:2.25rem;font-weight:600;line-height:1.02;letter-spacing:-.05em;color:var(--navy-800)}
@media(min-width:768px){.cta-box h2{font-size:3.75rem}}
.cta-box p{margin-top:1rem;font-size:1.0625rem;color:#264315}
.cta-actions{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem}
.cta-actions .btn{padding:1rem 1.75rem}
.btn-navy{background:var(--navy-800);color:#fff}
.btn-navy:hover{background:var(--navy-500)}
.btn-ghost-dark{border:1px solid rgba(53,91,16,.25);color:#17320a}
.btn-ghost-dark:hover{background:rgba(255,255,255,.25)}

/* ============ FOOTER ============ */
.site-footer{position:relative;background:#fff;border-top:1px solid #f3f4f6}
.footer-grid{padding:4rem 0;display:grid;gap:3rem}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(12,1fr);gap:3rem}}
.f-brand{grid-column:span 12}
@media(min-width:1024px){.f-brand{grid-column:span 4}}
.f-nav{grid-column:span 12}
@media(min-width:1024px){.f-nav{grid-column:span 2}}
.f-branches{grid-column:span 12}
@media(min-width:1024px){.f-branches{grid-column:span 3}}
.f-contact{grid-column:span 12}
@media(min-width:1024px){.f-contact{grid-column:span 3}}
.f-brand img{height:3.125rem;width:auto;margin-bottom:1.5rem}
.f-brand p{font-size:.875rem;line-height:1.65;color:#4b5563;max-width:20rem}
.f-socials{display:flex;gap:.75rem;margin-top:1.5rem}
.f-socials a{width:2.25rem;height:2.25rem;border-radius:50%;background:#f3f4f6;color:#4b5563;display:grid;place-items:center;transition:all .3s}
.f-socials a:hover{background:#111827;color:#fff}
.f-socials svg{width:1.05rem;height:1.05rem}
.site-footer h3{font-size:.75rem;font-weight:600;color:#111827;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.25rem}
.f-nav ul{display:flex;flex-direction:column;gap:.75rem}
.f-nav a{font-size:.875rem;color:#4b5563;transition:color .3s}
.f-nav a:hover{color:#111827}
.f-branches > div + div{margin-top:1.25rem}
.f-branches .city{font-size:.875rem;font-weight:500;color:#111827}
.f-branches .row{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;color:#4b5563;margin-top:.5rem;line-height:1.5}
.f-branches .row svg{width:1rem;height:1rem;flex-shrink:0;margin-top:.15rem;color:#9ca3af}
.f-branches .row--time{font-size:.6875rem;color:#6b7280}
.f-contact .mail{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#4b5563;padding:.25rem 0}
.f-contact .mail svg{width:1rem;height:1rem;color:#9ca3af;flex-shrink:0}
.f-contact .mail:hover{color:var(--green-700)}
.f-quote{margin-top:1.5rem;padding:1rem;border-radius:1rem;background:#f9fafb}
.f-quote p{font-size:.875rem;color:#111827;font-weight:500}
.f-quote a{font-size:.8125rem;color:var(--green-700);font-weight:600;display:inline-flex;align-items:center;gap:.3rem;margin-top:.35rem}
.f-quote svg{width:.9rem;height:.9rem}
.footer-bottom{margin-top:4rem;padding-top:2rem;border-top:1px solid #f3f4f6;display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:space-between}
@media(min-width:768px){.footer-bottom{flex-direction:row}}
.footer-bottom p{font-size:.75rem;color:#6b7280}
.footer-bottom p:last-child{color:#9ca3af}

/* ============ FAB WHATSAPP ============ */
.fab{
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:50;
  display:flex;align-items:center;gap:.75rem;
  opacity:0;transform:translateY(1rem) scale(.9);transition:all .5s var(--ease);
}
.fab.show{opacity:1;transform:translateY(0) scale(1)}
.fab__label{display:none;padding:.5rem 1rem;background:#fff;font-size:.875rem;font-weight:500;color:#374151;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}
@media(min-width:768px){.fab__label{display:block}}
.fab__btn{position:relative;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);transition:all .3s}
.fab__btn:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.2);transform:scale(1.1)}
.fab__btn svg{width:1.75rem;height:1.75rem;color:#fff}

/* ============ REVEAL ANIMATIONS ============ */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-x{opacity:0;transform:translateX(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal-x.in{opacity:1;transform:translateX(0)}
.reveal-s{opacity:0;transform:scale(.97);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal-s.in{opacity:1;transform:scale(1)}
.d1{transition-delay:.1s}.d2{transition-delay:.12s}.d3{transition-delay:.2s}.d4{transition-delay:.24s}

/* ============ RESPONSIVE ============ */
@media(max-width:639px){
  .hero h1{font-size:2.5rem}
  .section__head > *{grid-column:auto}
  h2.big{font-size:1.9rem}
  .feature{padding:1.25rem}
  .diagram{gap:.5rem;margin-top:1.5rem}
  .diagram__node{padding:.625rem .75rem}
  .features-note{padding:1rem}
  .faq-side h2{font-size:1.9rem}
  .cta-box h2{font-size:1.9rem}
  .hero__actions .btn,.cta-actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}