/* ═══════════════ TOKENS ═══════════════ */
:root{
  --bg:       #02081C;
  --bg2:      #050E28;
  --bg3:      #081438;
  --w:        #FFFFFF;
  --w2:       #263357;
  --w70:      rgba(255,255,255,.70);
  --w40:      rgba(255,255,255,.40);
  --w15:      rgba(255,255,255,.15);
  --w06:      rgba(255,255,255,.06);
  --w03:      rgba(255,255,255,.03);
  --gold:     #1F69FF;
  --gold2:    #5CA1FF;
  --gold3:    #002BA1;
  --gd:       rgba(31,105,255,.22);
  --gg:       rgba(31,105,255,.07);
  --line:     rgba(255,255,255,.09);
  --serif:    'Cormorant Garamond',Georgia,serif;
  --sans:     'Inter',system-ui,sans-serif;
  --e1:       cubic-bezier(.16,1,.3,1);
  --e2:       cubic-bezier(.87,0,.13,1);
  --pad:      clamp(1.5rem,5vw,6rem);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px}
body{background:var(--bg);color:var(--w);font-family:var(--sans);font-size:15px;line-height:1.65;overflow-x:hidden;cursor:none}
a{color:inherit;text-decoration:none}
button,select{font-family:inherit;border:none;background:none;cursor:none}
img{display:block;max-width:100%}
ul{list-style:none}
::selection{background:var(--gd);color:var(--gold2)}
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--gd)}

/* ═══════════════ UTILITY ═══════════════ */
.wrap{max-width:1440px;margin:0 auto;padding:0 var(--pad)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* ═══════════════ PRELOADER ═══════════════ */
#preloader{
  position:fixed;inset:0;z-index:99999;
  background:var(--bg);
  display:grid;place-items:center;
}
.pre-inner{display:flex;flex-direction:column;align-items:center;gap:2.5rem}
.pre-logo{
  font-family:var(--serif);font-size:clamp(2rem,5vw,3.5rem);
  font-weight:500;letter-spacing:.08em;
  opacity:0;transform:translateY(10px);
}
.pre-logo em{color:var(--gold);font-style:normal}
.pre-track{width:clamp(180px,35vw,340px);height:1px;background:var(--line);position:relative;overflow:hidden}
.pre-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,transparent,var(--gold),var(--gold2));width:0}
.pre-num{
  font-family:var(--serif);font-size:clamp(4.5rem,12vw,8rem);
  font-weight:300;line-height:1;letter-spacing:-.03em;
  color:var(--w);min-width:4ch;text-align:center;
}
.pre-num em{color:var(--gold);font-style:normal;font-size:.4em;vertical-align:super}

/* ═══════════════ CURSOR ═══════════════ */
#cdot{
  position:fixed;width:6px;height:6px;background:var(--gold);
  border-radius:50%;pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);mix-blend-mode:screen;
  transition:width .2s var(--e1),height .2s var(--e1),background .2s;
}
#cring{
  position:fixed;width:36px;height:36px;
  border:1px solid rgba(31,105,255,.45);border-radius:50%;
  pointer-events:none;z-index:9998;transform:translate(-50%,-50%);
  transition:width .5s var(--e1),height .5s var(--e1),border-color .3s;
}
body.ch #cdot{width:9px;height:9px;background:var(--w)}
body.ch #cring{width:52px;height:52px;border-color:rgba(255,255,255,.4)}
body.cx #cdot{width:5px;height:5px}
body.cx #cring{width:78px;height:78px;border-color:var(--gold)}

/* ═══════════════ GRAIN ═══════════════ */
#grain{
  position:fixed;inset:0;pointer-events:none;z-index:9997;opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23g)'/%3E%3C/svg%3E");
}

/* ═══════════════ NAV ═══════════════ */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:1.6rem var(--pad);
  display:flex;align-items:center;justify-content:space-between;
  transition:background .6s var(--e1),backdrop-filter .6s;
}
#nav.solid{
  background:rgba(2,8,28,.9);backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line);
}
.nl{font-family:var(--serif);font-size:1.3rem;font-weight:500;letter-spacing:.06em}
.nl em{color:var(--gold);font-style:normal}
.nls{display:flex;gap:2.5rem}
.nls a{
  font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--w40);position:relative;transition:color .3s;
}
.nls a::after{
  content:'';position:absolute;bottom:-3px;left:0;
  width:0;height:1px;background:var(--gold);transition:width .4s var(--e1);
}
.nls a:hover{color:var(--w)}
.nls a:hover::after{width:100%}
.nbtn{
  font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);border:1px solid var(--gd);
  padding:.6rem 1.3rem;border-radius:2px;
  transition:background .3s;
}
.nbtn:hover{background:var(--gg)}
.ham{display:none;flex-direction:column;gap:5px}
.ham span{width:22px;height:1px;background:var(--w);display:block;transition:.3s}

