/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --bg:    #0C0C0C;
  --surf:  #141414;
  --card:  #1C1C1C;
  --card2: #222222;
  --p:     #ff6c08;
  --pd:    #E55500;
  --pglow: rgba(255,98,0,.22);
  --psub:  rgba(255,98,0,.09);
  --pline: rgba(255,98,0,.22);
  --t1:    #F2F2F2;
  --t2:    #787878;
  --t3:    #3A3A3A;
  --b:     rgba(255,255,255,.06);
  --bl:    rgba(255,255,255,.10);
  --spring: cubic-bezier(0.32,0.72,0,1);
  --expo:   cubic-bezier(0.19,1,0.22,1);
}
html { scroll-behavior: smooth; }
body {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  background: var(--bg); color: var(--t1);
  overflow-x: hidden; line-height: 1.6;
}
body::before {
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.02;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 128px;
}
img { max-width: 100%; }
a { color: inherit; }

/* ── NAV ── */
.nw { position:fixed; top:1.25rem; left:0; right:0; z-index:100; display:flex; justify-content:center; padding:0 1rem; }
nav {
  display:flex; align-items:center;
  background: rgba(20,20,20,.84); backdrop-filter:blur(28px); -webkit-backdrop-filter:blur(28px);
  border:1px solid var(--bl); border-radius:9999px;
  padding:.45rem .45rem .45rem 1.375rem;
  width:100%; max-width:1180px;
  box-shadow: 0 8px 40px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);
  position: relative;
}
.logo { display:flex; align-items:center; gap:.6rem; text-decoration:none; flex-shrink:0; }
.logo img { height:34px; width:auto; }
.logo-fb { display:flex; align-items:center; gap:.5rem; font-family:'DM Sans',sans-serif; font-weight:700; font-size:.9375rem; color:#fff; }
.logo-fb span { color:var(--p); }
.nav-links { display:flex; align-items:center; gap:.0625rem; flex:1; justify-content:center; list-style:none; position:relative; margin-left:.5rem; }
.nav-links > li { position: relative; }
.nav-links a { text-decoration:none; color:var(--t2); font-size:.8125rem; font-weight:500; padding:.375rem .5rem; border-radius:9999px; transition:all .25s var(--spring); white-space:nowrap; display:flex; align-items:center; gap:.3rem; }
.nav-links a:hover, .nav-links a.active { color:var(--t1); background:var(--b); }
.nav-links a.active { color: var(--p); }
/* dropdown */
.has-drop > a::after { content:''; width:5px; height:5px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-1px); display:inline-block; opacity:.6; }
.dropdown { display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); margin-top:.75rem; background:rgba(20,20,20,.96); backdrop-filter:blur(24px); border:1px solid var(--bl); border-radius:1rem; padding:.5rem; min-width:200px; box-shadow:0 16px 48px rgba(0,0,0,.5); z-index:200; }
.dropdown::before { content:''; position:absolute; bottom:100%; left:0; right:0; height:.75rem; }
.dropdown a { display:block; border-radius:.625rem; color:var(--t2); font-size:.8125rem; padding:.6rem .875rem; white-space:nowrap; }
.dropdown a:hover { background:var(--b); color:var(--t1); }
.has-drop:hover .dropdown { display:block; }
.nav-cta { display:flex; align-items:center; gap:.45rem; background:var(--p); color:#fff; text-decoration:none; font-size:.8125rem; font-weight:700; padding:.5rem 1.125rem; border-radius:9999px; flex-shrink:0; white-space:nowrap; box-shadow:0 0 24px var(--pglow); transition:all .4s var(--spring); }
.nav-cta:hover { background:var(--pd); transform:translateY(-1px); box-shadow:0 0 40px rgba(255,98,0,.4); }
/* nav colapsa mais cedo p/ caber todos os links sem apertar */
@media(max-width:940px){ .nav-links,.nav-cta{display:none} .hbg{display:flex} nav{padding:.4rem .6rem .4rem 1.125rem} }

/* hamburger */
.hbg { display:none; width:34px; height:34px; border:none; background:var(--b); border-radius:9999px; cursor:pointer; align-items:center; justify-content:center; margin-left:auto; position:relative; }
.hl { width:15px; height:1.5px; background:var(--t1); border-radius:9999px; transition:all .4s var(--spring); position:absolute; }
.hl:first-child { transform:translateY(-4px); }
.hl:last-child  { transform:translateY(4px); }
.hbg.open .hl:first-child { transform:rotate(45deg); }
.hbg.open .hl:last-child  { transform:rotate(-45deg); }
/* mobile overlay */
.mob { position:fixed; inset:0; z-index:99; background:rgba(10,10,10,.97); backdrop-filter:blur(32px); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.5rem; opacity:0; pointer-events:none; transition:opacity .4s var(--spring); }
.mob.open { opacity:1; pointer-events:all; }
.mob a { font-family:'DM Sans',sans-serif; font-size:1.75rem; font-weight:700; color:var(--t1); text-decoration:none; opacity:0; transform:translateY(20px); transition:all .5s var(--expo); }
.mob.open a { opacity:1; transform:translateY(0); }
.mob.open a:nth-child(1){transition-delay:.05s} .mob.open a:nth-child(2){transition-delay:.10s}
.mob.open a:nth-child(3){transition-delay:.15s} .mob.open a:nth-child(4){transition-delay:.20s}
.mob.open a:nth-child(5){transition-delay:.25s} .mob.open a:nth-child(6){transition-delay:.30s}
.mob.open a:nth-child(7){transition-delay:.35s}

/* ── PAGE HERO ── */
.page-hero { padding:10rem 2rem 6rem; position:relative; overflow:hidden; z-index:1; }
.page-hero-inner { max-width:1200px; margin:0 auto; }
.ph-orb { position:absolute; border-radius:50%; pointer-events:none; filter:blur(90px); }
.ph-orb1 { width:500px; height:500px; background:radial-gradient(circle,rgba(255,98,0,.3),transparent 65%); top:-150px; right:-100px; }
.ph-orb2 { width:300px; height:300px; background:radial-gradient(circle,rgba(255,98,0,.15),transparent 65%); bottom:-50px; left:-50px; }

/* ── SHARED LAYOUT ── */
.sec { padding:7rem 2rem; position:relative; z-index:1; }
.cnt { max-width:1200px; margin:0 auto; }
.sec-sm { padding:5rem 2rem; position:relative; z-index:1; }

/* ── TYPOGRAPHY ── */
h1 { font-family:'DM Sans',sans-serif; font-size:clamp(1.875rem,3.6vw,3.75rem); font-weight:800; line-height:1.08; letter-spacing:-0.025em; }
h2 { font-family:'DM Sans',sans-serif; font-size:clamp(1.875rem,3.8vw,3.375rem); font-weight:800; line-height:1.1; letter-spacing:-0.02em; margin-bottom:1.125rem; }
h3 { font-family:'DM Sans',sans-serif; font-size:1.375rem; font-weight:700; line-height:1.25; letter-spacing:-0.01em; }
.sdesc { font-size:1.0625rem; color:var(--t2); line-height:1.75; }
.go { background:linear-gradient(135deg,#FDBA74,var(--p)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* ── TAG / EYEBROW ── */
.tag { display:inline-flex; align-items:center; gap:.45rem; background:var(--psub); border:1px solid var(--pline); border-radius:9999px; padding:.3rem .8rem; font-size:.6875rem; font-weight:600; text-transform:uppercase; letter-spacing:.15em; color:var(--p); margin-bottom:1.125rem; }
.tag.wt { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.12); color:var(--t2); }
.pdot { width:6px; height:6px; background:var(--p); border-radius:50%; animation:pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.75)} }

