:root{
  --ht-white:#ffffff;
  --ht-ice:#eef7ff;
  --ht-cyan:#60d8ff;
  --ht-blue:#0f80d5;
  --ht-blue-2:#0467c0;
  --ht-navy:#031b46;
  --ht-navy-2:#05102f;
  --ht-ink:#06162e;
  --ht-gold:#d7b464;
  --ht-muted:rgba(231,244,255,.78);
  --ht-muted-dark:rgba(19,43,77,.74);
  --ht-border:rgba(163,213,255,.24);
  --ht-glass:rgba(7,29,69,.54);
  --ht-container:1180px;
  --ht-ease:cubic-bezier(.2,.8,.2,1);
  --ht-ease-soft:cubic-bezier(.16,1,.3,1);
}

@property --br-cta-angle{
  syntax:"<angle>";
  initial-value:0deg;
  inherits:true;
}

@property --br-cta-glow{
  syntax:"<color>";
  initial-value:#dff6ff;
  inherits:true;
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  scrollbar-width:thin;
  scrollbar-color:var(--ht-cyan) var(--ht-navy-2);
}

body{
  margin:0;
  min-width:320px;
  color:var(--ht-ice);
  background:
    radial-gradient(circle at var(--mouse-x, 10%) var(--mouse-y, 8%),rgba(62,188,255,.16),transparent 26rem),
    radial-gradient(circle at 87% 12%,rgba(19,124,216,.26),transparent 34rem),
    linear-gradient(180deg,#061944 0%,#041332 38%,#071b43 68%,#031126 100%);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  overflow-x:hidden;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}

body::-webkit-scrollbar{width:10px}
body::-webkit-scrollbar-track{background:var(--ht-navy-2)}
body::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,var(--ht-cyan),#0b8ee8);
  border-radius:999px;
  border:2px solid var(--ht-navy-2);
}
body::-webkit-scrollbar-thumb:hover{background:#9decff}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(115deg,rgba(255,255,255,.04) 0 1px,transparent 1px 36px),
    radial-gradient(circle at 12% 18%,rgba(93,188,255,.13),transparent 30rem),
    radial-gradient(circle at 88% 82%,rgba(23,107,190,.18),transparent 34rem);
  opacity:.6;
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.72) 52%,#000 100%);
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit}

.site-container,
.ap-s02-container,
.fp-about-container,
.fp-contact-container{
  width:min(var(--ht-container),calc(100% - 48px));
  margin-inline:auto;
}

.section-kicker,
.ap-s02-kicker,
.fp-about-eyebrow,
.fp-contact-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#a5e8ff;
  text-transform:uppercase;
  letter-spacing:.24em;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
}

.section-kicker::before,
.ap-s02-kicker::before,
.fp-about-eyebrow::after,
.fp-contact-eyebrow::after{
  content:"";
  display:inline-block;
  width:74px;
  height:1px;
  background:linear-gradient(90deg,var(--ht-cyan),rgba(255,255,255,0));
}

.site-header{
  position:fixed;
  top:14px;
  left:0;
  right:0;
  z-index:80;
  pointer-events:none;
  transition:transform .34s var(--ht-ease),filter .34s var(--ht-ease);
}

.site-header__shell{
  pointer-events:auto;
  width:min(1180px,calc(100% - 32px));
  margin-inline:auto;
  min-height:82px;
  padding:10px 16px 10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-radius:999px;
  border:1px solid rgba(205,235,255,.28);
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.07));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -1px 0 rgba(255,255,255,.05),
    0 24px 70px rgba(1,13,35,.34);
  backdrop-filter:blur(22px) saturate(1.2);
  -webkit-backdrop-filter:blur(22px) saturate(1.2);
}

.site-header.is-scrolled .site-header__shell{
  background:linear-gradient(180deg,rgba(2,20,55,.82),rgba(2,14,36,.68));
  border-color:rgba(148,212,255,.26);
}