/* ═══════════════ MOBILE MENU ═══════════════ */
#mob{
  display:none;position:fixed;inset:0;background:var(--bg);
  z-index:998;flex-direction:column;align-items:center;justify-content:center;gap:1.8rem;
}
#mob.open{display:flex}
#mob-x{position:absolute;top:1.8rem;right:var(--pad);font-size:22px;color:var(--w40)}
#mob a{
  font-family:var(--serif);font-size:clamp(2.5rem,8vw,4rem);
  font-weight:400;color:var(--w);transition:color .3s;
}
#mob a:hover{color:var(--gold)}

/* ═══════════════ 01 HERO ═══════════════ */
#hero{
  position:relative;height:100svh;min-height:700px;
  overflow:hidden;display:flex;align-items:flex-end;
}

/* BG image */
.h-img{
  position:absolute;inset:0;
  background:url('https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=1920&q=70&fm=webp') center/cover no-repeat;
  filter:saturate(.2) brightness(.45);
  transform:scale(1.05);
  will-change:transform;
}
.h-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 60% 30%, rgba(31,105,255,.04) 0%, transparent 60%),
    linear-gradient(180deg, rgba(2,8,28,.3) 0%, rgba(2,8,28,.6) 40%, rgba(2,8,28,.97) 88%, var(--bg) 100%);
}

/* Giant watermark */
.h-wm{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  font-family:var(--serif);
  font-size:clamp(10rem,28vw,26rem);
  font-weight:600;letter-spacing:-.04em;
  color:rgba(31,105,255,.028);
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
  line-height:1;
  z-index:1;
}

/* Vertical side text */
.h-side{
  position:absolute;left:1.5rem;top:50%;
  transform:translateY(-50%) rotate(-90deg);
  transform-origin:left center;
  font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:var(--w40);white-space:nowrap;
  display:flex;align-items:center;gap:.8rem;
  z-index:2;
  opacity:0;
}
@media(max-width:1250px){
  .h-side{display:none}
}
.h-side::before{content:'';width:28px;height:1px;background:var(--gold)}

/* Gold vertical accent */
.h-accent{
  position:absolute;right:calc(var(--pad) * 1.5);top:30%;
  width:1px;height:0;background:linear-gradient(180deg,transparent,var(--gold),transparent);
  z-index:2;
}

/* Content */
.h-content{
  position:relative;z-index:3;
  padding:0 var(--pad) clamp(4.5rem,9vh,7rem);
  width:100%;max-width:1440px;margin:0 auto;
}
.h-tag{
  font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);
  display:flex;align-items:center;gap:.7rem;
  margin-bottom:1.6rem;opacity:0;
}
.h-tag::before{content:'';width:22px;height:1px;background:var(--gold)}
.h-h1{
  font-family:var(--serif);
  font-size:clamp(2.5rem,6.2vw,5.5rem);
  font-weight:400;line-height:1.15;letter-spacing:-.02em;
  margin-bottom:2rem;
}
.h-h1 .mk{display:block;overflow:visible;padding-bottom:0.12em;}
.h-h1 .in{display:block}
.h-h1 .gold{color:var(--gold);font-style:italic;text-shadow:0 0 80px rgba(31,105,255,.2)}
.h-meta{
  display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;
}
.h-sub{
  font-size:16px;font-weight:300;color:var(--w70);
  max-width:44ch;opacity:0;transform:translateY(12px);
}
.h-ctas{
  display:flex;align-items:center;gap:1.2rem;
  opacity:0;transform:translateY(12px);
  flex-shrink:0;
}

/* Buttons */
.btn-border{
  display:inline-flex;align-items:center;gap:.8rem;
  font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--w);border:1px solid var(--w15);
  padding:.9rem 1.8rem;border-radius:2px;position:relative;overflow:hidden;
  transition:border-color .35s,gap .35s var(--e1);
}
.btn-border::before{
  content:'';position:absolute;inset:0;
  background:var(--w03);transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--e1);
}
.btn-border:hover{border-color:var(--gd);gap:1.3rem}
.btn-border:hover::before{transform:scaleX(1)}
.btn-border .a{color:var(--gold)}
.btn-gold{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  background:var(--gold);color:var(--bg);
  padding:.9rem 2rem;border-radius:2px;
  transition:background .3s,gap .35s var(--e1);
}
.btn-gold:hover{background:var(--gold2);gap:1.1rem}

