/* =========================================================
   ESSENCIAL ENGENHARIA — Tema cinematográfico de engenharia
   ========================================================= */

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Space Grotesk',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#e6ecf5;background:#070a13;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.no-scroll-init{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
em{font-style:italic;color:#fbbf24}

:root{
  --bg:#070a13; --bg-2:#0a0f1c; --bg-3:#0f1626;
  --ink:#f5f7fa; --ink-2:#cbd5e1; --muted:#7a8499;
  --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.14);
  --brand:#fbbf24; --brand-2:#f97316; --brand-3:#ef4444;
  --accent:#22d3ee;
  --container:1240px;
  --radius:14px; --radius-lg:22px;
  --shadow:0 20px 60px -20px rgba(0,0,0,.55);
  --shadow-gold:0 20px 50px -20px rgba(251,191,36,.45);
  --ease:cubic-bezier(.16,1,.3,1);
}
.container{max-width:var(--container);margin:0 auto;padding:0 24px}

/* ====== TYPO ====== */
h1,h2,h3,h4{font-family:'Sora',sans-serif;letter-spacing:-.02em;color:var(--ink);margin:0 0 .6rem;font-weight:700}
h1{font-size:clamp(2.4rem,5.4vw,4.6rem);font-weight:800;line-height:1.02;letter-spacing:-.04em}
h2{font-size:clamp(2rem,3.8vw,3.2rem);font-weight:800;line-height:1.05;letter-spacing:-.03em}
h3{font-size:1.2rem;font-weight:700}
p{color:var(--ink-2);margin:0 0 1rem}
.grad{background:linear-gradient(120deg,#fbbf24,#f97316 55%,#ef4444);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad--gold{background:linear-gradient(120deg,#fde68a,#fbbf24 50%,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}

.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:'JetBrains Mono',monospace;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brand);background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.25);padding:.45rem .8rem;border-radius:999px;margin-bottom:1.2rem}
.eyebrow i{font-style:normal;color:#fde68a;opacity:.8}
.eyebrow--light{color:#fde68a}
.eyebrow--dark{color:#0a0f1c;background:rgba(10,15,28,.1);border-color:rgba(10,15,28,.2)}

/* ====== BLUEPRINT BACKGROUND ====== */
.blueprint-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(1200px 700px at 80% -10%,rgba(251,191,36,.07),transparent 60%),radial-gradient(900px 500px at 0% 100%,rgba(34,211,238,.05),transparent 60%),var(--bg)}
.blueprint-bg__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%);animation:gridShift 60s linear infinite}
.blueprint-bg__noise{position:absolute;inset:0;opacity:.18;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes gridShift{0%{background-position:0 0,0 0}100%{background-position:60px 60px,60px 60px}}

body > *:not(.blueprint-bg):not(.cursor):not(.progress):not(.loader){position:relative;z-index:1}

/* ====== CURSOR ====== */
.cursor{position:fixed;top:0;left:0;width:32px;height:32px;border:1.5px solid var(--brand);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .25s var(--ease),height .25s var(--ease),background .2s,border-color .2s,opacity .2s;mix-blend-mode:difference;opacity:0}
.cursor.is-active{opacity:1}
.cursor span{position:absolute;top:50%;left:50%;width:4px;height:4px;background:var(--brand);border-radius:50%;transform:translate(-50%,-50%);transition:transform .25s var(--ease),opacity .2s}
.cursor.is-link{width:48px;height:48px;background:rgba(251,191,36,.12)}
.cursor.is-link span{transform:translate(-50%,-50%) scale(0)}
.cursor.is-cta{width:64px;height:64px;background:rgba(251,191,36,.18);border-color:#fde68a}
.cursor.is-card{width:80px;height:80px;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.4)}
.cursor.is-zoom{width:80px;height:80px;background:rgba(0,0,0,.45);border-color:var(--brand);color:var(--brand);font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.18em}
.cursor.is-zoom::after{content:"VER+";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fbbf24}
.cursor.is-zoom span{display:none}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

/* ====== PROGRESS ====== */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#fbbf24,#f97316,#ef4444);z-index:9999;transition:width .1s linear;box-shadow:0 0 12px rgba(251,191,36,.7)}

/* ====== LOADER ====== */
.loader{position:fixed;inset:0;background:var(--bg);z-index:10000;display:grid;place-items:center;transition:opacity .6s var(--ease),visibility .6s}
.loader.is-hidden{opacity:0;visibility:hidden}
.loader__svg{width:180px;height:180px}
.loader__p{stroke-dasharray:600;stroke-dashoffset:600;animation:draw 1.6s var(--ease) forwards}
.loader__p:nth-child(2){animation-delay:.25s}
.loader__p:nth-child(3){animation-delay:.5s}
@keyframes draw{to{stroke-dashoffset:0}}

/* ====== BUTTONS ====== */
.btn{position:relative;display:inline-flex;align-items:center;gap:.6rem;padding:1rem 1.4rem;border-radius:14px;font-weight:600;font-size:.95rem;transition:transform .3s var(--ease),box-shadow .3s,background .3s,color .3s;white-space:nowrap;overflow:hidden;isolation:isolate;cursor:pointer;letter-spacing:.01em}
.btn--sm{padding:.6rem 1rem;font-size:.85rem;border-radius:10px}
.btn--lg{padding:1.1rem 1.7rem;font-size:1rem}
.btn--block{width:100%;justify-content:center}
.btn__label{position:relative;z-index:2}
.btn__arrow{position:relative;z-index:2;transition:transform .35s var(--ease);display:inline-block}
.btn:hover .btn__arrow{transform:translateX(6px)}

.btn--primary{background:linear-gradient(135deg,#fbbf24,#f97316);color:#0a0f1c;box-shadow:0 12px 30px -10px rgba(251,191,36,.55)}
.btn--primary::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#f97316,#ef4444);opacity:0;transition:opacity .35s;z-index:1}
.btn--primary:hover{transform:translateY(-3px);box-shadow:0 22px 40px -10px rgba(249,115,22,.7)}
.btn--primary:hover::before{opacity:1}
.btn--primary > *{position:relative;z-index:2}

.btn--ghost{color:#f5f7fa;border:1.5px solid rgba(255,255,255,.25);background:rgba(255,255,255,.04);backdrop-filter:blur(10px)}
.btn--ghost:hover{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.5);color:#fde68a}

.btn--dark{background:#0a0f1c;color:#fff;border:1.5px solid rgba(255,255,255,.1)}
.btn--dark:hover{background:#1a2238;transform:translateY(-3px)}

/* ====== TOPBAR ====== */
.topbar{background:linear-gradient(90deg,#05080f,#0a0f1c,#05080f);color:#94a3b8;font-size:.78rem;border-bottom:1px solid var(--line);font-family:'JetBrains Mono',monospace}
.topbar__inner{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.5rem;padding:.55rem 24px}
.topbar__item{display:inline-flex;align-items:center;gap:.4rem}
.topbar__item i{font-style:normal;color:var(--brand);opacity:.8}
.topbar__live{margin-left:auto}
.topbar__pulse{display:inline-block;width:7px;height:7px;background:#22c55e;border-radius:50%;animation:livePulse 1.6s ease-in-out infinite}
@keyframes livePulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}50%{box-shadow:0 0 0 8px rgba(34,197,94,0)}}

/* ====== HEADER ====== */
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,10,19,.7);backdrop-filter:saturate(160%) blur(20px);border-bottom:1px solid var(--line);transition:background .3s,box-shadow .3s,padding .3s}
.site-header.is-scrolled{background:rgba(7,10,19,.92);box-shadow:0 10px 30px -20px rgba(0,0,0,.8)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 24px;gap:1rem;transition:padding .3s}
.site-header.is-scrolled .site-header__inner{padding:.7rem 24px}

.brand{display:inline-flex;align-items:center;gap:.7rem;transition:transform .3s var(--ease)}
.brand:hover{transform:translateY(-1px)}
.brand__mark{display:inline-flex;border-radius:10px;overflow:hidden;box-shadow:0 8px 24px -8px rgba(251,191,36,.5)}
.brand__text{display:flex;flex-direction:column;line-height:1;font-family:'Sora'}
.brand__text strong{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:#fff}
.brand__text span{font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);font-family:'JetBrains Mono',monospace;margin-top:3px}

.nav{display:flex;align-items:center;gap:.4rem}
.nav a{font-weight:500;color:var(--ink-2);font-size:.92rem;position:relative;padding:.6rem .9rem;border-radius:8px;display:inline-flex;align-items:center;gap:.5rem;transition:color .25s}
.nav a i{font-style:normal;font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--brand);opacity:.5;letter-spacing:.05em;transition:opacity .25s}
.nav a:not(.btn):hover{color:var(--brand)}
.nav a:not(.btn):hover i{opacity:1}
.nav a:not(.btn)::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.35rem;height:1px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:not(.btn):hover::after{transform:scaleX(1)}

.nav-toggle{display:none;flex-direction:column;gap:7px;padding:8px;border-radius:8px}
.nav-toggle span{width:26px;height:2px;background:var(--brand);border-radius:2px;transition:.3s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}

/* ====== HERO ====== */
.hero{position:relative;min-height:100vh;overflow:hidden;display:flex;align-items:center;padding:3rem 0 5rem;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-1}
.hero__img{position:absolute;inset:-10% -5%;background:url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=1900&q=80') center/cover no-repeat;filter:saturate(.7) contrast(1.05);will-change:transform}
.hero__veil{position:absolute;inset:0;background:linear-gradient(120deg,rgba(7,10,19,.96) 0%,rgba(7,10,19,.85) 40%,rgba(7,10,19,.55) 100%),linear-gradient(180deg,transparent 60%,rgba(7,10,19,1) 100%)}
.hero__lines{position:absolute;inset:0;width:100%;height:100%;opacity:.7;mix-blend-mode:screen}
.draw{stroke-dasharray:3000;stroke-dashoffset:3000;animation:draw 4s var(--ease) forwards;animation-delay:var(--d,0s)}
.ping{transform-origin:center;animation:ping 2.4s ease-out infinite;animation-delay:var(--d,0s)}
@keyframes ping{0%{r:2;opacity:1}80%{r:18;opacity:0}100%{opacity:0}}

.hero__inner{display:grid;grid-template-columns:1.15fr .85fr;gap:3.5rem;align-items:center;padding-top:2rem}
.chip{display:inline-flex;align-items:center;gap:.55rem;font-family:'JetBrains Mono',monospace;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brand);background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.25);padding:.5rem .9rem;border-radius:999px;margin-bottom:1.4rem}
.chip__dot{width:7px;height:7px;background:var(--brand);border-radius:50%;box-shadow:0 0 0 0 rgba(251,191,36,.6);animation:livePulse 1.8s infinite}

.hero h1{color:#fff}
.hero .lead{color:#cbd5e1;font-size:1.13rem;max-width:60ch;margin-bottom:2rem}
.hero__cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:2.8rem}

.hero__stats{display:flex;gap:2.2rem;flex-wrap:wrap;padding-top:1.5rem;border-top:1px solid var(--line)}
.stat{display:flex;flex-direction:column}
.stat b{font-family:'Sora';font-size:2.2rem;font-weight:800;color:#fff;line-height:1;background:linear-gradient(135deg,#fff,#fbbf24);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:.4rem}

/* ====== GLASS CARD ====== */
.glass{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);border-radius:24px;backdrop-filter:blur(20px) saturate(150%);overflow:hidden;box-shadow:var(--shadow)}
.glass__shine{position:absolute;inset:0;background:radial-gradient(800px circle at var(--mx,50%) var(--my,0%),rgba(251,191,36,.15),transparent 40%);pointer-events:none;transition:opacity .3s;opacity:0}
.glass:hover .glass__shine{opacity:1}

.hero__card{padding:1.8rem;transform-style:preserve-3d}
.glass__head{display:flex;justify-content:space-between;align-items:center;font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.18em;margin-bottom:1rem;color:var(--muted)}
.glass__tag{color:var(--brand)}
.glass__pulse{display:inline-flex;align-items:center;gap:.4rem;color:#22c55e}
.glass__pulse i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22c55e;animation:livePulse 1.6s infinite}
.hero__card h3{font-size:1.5rem;margin-bottom:.4rem;color:#fff}
.hero__card p{font-size:.93rem;margin-bottom:1.3rem}
.hero__card form{display:grid;gap:.8rem}
.hero__card label,.form-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--ink-2);font-family:'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.hero__card input,.hero__card select,.hero__card textarea,
.form-card input,.form-card select,.form-card textarea{
  padding:.85rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:10px;font-family:'Space Grotesk';font-size:.95rem;color:#fff;background:rgba(255,255,255,.04);transition:border-color .25s,box-shadow .25s,background .25s
}
.hero__card input::placeholder,.form-card input::placeholder,.hero__card textarea::placeholder,.form-card textarea::placeholder{color:#7a8499;text-transform:none;font-family:'Space Grotesk';letter-spacing:0}
.hero__card input:focus,.hero__card select:focus,.hero__card textarea:focus,
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px rgba(251,191,36,.15);background:rgba(255,255,255,.06)}
.hero__card select,.form-card select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23fbbf24' d='M6 8L0 0h12z'/></svg>");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.4rem}
.hero__card small,.form-card small{color:var(--muted);font-size:.75rem;text-align:center;display:block;font-family:'JetBrains Mono',monospace;letter-spacing:.08em}

.scroll-cue{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);color:#fbbf24;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;z-index:5}
.scroll-cue span{display:block;width:1px;height:50px;background:linear-gradient(180deg,transparent,#fbbf24);position:relative;overflow:hidden}
.scroll-cue span::after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:#fbbf24;animation:scrollLine 2s ease-in-out infinite}
@keyframes scrollLine{0%{top:-50%}100%{top:100%}}
.scroll-cue b{font-weight:600;opacity:.7}

/* ====== MARQUEE ====== */
.marquee{padding:1.6rem 0;background:linear-gradient(135deg,#fbbf24,#f97316);color:#0a0f1c;border-block:1px solid rgba(0,0,0,.1);overflow:hidden;position:relative}
.marquee__track{display:inline-flex;gap:3.5rem;animation:scrollX 35s linear infinite;white-space:nowrap;font-family:'Sora';font-weight:800;font-size:1.6rem;letter-spacing:-.01em;padding-left:3.5rem}
@keyframes scrollX{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee:hover .marquee__track{animation-play-state:paused}

/* ====== SECTIONS ====== */
.section{padding:6rem 0;position:relative}
.section--dark{background:linear-gradient(180deg,#070a13,#0a0f1c)}
.section--feat{background:radial-gradient(1200px 600px at 50% 0%,rgba(251,191,36,.08),transparent 60%),#0a0f1c}
.section--processo{background:linear-gradient(180deg,#0a0f1c,#070a13)}
.section__head{text-align:center;max-width:780px;margin:0 auto 4rem}
.section__head--light{color:#fff}

/* ====== CARDS (services) ====== */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1.4rem}
.card{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--line);border-radius:var(--radius-lg);padding:2rem 1.8rem;transition:transform .4s var(--ease),box-shadow .4s,border-color .4s,background .4s;overflow:hidden;color:#fff;transform-style:preserve-3d}
.card::before{content:"";position:absolute;inset:-1px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#fbbf24,#f97316,transparent 60%);opacity:0;transition:opacity .4s;z-index:-1;padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.card::after{content:"";position:absolute;top:-100%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(251,191,36,.12),transparent 40%);opacity:0;transition:opacity .4s,top .4s;pointer-events:none}
.card:hover{transform:translateY(-8px);border-color:transparent;background:linear-gradient(135deg,rgba(251,191,36,.05),rgba(255,255,255,.01))}
.card:hover::before{opacity:1}
.card:hover::after{opacity:1;top:-50%}
.card:hover .card__icon{color:#fbbf24;transform:scale(1.08) rotate(-3deg)}
.card:hover .card__link span{transform:translateX(6px)}
.card__num{position:absolute;top:1.5rem;right:1.8rem;font-family:'JetBrains Mono',monospace;font-size:.75rem;letter-spacing:.18em;color:var(--muted);opacity:.6}
.card__icon{width:56px;height:56px;color:#cbd5e1;margin-bottom:1.6rem;transition:transform .4s var(--ease),color .3s}
.card h3{color:#fff;margin-bottom:.5rem;font-size:1.25rem}
.card p{font-size:.95rem;color:var(--ink-2);margin-bottom:1.4rem}
.card__link{display:inline-flex;align-items:center;gap:.5rem;font-family:'JetBrains Mono',monospace;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brand);font-weight:600}
.card__link span{transition:transform .3s var(--ease)}

/* ====== GRID-2 ====== */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}

/* ====== FRAME (about media) ====== */
.frame{position:relative;border-radius:var(--radius-lg);overflow:visible}
.frame img{border-radius:var(--radius-lg);box-shadow:var(--shadow);object-fit:cover;width:100%;aspect-ratio:4/5;filter:saturate(.9) contrast(1.05)}
.frame__corners i{position:absolute;width:24px;height:24px;border:2px solid var(--brand);transition:transform .4s var(--ease)}
.frame__corners i:nth-child(1){top:-8px;left:-8px;border-right:none;border-bottom:none}
.frame__corners i:nth-child(2){top:-8px;right:-8px;border-left:none;border-bottom:none}
.frame__corners i:nth-child(3){bottom:-8px;left:-8px;border-right:none;border-top:none}
.frame__corners i:nth-child(4){bottom:-8px;right:-8px;border-left:none;border-top:none}
.frame:hover .frame__corners i{transform:scale(1.4)}
.frame__tag{position:absolute;top:24px;left:24px;background:rgba(7,10,19,.85);backdrop-filter:blur(12px);color:#fff;padding:.7rem 1rem;border-radius:10px;border:1px solid rgba(251,191,36,.4);display:flex;flex-direction:column;font-family:'JetBrains Mono',monospace}
.frame__tag strong{font-size:.95rem;color:#fbbf24;letter-spacing:.1em}
.frame__tag span{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#94a3b8;margin-top:3px}
.frame__data{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(7,10,19,.9);backdrop-filter:blur(16px);border:1px solid var(--line-2);border-radius:14px;padding:1.2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;text-align:center}
.frame__data > div{display:flex;flex-direction:column;border-right:1px solid var(--line);padding:0 .5rem}
.frame__data > div:last-child{border-right:0}
.frame__data b{font-family:'Sora';font-size:1.5rem;font-weight:800;color:#fbbf24;line-height:1}
.frame__data span{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:.4rem}

.ticks{list-style:none;padding:0;margin:1.4rem 0 2rem;display:grid;gap:.7rem}
.ticks li{display:flex;align-items:center;gap:.8rem;color:var(--ink-2);font-weight:500}
.ticks li span{width:24px;height:24px;display:grid;place-items:center;background:rgba(251,191,36,.12);color:var(--brand);border-radius:50%;font-size:.8rem;font-weight:800;border:1px solid rgba(251,191,36,.3);flex-shrink:0}

/* ====== TIMELINE ====== */
.timeline{position:relative;padding:2rem 0}
.timeline__line{position:absolute;top:50%;left:0;right:0;height:2px;background:rgba(255,255,255,.08);transform:translateY(-50%)}
.timeline__line i{position:absolute;inset:0;background:linear-gradient(90deg,#fbbf24,#f97316);transform-origin:left;transform:scaleX(0);transition:transform 1.8s var(--ease)}
.timeline.is-visible .timeline__line i{transform:scaleX(1)}
.timeline__items{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;position:relative}
.timeline__items li{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--line);border-radius:14px;padding:1.4rem 1.2rem;text-align:center;transition:transform .4s var(--ease),border-color .3s,background .3s}
.timeline__items li:hover{transform:translateY(-6px);border-color:rgba(251,191,36,.35);background:linear-gradient(180deg,rgba(251,191,36,.06),rgba(255,255,255,.01))}
.timeline__num{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#fbbf24,#f97316);color:#0a0f1c;font-family:'Sora';font-weight:800;font-size:1.1rem;margin-bottom:.8rem;box-shadow:0 8px 20px -8px rgba(251,191,36,.6)}
.timeline__items h4{margin:.4rem 0;font-size:1.05rem;color:#fff}
.timeline__items p{margin:0;font-size:.85rem;color:var(--muted)}

/* ====== GALLERY ====== */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;gap:1rem}
.gallery figure{margin:0;position:relative;border-radius:16px;overflow:hidden;cursor:pointer;background:#0a0f1c;border:1px solid var(--line)}
.gallery figure:nth-child(1){grid-column:span 2;grid-row:span 2}
.gallery figure:nth-child(6){grid-column:span 2}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .4s;filter:saturate(.85) contrast(1.05)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.8rem 1.2rem 1.2rem;background:linear-gradient(to top,rgba(7,10,19,.95) 0%,rgba(7,10,19,.6) 60%,transparent 100%);color:#fff;font-family:'Sora';display:flex;flex-direction:column;gap:.2rem;transform:translateY(40%);opacity:0;transition:.4s var(--ease)}
.gallery figcaption span{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brand);opacity:.9}
.gallery figcaption strong{font-weight:600;font-size:.95rem}
.gallery figure:hover img{transform:scale(1.08);filter:saturate(1.1) contrast(1.1)}
.gallery figure:hover figcaption{transform:translateY(0);opacity:1}

/* ====== FEATS ====== */
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}
.feat{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.8rem;transition:.4s var(--ease);overflow:hidden}
.feat::before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#fbbf24,#f97316);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.feat:hover{transform:translateY(-6px);border-color:rgba(251,191,36,.3);background:linear-gradient(135deg,rgba(251,191,36,.06),rgba(255,255,255,.01))}
.feat:hover::before{transform:scaleX(1)}
.feat__n{font-family:'JetBrains Mono',monospace;font-size:.85rem;letter-spacing:.2em;background:linear-gradient(135deg,#fbbf24,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.8rem;font-weight:700}
.feat h3{color:#fff;margin-bottom:.4rem;font-size:1.15rem}
.feat p{color:var(--ink-2);margin:0;font-size:.92rem}

/* ====== QUOTES ====== */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.4rem}
.quotes blockquote{position:relative;margin:0;background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--line);border-radius:var(--radius-lg);padding:2.2rem 1.8rem 1.8rem;transition:.4s var(--ease)}
.quotes blockquote:hover{transform:translateY(-6px);border-color:rgba(251,191,36,.3);box-shadow:var(--shadow-gold)}
.quotes__mark{position:absolute;top:1rem;right:1.4rem;width:44px;height:44px;color:var(--brand);opacity:.25}
.quotes p{color:#fff;font-size:1rem;font-weight:500;margin:0 0 1.2rem;line-height:1.55}
.quotes footer{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:1rem}
.quotes footer strong{color:#fbbf24;font-size:.95rem;font-family:'Sora';margin-bottom:.2rem}
.quotes footer span{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}

/* ====== CTA ====== */
.cta{position:relative;padding:5rem 0;overflow:hidden;background:linear-gradient(135deg,#fbbf24,#f97316 60%,#ef4444);color:#0a0f1c;isolation:isolate}
.cta__bg{position:absolute;inset:0;background-image:linear-gradient(rgba(10,15,28,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(10,15,28,.06) 1px,transparent 1px);background-size:40px 40px;z-index:-1;animation:gridShift 40s linear infinite}
.cta__inner{display:flex;justify-content:space-between;align-items:center;gap:2.5rem;flex-wrap:wrap}
.cta h2{color:#0a0f1c;margin:0 0 .4rem;max-width:18ch}
.cta p{color:rgba(10,15,28,.7);margin:0;font-weight:500;font-family:'JetBrains Mono',monospace;font-size:.85rem;letter-spacing:.1em}
.cta__under{position:relative;display:inline-block}
.cta__under::after{content:"";position:absolute;left:0;right:0;bottom:.05em;height:.18em;background:#0a0f1c;opacity:.85;z-index:-1}

/* ====== CONTACT ====== */
.contact-list{list-style:none;padding:0;margin:1.8rem 0 0;display:grid;gap:.9rem}
.contact-list li{display:flex;gap:1rem;align-items:flex-start;background:linear-gradient(135deg,rgba(255,255,255,.03),transparent);border:1px solid var(--line);padding:1.1rem 1.2rem;border-radius:14px;transition:.3s}
.contact-list li:hover{border-color:rgba(251,191,36,.4);background:linear-gradient(135deg,rgba(251,191,36,.05),transparent);transform:translateX(4px)}
.contact-list > li > span{font-size:1.3rem;color:var(--brand);width:36px;height:36px;display:grid;place-items:center;background:rgba(251,191,36,.1);border-radius:10px;flex-shrink:0}
.contact-list strong{display:block;color:#fff;font-size:.95rem;margin-bottom:.15rem}
.contact-list div{font-size:.92rem;color:var(--ink-2)}
.contact-list a{color:#fbbf24;font-weight:600;transition:color .25s}
.contact-list a:hover{color:#fde68a}

.form-card{padding:2rem;display:grid;gap:1rem}
.form-card h3{margin:0 0 .3rem;color:#fff;font-size:1.4rem}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* ====== FAQ ====== */
.faq{max-width:860px;margin:0 auto;display:grid;gap:.7rem}
.faq details{background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.4rem;transition:.3s;overflow:hidden}
.faq details[open]{border-color:rgba(251,191,36,.35);background:linear-gradient(135deg,rgba(251,191,36,.04),rgba(255,255,255,.01))}
.faq summary{font-family:'Sora';font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;color:#fff;font-size:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.6rem;color:var(--brand);transition:transform .35s var(--ease);font-weight:300;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:rgba(251,191,36,.1);flex-shrink:0}
.faq details[open] summary::after{transform:rotate(45deg);background:rgba(251,191,36,.2)}
.faq p{margin:1rem 0 0;color:var(--ink-2);font-size:.95rem}

/* ====== FOOTER ====== */
.site-footer{background:linear-gradient(180deg,#070a13,#03060d);color:#7a8499;padding-top:4rem;border-top:1px solid var(--line);position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,#fbbf24,transparent);opacity:.5}
.site-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:2.5rem;padding-bottom:3rem}
.site-footer h4{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.2em;margin-bottom:1.2rem;font-family:'JetBrains Mono',monospace}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.6rem;font-size:.92rem}
.site-footer a{transition:color .25s;display:inline-block}
.site-footer a:hover{color:#fbbf24;transform:translateX(3px)}
.site-footer p{color:#7a8499;font-size:.93rem;margin-top:1rem}
.site-footer__bottom{border-top:1px solid var(--line);padding:1.4rem 0;font-family:'JetBrains Mono',monospace;font-size:.78rem;letter-spacing:.08em}
.site-footer__bottom .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.site-footer__bottom a{color:#fbbf24}

/* ====== WHATSAPP FLOAT ====== */
.wa-float{position:fixed;right:20px;bottom:20px;display:inline-flex;align-items:center;gap:.55rem;background:#25d366;color:#fff;border-radius:999px;padding:13px 18px 13px 13px;box-shadow:0 10px 28px -6px rgba(37,211,102,.55),0 4px 12px rgba(0,0,0,.3),0 0 0 0 rgba(37,211,102,.55);z-index:55;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s;animation:waPulse 2.4s ease-out infinite}
.wa-float svg{width:26px;height:26px;flex-shrink:0;display:block;color:#fff}
.wa-float__label{font-family:'Sora',sans-serif;font-weight:700;font-size:.92rem;white-space:nowrap;line-height:1;color:#fff}
.wa-float:hover{transform:translateY(-2px) scale(1.04)}
@keyframes waPulse{0%{box-shadow:0 10px 28px -6px rgba(37,211,102,.55),0 4px 12px rgba(0,0,0,.3),0 0 0 0 rgba(37,211,102,.6)}70%{box-shadow:0 10px 28px -6px rgba(37,211,102,.55),0 4px 12px rgba(0,0,0,.3),0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 10px 28px -6px rgba(37,211,102,.55),0 4px 12px rgba(0,0,0,.3),0 0 0 0 rgba(37,211,102,0)}}
@media(max-width:560px){.wa-float{right:14px;bottom:14px;padding:13px}.wa-float__label{display:none}.wa-float svg{width:28px;height:28px}}

/* ====== REVEAL ====== */
[data-reveal]{opacity:0;transform:translateY(40px) scale(.98);transition:opacity .9s var(--ease),transform .9s var(--ease)}
[data-reveal].is-visible{opacity:1;transform:none}

/* ====== RESPONSIVE ====== */
@media (max-width:1024px){
  .hero__inner{grid-template-columns:1fr;gap:2.5rem;padding-top:1rem}
  .grid-2{grid-template-columns:1fr;gap:3rem}
  .timeline__items{grid-template-columns:repeat(2,1fr)}
  .timeline__line{display:none}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}
  .gallery figure:nth-child(1){grid-column:span 2}
  .gallery figure:nth-child(6){grid-column:auto}
}
@media (max-width:880px){
  .container{padding:0 20px}
  .topbar__inner{padding:.5rem 20px;justify-content:center;gap:.3rem 1rem;font-size:.72rem}
  .topbar__live{margin-left:0}
  .topbar__item:not(.topbar__live):not(:first-child){display:none}
  /* IMPORTANT: remove backdrop-filter so .nav (position:fixed) escapes the header containing block */
  .site-header{background:rgba(7,10,19,.96);backdrop-filter:none;-webkit-backdrop-filter:none}
  .site-header.is-scrolled{background:rgba(7,10,19,.98)}
  .site-header__inner{padding:.8rem 20px}
  .site-header.is-scrolled .site-header__inner{padding:.6rem 20px}
  .brand__mark svg{width:38px;height:38px}
  .brand__text strong{font-size:1.05rem}
  .brand__text span{font-size:.62rem;letter-spacing:.24em}
  .nav{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;flex-direction:column;align-items:stretch;justify-content:flex-start;background:#05080f;padding:5.5rem 22px 2rem;gap:0;transform:translateX(100%);transition:transform .35s var(--ease);overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:80;display:flex}
  .nav.is-open{transform:translateX(0)}
  .nav a:not(.btn){padding:1.2rem .2rem;border-bottom:1px solid rgba(255,255,255,.07);font-size:1.2rem;color:#fff;font-family:'Sora',sans-serif;font-weight:600;display:flex;align-items:center;gap:.9rem;text-decoration:none}
  .nav a:not(.btn) i{font-style:normal;font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--brand);opacity:1;letter-spacing:.08em;min-width:26px}
  .nav a:not(.btn)::after{display:none}
  .nav .btn{margin-top:1.8rem;justify-content:center;font-size:1rem;padding:1.1rem;width:100%}
  .nav-toggle{display:flex;position:relative;z-index:90}
  .nav-toggle[aria-expanded="true"]{position:fixed;top:18px;right:20px}
  .site-footer__grid{grid-template-columns:1fr 1fr;gap:2rem}
  .cta__inner{flex-direction:column;align-items:flex-start;gap:1.6rem}
  .cta h2{max-width:none}
  .hero__card{padding:1.5rem}
  .hero__card h3{font-size:1.3rem}
  .frame img{aspect-ratio:1/1}
  .frame__data{padding:.9rem;left:14px;right:14px;bottom:14px}
  .frame__data b{font-size:1.15rem}
  .frame__data span{font-size:.58rem;letter-spacing:.12em}
  .frame__tag{top:14px;left:14px;padding:.55rem .8rem}
  .frame__tag strong{font-size:.85rem}
  .scroll-cue{display:none}
}
@media (max-width:560px){
  .container{padding:0 16px}
  .section{padding:3.5rem 0}
  .section__head{margin-bottom:2.6rem}
  .row-2{grid-template-columns:1fr}
  .hero{min-height:auto;padding:1.5rem 0 3.5rem}
  .hero__inner{gap:2rem;padding-top:.5rem}
  .hero h1{font-size:clamp(2rem,8.5vw,2.8rem);letter-spacing:-.025em}
  .hero .lead{font-size:1rem}
  .hero__cta{gap:.6rem;margin-bottom:2rem}
  .hero__cta .btn{flex:1;min-width:0;padding:.95rem 1rem;font-size:.9rem}
  .hero__cta .btn--lg{font-size:.92rem}
  .hero__stats{gap:1rem;justify-content:space-between;padding-top:1.2rem}
  .hero__stats .stat{flex:1;min-width:0}
  .stat b{font-size:1.6rem}
  .stat span{font-size:.62rem;letter-spacing:.1em}
  .hero__card{padding:1.3rem;border-radius:18px}
  .hero__card h3{font-size:1.2rem}
  .hero__card p{font-size:.88rem;margin-bottom:1rem}
  .hero__card form{gap:.65rem}
  .hero__card input,.hero__card select,.hero__card textarea,
  .form-card input,.form-card select,.form-card textarea{padding:.75rem .9rem;font-size:.9rem}
  .glass__head{font-size:.65rem;letter-spacing:.14em}
  .chip{font-size:.68rem;letter-spacing:.14em;padding:.4rem .75rem;margin-bottom:1rem}
  .eyebrow{font-size:.7rem;letter-spacing:.18em;padding:.4rem .7rem}
  h2{font-size:clamp(1.7rem,6.5vw,2.2rem)}
  .btn{padding:.85rem 1.1rem;font-size:.9rem;gap:.45rem}
  .btn--lg{padding:.95rem 1.2rem;font-size:.92rem}
  .btn--sm{padding:.55rem .85rem;font-size:.8rem}
  .marquee{padding:1.1rem 0}
  .marquee__track{font-size:1.05rem;gap:1.6rem;padding-left:1.6rem;animation-duration:24s}
  .cards{gap:1rem;grid-template-columns:1fr}
  .card{padding:1.6rem 1.4rem}
  .card__icon{width:46px;height:46px;margin-bottom:1.1rem}
  .card h3{font-size:1.1rem}
  .card__num{top:1.2rem;right:1.4rem;font-size:.7rem}
  .timeline{padding:.5rem 0}
  .timeline__items{grid-template-columns:1fr;gap:.7rem}
  .timeline__items li{padding:1.2rem 1.1rem}
  .timeline__num{width:42px;height:42px;font-size:1rem;margin-bottom:.5rem}
  .gallery{grid-template-columns:1fr;grid-auto-rows:200px;gap:.7rem}
  .gallery figure:nth-child(1),.gallery figure:nth-child(6){grid-column:auto;grid-row:auto}
  .gallery figcaption{transform:translateY(0);opacity:1;background:linear-gradient(to top,rgba(7,10,19,.92) 0%,rgba(7,10,19,.4) 70%,transparent 100%);padding:1.4rem 1rem .9rem}
  .feats{grid-template-columns:1fr;gap:.9rem}
  .feat{padding:1.4rem}
  .quotes{grid-template-columns:1fr;gap:1rem}
  .quotes blockquote{padding:1.8rem 1.4rem 1.4rem}
  .quotes p{font-size:.95rem}
  .cta{padding:3.5rem 0}
  .cta__inner{gap:1.2rem}
  .frame img{aspect-ratio:4/5}
  .frame__data{position:static;margin-top:.9rem;background:rgba(255,255,255,.04);grid-template-columns:repeat(3,1fr)}
  .frame__data b{font-size:1.3rem}
  .frame__tag{top:10px;left:10px}
  .ticks{margin:1.2rem 0 1.6rem;gap:.55rem}
  .contact-list li{padding:.95rem 1rem}
  .form-card{padding:1.5rem;border-radius:18px}
  .form-card h3{font-size:1.2rem}
  .faq details{padding:1rem 1.1rem}
  .faq summary{font-size:.95rem}
  .faq summary::after{width:26px;height:26px;font-size:1.3rem}
  .site-footer{padding-top:2.8rem}
  .site-footer__grid{grid-template-columns:1fr;gap:2rem;padding-bottom:2rem}
  .site-footer__bottom .container{flex-direction:column;align-items:flex-start;font-size:.7rem}
  .topbar__inner{font-size:.68rem;padding:.45rem 16px}
}
@media (max-width:380px){
  .hero h1{font-size:1.85rem}
  .hero__cta{flex-direction:column;align-items:stretch}
  .hero__cta .btn{flex:initial;width:100%;justify-content:center}
  .hero__stats{gap:.6rem}
  .stat b{font-size:1.4rem}
  .brand__text span{display:none}
}

/* Touch devices: disable hover-only effects */
@media (hover:none),(pointer:coarse){
  [data-tilt]{transform:none!important}
  .card:hover,.feat:hover,.quotes blockquote:hover,.timeline__items li:hover{transform:none}
  .gallery figcaption{transform:translateY(0);opacity:1}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