.brand{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  border-radius:999px;
  outline-offset:5px;
}

.brand-logo{
  width:126px;
  height:auto;
  max-height:68px;
  object-fit:contain;
  filter:drop-shadow(0 10px 22px rgba(0,50,120,.18));
}

.site-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
}

.site-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  color:rgba(236,248,255,.84);
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
  transition:color .28s var(--ht-ease),background .28s var(--ht-ease),box-shadow .28s var(--ht-ease),transform .28s var(--ht-ease);
}

.site-nav a:hover,
.site-nav a:focus-visible{
  color:#fff;
  background:rgba(96,216,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 26px rgba(0,77,160,.16);
  outline:none;
  transform:translateY(-1px);
}

.menu-toggle{
  width:46px;
  height:46px;
  border:1px solid rgba(188,230,255,.24);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  transition:background .25s var(--ht-ease),transform .25s var(--ht-ease),border-color .25s var(--ht-ease);
}

.menu-toggle span{
  width:18px;
  height:2px;
  border-radius:999px;
  background:#fff;
  transition:transform .32s var(--ht-ease),opacity .22s var(--ht-ease);
}

.menu-toggle:hover,
.menu-toggle:focus-visible{
  background:rgba(96,216,255,.16);
  border-color:rgba(209,244,255,.42);
  transform:translateY(-1px);
  outline:none;
}

body.menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .menu-toggle span:nth-child(2){opacity:0}
body.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.hero-section{
  position:relative;
  min-height:100svh;
  display:grid;
  align-items:center;
  padding:154px 0 102px;
  overflow:hidden;
  isolation:isolate;
}

.hero-bg{
  position:absolute;
  inset:-22px;
  z-index:-4;
  background-image:url('../images/bg-hero.webp');
  background-size:cover;
  background-position:center;
  filter:blur(2px) saturate(1.13) contrast(1.06) brightness(1.08);
  transform:scale(1.018);
}

.hero-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(90deg,rgba(2,13,38,.56) 0%,rgba(3,24,64,.46) 36%,rgba(4,54,111,.14) 70%,rgba(4,32,75,.24) 100%),
    radial-gradient(circle at 22% 25%,rgba(46,180,255,.10),transparent 34rem),
    linear-gradient(180deg,rgba(5,22,55,.06) 0%,rgba(6,25,68,.58) 100%);
}

.hero-section::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:210px;
  z-index:-2;
  background:linear-gradient(180deg,rgba(6,25,68,0),rgba(6,25,68,.68) 74%,#061944 100%);
}

.hero-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(24px);
  pointer-events:none;
  z-index:-1;
}

.hero-orb--one{
  width:420px;
  height:420px;
  left:-140px;
  top:16%;
  background:radial-gradient(circle,rgba(74,204,255,.28),transparent 66%);
}

.hero-orb--two{
  width:500px;
  height:500px;
  right:-160px;
  bottom:2%;
  background:radial-gradient(circle,rgba(19,102,201,.28),transparent 70%);
}

.hero-grid-lines{
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.22;
  background:
    linear-gradient(115deg,rgba(255,255,255,.18) 0 1px,transparent 1px 34px),
    linear-gradient(205deg,rgba(126,216,255,.12) 0 1px,transparent 1px 42px);
  mask-image:radial-gradient(circle at 78% 20%,#000 0%,transparent 48%);
}

.hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.58fr);
  align-items:center;
  gap:clamp(34px,5vw,74px);
}

.hero-copy{
  position:relative;
  max-width:760px;
  padding:clamp(26px,4vw,42px);
  border-radius:34px;
  background:linear-gradient(145deg,rgba(4,25,67,.52),rgba(4,14,37,.31));
  border:1px solid rgba(181,228,255,.23);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(255,255,255,.05),
    0 34px 90px rgba(0,10,30,.28);
  backdrop-filter:blur(18px) saturate(1.15);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
  overflow:hidden;
}

.hero-copy::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(96,216,255,.34),rgba(255,255,255,.06));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}