/* Scroll indicator */
.h-scroll{
  position:absolute;bottom:2.5rem;right:var(--pad);
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  z-index:3;opacity:0;
}
.h-scroll-lbl{
  font-size:9px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;
  color:var(--w40);writing-mode:vertical-rl;
}
.h-scroll-line{width:1px;height:44px;background:linear-gradient(180deg,var(--gold),transparent);animation:sp 2s ease-in-out infinite}
@keyframes sp{0%,100%{transform:scaleY(1);opacity:.4}50%{transform:scaleY(.55);opacity:1}}

/* ═══════════════ 02 MANIFESTO ═══════════════ */
#manifesto{
  padding:clamp(7rem,16vh,14rem) var(--pad);
  position:relative;text-align:center;overflow:hidden;
}
.mani-bg{
  position:absolute;inset:0;
  background:url('https://images.unsplash.com/photo-1486325212027-8081e485255e?w=1400&q=50&fm=webp') center/cover no-repeat;
  filter:saturate(.1) brightness(.18);
  transform:scale(1.06);
}
.mani-ov{position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(2,8,28,.55) 40%,rgba(2,8,28,.55) 60%,var(--bg) 100%)}
.mani-text{
  position:relative;z-index:1;
  font-family:var(--serif);
  font-size:clamp(2.4rem,6vw,7rem);
  font-weight:300;line-height:1.1;letter-spacing:-.022em;
  max-width:22ch;margin:0 auto;
}
.mani-text em{font-style:italic;color:var(--gold);text-shadow:0 0 60px rgba(31,105,255,.18)}
.ml{display:block;overflow:hidden}
.mi{display:block}
.mani-deco{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(31,105,255,.06) 0%,transparent 70%);
  pointer-events:none;z-index:0;
}

/* ═══════════════ HISTÓRIA ═══════════════ */
#historia {
  padding: clamp(7rem, 14vh, 13rem) var(--pad);
  background: var(--bg2);
  border-top: 1px solid var(--line);
  position: relative;
  overflow: hidden;
}
/* Ambient glow */
#historia::before {
  content: '';
  position: absolute;
  top: 50%; left: -10%;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(31,105,255,.06) 0%, transparent 70%);
  transform: translateY(-50%);
  pointer-events: none;
}
#historia::after {
  content: '';
  position: absolute;
  bottom: -100px; right: -5%;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(31,105,255,.04) 0%, transparent 70%);
  pointer-events: none;
}
.hist-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: clamp(3rem, 6vw, 8rem);
  align-items: start;
  position: relative;
  z-index: 1;
}
.hist-left {
  position: sticky;
  top: 120px;
}
.hist-left .sec-title {
  margin-bottom: 1.5rem;
}
.hist-left .sec-title em {
  color: var(--gold);
  font-style: italic;
}
/* Intro paragraph under title */
.hist-intro {
  font-size: 15px;
  font-weight: 300;
  color: var(--w70);
  line-height: 1.8;
  max-width: 32ch;
  margin-bottom: 2.5rem;
}
.hist-badge {
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
  background: rgba(31,105,255,.05);
  border: 1px solid rgba(31,105,255,.18);
  padding: 1.4rem 2.2rem;
  border-radius: 6px;
  margin-top: 1rem;
  backdrop-filter: blur(8px);
  transition: border-color .4s, box-shadow .4s;
}
.hist-badge:hover {
  border-color: rgba(31,105,255,.4);
  box-shadow: 0 8px 30px rgba(31,105,255,.1);
}
.hist-badge-year {
  font-family: var(--serif);
  font-size: 3rem;
  font-weight: 600;
  color: var(--gold);
  line-height: 1;
  text-shadow: 0 0 40px rgba(31,105,255,.3);
}
.hist-badge-txt {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--w70);
  line-height: 1.5;
}

/* ── Right: Timeline ── */
.hist-right {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding-left: 3.5rem;
}
/* Vertical connector line */
.hist-right::before {
  content: '';
  position: absolute;
  top: 0; left: 14px;
  width: 1px; height: 100%;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(31,105,255,.25) 10%,
    rgba(31,105,255,.25) 90%,
    transparent 100%);
}

/* Timeline card */
.hist-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  padding: 2.5rem 2.5rem 2.5rem 2.5rem;
  border-radius: 8px;
  position: relative;
  overflow: hidden;
  margin-bottom: 2rem;
  backdrop-filter: blur(6px);
  transition: border-color .5s, transform .5s var(--e1), box-shadow .5s, background .5s;
}
.hist-card:hover {
  border-color: rgba(31,105,255,.35);
  transform: translateY(-4px);
  background: rgba(255,255,255,.05);
  box-shadow:
    0 20px 50px rgba(2,8,28,.5),
    0 5px 20px rgba(31,105,255,.08),
    inset 0 1px 0 rgba(255,255,255,.06);
}