/* ── BUTTONS ── */
.btn { display:inline-flex; align-items:center; gap:.5rem; text-decoration:none; font-size:.9375rem; font-weight:700; padding:.875rem 1.5rem; border-radius:9999px; transition:all .4s var(--spring); border:none; cursor:pointer; }
.bp { background:var(--p); color:#fff; box-shadow:0 0 36px var(--pglow); }
.bp:hover { background:var(--pd); transform:translateY(-2px); box-shadow:0 0 56px rgba(255,98,0,.5); }
.bp:active { transform:scale(.97); }
.bg { background:transparent; color:var(--t1); border:1px solid var(--bl); }
.bg:hover { background:var(--b); transform:translateY(-1px); }
.bi { width:28px; height:28px; border-radius:9999px; display:flex; align-items:center; justify-content:center; transition:all .35s var(--spring); flex-shrink:0; }
.bp .bi { background:rgba(255,255,255,.18); }
.bg .bi { background:rgba(255,255,255,.07); }
.bp:hover .bi, .bg:hover .bi { transform:translate(2px,-1px) scale(1.1); }

/* ── CARDS (double-bezel) ── */
.card { background:rgba(255,255,255,.025); border:1px solid var(--b); border-radius:1.5rem; padding:.28rem; transition:all .5s var(--spring); }
.card:hover { border-color:var(--bl); transform:translateY(-3px); box-shadow:0 16px 48px rgba(0,0,0,.3); }
.card.ho:hover { border-color:var(--pline); box-shadow:0 0 32px rgba(255,98,0,.08); }
.card-in { background:var(--card); border-radius:calc(1.5rem - .28rem); padding:1.75rem; box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
.card.feat { background:linear-gradient(135deg,rgba(255,98,0,.12),rgba(255,98,0,.04)); border-color:var(--pline); }
.card.feat .card-in { background:transparent; }

/* icon wrap */
.ico { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:1.125rem; flex-shrink:0; }
.ico.or { background:var(--psub); border:1px solid var(--pline); }
.ico.gr { background:rgba(16,185,129,.09); border:1px solid rgba(16,185,129,.2); }
.ico.wh { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); }

/* ── GRID ── */
.bento { display:grid; grid-template-columns:repeat(12,1fr); gap:.875rem; margin-top:3.5rem; }
.s12{grid-column:span 12} .s8{grid-column:span 8} .s7{grid-column:span 7}
.s6{grid-column:span 6}   .s5{grid-column:span 5} .s4{grid-column:span 4}
.s3{grid-column:span 3}
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }

/* ── STATS BAR ── */
.sbox { background:rgba(255,255,255,.025); border:1px solid var(--b); border-radius:2rem; padding:.35rem; }
.sbox-in { background:var(--surf); border-radius:calc(2rem - .35rem); padding:2.75rem 3rem; box-shadow:inset 0 1px 0 rgba(255,255,255,.04); display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }
.sit { text-align:center; position:relative; }
.sit:not(:last-child)::after { content:''; position:absolute; right:0; top:10%; height:80%; width:1px; background:var(--b); }
.snum { font-family:'DM Sans',sans-serif; font-size:2.875rem; font-weight:800; letter-spacing:-0.03em; line-height:1; }
.snum.or { color:var(--p); }
.ssuf { font-size:1.375rem; font-weight:600; }
.slbl { font-size:.8125rem; color:var(--t2); margin-top:.45rem; font-weight:500; }

/* ── STEPS ── */
.steps { display:flex; flex-direction:column; gap:.75rem; }
.step { display:grid; grid-template-columns:auto 1fr auto; align-items:center; background:rgba(255,255,255,.02); border:1px solid var(--b); border-radius:1.5rem; padding:.28rem; transition:all .5s var(--spring); }
.step:hover { border-color:var(--pline); background:rgba(255,98,0,.04); transform:translateX(4px); }
.step-n { width:52px; height:52px; border-radius:13px; background:var(--psub); border:1px solid var(--pline); display:flex; align-items:center; justify-content:center; font-family:'DM Sans',sans-serif; font-size:1rem; font-weight:800; color:var(--p); flex-shrink:0; margin:1.125rem 0 1.125rem 1.125rem; }
.step-c { padding:1.375rem 1.25rem; }
.step-t { font-family:'DM Sans',sans-serif; font-size:1rem; font-weight:700; color:var(--t1); margin-bottom:.25rem; }
.step-d { font-size:.875rem; color:var(--t2); line-height:1.6; }
.step-b { margin-right:1.125rem; padding:.25rem .7rem; border-radius:9999px; font-size:.6875rem; font-weight:600; text-transform:uppercase; letter-spacing:.09em; white-space:nowrap; background:var(--psub); border:1px solid var(--pline); color:var(--p); }