.hero-copy h1{
  position:relative;
  margin:18px 0 20px;
  max-width:710px;
  color:#fff;
  font-size:clamp(29px,4.69vw,62px);
  line-height:.98;
  letter-spacing:-.065em;
  text-wrap:balance;
  text-shadow:0 14px 46px rgba(0,0,0,.3);
}

.hero-copy p{
  position:relative;
  margin:0;
  max-width:650px;
  color:rgba(232,247,255,.86);
  font-size:clamp(16px,1.35vw,19px);
  line-height:1.72;
}

.hero-actions{
  position:relative;
  margin-top:30px;
  display:flex;
  align-items:center;
  gap:16px;
}

.hero-card{
  position:relative;
  padding:26px;
  border-radius:34px;
  background:linear-gradient(155deg,rgba(255,255,255,.2),rgba(255,255,255,.08));
  border:1px solid rgba(212,239,255,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    0 30px 90px rgba(0,18,46,.32);
  backdrop-filter:blur(24px) saturate(1.18);
  -webkit-backdrop-filter:blur(24px) saturate(1.18);
  overflow:hidden;
}

.hero-card::before{
  content:"";
  position:absolute;
  right:-34%;
  top:-22%;
  width:330px;
  height:330px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(96,216,255,.35),transparent 66%);
  filter:blur(10px);
}

.hero-card__logo{
  position:relative;
  z-index:1;
  width:min(100%,260px);
  margin:0 auto 22px;
  border-radius:26px;
  box-shadow:0 20px 56px rgba(0,38,100,.22);
}