/* Glowing dot on timeline */
.hist-card::after {
  content: '';
  position: absolute;
  top: 2.8rem; left: -3.5rem;
  width: 10px; height: 10px;
  transform: translateX(9.5px);
  background: var(--gold);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(31,105,255,.5), 0 0 30px rgba(31,105,255,.2);
  transition: box-shadow .4s, transform .4s;
}
.hist-card:hover::after {
  box-shadow: 0 0 18px rgba(31,105,255,.7), 0 0 45px rgba(31,105,255,.3);
  transform: translateX(9.5px) scale(1.3);
}

/* Top accent glow line */
.hist-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, rgba(31,105,255,.4), transparent 70%);
  opacity: 0;
  transition: opacity .5s;
}
.hist-card:hover::before {
  opacity: 1;
}

.hist-card-num {
  font-family: var(--serif);
  font-size: .85rem;
  color: var(--gold);
  margin-bottom: .8rem;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.hist-card-title {
  font-family: var(--serif);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 400;
  margin-bottom: .8rem;
  color: var(--w);
  line-height: 1.2;
  transition: color .4s;
}
.hist-card:hover .hist-card-title {
  color: var(--gold2);
}
.hist-card-text {
  font-size: 14px;
  font-weight: 300;
  color: var(--w70);
  line-height: 1.8;
}
/* Big ghost number */
.hist-card-ghost {
  position: absolute;
  top: -.5rem; right: 1rem;
  font-family: var(--serif);
  font-size: 7rem;
  font-weight: 600;
  color: rgba(31,105,255,.04);
  line-height: 1;
  pointer-events: none;
  transition: color .6s;
}
.hist-card:hover .hist-card-ghost {
  color: rgba(31,105,255,.08);
}

@media(max-width:960px){
  .hist-grid {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }
  .hist-left {
    position: static;
  }
  .hist-right {
    padding-left: 2.5rem;
  }
  .hist-right::before {
    left: 10px;
  }
  .hist-card::after {
    left: -2.5rem;
    transform: translateX(6px);
  }
  .hist-card:hover::after {
    transform: translateX(6px) scale(1.3);
  }
}

/* ═══════════════ 03 SERVIÇOS ═══════════════ */
#servicos{
  padding:clamp(5rem,10vh,9rem) var(--pad);
  border-top:1px solid var(--line);
}
.srv-top{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:2rem;margin-bottom:4.5rem;flex-wrap:wrap;
}
.sec-label{
  font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem;
}
.sec-label::before{content:'';width:18px;height:1px;background:var(--gold)}
.sec-title{
  font-family:var(--serif);font-size:clamp(2rem,4.5vw,4.2rem);
  font-weight:400;line-height:1.05;letter-spacing:-.022em;
}

/* Block headings */
.blk-hd{
  font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:var(--w40);padding-bottom:.7rem;
  border-bottom:1px solid var(--line);margin-bottom:0;
  display:flex;align-items:center;gap:1rem;
}
.blk-hd::after{content:'';flex:1;height:1px;background:var(--line)}
.cards-gap{height:clamp(2rem,4vh,3.5rem)}

/* Card grid */
.grid-seg{
  display:grid;
  grid-template-columns:3fr 2fr;
  grid-template-rows:360px 220px;
  gap:3px;
}
.grid-seg .c1{grid-row:1/3}
.grid-seg .c2{grid-row:1/2}
.grid-seg .c3{grid-row:2/3}

.grid-con{
  display:grid;
  grid-template-columns:2fr 3fr;
  grid-template-rows:240px 340px;
  gap:3px;margin-top:3px;
}
.grid-con .c4{grid-row:1/2;grid-column:1/3}
.grid-con .c5{grid-row:2/3;grid-column:1/2}
.grid-con .c6{grid-row:2/3;grid-column:2/3}

/* Service card */
.scard{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:2rem;
}
.scard-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.15) brightness(.42);
  transform:scale(1.04);
  transition:transform .9s var(--e1),filter .9s var(--e1);
  will-change:transform;
}
.scard:hover .scard-img{transform:scale(1.09);filter:saturate(.2) brightness(.36)}
.scard-ov{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(2,8,28,.1) 0%,rgba(2,8,28,.82) 100%);
  transition:background .5s;
}
.scard:hover .scard-ov{background:linear-gradient(180deg,rgba(2,8,28,.15) 0%,rgba(2,8,28,.9) 100%)}

/* Top accent line */
.scard::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold),transparent);
  transform:scaleX(0);transform-origin:left;
  transition:transform .6s var(--e1);z-index:3;
}
.scard:hover::before{transform:scaleX(1)}