/* ── LIVE BADGE ── */
.live { display:inline-flex; align-items:center; gap:.35rem; background:rgba(16,185,129,.1); border:1px solid rgba(16,185,129,.2); border-radius:9999px; padding:.2rem .6rem; font-size:.6rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:#34D399; }
.ldot { width:5px; height:5px; background:#34D399; border-radius:50%; animation:pulse 1.5s ease-in-out infinite; }

/* ── PILLS ── */
.city-pill { background:rgba(255,255,255,.025); border:1px solid var(--b); border-radius:9999px; padding:.45rem 1.125rem; font-size:.875rem; font-weight:500; color:var(--t2); transition:all .3s var(--spring); cursor:default; }
.city-pill:hover { background:var(--psub); border-color:var(--pline); color:var(--p); transform:translateY(-2px); }
.city-pill.hl { background:var(--psub); border-color:var(--pline); color:var(--p); }
.ipill { background:var(--surf); border:1px solid var(--bl); border-radius:9999px; padding:.25rem .7rem; font-size:.75rem; font-weight:500; color:var(--t2); }

/* ── DIVIDER ── */
.div-line { width:100%; height:1px; background:linear-gradient(90deg,transparent,var(--b),transparent); }

/* ── IMAGE SHELL ── */
.img-shell { background:rgba(255,255,255,.025); border:1px solid var(--b); border-radius:1.75rem; padding:.35rem; overflow:hidden; }
.img-shell-in { border-radius:calc(1.75rem - .35rem); overflow:hidden; }
.img-shell img { width:100%; height:100%; object-fit:cover; display:block; }

/* ── FORM ── */
.form-group { display:flex; flex-direction:column; gap:.5rem; margin-bottom:1.25rem; }
.form-label { font-size:.8125rem; font-weight:600; color:var(--t2); text-transform:uppercase; letter-spacing:.08em; }
.form-input, .form-textarea, .form-select {
  background:var(--surf); border:1px solid var(--bl); border-radius:.875rem;
  padding:.875rem 1.125rem; color:var(--t1); font-family:inherit; font-size:.9375rem;
  transition:all .3s var(--spring); outline:none; width:100%;
}
.form-input:focus, .form-textarea:focus, .form-select:focus { border-color:var(--p); box-shadow:0 0 0 3px var(--pglow); }
.form-textarea { resize:vertical; min-height:120px; }
.form-select { appearance:none; cursor:pointer; }

/* ── FOOTER ── */
footer { border-top:1px solid var(--b); padding:4rem 2rem; position:relative; z-index:1; }
.fi { max-width:1200px; margin:0 auto; }
.ft { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:2.5rem; padding-bottom:2.5rem; border-bottom:1px solid var(--b); }
.flogo img { height:38px; width:auto; }
.fbdesc { font-size:.875rem; color:var(--t2); line-height:1.75; margin-top:.9rem; max-width:250px; }
.fctit { font-family:'DM Sans',sans-serif; font-size:.8125rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--t1); margin-bottom:1.125rem; }
.fls { list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.fls a { text-decoration:none; font-size:.875rem; color:var(--t2); transition:color .2s; }
.fls a:hover { color:var(--t1); }
.fb { display:flex; align-items:center; justify-content:space-between; padding-top:1.75rem; flex-wrap:wrap; gap:.875rem; }
.fcp { font-size:.8125rem; color:var(--t3); }
.flegal { display:flex; gap:1.375rem; }
.flegal a { font-size:.8125rem; color:var(--t3); text-decoration:none; transition:color .2s; }
.flegal a:hover { color:var(--t2); }

/* ── REVEAL ── */
.rv { opacity:0; transform:translateY(22px); filter:blur(3px); transition:opacity .8s var(--expo),transform .8s var(--expo),filter .8s var(--expo); }
.rv.in { opacity:1; transform:translateY(0); filter:blur(0); }
.d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s}
.d4{transition-delay:.4s} .d5{transition-delay:.5s}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .nav-links,.nav-cta{display:none} .hbg{display:flex}
  nav{padding:.4rem .6rem .4rem 1.125rem}
  .sbox-in{grid-template-columns:repeat(2,1fr);padding:2rem 1.5rem}
  .sit::after{display:none}
  .bento{grid-template-columns:1fr}
  .s12,.s8,.s7,.s6,.s5,.s4,.s3{grid-column:span 1}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .step{grid-template-columns:auto 1fr}
  .step-b{display:none}
  .step-n{margin:1rem 0 1rem 1rem}
  .ft{grid-template-columns:1fr 1fr;gap:1.75rem}
  .fb{flex-direction:column;align-items:flex-start}
  .sec{padding:4rem 1.25rem}
  .sec-sm{padding:3rem 1.25rem}
  .page-hero{padding:8rem 1.25rem 4rem}
  /* layout grids */
  .rg{grid-template-columns:1fr!important;gap:2rem!important}
  /* typography */
  h1{font-size:clamp(1.75rem,8vw,3rem)}
  h2{font-size:clamp(1.5rem,7vw,2.5rem)}
}
@media(max-width:480px){
  .ft{grid-template-columns:1fr}
  .sbox-in{grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.5rem}
  h1{font-size:clamp(1.625rem,9vw,2.5rem)}
}