.hero-card__metrics{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.hero-card__metrics div{
  padding:14px 16px;
  border-radius:20px;
  background:rgba(2,18,50,.36);
  border:1px solid rgba(204,237,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}

.hero-card__metrics strong{
  display:block;
  font-size:18px;
  line-height:1;
  color:#fff;
  letter-spacing:-.02em;
}

.hero-card__metrics span{
  display:block;
  margin-top:6px;
  color:rgba(230,247,255,.72);
  font-size:13px;
  font-weight:700;
}

.hero-card p{
  position:relative;
  z-index:1;
  margin:18px 0 0;
  color:rgba(232,247,255,.8);
  line-height:1.62;
  font-size:14px;
}


/* ===== INÍCIO DA SEÇÃO 02 ENVIADA — STICKY RESTAURADO ===== */

:root{
  --ap-s02-pink:#60d8ff;
  --ap-s02-pink-2:#9deaff;
  --ap-s02-pink-3:#dff6ff;
  --ap-s02-wine:#031b46;
  --ap-s02-wine-2:#0467c0;
  --ap-s02-deep:#05102f;
  --ap-s02-deep-2:#03091d;
  --ap-s02-cream:#eef7ff;
  --ap-s02-text:#eaf8ff;
  --ap-s02-muted:rgba(231,244,255,.82);
  --ap-s02-container:1180px;
}
.ap-s02-container{
      width:min(var(--ap-s02-container),calc(100% - 40px));
      margin-inline:auto;
    }

    .ap-s02-section{
      position:relative;
      min-height:100vh;
      padding:110px 0;
      background:transparent;
    }

    .ap-s02-layout{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:340px 1fr;
      gap:34px;
      align-items:start;
    }

    .ap-s02-heading{max-width:760px}

    .ap-s02-kicker{
      display:inline-flex;
      align-items:center;
      gap:10px;
      font-size:13px;
      letter-spacing:.1em;
      text-transform:uppercase;
      font-weight:900;
      color:var(--ap-s02-pink-3);
    }

    .ap-s02-kicker::before{
      content:"";
      display:inline-block;
      width:38px;
      height:2px;
      border-radius:20px;
      background:linear-gradient(90deg,var(--ap-s02-pink),var(--ap-s02-pink-3));
    }

    .ap-s02-heading h2{
      margin:16px 0 18px;
      font-size:clamp(28px,3.35vw,46px);
      line-height:1.02;
      letter-spacing:-.05em;
      color:#f7fbff;
    }

    .ap-s02-heading p{
      color:var(--ap-s02-muted);
      font-size:17px;
      line-height:1.68;
      margin:0 0 22px;
    }

    .ap-s02-sticky{
      position:sticky;
      top:124px;
    }

    .ap-s02-notes{
      margin:0 0 22px;
      padding:18px 18px 18px 20px;
      border-radius:22px;
      background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.04));
      border:1px solid rgba(255,255,255,.22);
      box-shadow:0 18px 40px rgba(0,18,52,.20), inset 0 1px 0 rgba(255,255,255,.12);
      backdrop-filter:blur(10px);
      -webkit-backdrop-filter:blur(10px);
    }

    .ap-s02-notes h3{
      margin:0 0 12px;
      font-size:15px;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:#f7fbff;
    }

    .ap-s02-notes ul{
      margin:0;
      padding-left:18px;
      color:var(--ap-s02-muted);
      display:grid;
      gap:8px;
      font-size:14.5px;
      line-height:1.45;
    }

    .ap-s02-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:56px;
      padding:0 26px;
      border-radius:999px;
      text-decoration:none;
      font-weight:900;
      letter-spacing:.01em;
      line-height:1;
      color:#ffffff;
      white-space:nowrap;
      background:linear-gradient(135deg,#ffffff 0%, #dff6ff 52%, #60d8ff 100%);
      box-shadow:0 22px 48px rgba(0,36,92,.34), inset 0 1px 0 rgba(255,255,255,.5);
      transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
    }

    .ap-s02-btn:hover,
    .ap-s02-btn:focus-visible{
      transform:translateY(-2px);
      outline:none;
      box-shadow:0 28px 60px rgba(0,52,118,.38), inset 0 1px 0 rgba(255,255,255,.56);
      filter:saturate(1.05);
    }

    .ap-s02-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:16px;
    }

    .ap-s02-card{
      position:relative;
      min-height:188px;
      padding:24px;
      border-radius:26px;
      background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.05));
      border:1px solid rgba(255,255,255,.20);
      box-shadow:0 18px 45px rgba(0,18,52,.24), inset 0 1px 0 rgba(255,255,255,.12);
      overflow:hidden;
      transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
      backdrop-filter:blur(10px);
      -webkit-backdrop-filter:blur(10px);
    }

    .ap-s02-card::before{
      content:"";
      position:absolute;
      inset:-1px;
      border-radius:inherit;
      padding:1px;
      background:linear-gradient(135deg,rgba(255,255,255,.46),rgba(255,255,255,.08),rgba(255,255,255,.18));
      -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
      -webkit-mask-composite:xor;
      mask-composite:exclude;
      opacity:.8;
      pointer-events:none;
    }

    .ap-s02-card::after{
      content:"";
      position:absolute;
      right:-58px;
      bottom:-70px;
      width:160px;
      height:160px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(255,255,255,.22),transparent 66%);
      transition:transform .35s ease, opacity .35s ease;
    }

    .ap-s02-card:hover{
      transform:translateY(-6px);
      box-shadow:0 30px 75px rgba(0,18,52,.34);
      border-color:rgba(255,255,255,.38);
      background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08));
    }

    .ap-s02-card:hover::after{
      transform:scale(1.25);
      opacity:1;
    }

    .ap-s02-card span{
      display:inline-flex;
      width:42px;
      height:42px;
      border-radius:15px;
      align-items:center;
      justify-content:center;
      background:rgba(255,255,255,.14);
      color:#f7fbff;
      font-weight:900;
      font-size:13px;
      margin-bottom:18px;
      box-shadow:0 8px 18px rgba(0,36,92,.24);
      border:1px solid rgba(255,255,255,.24);
    }

    .ap-s02-card h3{
      font-size:20px;
      line-height:1.13;
      letter-spacing:-.03em;
      color:#f7fbff;
      margin:0 0 12px;
    }

    .ap-s02-card p{
      font-size:15.5px;
      line-height:1.55;
      color:rgba(234,248,255,.84);
      margin:0;
    }

    .ap-s02-reveal{
      opacity:0;
      transform:translateY(32px);
      transition:opacity .8s ease, transform .8s cubic-bezier(.2,.75,.22,1);
    }

    .ap-s02-reveal.ap-s02-visible{
      opacity:1;
      transform:translateY(0);
    }

    