/* Big bg number */
.scard-n-bg{
  position:absolute;top:.8rem;right:1.2rem;
  font-family:var(--serif);font-size:clamp(5rem,10vw,8rem);
  font-weight:600;letter-spacing:-.04em;
  color:rgba(31,105,255,.06);
  line-height:1;pointer-events:none;user-select:none;
  transition:color .5s;z-index:2;
}
.scard:hover .scard-n-bg{color:rgba(31,105,255,.1)}

/* Card body */
.scard-body{position:relative;z-index:3}
.scard-num{
  font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.6rem;
}
.scard-name{
  font-family:var(--serif);
  font-size:clamp(1.3rem,2.5vw,2rem);
  font-weight:400;line-height:1.1;
  color:var(--w);margin-bottom:.5rem;
  transition:color .3s;
}
.scard:hover .scard-name{color:var(--gold2)}
.scard-desc{
  font-size:13px;font-weight:300;color:var(--w40);
  max-height:0;overflow:hidden;
  transition:max-height .5s var(--e1),opacity .4s;
  opacity:0;line-height:1.6;
}
.scard:hover .scard-desc{max-height:4rem;opacity:1}
.scard-arr{
  position:absolute;bottom:1.8rem;right:1.8rem;
  font-size:1.1rem;color:var(--gold);z-index:3;
  transform:translateX(0);transition:transform .4s var(--e1),opacity .4s;
  opacity:.5;
}
.scard:hover .scard-arr{transform:translateX(5px);opacity:1}

/* 3D tilt container */
.scard-wrap{transform-style:preserve-3d;transform:perspective(1000px)}

/* ═══════════════ 04 DIFERENCIAL ═══════════════ */
#diferencial{
  padding:clamp(5rem,10vh,9rem) var(--pad);
  background:var(--bg2);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  overflow:hidden;position:relative;
}
.dif-glow{
  position:absolute;top:-100px;right:-150px;
  width:600px;height:600px;
  background:radial-gradient(circle,rgba(31,105,255,.04) 0%,transparent 70%);
  pointer-events:none;
}
.dif-grid{
  display:grid;grid-template-columns:1fr 1fr 1fr;
  border:1px solid var(--line);margin-top:4rem;
}
.dif-item{
  padding:3.5rem 2.8rem;
  border-right:1px solid var(--line);
  position:relative;overflow:hidden;
  transition:background .5s;
}
.dif-item:last-child{border-right:none}
.dif-item::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--gg) 0%,transparent 60%);
  opacity:0;transition:opacity .6s;
}
.dif-item:hover::before{opacity:1}
.dif-big-n{
  position:absolute;bottom:-1.5rem;right:-.5rem;
  font-family:var(--serif);font-size:clamp(8rem,15vw,12rem);
  font-weight:600;line-height:1;letter-spacing:-.05em;
  color:rgba(31,105,255,.04);pointer-events:none;
  transition:color .6s,transform .7s var(--e1);
}
.dif-item:hover .dif-big-n{color:rgba(31,105,255,.07);transform:scale(1.04) translateY(-5px)}
.dif-icon{
  width:48px;height:48px;border:1px solid var(--gd);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:2rem;position:relative;z-index:1;
  transition:border-color .4s,background .4s;
}
.dif-item:hover .dif-icon{border-color:var(--gold);background:var(--gg)}
.dif-icon svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.dif-title{
  font-family:var(--serif);font-size:clamp(1.4rem,2.5vw,1.9rem);
  font-weight:400;line-height:1.15;margin-bottom:1rem;
  position:relative;z-index:1;
}
.dif-copy{font-size:14px;font-weight:300;color:var(--w40);line-height:1.78;max-width:28ch;position:relative;z-index:1}

/* ═══════════════ 05 NÚMEROS ═══════════════ */
#numeros{
  padding:clamp(7rem,15vh,13rem) var(--pad);
  background:#02081C;
  color:var(--w);
  position:relative;
  overflow:hidden;
}
/* Cinematic background image */
#numeros::before{
  content:'';position:absolute;inset:0;
  background:url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?w=1200&q=40&fm=webp') center/cover no-repeat;
  opacity:.06;
  filter:brightness(.5) saturate(.2);
}
/* Ambient glow top-left */
#numeros::after{
  content:'';position:absolute;
  top:-150px;left:-100px;
  width:700px;height:700px;
  background:radial-gradient(circle,rgba(31,105,255,.08) 0%,transparent 65%);
  pointer-events:none;
}
/* Second glow bottom-right */
.num-glow{
  position:absolute;bottom:-200px;right:-100px;
  width:600px;height:600px;
  background:radial-gradient(circle,rgba(31,105,255,.06) 0%,transparent 65%);
  pointer-events:none;
}