/* ── THEME TOGGLE BUTTON ── */
.theme-btn{width:34px;height:34px;border:1px solid var(--bl);border-radius:9999px;background:var(--b);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--t2);transition:all .3s var(--spring);flex-shrink:0;margin-left:.375rem;}
.theme-btn:hover{background:var(--psub);border-color:var(--pline);color:var(--p);transform:rotate(18deg) scale(1.08);}
@media(max-width:768px){
  .theme-btn{margin-left:auto;margin-right:.375rem;}
  .hbg{margin-left:0;}
}

/* ── LIGHT THEME ── */
[data-theme="light"]{
  --bg:#F5F3EF;
  --surf:#ECEAE5;
  --card:#FFFFFF;
  --card2:#F8F6F2;
  --t1:#111111;
  --t2:#5C5C5C;
  --t3:#AEACAA;
  --b:rgba(0,0,0,.07);
  --bl:rgba(0,0,0,.13);
  --pglow:rgba(255,98,0,.15);
}
[data-theme="light"] nav{background:rgba(245,243,239,.90);box-shadow:0 8px 40px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.8);}
[data-theme="light"] .dropdown{background:rgba(245,243,239,.98);box-shadow:0 16px 48px rgba(0,0,0,.12);}
[data-theme="light"] .dropdown a:hover{background:rgba(0,0,0,.05);}
[data-theme="light"] .mob{background:rgba(245,243,239,.98);}
[data-theme="light"] .card{background:rgba(0,0,0,.025);}
[data-theme="light"] .card:hover{box-shadow:0 16px 48px rgba(0,0,0,.08);}
[data-theme="light"] .card-in{box-shadow:inset 0 1px 0 rgba(0,0,0,.04);}
[data-theme="light"] .sbox{background:rgba(0,0,0,.03);}
[data-theme="light"] .sbox-in{box-shadow:inset 0 1px 0 rgba(0,0,0,.03);}
[data-theme="light"] .step{background:rgba(0,0,0,.02);}
[data-theme="light"] .img-shell{background:rgba(0,0,0,.04);}
[data-theme="light"] .city-pill{background:rgba(0,0,0,.04);}
[data-theme="light"] body::before{opacity:.02;}
/* logo swap */
.logo-lt{display:none;}
[data-theme="light"] .logo-dk{display:none;}
[data-theme="light"] .logo-lt{display:block;}
/* logo-light sizing: same height as dark logo */
.flogo .logo-lt{height:44px;}
[data-theme="light"] .logo-fb{color:var(--t1);}
[data-theme="light"] .go{background:linear-gradient(135deg,#FF8800,#ff6c08);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
[data-theme="light"] .bg{color:var(--t1);border-color:var(--bl);}
[data-theme="light"] .bg:hover{background:rgba(0,0,0,.05);}
[data-theme="light"] .live{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.2);}
[data-theme="light"] .form-input,[data-theme="light"] .form-textarea,[data-theme="light"] .form-select{background:var(--surf);border-color:var(--bl);color:var(--t1);}
[data-theme="light"] .form-input::placeholder,[data-theme="light"] .form-textarea::placeholder{color:var(--t3);}
[data-theme="light"] .form-select option{background:var(--surf);color:var(--t1);}
[data-theme="light"] footer{border-top-color:var(--b);}