.ap-s02-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(115deg,rgba(255,255,255,.06) 0 1px,transparent 1px 42px),
    radial-gradient(circle at 45% 16%,rgba(255,255,255,.08),transparent 28rem),
    radial-gradient(circle at 12% 8%,rgba(96,216,255,.13),transparent 30rem),
    radial-gradient(circle at 90% 14%,rgba(15,128,213,.14),transparent 34rem);
  opacity:.72;
  mask-image:linear-gradient(180deg,transparent 0%,#000 16%,#000 84%,transparent 100%);
}

.ap-s02-card img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:20px;
  margin:0 0 18px;
  position:relative;
  z-index:1;
  box-shadow:0 18px 34px rgba(0,19,55,.22), inset 0 1px 0 rgba(255,255,255,.12);
}

.ap-s02-card h3,
.ap-s02-card p,
.ap-s02-card span{position:relative;z-index:1}

.services-final-cta{
  width:min(var(--ap-s02-container),calc(100% - 40px));
  margin:38px auto 0;
  display:flex;
  justify-content:center;
}

/* ===== FIM DA SEÇÃO 02 ENVIADA — STICKY RESTAURADO ===== */
.fp-about-section{
  position:relative;
  overflow:hidden;
  min-height:780px;
  padding:112px 0 102px;
  background:
    radial-gradient(circle at 80% 10%,rgba(96,216,255,.12),transparent 30rem),
    linear-gradient(180deg,#061a43 0%,#061535 52%,#05112a 100%);
  isolation:isolate;
}

.fp-about-section::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-1px;
  height:170px;
  background:linear-gradient(180deg,#061a43 0%,rgba(6,26,67,.86) 24%,rgba(6,26,67,.4) 65%,rgba(6,26,67,0) 100%);
  z-index:2;
  pointer-events:none;
}

.fp-about-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 25% 30%,rgba(82,191,255,.16),transparent 28rem),
    linear-gradient(115deg,rgba(255,255,255,.04) 0 1px,transparent 1px 44px),
    linear-gradient(90deg,#05112a 0%,#062154 50%,#05112a 100%);
  opacity:1;
}

.fp-about-inner{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(560px,1.08fr) minmax(420px,.92fr);
  gap:clamp(24px,4vw,54px);
  align-items:center;
}

.fp-about-portrait{
  position:relative;
  min-height:540px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}

.fp-about-portrait::before{
  content:"";
  position:absolute;
  width:116%;
  height:86%;
  border-radius:50%;
  background:radial-gradient(circle at 42% 44%,rgba(96,216,255,.18),rgba(15,128,213,.08) 42%,rgba(0,0,0,0) 72%);
  filter:blur(34px);
  opacity:.86;
  pointer-events:none;
}

.about-logo-card{
  position:relative;
  width:min(642px,100%);
  padding:18px;
  border-radius:38px;
  background:linear-gradient(145deg,rgba(255,255,255,.25),rgba(255,255,255,.08));
  border:1px solid rgba(219,244,255,.32);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.44),
    0 30px 80px rgba(0,20,58,.36),
    0 0 48px rgba(96,216,255,.12);
  backdrop-filter:blur(20px) saturate(1.12);
  -webkit-backdrop-filter:blur(20px) saturate(1.12);
}

.fp-about-image-real{
  width:100%;
  height:auto;
  border-radius:28px;
  box-shadow:0 18px 42px rgba(0,20,58,.2);
}