.num-hd{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:2rem;margin-bottom:5rem;flex-wrap:wrap;
  position:relative;z-index:1;
}
.num-hd .sec-label{color:var(--gold)}
.num-hd .sec-title{color:var(--w)}

.num-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  position:relative;z-index:1;
}

.num-item{
  padding:3rem 2.5rem;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  position:relative;
  overflow:hidden;
  backdrop-filter:blur(8px);
  transition:border-color .5s, transform .5s var(--e1), box-shadow .5s, background .5s;
}
.num-item:hover{
  border-color:rgba(31,105,255,.4);
  background:rgba(255,255,255,.06);
  transform:translateY(-6px);
  box-shadow:
    0 25px 60px rgba(2,8,28,.6),
    0 8px 25px rgba(31,105,255,.12),
    inset 0 1px 0 rgba(255,255,255,.08);
}

/* Top accent bar */
.num-item::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold2),transparent);
  transform:scaleX(0);transform-origin:left;
  transition:transform .7s var(--e1);
}
.num-item.lit::before,
.num-item:hover::before{transform:scaleX(1)}

/* Inner radial glow per card */
.num-item::after{
  content:'';position:absolute;
  top:-30px;left:-30px;
  width:140px;height:140px;
  background:radial-gradient(circle,rgba(31,105,255,.1) 0%,transparent 70%);
  opacity:0;
  transition:opacity .5s;
  pointer-events:none;
}
.num-item:hover::after{opacity:1}

.num-val{
  font-family:var(--serif);
  font-size:clamp(3.2rem,7vw,5.5rem);
  font-weight:300;line-height:1;letter-spacing:-.03em;
  color:var(--w);margin-bottom:.7rem;
  position:relative;z-index:1;
}
.num-val .cnt{
  display:inline-block;
  background:linear-gradient(180deg,#fff 30%,rgba(255,255,255,.7) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.num-val .sfx{
  color:var(--gold);
  font-size:.55em;
  vertical-align:text-top;
  margin-top:.15em;
  display:inline-block;
  -webkit-text-fill-color:var(--gold);
  text-shadow:0 0 30px rgba(31,105,255,.3);
}
.num-lbl{
  font-size:12px;font-weight:400;
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--w40);max-width:18ch;line-height:1.6;
  position:relative;z-index:1;
}

/* Divider line between label and value area */
.num-divider{
  width:30px;height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
  margin:1rem 0 .8rem;
}

/* ═══════════════ DEPOIMENTOS ═══════════════ */

#depoimentos{
  padding:clamp(6rem,12vh,10rem) var(--pad);
  border-top:1px solid var(--line);
  background:var(--bg2);
  position:relative;
  overflow:hidden;
}

.dep-glow{
  position:absolute;
  top:-200px;
  left:-100px;
  width:700px;
  height:700px;
  background: radial-gradient(circle,
    rgba(31,105,255,.08) 0%,
    transparent 70%);
  pointer-events:none;
}

.dep-top{
  margin-bottom:4rem;
  position:relative;
  z-index:1;
}

/* GRID */
.dep-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
  align-items:stretch;
}

/* CARD */
.dep-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  height:100%;

  padding:2.2rem;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;

  position:relative;
  overflow:hidden;
  backdrop-filter:blur(8px);

  transition:
    transform .5s var(--e1),
    border-color .5s,
    background .5s,
    box-shadow .5s;
}

.dep-card:hover{
  transform:translateY(-5px);
  border-color:rgba(31,105,255,.35);
  background:rgba(255,255,255,.05);
  box-shadow:
    0 20px 60px rgba(2,8,28,.5),
    0 10px 25px rgba(31,105,255,.12);
}

/* TOP LINE EFFECT */
.dep-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:linear-gradient(90deg, var(--gold), transparent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .7s var(--e1);
}

.dep-card:hover::before{
  transform:scaleX(1);
}

/* TEXTO (AQUI ESTAVA O PROBLEMA PRINCIPAL) */
.dep-text{
  font-size:15px;
  line-height:1.9;
  color:var(--w70);
  font-weight:300;

  margin-bottom:2rem;

  /* FIX REAL DO ALINHAMENTO */
  flex:1;

  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* USER */
.dep-user{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-top:auto;
}

.dep-avatar{
  width:48px;
  height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;

  background:rgba(31,105,255,.08);
  border:1px solid rgba(31,105,255,.18);

  color:var(--gold);
  font-family:var(--serif);
  font-size:1.2rem;
  font-weight:600;

  flex-shrink:0;
}

.dep-user h3{
  font-size:15px;
  font-weight:500;
  color:var(--w);
  margin-bottom:.15rem;
}

.dep-user span{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--w40);
}

/* NUMBER */
.dep-ghost{
  position:absolute;
  top:14px;
  right:14px;
  font-size:42px;
  opacity:.06;
  line-height:1;
  pointer-events:none;
}
/* ═══════════════ 06 CONVERSÃO ═══════════════ */
#conversao{
  padding:clamp(6rem,13vh,11rem) var(--pad);
  border-top:1px solid var(--line);
  position:relative;overflow:hidden;
}
.conv-bg{
  position:absolute;inset:0;
  background:url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?w=1200&q=40&fm=webp') center/cover no-repeat;
  filter:saturate(.1) brightness(.12);
  transform:scale(1.04);
}
.conv-ov{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(2,8,28,.99) 50%,rgba(2,8,28,.85) 100%);
}
.conv-inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 1fr;
  gap:7rem;align-items:start;
}
.conv-sub{font-size:15px;font-weight:300;color:var(--w40);line-height:1.78;max-width:38ch;margin:1.2rem 0 2.5rem}
.trust{display:flex;flex-direction:column;gap:.7rem}
.trust-item{
  display:flex;align-items:center;gap:.8rem;
  font-size:13px;font-weight:300;color:var(--w40);
}
.trust-item::before{
  content:'✓';width:18px;height:18px;flex-shrink:0;
  background:var(--gg);border:1px solid var(--gd);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-size:9px;display:inline-flex;
}
.fg{margin-bottom:1.1rem}
.fg label{
  display:block;font-size:10px;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--w40);margin-bottom:.5rem;
}
.fg input,.fg select{
  width:100%;background:var(--w06);border:1px solid var(--line);border-radius:2px;
  color:var(--w);font-size:15px;font-weight:300;padding:.85rem 1rem;
  outline:none;transition:border-color .3s,background .3s;-webkit-appearance:none;
}
.fg select{cursor:none}
.fg select option{background:var(--bg2);color:var(--w)}
.fg input:focus,.fg select:focus{border-color:var(--gd);background:var(--gg)}
.fg input::placeholder{color:rgba(255,255,255,.2)}
.fg input.err,.fg select.err{border-color:#c46060}
.fe{font-size:11px;color:#c46060;margin-top:.3rem;display:none}
.fg.bad .fe{display:block}
.fsbtn{
  width:100%;margin-top:1.5rem;background:var(--gold);color:var(--bg);
  font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  padding:1.05rem;border-radius:2px;
  display:flex;align-items:center;justify-content:center;gap:.7rem;
  transition:background .3s,gap .3s;
}
.fsbtn:hover{background:var(--gold2);gap:1.2rem}
.fsuc{
  display:none;padding:2.5rem;border:1px solid var(--gd);
  border-radius:2px;background:var(--gg);text-align:center;
}
.fsuc p:first-child{font-family:var(--serif);font-size:2rem;font-weight:400;margin-bottom:.5rem}
.fsuc p:last-child{color:var(--w40);font-size:14px}

/* ═══════════════ 07 FAQ ═══════════════ */
#faq{
  padding:clamp(5rem,10vh,9rem) var(--pad);
  background:var(--bg2);border-top:1px solid var(--line);
}
.faq-wrap{max-width:840px;margin-top:3.5rem}
.faq-item{border-bottom:1px solid var(--line)}
.faq-btn{
  display:flex;justify-content:space-between;align-items:center;
  gap:2rem;padding:1.5rem 0;width:100%;
  font-size:15px;font-weight:500;color:var(--w);text-align:left;transition:color .3s;
}
.faq-btn:hover{color:var(--gold)}
.faq-ic{
  width:22px;height:22px;flex-shrink:0;
  border:1px solid var(--line);border-radius:50%;position:relative;
  transition:border-color .3s,transform .45s var(--e1);
}
.faq-ic::before,.faq-ic::after{
  content:'';position:absolute;top:50%;left:50%;
  width:8px;height:1px;background:var(--w40);
  transform:translate(-50%,-50%);transition:transform .4s var(--e1),opacity .4s;
}
.faq-ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item.on .faq-ic{border-color:var(--gold);transform:rotate(45deg)}
.faq-item.on .faq-btn{color:var(--gold)}
.faq-ans{max-height:0;overflow:hidden;transition:max-height .55s var(--e1)}
.faq-ans-in{padding:0 0 1.5rem;font-size:14px;font-weight:300;color:var(--w40);line-height:1.8;max-width:65ch}

/* ═══════════════ FOOTER ═══════════════ */
#footer{padding:clamp(4rem,8vh,7rem) var(--pad) 2.5rem;border-top:1px solid var(--line)}
.ft-top{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
  gap:4rem;padding-bottom:3rem;border-bottom:1px solid var(--line);
}
.ft-logo{font-family:var(--serif);font-size:1.8rem;font-weight:500;letter-spacing:.05em;margin-bottom:.7rem}
.ft-logo em{color:var(--gold);font-style:normal}
.ft-tag{font-size:13px;font-weight:300;color:var(--w40);line-height:1.6;max-width:28ch;margin-bottom:1.8rem}
.ft-social{display:flex;gap:.7rem}
.ft-social a{
  width:34px;height:34px;border:1px solid var(--line);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--w40);transition:all .3s;
}
.ft-social a:hover{border-color:var(--gold);color:var(--gold);background:var(--gg)}
.ft-col-hd{font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--w40);margin-bottom:1.2rem}
.ft-col ul li{margin-bottom:.6rem}
.ft-col ul a{font-size:14px;font-weight:300;color:var(--w40);transition:color .3s}
.ft-col ul a:hover{color:var(--gold)}
.ft-contact p{font-size:13px;font-weight:300;color:var(--w40);margin-bottom:.4rem;line-height:1.5}
.ft-contact a{color:var(--w40);transition:color .3s}
.ft-contact a:hover{color:var(--gold)}
.ft-bot{
  display:flex;align-items:center;justify-content:space-between;
  gap:2rem;padding-top:1.8rem;flex-wrap:wrap;
}
.ft-legal{font-size:11px;color:rgba(255,255,255,.22);font-weight:300;line-height:1.6}
.ft-legal a{color:rgba(255,255,255,.22);transition:color .3s}
.ft-legal a:hover{color:var(--w40)}