.fp-about-copy{
  position:relative;
  padding:36px 0 30px;
  max-width:680px;
  color:rgba(250,252,253,.9);
  text-shadow:0 1px 8px rgba(0,0,0,.22);
}

.fp-about-copy h2{
  font-size:clamp(30px,4vw,55px);
  line-height:1.02;
  margin:14px 0 20px;
  letter-spacing:-.052em;
  color:#fff;
  text-wrap:balance;
}

.fp-about-copy .fp-about-lead{
  font-weight:700;
  color:#fff;
  margin-bottom:12px;
}

.fp-about-copy p{
  font-size:16.5px;
  line-height:1.7;
  margin:0 0 12px;
  color:rgba(232,247,255,.82);
}

.fp-about-check-list{
  list-style:none;
  padding:0;
  margin:24px 0 28px;
  display:grid;
  gap:12px;
}

.fp-about-check-list li{
  position:relative;
  padding-left:28px;
  color:rgba(232,247,255,.84);
  font-size:15.5px;
  line-height:1.5;
}

.fp-about-check-list li::before{
  content:"✔";
  position:absolute;
  left:0;
  top:0;
  color:var(--ht-cyan);
  font-weight:900;
  text-shadow:0 0 12px rgba(96,216,255,.5);
}

.fp-about-bottom-fade{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:150px;
  background:linear-gradient(180deg,rgba(5,17,42,0),#05112a 84%);
  z-index:2;
  pointer-events:none;
}

.fp-about-reveal-delay{transition-delay:.12s}

.fp-contact-section{
  position:relative;
  overflow:hidden;
  padding:116px 0 92px;
  background:
    radial-gradient(circle at 15% 12%,rgba(96,216,255,.16),rgba(96,216,255,.06) 28%,rgba(255,255,255,0) 52%),
    radial-gradient(circle at 90% 34%,rgba(15,128,213,.13),rgba(10,43,64,.06) 28%,rgba(255,255,255,0) 52%),
    linear-gradient(180deg,#05112a 0%,#06183b 54%,#031126 100%);
  color:var(--ht-white);
}

.fp-contact-shell{
  position:relative;
  z-index:2;
  border:1px solid rgba(202,236,255,.16);
  border-radius:32px;
  padding:42px;
  background:linear-gradient(135deg,rgba(8,37,86,.74),rgba(3,13,34,.88));
  box-shadow:0 34px 90px rgba(0,8,28,.42),inset 0 1px 0 rgba(255,255,255,.18);
  overflow:hidden;
  backdrop-filter:blur(22px) saturate(1.15);
  -webkit-backdrop-filter:blur(22px) saturate(1.15);
}

.fp-contact-shell::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:
    radial-gradient(circle at 18% 0,rgba(96,216,255,.24),rgba(96,216,255,.1) 28%,rgba(255,255,255,0) 62%),
    radial-gradient(circle at 92% 30%,rgba(15,128,213,.12),rgba(10,43,64,.06) 28%,rgba(255,255,255,0) 48%);
  pointer-events:none;
}

.fp-contact-watermark-logo{
  position:absolute;
  right:42px;
  top:38px;
  width:clamp(92px,10vw,150px);
  height:auto;
  opacity:.26;
  filter:drop-shadow(0 0 26px rgba(96,216,255,.18));
  z-index:1;
  pointer-events:none;
  border-radius:18px;
}

.fp-contact-heading,
.fp-contact-grid,
.fp-contact-main-cta{position:relative;z-index:2}

.fp-contact-heading{
  max-width:710px;
  margin-bottom:32px;
}

.fp-contact-heading h2{
  color:#fff;
  font-size:clamp(30px,4.1vw,56px);
  line-height:1.02;
  letter-spacing:-.045em;
  margin:14px 0 16px;
}

.fp-contact-heading p{
  color:rgba(232,247,255,.78);
  font-size:17px;
  line-height:1.68;
  margin:0;
}

.fp-contact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-bottom:34px;
}