/* ═══════════════ REVEAL ═══════════════ */
.rv{opacity:0;transform:translateY(32px)}

/* ═══════════════ RESPONSIVE ═══════════════ */
@media(max-width:1100px){
  .grid-seg{grid-template-columns:1fr 1fr;grid-template-rows:320px 320px 220px}
  .grid-seg .c1{grid-row:1/2;grid-column:1/3}
  .grid-seg .c2{grid-row:2/3;grid-column:1/2}
  .grid-seg .c3{grid-row:2/3;grid-column:2/3}
  .grid-con{grid-template-columns:1fr 1fr;grid-template-rows:220px 320px 320px}
  .grid-con .c4{grid-row:1/2;grid-column:1/3}
  .grid-con .c5{grid-row:2/3}
  .grid-con .c6{grid-row:2/3}
  .num-grid{grid-template-columns:repeat(2,1fr); gap:16px;}
  .dif-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}
  .dif-item:nth-child(3){border-right:none;grid-column:1/-1;border-top:1px solid var(--line)}
}
@media(max-width:900px){
  .ft-top{grid-template-columns:1fr 1fr;gap:2.5rem}
  .conv-inner{grid-template-columns:1fr;gap:3.5rem}
  .dif-grid{grid-template-columns:1fr}
  .dif-item{border-right:none;border-top:1px solid var(--line)}
  .dif-item:first-child{border-top:none}
}
@media(max-width:768px){
  .nls,.nbtn{display:none}
  .ham{display:flex}
  .grid-seg,.grid-con{grid-template-columns:1fr;grid-template-rows:none}
  .grid-seg .c1,.grid-seg .c2,.grid-seg .c3,
  .grid-con .c4,.grid-con .c5,.grid-con .c6{grid-row:auto;grid-column:auto}
  .scard{min-height:280px}
  .h-side{display:none}
  .ft-top{grid-template-columns:1fr}
  .num-grid{grid-template-columns:1fr 1fr}
  .srv-top{flex-direction:column;align-items:flex-start}
  .h-ctas{
    flex-direction:column;
    width:100%;
  }

  .h-ctas a{
    width:100%;
    display:flex;
    justify-content:center;
  }
  #depoimentos{
    padding: 5rem 1.5rem;
  }

  .dep-grid{
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .dep-card{
    padding: 1.8rem;
  }

  .dep-text{
    font-size: 14px;
    line-height: 1.7;
  }

  .dep-ghost{
    font-size: 34px;
    top: 10px;
    right: 10px;
  }

  .dep-avatar{
    width: 42px;
    height: 42px;
    font-size: 1rem;
  }

}
@media(max-width:520px){
  .num-grid{grid-template-columns:1fr; gap:12px;}
}
@media(pointer:coarse){
  #cdot,#cring{display:none}
  body{cursor:auto}
  a,button,select,input{cursor:pointer}
  .scard-desc{max-height:none !important;opacity:1 !important}
}