.fp-contact-card{
  min-height:190px;
  padding:24px;
  border-radius:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.05));
  border:1px solid rgba(200,235,255,.15);
  box-shadow:0 18px 48px rgba(0,10,30,.26),inset 0 1px 0 rgba(255,255,255,.11);
  transition:transform .28s var(--ht-ease),box-shadow .28s var(--ht-ease),border-color .28s var(--ht-ease),background .28s var(--ht-ease);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:16px;
}

.fp-contact-card:hover,
.fp-contact-card:focus-visible{
  transform:translateY(-5px);
  border-color:rgba(180,231,255,.38);
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.07));
  box-shadow:0 28px 70px rgba(0,10,30,.36);
  outline:none;
}

.fp-contact-icon{
  width:48px;
  height:48px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(96,216,255,.12);
  color:var(--ht-cyan);
  border:1px solid rgba(188,230,255,.18);
  box-shadow:0 10px 24px rgba(0,26,70,.22);
}

.fp-contact-icon svg{width:29px;height:29px;fill:currentColor}
.fp-contact-card strong{font-size:22px;line-height:1;color:#fff;letter-spacing:-.03em}
.fp-contact-card em{font-style:normal;color:rgba(232,247,255,.74);font-size:15px;line-height:1.45;word-break:break-word}

.fp-contact-main-cta{
  display:flex;
  justify-content:center;
}

.footer{
  position:relative;
  padding:18px 0 50px;
  color:rgba(216,235,248,.72);
  background:#031126;
}

.footer-shell{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.05));
  border:1px solid rgba(204,237,255,.15);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(255,255,255,.06),0 24px 60px rgba(0,12,32,.22);
  backdrop-filter:blur(22px) saturate(1.15);
  -webkit-backdrop-filter:blur(22px) saturate(1.15);
  position:relative;
  overflow:hidden;
}

.footer-shell::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg,rgba(255,255,255,.6),rgba(96,216,255,.24),rgba(255,255,255,.06));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}

.footer small{
  font-size:13px;
  position:relative;
  z-index:1;
}

.footer a{
  color:var(--ht-gold);
  text-decoration:none;
  font-weight:800;
}

.footer a:hover{color:var(--ht-gold)}

.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  width:57.6px;
  height:57.6px;
  border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#66f59a 0%,#3edd74 34%,#25d366 66%,#17b652 100%);
  border:2px solid rgba(255,255,255,0.16);
  color:#ffffff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:inset 0 2px 5px rgba(255,255,255,0.22),inset 0 -3px 7px rgba(0,0,0,0.14),0 18px 36px rgba(0,0,0,0.28),0 0 0 5px rgba(37,211,102,0.18);
  transition:transform .24s var(--ht-ease),box-shadow .24s var(--ht-ease),filter .24s var(--ht-ease);
  z-index:61;
}

.whatsapp-float:hover,
.whatsapp-float:focus-visible{
  transform:translateY(-2px) scale(1.03);
  box-shadow:inset 0 2px 5px rgba(255,255,255,0.24),inset 0 -3px 7px rgba(0,0,0,0.14),0 22px 42px rgba(0,0,0,0.32),0 0 0 6px rgba(37,211,102,0.22);
  filter:saturate(1.06);
  outline:none;
}

.whatsapp-float svg{width:46px;height:46px;display:block;fill:currentColor}

@media (max-width:1100px){
  .hero-layout{grid-template-columns:1fr}
  .hero-card{max-width:480px}
  .ap-s02-layout{grid-template-columns:1fr}
  .ap-s02-sticky{position:relative;top:auto}
  .fp-about-inner{grid-template-columns:1fr}
  .fp-about-portrait{min-height:auto}
  .about-logo-card{margin-inline:auto}
}

@media (max-width:760px){
  .site-container,
  .ap-s02-container,
  .fp-about-container,
  .fp-contact-container{width:min(100% - 32px,var(--ht-container))}

  .site-header{top:10px}
  .site-header__shell{min-height:76px;border-radius:32px;padding:9px 12px}
  .brand-logo{width:73px;max-height:73px}
  .menu-toggle{display:inline-flex}

  .site-nav{
    position:absolute;
    left:12px;
    right:12px;
    top:calc(100% + 10px);
    display:grid;
    gap:6px;
    padding:12px;
    border-radius:26px;
    background:linear-gradient(180deg,rgba(3,24,62,.94),rgba(3,13,34,.92));
    border:1px solid rgba(204,237,255,.18);
    box-shadow:0 24px 64px rgba(0,10,30,.34),inset 0 1px 0 rgba(255,255,255,.16);
    backdrop-filter:blur(18px) saturate(1.14);
    -webkit-backdrop-filter:blur(18px) saturate(1.14);
    opacity:0;
    transform:translateY(-8px) scale(.98);
    pointer-events:none;
    transition:opacity .28s var(--ht-ease),transform .28s var(--ht-ease);
  }

  body.menu-open .site-nav{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
  .site-nav a{justify-content:flex-start;width:100%;min-height:46px;padding-inline:18px}

  .hero-section{min-height:auto;padding:132px 0 78px}
  .hero-copy{padding:25px 20px;border-radius:28px}
  .hero-copy h1{font-size:clamp(27px,8.4vw,41px);letter-spacing:-.055em}
  .hero-actions{justify-content:center}
  .hero-card{padding:18px;border-radius:28px}
  .hero-card__logo{width:min(100%,220px)}

  .br-cta-btn{width:fit-content;max-width:calc(100% - 24px);min-width:0;padding:2px;margin-inline:auto}
  .br-cta-btn::before,
  .br-cta-btn::after{inset:0;width:100%;height:100%}
  .br-cta-btn::before{filter:blur(10px);opacity:.78}
  .br-cta-btn-inner{width:auto;min-width:0;max-width:100%;min-height:52px;padding-inline:24px}

  .ap-s02-section{padding:82px 0 84px}
  .ap-s02-heading h2{font-size:clamp(30px,8.4vw,40px)}
  .ap-s02-grid{grid-template-columns:1fr;gap:15px}
  .ap-s02-card{padding:10px 10px 20px;border-radius:24px}
  .ap-s02-card img{border-radius:18px}
  .ap-s02-card p{margin-inline:8px}
  .services-final-cta{width:min(100% - 32px,var(--ht-container));margin-top:34px}

  .fp-about-section{min-height:auto;padding:72px 0 84px}
  .fp-about-copy{padding:6px 0}
  .fp-about-copy h2{font-size:clamp(32px,9vw,42px)}
  .about-logo-card{padding:12px;border-radius:28px}
  .fp-about-image-real{border-radius:20px}
  .fp-about-eyebrow{letter-spacing:.19em}
  .fp-about-eyebrow::after{width:52px}

  .fp-contact-section{padding:82px 0 72px}
  .fp-contact-shell{border-radius:26px;padding:28px 20px}
  .fp-contact-watermark-logo{right:22px;top:22px;width:82px;opacity:.2}
  .fp-contact-heading h2{font-size:36px}
  .fp-contact-grid{grid-template-columns:1fr}

  .footer-shell{border-radius:28px;justify-content:center;text-align:center}
}

@media (max-width:420px){
  .hero-copy{padding-inline:18px}
  .br-cta-btn-inner{padding-inline:18px;font-size:13px}
  .section-kicker,
  .ap-s02-kicker,
  .fp-about-eyebrow,
  .fp-contact-eyebrow{font-size:11px;letter-spacing:.17em}
  .section-kicker::before,
  .ap-s02-kicker::before{width:42px}
  .fp-contact-card strong{font-size:20px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .ap-s02-reveal,
  .hero-reveal,
  .fp-about-reveal,
  .fp-contact-reveal{opacity:1;transform:none}
}
